From a3b4bd47ac68df3b97f2b6f610f814948d25075e Mon Sep 17 00:00:00 2001 From: inclyc Date: Tue, 26 Mar 2024 10:12:05 +0000 Subject: [PATCH] deploy: 551ad9c907f4336aef7b1e665c192e73516528de --- .nojekyll | 0 ASTReader_8cpp.html | 116 + ASTReader_8cpp_source.html | 190 + ASTReader_8h.html | 109 + ASTReader_8h_source.html | 141 + ArrayRef_8h.html | 141 + ArrayRef_8h_source.html | 144 + Attrs_8h.html | 121 + Attrs_8h_source.html | 521 ++ AutoCloseFD_8cpp.html | 101 + AutoCloseFD_8cpp_source.html | 131 + AutoCloseFD_8h.html | 108 + AutoCloseFD_8h_source.html | 136 + AutoHUPPID_8h.html | 107 + AutoHUPPID_8h_source.html | 116 + AutoRemoveShm_8cpp.html | 100 + AutoRemoveShm_8cpp_source.html | 111 + AutoRemoveShm_8h.html | 107 + AutoRemoveShm_8h_source.html | 122 + Basic_8h.html | 163 + Basic_8h_source.html | 280 + CodeAction_8cpp.html | 106 + CodeAction_8cpp_source.html | 170 + Connection_8cpp.html | 119 + Connection_8cpp_source.html | 404 ++ Connection_8h.html | 122 + Connection_8h_source.html | 227 + Controller_8h.html | 107 + Controller_8h_source.html | 171 + Convert_8cpp.html | 110 + Convert_8cpp_source.html | 168 + Convert_8h.html | 119 + Convert_8h_source.html | 127 + Deserialize_8h.html | 119 + Deserialize_8h_source.html | 148 + DiagnosticKinds_8inc.html | 89 + DiagnosticKinds_8inc_source.html | 143 + Diagnostic_8cpp.html | 271 + Diagnostic_8cpp_source.html | 206 + Diagnostic_8h.html | 198 + Diagnostic_8h_source.html | 401 ++ Diagnostics_8cpp.html | 106 + Diagnostics_8cpp_source.html | 199 + Displacement_8cpp.html | 112 + Displacement_8cpp_source.html | 148 + Displacement_8h.html | 120 + Displacement_8h_source.html | 120 + DraftStore_8cpp.html | 104 + DraftStore_8cpp_source.html | 264 + DraftStore_8h.html | 113 + DraftStore_8h_source.html | 176 + EvalClient_8cpp.html | 104 + EvalClient_8cpp_source.html | 151 + EvalClient_8h.html | 110 + EvalClient_8h_source.html | 186 + EvalProvider_8cpp.html | 114 + EvalProvider_8cpp_source.html | 204 + EvalProvider_8h.html | 109 + EvalProvider_8h_source.html | 145 + Expr_8h.html | 117 + Expr_8h_source.html | 365 + FileHeader_8h.html | 105 + FileHeader_8h_source.html | 118 + ForkPiped_8cpp.html | 108 + ForkPiped_8cpp_source.html | 138 + ForkPiped_8h.html | 105 + ForkPiped_8h_source.html | 101 + Function_8h.html | 119 + Function_8h_source.html | 211 + HackCache_8h.html | 125 + HackCache_8h_source.html | 166 + HookExpr_8cpp.html | 131 + HookExpr_8cpp_source.html | 111 + HookExpr_8h.html | 146 + HookExpr_8h_source.html | 124 + Hover_8cpp.html | 106 + Hover_8cpp_source.html | 151 + InitEval_8h.html | 107 + InitEval_8h_source.html | 112 + Kinds_8cpp.html | 159 + Kinds_8cpp_source.html | 139 + Kinds_8h.html | 128 + Kinds_8h_source.html | 148 + LSPBinder_8h.html | 132 + LSPBinder_8h_source.html | 266 + LSPServer_8cpp.html | 107 + LSPServer_8cpp_source.html | 204 + LSPServer_8h.html | 111 + LSPServer_8h_source.html | 218 + Lambda_8h.html | 114 + Lambda_8h_source.html | 282 + Lexer_8cpp.html | 138 + Lexer_8cpp_source.html | 708 ++ Lexer_8h.html | 119 + Lexer_8h_source.html | 253 + LifeTime_8cpp.html | 109 + LifeTime_8cpp_source.html | 172 + Logger_8cpp.html | 108 + Logger_8cpp_source.html | 211 + Logger_8h.html | 154 + Logger_8h_source.html | 266 + NixTU_8h.html | 107 + NixTU_8h_source.html | 140 + NodeKinds_8inc.html | 89 + NodeKinds_8inc_source.html | 140 + Nodes_8cpp.html | 146 + Nodes_8cpp_source.html | 154 + Nodes_8inc.html | 89 + Nodes_8inc_source.html | 128 + NoteKinds_8inc.html | 89 + NoteKinds_8inc_source.html | 107 + Op_8h.html | 116 + Op_8h_source.html | 241 + Origin_8cpp.html | 111 + Origin_8cpp_source.html | 113 + Origin_8h.html | 120 + Origin_8h_source.html | 170 + OwnedRegion_8h.html | 108 + OwnedRegion_8h_source.html | 117 + ParentMap_8cpp.html | 106 + ParentMap_8cpp_source.html | 136 + ParentMap_8h.html | 120 + ParentMap_8h_source.html | 112 + ParseAttrs_8cpp.html | 98 + ParseAttrs_8cpp_source.html | 329 + ParseExpr_8cpp.html | 98 + ParseExpr_8cpp_source.html | 449 ++ ParseLambda_8cpp.html | 98 + ParseLambda_8cpp_source.html | 276 + ParseOp_8cpp.html | 132 + ParseOp_8cpp_source.html | 262 + ParseSimple_8cpp.html | 99 + ParseSimple_8cpp_source.html | 222 + ParseStrings_8cpp.html | 98 + ParseStrings_8cpp_source.html | 237 + ParseSupport_8cpp.html | 116 + ParseSupport_8cpp_source.html | 234 + Path_8h.html | 121 + Path_8h_source.html | 144 + PipedProc_8h.html | 107 + PipedProc_8h_source.html | 121 + PtrPool_8h.html | 114 + PtrPool_8h_source.html | 144 + README_8md.html | 83 + Range_8h.html | 112 + Range_8h_source.html | 285 + Read_8cpp.html | 105 + Read_8cpp_source.html | 112 + Read_8h.html | 124 + Read_8h_source.html | 150 + SemaActions_8cpp.html | 110 + SemaActions_8cpp_source.html | 529 ++ SemaActions_8h.html | 117 + SemaActions_8h_source.html | 229 + Serialize_8h.html | 183 + Serialize_8h_source.html | 216 + Simple_8h.html | 132 + Simple_8h_source.html | 398 ++ SourceCode_8cpp.html | 114 + SourceCode_8cpp_source.html | 357 + SourceCode_8h.html | 133 + SourceCode_8h_source.html | 188 + Support_8cpp.html | 103 + Support_8cpp_source.html | 214 + SyntaxKinds_8inc.html | 89 + SyntaxKinds_8inc_source.html | 147 + TextDocumentSync_8cpp.html | 106 + TextDocumentSync_8cpp_source.html | 167 + TokenKinds_8h.html | 132 + TokenKinds_8h_source.html | 110 + TokenKinds_8inc.html | 89 + TokenKinds_8inc_source.html | 187 + Token_8h.html | 144 + Token_8h_source.html | 186 + Tokens_8inc.html | 89 + Tokens_8inc_source.html | 102 + Traverse_8inc.html | 89 + Traverse_8inc_source.html | 198 + Type_8h.html | 108 + Type_8h_source.html | 107 + URI_8cpp.html | 104 + URI_8cpp_source.html | 403 ++ URI_8h.html | 115 + URI_8h_source.html | 245 + Visitor_8h.html | 269 + Visitor_8h_source.html | 209 + annotated.html | 286 + bc_s.png | Bin 0 -> 676 bytes bc_sd.png | Bin 0 -> 635 bytes classes.html | 146 + classlspserver_1_1DraftStore-members.html | 97 + classlspserver_1_1DraftStore.html | 304 + classlspserver_1_1Event-members.html | 94 + classlspserver_1_1Event.html | 233 + ...rver_1_1Event_1_1Subscription-members.html | 94 + classlspserver_1_1Event_1_1Subscription.html | 229 + classlspserver_1_1InboundPort-members.html | 99 + classlspserver_1_1InboundPort.html | 346 + classlspserver_1_1Key-members.html | 95 + classlspserver_1_1Key.html | 250 + classlspserver_1_1LSPError-members.html | 96 + classlspserver_1_1LSPError.html | 283 + classlspserver_1_1LSPError__coll__graph.map | 5 + classlspserver_1_1LSPError__coll__graph.md5 | 1 + classlspserver_1_1LSPError__coll__graph.svg | 39 + ...slspserver_1_1LSPError__inherit__graph.map | 5 + ...slspserver_1_1LSPError__inherit__graph.md5 | 1 + ...slspserver_1_1LSPError__inherit__graph.svg | 39 + classlspserver_1_1LSPServer-members.html | 98 + classlspserver_1_1LSPServer.html | 329 + classlspserver_1_1LSPServer__coll__graph.map | 7 + classlspserver_1_1LSPServer__coll__graph.md5 | 1 + classlspserver_1_1LSPServer__coll__graph.svg | 58 + ...lspserver_1_1LSPServer__inherit__graph.map | 13 + ...lspserver_1_1LSPServer__inherit__graph.md5 | 1 + ...lspserver_1_1LSPServer__inherit__graph.svg | 111 + classlspserver_1_1Logger-members.html | 98 + classlspserver_1_1Logger.html | 252 + classlspserver_1_1Logger__inherit__graph.map | 5 + classlspserver_1_1Logger__inherit__graph.md5 | 1 + classlspserver_1_1Logger__inherit__graph.svg | 39 + classlspserver_1_1LoggingSession-members.html | 96 + classlspserver_1_1LoggingSession.html | 259 + classlspserver_1_1MessageHandler-members.html | 94 + classlspserver_1_1MessageHandler.html | 241 + ...rver_1_1MessageHandler__inherit__graph.map | 13 + ...rver_1_1MessageHandler__inherit__graph.md5 | 1 + ...rver_1_1MessageHandler__inherit__graph.svg | 111 + classlspserver_1_1OutboundPort-members.html | 96 + classlspserver_1_1OutboundPort.html | 278 + classlspserver_1_1StreamLogger-members.html | 99 + classlspserver_1_1StreamLogger.html | 201 + ...lspserver_1_1StreamLogger__coll__graph.map | 5 + ...lspserver_1_1StreamLogger__coll__graph.md5 | 1 + ...lspserver_1_1StreamLogger__coll__graph.svg | 39 + ...server_1_1StreamLogger__inherit__graph.map | 5 + ...server_1_1StreamLogger__inherit__graph.md5 | 1 + ...server_1_1StreamLogger__inherit__graph.svg | 39 + classlspserver_1_1URI-members.html | 105 + classlspserver_1_1URI.html | 612 ++ classlspserver_1_1URIScheme-members.html | 94 + classlspserver_1_1URIScheme.html | 226 + classnixbc_1_1Origin-members.html | 97 + classnixbc_1_1Origin.html | 212 + classnixbc_1_1OriginPath-members.html | 100 + classnixbc_1_1OriginPath.html | 218 + classnixbc_1_1OriginPath__coll__graph.map | 5 + classnixbc_1_1OriginPath__coll__graph.md5 | 1 + classnixbc_1_1OriginPath__coll__graph.svg | 39 + classnixbc_1_1OriginPath__inherit__graph.map | 5 + classnixbc_1_1OriginPath__inherit__graph.md5 | 1 + classnixbc_1_1OriginPath__inherit__graph.svg | 39 + classnixbc_1_1Origin__inherit__graph.map | 5 + classnixbc_1_1Origin__inherit__graph.md5 | 1 + classnixbc_1_1Origin__inherit__graph.svg | 39 + classnixd_1_1Controller-members.html | 99 + classnixd_1_1Controller.html | 171 + classnixd_1_1Controller__coll__graph.map | 9 + classnixd_1_1Controller__coll__graph.md5 | 1 + classnixd_1_1Controller__coll__graph.svg | 76 + classnixd_1_1Controller__inherit__graph.map | 7 + classnixd_1_1Controller__inherit__graph.md5 | 1 + classnixd_1_1Controller__inherit__graph.svg | 57 + classnixd_1_1EvalClient-members.html | 102 + classnixd_1_1EvalClient.html | 245 + classnixd_1_1EvalClient__coll__graph.map | 9 + classnixd_1_1EvalClient__coll__graph.md5 | 1 + classnixd_1_1EvalClient__coll__graph.svg | 76 + classnixd_1_1EvalClient__inherit__graph.map | 9 + classnixd_1_1EvalClient__inherit__graph.md5 | 1 + classnixd_1_1EvalClient__inherit__graph.svg | 75 + classnixd_1_1EvalProvider-members.html | 101 + classnixd_1_1EvalProvider.html | 215 + classnixd_1_1EvalProvider__coll__graph.map | 9 + classnixd_1_1EvalProvider__coll__graph.md5 | 1 + classnixd_1_1EvalProvider__coll__graph.svg | 76 + classnixd_1_1EvalProvider__inherit__graph.map | 7 + classnixd_1_1EvalProvider__inherit__graph.md5 | 1 + classnixd_1_1EvalProvider__inherit__graph.svg | 57 + classnixd_1_1NixTU-members.html | 94 + classnixd_1_1NixTU.html | 232 + classnixd_1_1OwnedEvalClient-members.html | 106 + classnixd_1_1OwnedEvalClient.html | 291 + classnixd_1_1OwnedEvalClient__coll__graph.map | 11 + classnixd_1_1OwnedEvalClient__coll__graph.md5 | 1 + classnixd_1_1OwnedEvalClient__coll__graph.svg | 94 + ...ixd_1_1OwnedEvalClient__inherit__graph.map | 9 + ...ixd_1_1OwnedEvalClient__inherit__graph.md5 | 1 + ...ixd_1_1OwnedEvalClient__inherit__graph.svg | 75 + classnixd_1_1util_1_1AutoCloseFD-members.html | 99 + classnixd_1_1util_1_1AutoCloseFD.html | 330 + classnixd_1_1util_1_1AutoHUPPID-members.html | 93 + classnixd_1_1util_1_1AutoHUPPID.html | 191 + ...nixd_1_1util_1_1AutoRemoveShm-members.html | 94 + classnixd_1_1util_1_1AutoRemoveShm.html | 221 + classnixf_1_1AttrName-members.html | 119 + classnixf_1_1AttrName.html | 526 ++ classnixf_1_1AttrName__coll__graph.map | 5 + classnixf_1_1AttrName__coll__graph.md5 | 1 + classnixf_1_1AttrName__coll__graph.svg | 39 + classnixf_1_1AttrName__inherit__graph.map | 5 + classnixf_1_1AttrName__inherit__graph.md5 | 1 + classnixf_1_1AttrName__inherit__graph.svg | 39 + classnixf_1_1AttrPath-members.html | 108 + classnixf_1_1AttrPath.html | 243 + classnixf_1_1AttrPath__coll__graph.map | 5 + classnixf_1_1AttrPath__coll__graph.md5 | 1 + classnixf_1_1AttrPath__coll__graph.svg | 39 + classnixf_1_1AttrPath__inherit__graph.map | 5 + classnixf_1_1AttrPath__inherit__graph.md5 | 1 + classnixf_1_1AttrPath__inherit__graph.svg | 39 + classnixf_1_1Attribute-members.html | 97 + classnixf_1_1Attribute.html | 314 + classnixf_1_1Binding-members.html | 110 + classnixf_1_1Binding.html | 306 + classnixf_1_1Binding__coll__graph.map | 5 + classnixf_1_1Binding__coll__graph.md5 | 1 + classnixf_1_1Binding__coll__graph.svg | 39 + classnixf_1_1Binding__inherit__graph.map | 5 + classnixf_1_1Binding__inherit__graph.md5 | 1 + classnixf_1_1Binding__inherit__graph.svg | 39 + classnixf_1_1Binds-members.html | 108 + classnixf_1_1Binds.html | 245 + classnixf_1_1Binds__coll__graph.map | 5 + classnixf_1_1Binds__coll__graph.md5 | 1 + classnixf_1_1Binds__coll__graph.svg | 39 + classnixf_1_1Binds__inherit__graph.map | 5 + classnixf_1_1Binds__inherit__graph.md5 | 1 + classnixf_1_1Binds__inherit__graph.svg | 39 + classnixf_1_1Diagnostic-members.html | 116 + classnixf_1_1Diagnostic.html | 545 ++ classnixf_1_1Diagnostic__coll__graph.map | 5 + classnixf_1_1Diagnostic__coll__graph.md5 | 1 + classnixf_1_1Diagnostic__coll__graph.svg | 39 + classnixf_1_1Diagnostic__inherit__graph.map | 5 + classnixf_1_1Diagnostic__inherit__graph.md5 | 1 + classnixf_1_1Diagnostic__inherit__graph.svg | 39 + classnixf_1_1Expr-members.html | 111 + classnixf_1_1Expr.html | 324 + classnixf_1_1ExprAssert-members.html | 114 + classnixf_1_1ExprAssert.html | 290 + classnixf_1_1ExprAssert__coll__graph.map | 7 + classnixf_1_1ExprAssert__coll__graph.md5 | 1 + classnixf_1_1ExprAssert__coll__graph.svg | 57 + classnixf_1_1ExprAssert__inherit__graph.map | 7 + classnixf_1_1ExprAssert__inherit__graph.md5 | 1 + classnixf_1_1ExprAssert__inherit__graph.svg | 57 + classnixf_1_1ExprAttrs-members.html | 117 + classnixf_1_1ExprAttrs.html | 388 ++ classnixf_1_1ExprAttrs__coll__graph.map | 7 + classnixf_1_1ExprAttrs__coll__graph.md5 | 1 + classnixf_1_1ExprAttrs__coll__graph.svg | 57 + classnixf_1_1ExprAttrs__inherit__graph.map | 7 + classnixf_1_1ExprAttrs__inherit__graph.md5 | 1 + classnixf_1_1ExprAttrs__inherit__graph.svg | 57 + classnixf_1_1ExprBinOp-members.html | 116 + classnixf_1_1ExprBinOp.html | 308 + classnixf_1_1ExprBinOp__coll__graph.map | 9 + classnixf_1_1ExprBinOp__coll__graph.md5 | 1 + classnixf_1_1ExprBinOp__coll__graph.svg | 75 + classnixf_1_1ExprBinOp__inherit__graph.map | 9 + classnixf_1_1ExprBinOp__inherit__graph.md5 | 1 + classnixf_1_1ExprBinOp__inherit__graph.svg | 75 + classnixf_1_1ExprCall-members.html | 115 + classnixf_1_1ExprCall.html | 323 + classnixf_1_1ExprCall__coll__graph.map | 7 + classnixf_1_1ExprCall__coll__graph.md5 | 1 + classnixf_1_1ExprCall__coll__graph.svg | 57 + classnixf_1_1ExprCall__inherit__graph.map | 7 + classnixf_1_1ExprCall__inherit__graph.md5 | 1 + classnixf_1_1ExprCall__inherit__graph.svg | 57 + classnixf_1_1ExprFloat-members.html | 113 + classnixf_1_1ExprFloat.html | 256 + classnixf_1_1ExprFloat__coll__graph.map | 7 + classnixf_1_1ExprFloat__coll__graph.md5 | 1 + classnixf_1_1ExprFloat__coll__graph.svg | 57 + classnixf_1_1ExprFloat__inherit__graph.map | 7 + classnixf_1_1ExprFloat__inherit__graph.md5 | 1 + classnixf_1_1ExprFloat__inherit__graph.svg | 57 + classnixf_1_1ExprIf-members.html | 115 + classnixf_1_1ExprIf.html | 324 + classnixf_1_1ExprIf__coll__graph.map | 7 + classnixf_1_1ExprIf__coll__graph.md5 | 1 + classnixf_1_1ExprIf__coll__graph.svg | 57 + classnixf_1_1ExprIf__inherit__graph.map | 7 + classnixf_1_1ExprIf__inherit__graph.md5 | 1 + classnixf_1_1ExprIf__inherit__graph.svg | 57 + classnixf_1_1ExprInt-members.html | 113 + classnixf_1_1ExprInt.html | 258 + classnixf_1_1ExprInt__coll__graph.map | 7 + classnixf_1_1ExprInt__coll__graph.md5 | 1 + classnixf_1_1ExprInt__coll__graph.svg | 57 + classnixf_1_1ExprInt__inherit__graph.map | 7 + classnixf_1_1ExprInt__inherit__graph.md5 | 1 + classnixf_1_1ExprInt__inherit__graph.svg | 57 + classnixf_1_1ExprLambda-members.html | 114 + classnixf_1_1ExprLambda.html | 290 + classnixf_1_1ExprLambda__coll__graph.map | 7 + classnixf_1_1ExprLambda__coll__graph.md5 | 1 + classnixf_1_1ExprLambda__coll__graph.svg | 57 + classnixf_1_1ExprLambda__inherit__graph.map | 7 + classnixf_1_1ExprLambda__inherit__graph.md5 | 1 + classnixf_1_1ExprLambda__inherit__graph.svg | 57 + classnixf_1_1ExprLet-members.html | 116 + classnixf_1_1ExprLet.html | 358 + classnixf_1_1ExprLet__coll__graph.map | 7 + classnixf_1_1ExprLet__coll__graph.md5 | 1 + classnixf_1_1ExprLet__coll__graph.svg | 57 + classnixf_1_1ExprLet__inherit__graph.map | 7 + classnixf_1_1ExprLet__inherit__graph.md5 | 1 + classnixf_1_1ExprLet__inherit__graph.svg | 57 + classnixf_1_1ExprList-members.html | 114 + classnixf_1_1ExprList.html | 285 + classnixf_1_1ExprList__coll__graph.map | 7 + classnixf_1_1ExprList__coll__graph.md5 | 1 + classnixf_1_1ExprList__coll__graph.svg | 57 + classnixf_1_1ExprList__inherit__graph.map | 7 + classnixf_1_1ExprList__inherit__graph.md5 | 1 + classnixf_1_1ExprList__inherit__graph.svg | 57 + classnixf_1_1ExprOp-members.html | 113 + classnixf_1_1ExprOp.html | 269 + classnixf_1_1ExprOpHasAttr-members.html | 116 + classnixf_1_1ExprOpHasAttr.html | 300 + classnixf_1_1ExprOpHasAttr__coll__graph.map | 9 + classnixf_1_1ExprOpHasAttr__coll__graph.md5 | 1 + classnixf_1_1ExprOpHasAttr__coll__graph.svg | 75 + ...snixf_1_1ExprOpHasAttr__inherit__graph.map | 9 + ...snixf_1_1ExprOpHasAttr__inherit__graph.md5 | 1 + ...snixf_1_1ExprOpHasAttr__inherit__graph.svg | 75 + classnixf_1_1ExprOp__coll__graph.map | 7 + classnixf_1_1ExprOp__coll__graph.md5 | 1 + classnixf_1_1ExprOp__coll__graph.svg | 57 + classnixf_1_1ExprOp__inherit__graph.map | 13 + classnixf_1_1ExprOp__inherit__graph.md5 | 1 + classnixf_1_1ExprOp__inherit__graph.svg | 111 + classnixf_1_1ExprParen-members.html | 115 + classnixf_1_1ExprParen.html | 324 + classnixf_1_1ExprParen__coll__graph.map | 7 + classnixf_1_1ExprParen__coll__graph.md5 | 1 + classnixf_1_1ExprParen__coll__graph.svg | 57 + classnixf_1_1ExprParen__inherit__graph.map | 7 + classnixf_1_1ExprParen__inherit__graph.md5 | 1 + classnixf_1_1ExprParen__inherit__graph.svg | 57 + classnixf_1_1ExprPath-members.html | 113 + classnixf_1_1ExprPath.html | 256 + classnixf_1_1ExprPath__coll__graph.map | 7 + classnixf_1_1ExprPath__coll__graph.md5 | 1 + classnixf_1_1ExprPath__coll__graph.svg | 57 + classnixf_1_1ExprPath__inherit__graph.map | 7 + classnixf_1_1ExprPath__inherit__graph.md5 | 1 + classnixf_1_1ExprPath__inherit__graph.svg | 57 + classnixf_1_1ExprSelect-members.html | 115 + classnixf_1_1ExprSelect.html | 324 + classnixf_1_1ExprSelect__coll__graph.map | 7 + classnixf_1_1ExprSelect__coll__graph.md5 | 1 + classnixf_1_1ExprSelect__coll__graph.svg | 57 + classnixf_1_1ExprSelect__inherit__graph.map | 7 + classnixf_1_1ExprSelect__inherit__graph.md5 | 1 + classnixf_1_1ExprSelect__inherit__graph.svg | 57 + classnixf_1_1ExprString-members.html | 115 + classnixf_1_1ExprString.html | 318 + classnixf_1_1ExprString__coll__graph.map | 7 + classnixf_1_1ExprString__coll__graph.md5 | 1 + classnixf_1_1ExprString__coll__graph.svg | 57 + classnixf_1_1ExprString__inherit__graph.map | 7 + classnixf_1_1ExprString__inherit__graph.md5 | 1 + classnixf_1_1ExprString__inherit__graph.svg | 57 + classnixf_1_1ExprUnaryOp-members.html | 115 + classnixf_1_1ExprUnaryOp.html | 268 + classnixf_1_1ExprUnaryOp__coll__graph.map | 9 + classnixf_1_1ExprUnaryOp__coll__graph.md5 | 1 + classnixf_1_1ExprUnaryOp__coll__graph.svg | 75 + classnixf_1_1ExprUnaryOp__inherit__graph.map | 9 + classnixf_1_1ExprUnaryOp__inherit__graph.md5 | 1 + classnixf_1_1ExprUnaryOp__inherit__graph.svg | 75 + classnixf_1_1ExprVar-members.html | 113 + classnixf_1_1ExprVar.html | 256 + classnixf_1_1ExprVar__coll__graph.map | 7 + classnixf_1_1ExprVar__coll__graph.md5 | 1 + classnixf_1_1ExprVar__coll__graph.svg | 57 + classnixf_1_1ExprVar__inherit__graph.map | 7 + classnixf_1_1ExprVar__inherit__graph.md5 | 1 + classnixf_1_1ExprVar__inherit__graph.svg | 57 + classnixf_1_1ExprWith-members.html | 114 + classnixf_1_1ExprWith.html | 290 + classnixf_1_1ExprWith__coll__graph.map | 7 + classnixf_1_1ExprWith__coll__graph.md5 | 1 + classnixf_1_1ExprWith__coll__graph.svg | 57 + classnixf_1_1ExprWith__inherit__graph.map | 7 + classnixf_1_1ExprWith__inherit__graph.md5 | 1 + classnixf_1_1ExprWith__inherit__graph.svg | 57 + classnixf_1_1Expr__coll__graph.map | 5 + classnixf_1_1Expr__coll__graph.md5 | 1 + classnixf_1_1Expr__coll__graph.svg | 39 + classnixf_1_1Expr__inherit__graph.map | 43 + classnixf_1_1Expr__inherit__graph.md5 | 1 + classnixf_1_1Expr__inherit__graph.svg | 381 ++ classnixf_1_1Fix-members.html | 94 + classnixf_1_1Fix.html | 226 + classnixf_1_1Formal-members.html | 113 + classnixf_1_1Formal.html | 415 ++ classnixf_1_1Formal__coll__graph.map | 5 + classnixf_1_1Formal__coll__graph.md5 | 1 + classnixf_1_1Formal__coll__graph.svg | 39 + classnixf_1_1Formal__inherit__graph.map | 5 + classnixf_1_1Formal__inherit__graph.md5 | 1 + classnixf_1_1Formal__inherit__graph.svg | 39 + classnixf_1_1Formals-members.html | 111 + classnixf_1_1Formals.html | 340 + classnixf_1_1Formals__coll__graph.map | 5 + classnixf_1_1Formals__coll__graph.md5 | 1 + classnixf_1_1Formals__coll__graph.svg | 39 + classnixf_1_1Formals__inherit__graph.map | 5 + classnixf_1_1Formals__inherit__graph.md5 | 1 + classnixf_1_1Formals__inherit__graph.svg | 39 + classnixf_1_1Identifier-members.html | 107 + classnixf_1_1Identifier.html | 249 + classnixf_1_1Identifier__coll__graph.map | 5 + classnixf_1_1Identifier__coll__graph.md5 | 1 + classnixf_1_1Identifier__coll__graph.svg | 39 + classnixf_1_1Identifier__inherit__graph.map | 5 + classnixf_1_1Identifier__inherit__graph.md5 | 1 + classnixf_1_1Identifier__inherit__graph.svg | 39 + classnixf_1_1Inherit-members.html | 111 + classnixf_1_1Inherit.html | 339 + classnixf_1_1Inherit__coll__graph.map | 5 + classnixf_1_1Inherit__coll__graph.md5 | 1 + classnixf_1_1Inherit__coll__graph.svg | 39 + classnixf_1_1Inherit__inherit__graph.map | 5 + classnixf_1_1Inherit__inherit__graph.md5 | 1 + classnixf_1_1Inherit__inherit__graph.svg | 39 + classnixf_1_1InterpolablePart-members.html | 98 + classnixf_1_1InterpolablePart.html | 282 + classnixf_1_1InterpolatedParts-members.html | 110 + classnixf_1_1InterpolatedParts.html | 302 + ...nixf_1_1InterpolatedParts__coll__graph.map | 5 + ...nixf_1_1InterpolatedParts__coll__graph.md5 | 1 + ...nixf_1_1InterpolatedParts__coll__graph.svg | 39 + ...f_1_1InterpolatedParts__inherit__graph.map | 5 + ...f_1_1InterpolatedParts__inherit__graph.md5 | 1 + ...f_1_1InterpolatedParts__inherit__graph.svg | 39 + classnixf_1_1Interpolation-members.html | 108 + classnixf_1_1Interpolation.html | 247 + classnixf_1_1Interpolation__coll__graph.map | 5 + classnixf_1_1Interpolation__coll__graph.md5 | 1 + classnixf_1_1Interpolation__coll__graph.svg | 39 + ...snixf_1_1Interpolation__inherit__graph.map | 5 + ...snixf_1_1Interpolation__inherit__graph.md5 | 1 + ...snixf_1_1Interpolation__inherit__graph.svg | 39 + classnixf_1_1LambdaArg-members.html | 109 + classnixf_1_1LambdaArg.html | 277 + classnixf_1_1LambdaArg__coll__graph.map | 5 + classnixf_1_1LambdaArg__coll__graph.md5 | 1 + classnixf_1_1LambdaArg__coll__graph.svg | 39 + classnixf_1_1LambdaArg__inherit__graph.map | 5 + classnixf_1_1LambdaArg__inherit__graph.md5 | 1 + classnixf_1_1LambdaArg__inherit__graph.svg | 39 + classnixf_1_1Lexer-members.html | 97 + classnixf_1_1Lexer.html | 283 + classnixf_1_1LexerCursor-members.html | 102 + classnixf_1_1LexerCursor.html | 507 ++ classnixf_1_1LexerCursorRange-members.html | 97 + classnixf_1_1LexerCursorRange.html | 319 + classnixf_1_1Misc-members.html | 107 + classnixf_1_1Misc.html | 215 + classnixf_1_1Misc__coll__graph.map | 5 + classnixf_1_1Misc__coll__graph.md5 | 1 + classnixf_1_1Misc__coll__graph.svg | 39 + classnixf_1_1Misc__inherit__graph.map | 5 + classnixf_1_1Misc__inherit__graph.md5 | 1 + classnixf_1_1Misc__inherit__graph.svg | 39 + classnixf_1_1Node-members.html | 106 + classnixf_1_1Node.html | 549 ++ classnixf_1_1Node__inherit__graph.map | 69 + classnixf_1_1Node__inherit__graph.md5 | 1 + classnixf_1_1Node__inherit__graph.svg | 615 ++ classnixf_1_1Note-members.html | 108 + classnixf_1_1Note.html | 394 ++ classnixf_1_1Note__coll__graph.map | 5 + classnixf_1_1Note__coll__graph.md5 | 1 + classnixf_1_1Note__coll__graph.svg | 39 + classnixf_1_1Note__inherit__graph.map | 5 + classnixf_1_1Note__inherit__graph.md5 | 1 + classnixf_1_1Note__inherit__graph.svg | 39 + classnixf_1_1Op-members.html | 108 + classnixf_1_1Op.html | 245 + classnixf_1_1Op__coll__graph.map | 5 + classnixf_1_1Op__coll__graph.md5 | 1 + classnixf_1_1Op__coll__graph.svg | 39 + classnixf_1_1Op__inherit__graph.map | 5 + classnixf_1_1Op__inherit__graph.md5 | 1 + classnixf_1_1Op__inherit__graph.svg | 39 + classnixf_1_1Parser-members.html | 122 + classnixf_1_1Parser.html | 923 +++ classnixf_1_1PartialDiagnostic-members.html | 101 + classnixf_1_1PartialDiagnostic.html | 429 ++ ...f_1_1PartialDiagnostic__inherit__graph.map | 7 + ...f_1_1PartialDiagnostic__inherit__graph.md5 | 1 + ...f_1_1PartialDiagnostic__inherit__graph.svg | 57 + classnixf_1_1Position-members.html | 97 + classnixf_1_1Position.html | 326 + classnixf_1_1PositionRange-members.html | 96 + classnixf_1_1PositionRange.html | 285 + classnixf_1_1Sema-members.html | 109 + classnixf_1_1Sema.html | 729 ++ classnixf_1_1SemaAttrs-members.html | 96 + classnixf_1_1SemaAttrs.html | 307 + classnixf_1_1TextEdit-members.html | 98 + classnixf_1_1TextEdit.html | 366 + classnixf_1_1Token-members.html | 96 + classnixf_1_1Token.html | 306 + classnixt_1_1ASTDeserializer-members.html | 94 + classnixt_1_1ASTDeserializer.html | 218 + clipboard.js | 61 + closed.png | Bin 0 -> 132 bytes cookie.js | 58 + dev_8md.html | 83 + dir_000000_000032.html | 84 + dir_000001_000010.html | 84 + dir_000003_000000.html | 84 + dir_000004_000010.html | 84 + dir_000004_000016.html | 84 + dir_000004_000017.html | 84 + dir_000009_000016.html | 84 + dir_000011_000017.html | 84 + dir_000013_000016.html | 84 + dir_000015_000011.html | 84 + dir_000015_000016.html | 84 + dir_000015_000017.html | 84 + dir_000020_000016.html | 84 + dir_000024_000016.html | 84 + dir_000024_000019.html | 84 + dir_000024_000020.html | 84 + dir_000024_000022.html | 84 + dir_000025_000016.html | 84 + dir_000027_000016.html | 84 + dir_000029_000016.html | 84 + dir_000029_000018.html | 84 + dir_000029_000020.html | 84 + dir_000029_000021.html | 84 + dir_000029_000022.html | 84 + dir_000031_000017.html | 84 + dir_000034_000010.html | 84 + dir_000035_000016.html | 84 + dir_000036_000000.html | 84 + dir_000037_000010.html | 84 + dir_000038_000008.html | 84 + dir_000039_000009.html | 84 + dir_000040_000010.html | 84 + dir_000040_000016.html | 84 + dir_000040_000017.html | 84 + dir_000041_000012.html | 84 + dir_000042_000013.html | 84 + dir_000042_000016.html | 84 + dir_000043_000014.html | 84 + dir_000044_000016.html | 84 + dir_000044_000019.html | 84 + dir_000044_000020.html | 84 + dir_000044_000022.html | 84 + dir_000045_000016.html | 84 + dir_000045_000018.html | 84 + dir_000045_000020.html | 84 + dir_000045_000021.html | 84 + dir_000045_000022.html | 84 + dir_000046_000016.html | 84 + dir_000046_000018.html | 84 + dir_000046_000020.html | 84 + dir_000046_000021.html | 84 + dir_000046_000022.html | 84 + dir_06c9c436e967ae3668e9a4bfe5b7522b.html | 98 + dir_06c9c436e967ae3668e9a4bfe5b7522b_dep.map | 7 + dir_06c9c436e967ae3668e9a4bfe5b7522b_dep.md5 | 1 + dir_06c9c436e967ae3668e9a4bfe5b7522b_dep.svg | 51 + dir_088a14879491eee6c6c569af955fa3b5.html | 98 + dir_088a14879491eee6c6c569af955fa3b5_dep.map | 20 + dir_088a14879491eee6c6c569af955fa3b5_dep.md5 | 1 + dir_088a14879491eee6c6c569af955fa3b5_dep.svg | 151 + dir_09ded0d54f560121c4855637eac6443c.html | 98 + dir_09ded0d54f560121c4855637eac6443c_dep.map | 5 + dir_09ded0d54f560121c4855637eac6443c_dep.md5 | 1 + dir_09ded0d54f560121c4855637eac6443c_dep.svg | 41 + dir_0f13faf2cde331c4efb20e51fbf7d022.html | 122 + dir_0f13faf2cde331c4efb20e51fbf7d022_dep.map | 7 + dir_0f13faf2cde331c4efb20e51fbf7d022_dep.md5 | 1 + dir_0f13faf2cde331c4efb20e51fbf7d022_dep.svg | 51 + dir_112255148183015961f1939285e5e65f.html | 99 + dir_112255148183015961f1939285e5e65f_dep.map | 7 + dir_112255148183015961f1939285e5e65f_dep.md5 | 1 + dir_112255148183015961f1939285e5e65f_dep.svg | 51 + dir_1674159b14b5d6ba00b9e9bdffb50a16.html | 98 + dir_1674159b14b5d6ba00b9e9bdffb50a16_dep.map | 17 + dir_1674159b14b5d6ba00b9e9bdffb50a16_dep.md5 | 1 + dir_1674159b14b5d6ba00b9e9bdffb50a16_dep.svg | 129 + dir_210b2339cd755ef887faaab3c00d1334.html | 99 + dir_210b2339cd755ef887faaab3c00d1334_dep.map | 7 + dir_210b2339cd755ef887faaab3c00d1334_dep.md5 | 1 + dir_210b2339cd755ef887faaab3c00d1334_dep.svg | 51 + dir_22156efa6ecaea66f2a00a9e5cade55f.html | 98 + dir_22156efa6ecaea66f2a00a9e5cade55f_dep.map | 7 + dir_22156efa6ecaea66f2a00a9e5cade55f_dep.md5 | 1 + dir_22156efa6ecaea66f2a00a9e5cade55f_dep.svg | 51 + dir_2449f2b6f5e00bc97ce2a2d4b7e7d3f4.html | 120 + dir_2449f2b6f5e00bc97ce2a2d4b7e7d3f4_dep.map | 7 + dir_2449f2b6f5e00bc97ce2a2d4b7e7d3f4_dep.md5 | 1 + dir_2449f2b6f5e00bc97ce2a2d4b7e7d3f4_dep.svg | 54 + dir_271d3aa807e54726686810b489123a0c.html | 106 + dir_271d3aa807e54726686810b489123a0c_dep.map | 32 + dir_271d3aa807e54726686810b489123a0c_dep.md5 | 1 + dir_271d3aa807e54726686810b489123a0c_dep.svg | 235 + dir_2da3afe9fedcaed30827aea0999c7ca3.html | 102 + dir_2da3afe9fedcaed30827aea0999c7ca3_dep.map | 7 + dir_2da3afe9fedcaed30827aea0999c7ca3_dep.md5 | 1 + dir_2da3afe9fedcaed30827aea0999c7ca3_dep.svg | 51 + dir_2ea7252d21588581e550b8cc37b5f8d9.html | 98 + dir_2ea7252d21588581e550b8cc37b5f8d9_dep.map | 5 + dir_2ea7252d21588581e550b8cc37b5f8d9_dep.md5 | 1 + dir_2ea7252d21588581e550b8cc37b5f8d9_dep.svg | 41 + dir_2fce3de3a606fe8bc100a9ca8be3b4b7.html | 128 + dir_2fce3de3a606fe8bc100a9ca8be3b4b7_dep.map | 19 + dir_2fce3de3a606fe8bc100a9ca8be3b4b7_dep.md5 | 1 + dir_2fce3de3a606fe8bc100a9ca8be3b4b7_dep.svg | 139 + dir_32f167dda2f41d40ac9e24aee0c779a4.html | 101 + dir_32f167dda2f41d40ac9e24aee0c779a4_dep.map | 4 + dir_32f167dda2f41d40ac9e24aee0c779a4_dep.md5 | 1 + dir_32f167dda2f41d40ac9e24aee0c779a4_dep.svg | 29 + dir_3b3bb5973b23a394522075bcda2e76c3.html | 104 + dir_3b3bb5973b23a394522075bcda2e76c3_dep.map | 12 + dir_3b3bb5973b23a394522075bcda2e76c3_dep.md5 | 1 + dir_3b3bb5973b23a394522075bcda2e76c3_dep.svg | 94 + dir_4116e555bb27d140ae95b1be9a93ad9a.html | 108 + dir_4116e555bb27d140ae95b1be9a93ad9a_dep.map | 13 + dir_4116e555bb27d140ae95b1be9a93ad9a_dep.md5 | 1 + dir_4116e555bb27d140ae95b1be9a93ad9a_dep.svg | 95 + dir_4349c16129eefd7f3a9a5bf6d61e574a.html | 100 + dir_4349c16129eefd7f3a9a5bf6d61e574a_dep.map | 10 + dir_4349c16129eefd7f3a9a5bf6d61e574a_dep.md5 | 1 + dir_4349c16129eefd7f3a9a5bf6d61e574a_dep.svg | 77 + dir_43dccb67c075cdf61156590789c0ba7d.html | 98 + dir_43dccb67c075cdf61156590789c0ba7d_dep.map | 20 + dir_43dccb67c075cdf61156590789c0ba7d_dep.md5 | 1 + dir_43dccb67c075cdf61156590789c0ba7d_dep.svg | 151 + dir_464f141540dd1f7c0b8c2d5e8b32798f.html | 104 + dir_464f141540dd1f7c0b8c2d5e8b32798f_dep.map | 23 + dir_464f141540dd1f7c0b8c2d5e8b32798f_dep.md5 | 1 + dir_464f141540dd1f7c0b8c2d5e8b32798f_dep.svg | 173 + dir_6008d110f60d9bcc4c39f0eae5b860bc.html | 92 + dir_6008d110f60d9bcc4c39f0eae5b860bc_dep.map | 4 + dir_6008d110f60d9bcc4c39f0eae5b860bc_dep.md5 | 1 + dir_6008d110f60d9bcc4c39f0eae5b860bc_dep.svg | 29 + dir_6165467763ba3881d53184c580d97216.html | 104 + dir_6165467763ba3881d53184c580d97216_dep.map | 7 + dir_6165467763ba3881d53184c580d97216_dep.md5 | 1 + dir_6165467763ba3881d53184c580d97216_dep.svg | 51 + dir_646ab2de1d008c038fc8ab282a79163a.html | 98 + dir_646ab2de1d008c038fc8ab282a79163a_dep.map | 8 + dir_646ab2de1d008c038fc8ab282a79163a_dep.md5 | 1 + dir_646ab2de1d008c038fc8ab282a79163a_dep.svg | 63 + dir_6fe8e64755d6ca8350089c43e24a597c.html | 100 + dir_6fe8e64755d6ca8350089c43e24a597c_dep.map | 13 + dir_6fe8e64755d6ca8350089c43e24a597c_dep.md5 | 1 + dir_6fe8e64755d6ca8350089c43e24a597c_dep.svg | 98 + dir_7b6db9abfae4478ed416ef77953b66b0.html | 99 + dir_7b6db9abfae4478ed416ef77953b66b0_dep.map | 7 + dir_7b6db9abfae4478ed416ef77953b66b0_dep.md5 | 1 + dir_7b6db9abfae4478ed416ef77953b66b0_dep.svg | 51 + dir_7cf1c5e79fe8b656cb1f8e1912ed8027.html | 108 + dir_7cf1c5e79fe8b656cb1f8e1912ed8027_dep.map | 4 + dir_7cf1c5e79fe8b656cb1f8e1912ed8027_dep.md5 | 1 + dir_7cf1c5e79fe8b656cb1f8e1912ed8027_dep.svg | 29 + dir_7f09ace0ca86f6c57f7c2abeffa8ec39.html | 100 + dir_7f09ace0ca86f6c57f7c2abeffa8ec39_dep.map | 13 + dir_7f09ace0ca86f6c57f7c2abeffa8ec39_dep.md5 | 1 + dir_7f09ace0ca86f6c57f7c2abeffa8ec39_dep.svg | 95 + dir_90abaedaf2f01f4bbe0d30f918a527f7.html | 98 + dir_90abaedaf2f01f4bbe0d30f918a527f7_dep.map | 5 + dir_90abaedaf2f01f4bbe0d30f918a527f7_dep.md5 | 1 + dir_90abaedaf2f01f4bbe0d30f918a527f7_dep.svg | 41 + dir_959444a7ffdeab047d49bfbb9e695df2.html | 116 + dir_959444a7ffdeab047d49bfbb9e695df2_dep.map | 4 + dir_959444a7ffdeab047d49bfbb9e695df2_dep.md5 | 1 + dir_959444a7ffdeab047d49bfbb9e695df2_dep.svg | 29 + dir_9ff0e04ed484c0229c3bd8fc4cfe4cb8.html | 100 + dir_9ff0e04ed484c0229c3bd8fc4cfe4cb8_dep.map | 13 + dir_9ff0e04ed484c0229c3bd8fc4cfe4cb8_dep.md5 | 1 + dir_9ff0e04ed484c0229c3bd8fc4cfe4cb8_dep.svg | 99 + dir_aa6b5210de392905622ee32a54b5c40b.html | 98 + dir_aa6b5210de392905622ee32a54b5c40b_dep.map | 5 + dir_aa6b5210de392905622ee32a54b5c40b_dep.md5 | 1 + dir_aa6b5210de392905622ee32a54b5c40b_dep.svg | 41 + dir_ae82c439e3273bbaefa18569b027ae03.html | 108 + dir_ae82c439e3273bbaefa18569b027ae03_dep.map | 4 + dir_ae82c439e3273bbaefa18569b027ae03_dep.md5 | 1 + dir_ae82c439e3273bbaefa18569b027ae03_dep.svg | 29 + dir_b4b9fd25dbc0c6a28797e91ec2fee054.html | 98 + dir_b4b9fd25dbc0c6a28797e91ec2fee054_dep.map | 8 + dir_b4b9fd25dbc0c6a28797e91ec2fee054_dep.md5 | 1 + dir_b4b9fd25dbc0c6a28797e91ec2fee054_dep.svg | 63 + dir_b55f34eed50f427f5a82f0c0c0b607fd.html | 100 + dir_b55f34eed50f427f5a82f0c0c0b607fd_dep.map | 7 + dir_b55f34eed50f427f5a82f0c0c0b607fd_dep.md5 | 1 + dir_b55f34eed50f427f5a82f0c0c0b607fd_dep.svg | 55 + dir_b78a71a762ff0582d59dc461a15bff38.html | 100 + dir_b78a71a762ff0582d59dc461a15bff38_dep.map | 7 + dir_b78a71a762ff0582d59dc461a15bff38_dep.md5 | 1 + dir_b78a71a762ff0582d59dc461a15bff38_dep.svg | 55 + dir_baff22c637407b0f380d92646d04d3e0.html | 100 + dir_baff22c637407b0f380d92646d04d3e0_dep.map | 7 + dir_baff22c637407b0f380d92646d04d3e0_dep.md5 | 1 + dir_baff22c637407b0f380d92646d04d3e0_dep.svg | 51 + dir_bb7a21030e493a163f9c4d8a347b0f9d.html | 100 + dir_bb7a21030e493a163f9c4d8a347b0f9d_dep.map | 4 + dir_bb7a21030e493a163f9c4d8a347b0f9d_dep.md5 | 1 + dir_bb7a21030e493a163f9c4d8a347b0f9d_dep.svg | 29 + dir_c40eb6f7b133789742bdf3cebb28ba81.html | 100 + dir_c40eb6f7b133789742bdf3cebb28ba81_dep.map | 15 + dir_c40eb6f7b133789742bdf3cebb28ba81_dep.md5 | 1 + dir_c40eb6f7b133789742bdf3cebb28ba81_dep.svg | 112 + dir_cb50a63b385a4cbdfb0a90c8791c9e29.html | 92 + dir_cb50a63b385a4cbdfb0a90c8791c9e29_dep.map | 4 + dir_cb50a63b385a4cbdfb0a90c8791c9e29_dep.md5 | 1 + dir_cb50a63b385a4cbdfb0a90c8791c9e29_dep.svg | 29 + dir_d9199c6151642fcd85009fc170803620.html | 98 + dir_d9199c6151642fcd85009fc170803620_dep.map | 8 + dir_d9199c6151642fcd85009fc170803620_dep.md5 | 1 + dir_d9199c6151642fcd85009fc170803620_dep.svg | 63 + dir_d9ad98d6b7e68d846247cb3f237621ce.html | 98 + dir_d9ad98d6b7e68d846247cb3f237621ce_dep.map | 5 + dir_d9ad98d6b7e68d846247cb3f237621ce_dep.md5 | 1 + dir_d9ad98d6b7e68d846247cb3f237621ce_dep.svg | 41 + dir_def84fe7d1b7eb360d50e0a32b0f5d1b.html | 102 + dir_def84fe7d1b7eb360d50e0a32b0f5d1b_dep.map | 16 + dir_def84fe7d1b7eb360d50e0a32b0f5d1b_dep.md5 | 1 + dir_def84fe7d1b7eb360d50e0a32b0f5d1b_dep.svg | 117 + dir_e82bd5edcbbd64efaf54ec823872edb1.html | 110 + dir_e82bd5edcbbd64efaf54ec823872edb1_dep.map | 7 + dir_e82bd5edcbbd64efaf54ec823872edb1_dep.md5 | 1 + dir_e82bd5edcbbd64efaf54ec823872edb1_dep.svg | 51 + dir_edac7a1ad68f351284f3b97795b57890.html | 98 + dir_edac7a1ad68f351284f3b97795b57890_dep.map | 10 + dir_edac7a1ad68f351284f3b97795b57890_dep.md5 | 1 + dir_edac7a1ad68f351284f3b97795b57890_dep.svg | 73 + dir_efab77534005e8b0ad9c0008c8b236a9.html | 98 + dir_efab77534005e8b0ad9c0008c8b236a9_dep.map | 8 + dir_efab77534005e8b0ad9c0008c8b236a9_dep.md5 | 1 + dir_efab77534005e8b0ad9c0008c8b236a9_dep.svg | 63 + dir_f31a81659f826c680a95cd6e61881ea8.html | 129 + dir_f31a81659f826c680a95cd6e61881ea8_dep.map | 7 + dir_f31a81659f826c680a95cd6e61881ea8_dep.md5 | 1 + dir_f31a81659f826c680a95cd6e61881ea8_dep.svg | 51 + dir_f33fbbb530b991b087f0cf6db5420114.html | 100 + dir_f33fbbb530b991b087f0cf6db5420114_dep.map | 7 + dir_f33fbbb530b991b087f0cf6db5420114_dep.md5 | 1 + dir_f33fbbb530b991b087f0cf6db5420114_dep.svg | 51 + dir_fbf4781f84a2dfdac7fb8e01b68aa402.html | 100 + dir_fbf4781f84a2dfdac7fb8e01b68aa402_dep.map | 6 + dir_fbf4781f84a2dfdac7fb8e01b68aa402_dep.md5 | 1 + dir_fbf4781f84a2dfdac7fb8e01b68aa402_dep.svg | 50 + dir_fea53f7f87b7ec4e08a74e8a64eb26a3.html | 100 + dir_fea53f7f87b7ec4e08a74e8a64eb26a3_dep.map | 8 + dir_fea53f7f87b7ec4e08a74e8a64eb26a3_dep.md5 | 1 + dir_fea53f7f87b7ec4e08a74e8a64eb26a3_dep.svg | 63 + doc.svg | 12 + docd.svg | 12 + doxygen.css | 2225 ++++++ doxygen.svg | 28 + doxygen_crawl.html | 926 +++ dynsections.js | 201 + editor-setup_8md.html | 83 + editors_8md.html | 83 + files.html | 242 + folderclosed.svg | 11 + folderclosedd.svg | 11 + folderopen.svg | 17 + folderopend.svg | 12 + functions.html | 115 + functions_b.html | 93 + functions_c.html | 135 + functions_d.html | 114 + functions_e.html | 125 + functions_enum.html | 93 + functions_eval.html | 110 + functions_f.html | 108 + functions_func.html | 103 + functions_func_b.html | 91 + functions_func_c.html | 103 + functions_func_d.html | 95 + functions_func_e.html | 118 + functions_func_f.html | 97 + functions_func_g.html | 90 + functions_func_h.html | 85 + functions_func_i.html | 106 + functions_func_k.html | 87 + functions_func_l.html | 106 + functions_func_m.html | 91 + functions_func_n.html | 93 + functions_func_o.html | 108 + functions_func_p.html | 119 + functions_func_r.html | 100 + functions_func_s.html | 102 + functions_func_t.html | 91 + functions_func_u.html | 89 + functions_func_v.html | 87 + functions_func_w.html | 85 + functions_func_~.html | 97 + functions_g.html | 90 + functions_h.html | 91 + functions_i.html | 123 + functions_j.html | 85 + functions_k.html | 89 + functions_l.html | 116 + functions_m.html | 98 + functions_n.html | 103 + functions_o.html | 121 + functions_p.html | 136 + functions_q.html | 86 + functions_r.html | 117 + functions_rela.html | 88 + functions_s.html | 131 + functions_t.html | 109 + functions_type.html | 89 + functions_u.html | 90 + functions_v.html | 94 + functions_vars.html | 92 + functions_vars_b.html | 86 + functions_vars_c.html | 116 + functions_vars_d.html | 99 + functions_vars_e.html | 92 + functions_vars_f.html | 93 + functions_vars_h.html | 89 + functions_vars_i.html | 98 + functions_vars_k.html | 86 + functions_vars_l.html | 93 + functions_vars_m.html | 92 + functions_vars_n.html | 90 + functions_vars_o.html | 88 + functions_vars_p.html | 97 + functions_vars_q.html | 86 + functions_vars_r.html | 102 + functions_vars_s.html | 109 + functions_vars_t.html | 103 + functions_vars_u.html | 85 + functions_vars_v.html | 90 + functions_vars_w.html | 89 + functions_w.html | 90 + functions_~.html | 97 + globals.html | 94 + globals_defs.html | 93 + globals_func.html | 83 + graph_legend.html | 143 + graph_legend.md5 | 1 + graph_legend.svg | 167 + hierarchy.html | 281 + include_2nixf_2Parse_2Parser_8h.html | 115 + include_2nixf_2Parse_2Parser_8h_source.html | 117 + index.html | 84 + inherit_graph_0.map | 5 + inherit_graph_0.md5 | 1 + inherit_graph_0.svg | 39 + inherit_graph_1.map | 3 + inherit_graph_1.md5 | 1 + inherit_graph_1.svg | 22 + inherit_graph_10.map | 3 + inherit_graph_10.md5 | 1 + inherit_graph_10.svg | 22 + inherit_graph_100.map | 3 + inherit_graph_100.md5 | 1 + inherit_graph_100.svg | 21 + inherit_graph_101.map | 3 + inherit_graph_101.md5 | 1 + inherit_graph_101.svg | 22 + inherit_graph_102.map | 3 + inherit_graph_102.md5 | 1 + inherit_graph_102.svg | 21 + inherit_graph_103.map | 3 + inherit_graph_103.md5 | 1 + inherit_graph_103.svg | 22 + inherit_graph_104.map | 3 + inherit_graph_104.md5 | 1 + inherit_graph_104.svg | 21 + inherit_graph_105.map | 3 + inherit_graph_105.md5 | 1 + inherit_graph_105.svg | 21 + inherit_graph_106.map | 5 + inherit_graph_106.md5 | 1 + inherit_graph_106.svg | 39 + inherit_graph_107.map | 3 + inherit_graph_107.md5 | 1 + inherit_graph_107.svg | 21 + inherit_graph_108.map | 3 + inherit_graph_108.md5 | 1 + inherit_graph_108.svg | 21 + inherit_graph_109.map | 3 + inherit_graph_109.md5 | 1 + inherit_graph_109.svg | 21 + inherit_graph_11.map | 3 + inherit_graph_11.md5 | 1 + inherit_graph_11.svg | 21 + inherit_graph_110.map | 3 + inherit_graph_110.md5 | 1 + inherit_graph_110.svg | 21 + inherit_graph_111.map | 3 + inherit_graph_111.md5 | 1 + inherit_graph_111.svg | 21 + inherit_graph_112.map | 3 + inherit_graph_112.md5 | 1 + inherit_graph_112.svg | 21 + inherit_graph_113.map | 3 + inherit_graph_113.md5 | 1 + inherit_graph_113.svg | 21 + inherit_graph_114.map | 3 + inherit_graph_114.md5 | 1 + inherit_graph_114.svg | 21 + inherit_graph_115.map | 3 + inherit_graph_115.md5 | 1 + inherit_graph_115.svg | 21 + inherit_graph_116.map | 3 + inherit_graph_116.md5 | 1 + inherit_graph_116.svg | 21 + inherit_graph_117.map | 3 + inherit_graph_117.md5 | 1 + inherit_graph_117.svg | 21 + inherit_graph_118.map | 3 + inherit_graph_118.md5 | 1 + inherit_graph_118.svg | 21 + inherit_graph_119.map | 3 + inherit_graph_119.md5 | 1 + inherit_graph_119.svg | 21 + inherit_graph_12.map | 3 + inherit_graph_12.md5 | 1 + inherit_graph_12.svg | 22 + inherit_graph_120.map | 3 + inherit_graph_120.md5 | 1 + inherit_graph_120.svg | 21 + inherit_graph_121.map | 3 + inherit_graph_121.md5 | 1 + inherit_graph_121.svg | 21 + inherit_graph_122.map | 69 + inherit_graph_122.md5 | 1 + inherit_graph_122.svg | 615 ++ inherit_graph_123.map | 3 + inherit_graph_123.md5 | 1 + inherit_graph_123.svg | 21 + inherit_graph_124.map | 7 + inherit_graph_124.md5 | 1 + inherit_graph_124.svg | 57 + inherit_graph_125.map | 3 + inherit_graph_125.md5 | 1 + inherit_graph_125.svg | 21 + inherit_graph_126.map | 3 + inherit_graph_126.md5 | 1 + inherit_graph_126.svg | 21 + inherit_graph_127.map | 3 + inherit_graph_127.md5 | 1 + inherit_graph_127.svg | 21 + inherit_graph_128.map | 3 + inherit_graph_128.md5 | 1 + inherit_graph_128.svg | 21 + inherit_graph_129.map | 3 + inherit_graph_129.md5 | 1 + inherit_graph_129.svg | 21 + inherit_graph_13.map | 3 + inherit_graph_13.md5 | 1 + inherit_graph_13.svg | 21 + inherit_graph_130.map | 3 + inherit_graph_130.md5 | 1 + inherit_graph_130.svg | 21 + inherit_graph_131.map | 3 + inherit_graph_131.md5 | 1 + inherit_graph_131.svg | 21 + inherit_graph_132.map | 3 + inherit_graph_132.md5 | 1 + inherit_graph_132.svg | 21 + inherit_graph_133.map | 3 + inherit_graph_133.md5 | 1 + inherit_graph_133.svg | 21 + inherit_graph_134.map | 3 + inherit_graph_134.md5 | 1 + inherit_graph_134.svg | 21 + inherit_graph_135.map | 3 + inherit_graph_135.md5 | 1 + inherit_graph_135.svg | 21 + inherit_graph_136.map | 5 + inherit_graph_136.md5 | 1 + inherit_graph_136.svg | 39 + inherit_graph_137.map | 3 + inherit_graph_137.md5 | 1 + inherit_graph_137.svg | 22 + inherit_graph_138.map | 3 + inherit_graph_138.md5 | 1 + inherit_graph_138.svg | 22 + inherit_graph_139.map | 3 + inherit_graph_139.md5 | 1 + inherit_graph_139.svg | 21 + inherit_graph_14.map | 3 + inherit_graph_14.md5 | 1 + inherit_graph_14.svg | 21 + inherit_graph_140.map | 3 + inherit_graph_140.md5 | 1 + inherit_graph_140.svg | 22 + inherit_graph_15.map | 3 + inherit_graph_15.md5 | 1 + inherit_graph_15.svg | 21 + inherit_graph_16.map | 3 + inherit_graph_16.md5 | 1 + inherit_graph_16.svg | 21 + inherit_graph_17.map | 3 + inherit_graph_17.md5 | 1 + inherit_graph_17.svg | 21 + inherit_graph_18.map | 3 + inherit_graph_18.md5 | 1 + inherit_graph_18.svg | 21 + inherit_graph_19.map | 3 + inherit_graph_19.md5 | 1 + inherit_graph_19.svg | 21 + inherit_graph_2.map | 3 + inherit_graph_2.md5 | 1 + inherit_graph_2.svg | 22 + inherit_graph_20.map | 3 + inherit_graph_20.md5 | 1 + inherit_graph_20.svg | 21 + inherit_graph_21.map | 3 + inherit_graph_21.md5 | 1 + inherit_graph_21.svg | 21 + inherit_graph_22.map | 3 + inherit_graph_22.md5 | 1 + inherit_graph_22.svg | 22 + inherit_graph_23.map | 3 + inherit_graph_23.md5 | 1 + inherit_graph_23.svg | 22 + inherit_graph_24.map | 3 + inherit_graph_24.md5 | 1 + inherit_graph_24.svg | 21 + inherit_graph_25.map | 3 + inherit_graph_25.md5 | 1 + inherit_graph_25.svg | 22 + inherit_graph_26.map | 3 + inherit_graph_26.md5 | 1 + inherit_graph_26.svg | 22 + inherit_graph_27.map | 3 + inherit_graph_27.md5 | 1 + inherit_graph_27.svg | 22 + inherit_graph_28.map | 3 + inherit_graph_28.md5 | 1 + inherit_graph_28.svg | 22 + inherit_graph_29.map | 3 + inherit_graph_29.md5 | 1 + inherit_graph_29.svg | 22 + inherit_graph_3.map | 3 + inherit_graph_3.md5 | 1 + inherit_graph_3.svg | 22 + inherit_graph_30.map | 3 + inherit_graph_30.md5 | 1 + inherit_graph_30.svg | 22 + inherit_graph_31.map | 3 + inherit_graph_31.md5 | 1 + inherit_graph_31.svg | 22 + inherit_graph_32.map | 3 + inherit_graph_32.md5 | 1 + inherit_graph_32.svg | 22 + inherit_graph_33.map | 3 + inherit_graph_33.md5 | 1 + inherit_graph_33.svg | 21 + inherit_graph_34.map | 3 + inherit_graph_34.md5 | 1 + inherit_graph_34.svg | 21 + inherit_graph_35.map | 3 + inherit_graph_35.md5 | 1 + inherit_graph_35.svg | 21 + inherit_graph_36.map | 3 + inherit_graph_36.md5 | 1 + inherit_graph_36.svg | 22 + inherit_graph_37.map | 3 + inherit_graph_37.md5 | 1 + inherit_graph_37.svg | 22 + inherit_graph_38.map | 3 + inherit_graph_38.md5 | 1 + inherit_graph_38.svg | 21 + inherit_graph_39.map | 3 + inherit_graph_39.md5 | 1 + inherit_graph_39.svg | 22 + inherit_graph_4.map | 3 + inherit_graph_4.md5 | 1 + inherit_graph_4.svg | 21 + inherit_graph_40.map | 3 + inherit_graph_40.md5 | 1 + inherit_graph_40.svg | 21 + inherit_graph_41.map | 3 + inherit_graph_41.md5 | 1 + inherit_graph_41.svg | 22 + inherit_graph_42.map | 3 + inherit_graph_42.md5 | 1 + inherit_graph_42.svg | 21 + inherit_graph_43.map | 3 + inherit_graph_43.md5 | 1 + inherit_graph_43.svg | 22 + inherit_graph_44.map | 5 + inherit_graph_44.md5 | 1 + inherit_graph_44.svg | 40 + inherit_graph_45.map | 3 + inherit_graph_45.md5 | 1 + inherit_graph_45.svg | 21 + inherit_graph_46.map | 3 + inherit_graph_46.md5 | 1 + inherit_graph_46.svg | 21 + inherit_graph_47.map | 3 + inherit_graph_47.md5 | 1 + inherit_graph_47.svg | 21 + inherit_graph_48.map | 3 + inherit_graph_48.md5 | 1 + inherit_graph_48.svg | 21 + inherit_graph_49.map | 3 + inherit_graph_49.md5 | 1 + inherit_graph_49.svg | 21 + inherit_graph_5.map | 3 + inherit_graph_5.md5 | 1 + inherit_graph_5.svg | 21 + inherit_graph_50.map | 3 + inherit_graph_50.md5 | 1 + inherit_graph_50.svg | 21 + inherit_graph_51.map | 3 + inherit_graph_51.md5 | 1 + inherit_graph_51.svg | 22 + inherit_graph_52.map | 3 + inherit_graph_52.md5 | 1 + inherit_graph_52.svg | 21 + inherit_graph_53.map | 3 + inherit_graph_53.md5 | 1 + inherit_graph_53.svg | 22 + inherit_graph_54.map | 3 + inherit_graph_54.md5 | 1 + inherit_graph_54.svg | 21 + inherit_graph_55.map | 3 + inherit_graph_55.md5 | 1 + inherit_graph_55.svg | 21 + inherit_graph_56.map | 3 + inherit_graph_56.md5 | 1 + inherit_graph_56.svg | 21 + inherit_graph_57.map | 3 + inherit_graph_57.md5 | 1 + inherit_graph_57.svg | 21 + inherit_graph_58.map | 5 + inherit_graph_58.md5 | 1 + inherit_graph_58.svg | 39 + inherit_graph_59.map | 5 + inherit_graph_59.md5 | 1 + inherit_graph_59.svg | 39 + inherit_graph_6.map | 3 + inherit_graph_6.md5 | 1 + inherit_graph_6.svg | 22 + inherit_graph_60.map | 3 + inherit_graph_60.md5 | 1 + inherit_graph_60.svg | 21 + inherit_graph_61.map | 3 + inherit_graph_61.md5 | 1 + inherit_graph_61.svg | 22 + inherit_graph_62.map | 3 + inherit_graph_62.md5 | 1 + inherit_graph_62.svg | 21 + inherit_graph_63.map | 13 + inherit_graph_63.md5 | 1 + inherit_graph_63.svg | 111 + inherit_graph_64.map | 3 + inherit_graph_64.md5 | 1 + inherit_graph_64.svg | 21 + inherit_graph_65.map | 3 + inherit_graph_65.md5 | 1 + inherit_graph_65.svg | 21 + inherit_graph_66.map | 3 + inherit_graph_66.md5 | 1 + inherit_graph_66.svg | 21 + inherit_graph_67.map | 3 + inherit_graph_67.md5 | 1 + inherit_graph_67.svg | 21 + inherit_graph_68.map | 3 + inherit_graph_68.md5 | 1 + inherit_graph_68.svg | 21 + inherit_graph_69.map | 3 + inherit_graph_69.md5 | 1 + inherit_graph_69.svg | 22 + inherit_graph_7.map | 3 + inherit_graph_7.md5 | 1 + inherit_graph_7.svg | 22 + inherit_graph_70.map | 3 + inherit_graph_70.md5 | 1 + inherit_graph_70.svg | 21 + inherit_graph_71.map | 3 + inherit_graph_71.md5 | 1 + inherit_graph_71.svg | 21 + inherit_graph_72.map | 3 + inherit_graph_72.md5 | 1 + inherit_graph_72.svg | 21 + inherit_graph_73.map | 3 + inherit_graph_73.md5 | 1 + inherit_graph_73.svg | 22 + inherit_graph_74.map | 3 + inherit_graph_74.md5 | 1 + inherit_graph_74.svg | 21 + inherit_graph_75.map | 3 + inherit_graph_75.md5 | 1 + inherit_graph_75.svg | 22 + inherit_graph_76.map | 3 + inherit_graph_76.md5 | 1 + inherit_graph_76.svg | 21 + inherit_graph_77.map | 3 + inherit_graph_77.md5 | 1 + inherit_graph_77.svg | 21 + inherit_graph_78.map | 3 + inherit_graph_78.md5 | 1 + inherit_graph_78.svg | 22 + inherit_graph_79.map | 3 + inherit_graph_79.md5 | 1 + inherit_graph_79.svg | 21 + inherit_graph_8.map | 3 + inherit_graph_8.md5 | 1 + inherit_graph_8.svg | 21 + inherit_graph_80.map | 3 + inherit_graph_80.md5 | 1 + inherit_graph_80.svg | 22 + inherit_graph_81.map | 3 + inherit_graph_81.md5 | 1 + inherit_graph_81.svg | 22 + inherit_graph_82.map | 3 + inherit_graph_82.md5 | 1 + inherit_graph_82.svg | 21 + inherit_graph_83.map | 3 + inherit_graph_83.md5 | 1 + inherit_graph_83.svg | 21 + inherit_graph_84.map | 3 + inherit_graph_84.md5 | 1 + inherit_graph_84.svg | 21 + inherit_graph_85.map | 3 + inherit_graph_85.md5 | 1 + inherit_graph_85.svg | 21 + inherit_graph_86.map | 3 + inherit_graph_86.md5 | 1 + inherit_graph_86.svg | 22 + inherit_graph_87.map | 3 + inherit_graph_87.md5 | 1 + inherit_graph_87.svg | 21 + inherit_graph_88.map | 5 + inherit_graph_88.md5 | 1 + inherit_graph_88.svg | 40 + inherit_graph_89.map | 3 + inherit_graph_89.md5 | 1 + inherit_graph_89.svg | 21 + inherit_graph_9.map | 3 + inherit_graph_9.md5 | 1 + inherit_graph_9.svg | 22 + inherit_graph_90.map | 11 + inherit_graph_90.md5 | 1 + inherit_graph_90.svg | 96 + inherit_graph_91.map | 3 + inherit_graph_91.md5 | 1 + inherit_graph_91.svg | 21 + inherit_graph_92.map | 3 + inherit_graph_92.md5 | 1 + inherit_graph_92.svg | 21 + inherit_graph_93.map | 3 + inherit_graph_93.md5 | 1 + inherit_graph_93.svg | 21 + inherit_graph_94.map | 3 + inherit_graph_94.md5 | 1 + inherit_graph_94.svg | 22 + inherit_graph_95.map | 3 + inherit_graph_95.md5 | 1 + inherit_graph_95.svg | 21 + inherit_graph_96.map | 3 + inherit_graph_96.md5 | 1 + inherit_graph_96.svg | 21 + inherit_graph_97.map | 3 + inherit_graph_97.md5 | 1 + inherit_graph_97.svg | 21 + inherit_graph_98.map | 3 + inherit_graph_98.md5 | 1 + inherit_graph_98.svg | 22 + inherit_graph_99.map | 3 + inherit_graph_99.md5 | 1 + inherit_graph_99.svg | 22 + inherits.html | 228 + jquery.js | 34 + libbc_2include_2bc_2Write_8h.html | 116 + libbc_2include_2bc_2Write_8h_source.html | 129 + libbc_2src_2Write_8cpp.html | 104 + libbc_2src_2Write_8cpp_source.html | 107 + libnixbc_2README_8md.html | 83 + libnixbc_2include_2nixbc_2Nodes_8h.html | 143 + ...ixbc_2include_2nixbc_2Nodes_8h_source.html | 166 + libnixf_2include_2nixf_2Basic_2Nodes_8h.html | 103 + ...include_2nixf_2Basic_2Nodes_8h_source.html | 114 + ...xf_2include_2nixf_2Bytecode_2Write_8h.html | 113 + ...lude_2nixf_2Bytecode_2Write_8h_source.html | 112 + libnixf_2src_2Bytecode_2Write_8cpp.html | 110 + ...ixf_2src_2Bytecode_2Write_8cpp_source.html | 173 + libnixf_2src_2Bytecode_2Write_8h.html | 107 + libnixf_2src_2Bytecode_2Write_8h_source.html | 107 + libnixt_2README_8md.html | 83 + lspserver_2README_8md.html | 83 + ...rver_2include_2lspserver_2Protocol_8h.html | 805 +++ ...nclude_2lspserver_2Protocol_8h_source.html | 2810 ++++++++ lspserver_2src_2Protocol_8cpp.html | 402 ++ lspserver_2src_2Protocol_8cpp_source.html | 2311 +++++++ md_README.html | 159 + md_libnixbc_2README.html | 100 + md_libnixt_2README.html | 85 + md_lspserver_2README.html | 85 + md_nixd_2docs_2dev.html | 143 + md_nixd_2docs_2editor-setup.html | 132 + md_nixd_2docs_2editors_2editors.html | 103 + md_nixd_2docs_2examples_2README.html | 94 + md_nixd_2docs_2user-guide.html | 309 + md_nixd_2nix-node-eval_2README.html | 85 + menu.js | 134 + menudata.js | 162 + minus.svg | 8 + minusd.svg | 8 + namespacebc.html | 392 ++ namespacellvm.html | 91 + namespacelspserver.html | 6080 +++++++++++++++++ namespacelspserver_1_1detail.html | 354 + namespacemembers.html | 88 + namespacemembers_b.html | 86 + namespacemembers_c.html | 94 + namespacemembers_d.html | 94 + namespacemembers_e.html | 119 + namespacemembers_enum.html | 103 + namespacemembers_eval.html | 110 + namespacemembers_f.html | 88 + namespacemembers_func.html | 88 + namespacemembers_func_b.html | 85 + namespacemembers_func_c.html | 87 + namespacemembers_func_d.html | 90 + namespacemembers_func_e.html | 90 + namespacemembers_func_f.html | 86 + namespacemembers_func_g.html | 87 + namespacemembers_func_i.html | 85 + namespacemembers_func_k.html | 85 + namespacemembers_func_l.html | 88 + namespacemembers_func_m.html | 85 + namespacemembers_func_n.html | 85 + namespacemembers_func_o.html | 88 + namespacemembers_func_p.html | 92 + namespacemembers_func_r.html | 87 + namespacemembers_func_s.html | 85 + namespacemembers_func_t.html | 89 + namespacemembers_func_u.html | 85 + namespacemembers_func_v.html | 88 + namespacemembers_func_w.html | 86 + namespacemembers_g.html | 87 + namespacemembers_i.html | 88 + namespacemembers_j.html | 85 + namespacemembers_k.html | 86 + namespacemembers_l.html | 90 + namespacemembers_m.html | 87 + namespacemembers_n.html | 88 + namespacemembers_o.html | 89 + namespacemembers_p.html | 96 + namespacemembers_r.html | 87 + namespacemembers_s.html | 91 + namespacemembers_t.html | 93 + namespacemembers_type.html | 100 + namespacemembers_u.html | 87 + namespacemembers_v.html | 89 + namespacemembers_vars.html | 88 + namespacemembers_w.html | 86 + namespacenix.html | 83 + namespacenixbc.html | 346 + namespacenixd.html | 207 + namespacenixd_1_1rpc.html | 394 ++ namespacenixd_1_1util.html | 142 + namespacenixf.html | 447 ++ namespacenixf_1_1detail.html | 128 + namespacenixf_1_1tok.html | 148 + namespacenixt.html | 1056 +++ namespacenixt_1_1detail.html | 99 + namespacenixt_1_1ek.html | 126 + namespaces.html | 292 + nav_f.png | Bin 0 -> 153 bytes nav_fd.png | Bin 0 -> 169 bytes nav_g.png | Bin 0 -> 95 bytes nav_h.png | Bin 0 -> 98 bytes nav_hd.png | Bin 0 -> 114 bytes nix-node-eval_2src_2Main_8cpp.html | 123 + nix-node-eval_2src_2Main_8cpp_source.html | 121 + nixd_2docs_2examples_2README_8md.html | 83 + ...brpc_2include_2nixd_2rpc_2Protocol_8h.html | 141 + ...nclude_2nixd_2rpc_2Protocol_8h_source.html | 208 + nixd_2librpc_2src_2Protocol_8cpp.html | 118 + nixd_2librpc_2src_2Protocol_8cpp_source.html | 172 + nixd_2nix-node-eval_2README_8md.html | 83 + open.png | Bin 0 -> 123 bytes pages.html | 97 + plus.svg | 9 + plusd.svg | 9 + search/all_0.js | 58 + search/all_1.js | 22 + search/all_10.js | 5 + search/all_11.js | 60 + search/all_12.js | 86 + search/all_13.js | 70 + search/all_14.js | 23 + search/all_15.js | 23 + search/all_16.js | 25 + search/all_17.js | 4 + search/all_18.js | 16 + search/all_19.js | 4 + search/all_1a.js | 4 + search/all_2.js | 106 + search/all_3.js | 83 + search/all_4.js | 103 + search/all_5.js | 55 + search/all_6.js | 14 + search/all_7.js | 19 + search/all_8.js | 64 + search/all_9.js | 5 + search/all_a.js | 13 + search/all_b.js | 75 + search/all_c.js | 33 + search/all_d.js | 69 + search/all_e.js | 51 + search/all_f.js | 96 + search/classes_0.js | 16 + search/classes_1.js | 5 + search/classes_10.js | 13 + search/classes_11.js | 6 + search/classes_12.js | 4 + search/classes_13.js | 9 + search/classes_2.js | 25 + search/classes_3.js | 22 + search/classes_4.js | 29 + search/classes_5.js | 13 + search/classes_6.js | 5 + search/classes_7.js | 14 + search/classes_8.js | 4 + search/classes_9.js | 13 + search/classes_a.js | 6 + search/classes_b.js | 8 + search/classes_c.js | 9 + search/classes_d.js | 14 + search/classes_e.js | 14 + search/classes_f.js | 19 + search/close.svg | 18 + search/defines_0.js | 6 + search/defines_1.js | 4 + search/defines_2.js | 5 + search/defines_3.js | 8 + search/enums_0.js | 4 + search/enums_1.js | 5 + search/enums_2.js | 6 + search/enums_3.js | 6 + search/enums_4.js | 4 + search/enums_5.js | 6 + search/enums_6.js | 4 + search/enums_7.js | 5 + search/enums_8.js | 5 + search/enums_9.js | 5 + search/enums_a.js | 5 + search/enums_b.js | 4 + search/enums_c.js | 4 + search/enums_d.js | 6 + search/enums_e.js | 7 + search/enums_f.js | 4 + search/enumvalues_0.js | 8 + search/enumvalues_1.js | 5 + search/enumvalues_10.js | 10 + search/enumvalues_11.js | 6 + search/enumvalues_12.js | 5 + search/enumvalues_2.js | 11 + search/enumvalues_3.js | 11 + search/enumvalues_4.js | 33 + search/enumvalues_5.js | 10 + search/enumvalues_6.js | 11 + search/enumvalues_7.js | 5 + search/enumvalues_8.js | 5 + search/enumvalues_9.js | 9 + search/enumvalues_a.js | 12 + search/enumvalues_b.js | 11 + search/enumvalues_c.js | 13 + search/enumvalues_d.js | 6 + search/enumvalues_e.js | 11 + search/enumvalues_f.js | 8 + search/files_0.js | 12 + search/files_1.js | 4 + search/files_10.js | 6 + search/files_11.js | 4 + search/files_2.js | 9 + search/files_3.js | 13 + search/files_4.js | 10 + search/files_5.js | 7 + search/files_6.js | 7 + search/files_7.js | 5 + search/files_8.js | 5 + search/files_9.js | 24 + search/files_a.js | 13 + search/files_b.js | 7 + search/files_c.js | 15 + search/files_d.js | 7 + search/files_e.js | 12 + search/files_f.js | 11 + search/functions_0.js | 26 + search/functions_1.js | 10 + search/functions_10.js | 22 + search/functions_11.js | 15 + search/functions_12.js | 9 + search/functions_13.js | 9 + search/functions_14.js | 6 + search/functions_15.js | 16 + search/functions_2.js | 25 + search/functions_3.js | 20 + search/functions_4.js | 42 + search/functions_5.js | 18 + search/functions_6.js | 12 + search/functions_7.js | 4 + search/functions_8.js | 26 + search/functions_9.js | 7 + search/functions_a.js | 28 + search/functions_b.js | 12 + search/functions_c.js | 13 + search/functions_d.js | 29 + search/functions_e.js | 45 + search/functions_f.js | 22 + search/mag.svg | 24 + search/mag_d.svg | 24 + search/mag_sel.svg | 31 + search/mag_seld.svg | 31 + search/namespaces_0.js | 4 + search/namespaces_1.js | 6 + search/namespaces_2.js | 14 + search/pages_0.js | 5 + search/pages_1.js | 4 + search/pages_2.js | 8 + search/pages_3.js | 4 + search/pages_4.js | 6 + search/pages_5.js | 4 + search/pages_6.js | 6 + search/pages_7.js | 4 + search/pages_8.js | 5 + search/pages_9.js | 4 + search/pages_a.js | 4 + search/pages_b.js | 5 + search/pages_c.js | 4 + search/related_0.js | 4 + search/related_1.js | 7 + search/related_2.js | 4 + search/search.css | 291 + search/search.js | 694 ++ search/searchdata.js | 48 + search/typedefs_0.js | 4 + search/typedefs_1.js | 7 + search/typedefs_2.js | 4 + search/typedefs_3.js | 4 + search/typedefs_4.js | 6 + search/typedefs_5.js | 4 + search/typedefs_6.js | 4 + search/typedefs_7.js | 4 + search/typedefs_8.js | 4 + search/typedefs_9.js | 6 + search/typedefs_a.js | 7 + search/typedefs_b.js | 4 + search/typedefs_c.js | 4 + search/typedefs_d.js | 4 + search/typedefs_e.js | 4 + search/variables_0.js | 11 + search/variables_1.js | 5 + search/variables_10.js | 31 + search/variables_11.js | 21 + search/variables_12.js | 4 + search/variables_13.js | 8 + search/variables_14.js | 8 + search/variables_2.js | 37 + search/variables_3.js | 18 + search/variables_4.js | 11 + search/variables_5.js | 12 + search/variables_6.js | 8 + search/variables_7.js | 17 + search/variables_8.js | 6 + search/variables_9.js | 12 + search/variables_a.js | 10 + search/variables_b.js | 9 + search/variables_c.js | 7 + search/variables_d.js | 16 + search/variables_e.js | 5 + search/variables_f.js | 21 + splitbar.png | Bin 0 -> 314 bytes splitbard.png | Bin 0 -> 282 bytes src_2Parse_2Parser_8h.html | 130 + src_2Parse_2Parser_8h_source.html | 495 ++ ..._01lspserver_1_1Position_01_4-members.html | 91 + ...ovider_3_01lspserver_1_1Position_01_4.html | 141 + structlspserver_1_1ASTNode-members.html | 96 + structlspserver_1_1ASTNode.html | 232 + structlspserver_1_1ASTParams-members.html | 92 + structlspserver_1_1ASTParams.html | 153 + structlspserver_1_1ASTParams__coll__graph.map | 7 + structlspserver_1_1ASTParams__coll__graph.md5 | 1 + structlspserver_1_1ASTParams__coll__graph.svg | 59 + ...r_1_1ApplyWorkspaceEditParams-members.html | 91 + ...lspserver_1_1ApplyWorkspaceEditParams.html | 128 + ...1ApplyWorkspaceEditParams__coll__graph.map | 5 + ...1ApplyWorkspaceEditParams__coll__graph.md5 | 1 + ...1ApplyWorkspaceEditParams__coll__graph.svg | 41 + ...1_1ApplyWorkspaceEditResponse-members.html | 92 + ...pserver_1_1ApplyWorkspaceEditResponse.html | 143 + ..._1_1CallHierarchyIncomingCall-members.html | 92 + ...spserver_1_1CallHierarchyIncomingCall.html | 156 + ...CallHierarchyIncomingCall__coll__graph.map | 11 + ...CallHierarchyIncomingCall__coll__graph.md5 | 1 + ...CallHierarchyIncomingCall__coll__graph.svg | 100 + ...lHierarchyIncomingCallsParams-members.html | 91 + ...r_1_1CallHierarchyIncomingCallsParams.html | 132 + ...rarchyIncomingCallsParams__coll__graph.map | 11 + ...rarchyIncomingCallsParams__coll__graph.md5 | 1 + ...rarchyIncomingCallsParams__coll__graph.svg | 100 + ...spserver_1_1CallHierarchyItem-members.html | 98 + structlspserver_1_1CallHierarchyItem.html | 287 + ...rver_1_1CallHierarchyItem__coll__graph.map | 9 + ...rver_1_1CallHierarchyItem__coll__graph.md5 | 1 + ...rver_1_1CallHierarchyItem__coll__graph.svg | 80 + ..._1_1CallHierarchyOutgoingCall-members.html | 92 + ...spserver_1_1CallHierarchyOutgoingCall.html | 153 + ...CallHierarchyOutgoingCall__coll__graph.map | 11 + ...CallHierarchyOutgoingCall__coll__graph.md5 | 1 + ...CallHierarchyOutgoingCall__coll__graph.svg | 100 + ...lHierarchyOutgoingCallsParams-members.html | 91 + ...r_1_1CallHierarchyOutgoingCallsParams.html | 132 + ...rarchyOutgoingCallsParams__coll__graph.map | 11 + ...rarchyOutgoingCallsParams__coll__graph.md5 | 1 + ...rarchyOutgoingCallsParams__coll__graph.svg | 100 + ...1_1CallHierarchyPrepareParams-members.html | 92 + ...pserver_1_1CallHierarchyPrepareParams.html | 122 + ...allHierarchyPrepareParams__coll__graph.map | 11 + ...allHierarchyPrepareParams__coll__graph.md5 | 1 + ...allHierarchyPrepareParams__coll__graph.svg | 98 + ...HierarchyPrepareParams__inherit__graph.map | 5 + ...HierarchyPrepareParams__inherit__graph.md5 | 1 + ...HierarchyPrepareParams__inherit__graph.svg | 41 + ...lspserver_1_1ChangeAnnotation-members.html | 93 + structlspserver_1_1ChangeAnnotation.html | 166 + ...erver_1_1ClangdCompileCommand-members.html | 92 + structlspserver_1_1ClangdCompileCommand.html | 144 + ...pserver_1_1ClientCapabilities-members.html | 118 + structlspserver_1_1ClientCapabilities.html | 696 ++ structlspserver_1_1CodeAction-members.html | 99 + structlspserver_1_1CodeAction.html | 320 + ...spserver_1_1CodeActionContext-members.html | 92 + structlspserver_1_1CodeActionContext.html | 146 + ...lspserver_1_1CodeActionParams-members.html | 93 + structlspserver_1_1CodeActionParams.html | 177 + ...erver_1_1CodeActionParams__coll__graph.map | 13 + ...erver_1_1CodeActionParams__coll__graph.md5 | 1 + ...erver_1_1CodeActionParams__coll__graph.svg | 117 + ...tlspserver_1_1CodeDescription-members.html | 91 + structlspserver_1_1CodeDescription.html | 130 + structlspserver_1_1Command-members.html | 93 + structlspserver_1_1Command.html | 139 + structlspserver_1_1Command__coll__graph.map | 5 + structlspserver_1_1Command__coll__graph.md5 | 1 + structlspserver_1_1Command__coll__graph.svg | 40 + ...ctlspserver_1_1Command__inherit__graph.map | 5 + ...ctlspserver_1_1Command__inherit__graph.md5 | 1 + ...ctlspserver_1_1Command__inherit__graph.svg | 40 + ...spserver_1_1CompletionContext-members.html | 92 + structlspserver_1_1CompletionContext.html | 147 + ...ctlspserver_1_1CompletionItem-members.html | 102 + structlspserver_1_1CompletionItem.html | 360 + ...ctlspserver_1_1CompletionList-members.html | 92 + structlspserver_1_1CompletionList.html | 151 + ...lspserver_1_1CompletionParams-members.html | 94 + structlspserver_1_1CompletionParams.html | 161 + ...erver_1_1CompletionParams__coll__graph.map | 13 + ...erver_1_1CompletionParams__coll__graph.md5 | 1 + ...erver_1_1CompletionParams__coll__graph.svg | 116 + ...er_1_1CompletionParams__inherit__graph.map | 5 + ...er_1_1CompletionParams__inherit__graph.md5 | 1 + ...er_1_1CompletionParams__inherit__graph.svg | 40 + ...spserver_1_1ConfigurationItem-members.html | 92 + structlspserver_1_1ConfigurationItem.html | 143 + ...server_1_1ConfigurationParams-members.html | 91 + structlspserver_1_1ConfigurationParams.html | 123 + ...rver_1_1ConfigurationSettings-members.html | 91 + structlspserver_1_1ConfigurationSettings.html | 124 + structlspserver_1_1Diagnostic-members.html | 101 + structlspserver_1_1Diagnostic.html | 349 + ...1DiagnosticRelatedInformation-members.html | 92 + ...erver_1_1DiagnosticRelatedInformation.html | 155 + ...gnosticRelatedInformation__coll__graph.map | 11 + ...gnosticRelatedInformation__coll__graph.md5 | 1 + ...gnosticRelatedInformation__coll__graph.svg | 99 + ...ctlspserver_1_1Diagnostic__coll__graph.map | 7 + ...ctlspserver_1_1Diagnostic__coll__graph.md5 | 1 + ...ctlspserver_1_1Diagnostic__coll__graph.svg | 60 + ...1DidChangeConfigurationParams-members.html | 91 + ...erver_1_1DidChangeConfigurationParams.html | 128 + ...ChangeConfigurationParams__coll__graph.map | 5 + ...ChangeConfigurationParams__coll__graph.md5 | 1 + ...ChangeConfigurationParams__coll__graph.svg | 42 + ..._1DidChangeTextDocumentParams-members.html | 94 + ...server_1_1DidChangeTextDocumentParams.html | 194 + ...dChangeTextDocumentParams__coll__graph.map | 9 + ...dChangeTextDocumentParams__coll__graph.md5 | 1 + ...dChangeTextDocumentParams__coll__graph.svg | 79 + ..._1DidChangeWatchedFilesParams-members.html | 91 + ...server_1_1DidChangeWatchedFilesParams.html | 126 + ...1_1DidCloseTextDocumentParams-members.html | 91 + ...pserver_1_1DidCloseTextDocumentParams.html | 131 + ...idCloseTextDocumentParams__coll__graph.map | 7 + ...idCloseTextDocumentParams__coll__graph.md5 | 1 + ...idCloseTextDocumentParams__coll__graph.svg | 60 + ..._1_1DidOpenTextDocumentParams-members.html | 91 + ...spserver_1_1DidOpenTextDocumentParams.html | 131 + ...DidOpenTextDocumentParams__coll__graph.map | 7 + ...DidOpenTextDocumentParams__coll__graph.md5 | 1 + ...DidOpenTextDocumentParams__coll__graph.svg | 60 + ..._1_1DidSaveTextDocumentParams-members.html | 91 + ...spserver_1_1DidSaveTextDocumentParams.html | 131 + ...DidSaveTextDocumentParams__coll__graph.map | 7 + ...DidSaveTextDocumentParams__coll__graph.md5 | 1 + ...DidSaveTextDocumentParams__coll__graph.svg | 60 + ...r_1_1DocumentFormattingParams-members.html | 91 + ...lspserver_1_1DocumentFormattingParams.html | 131 + ...1DocumentFormattingParams__coll__graph.map | 7 + ...1DocumentFormattingParams__coll__graph.md5 | 1 + ...1DocumentFormattingParams__coll__graph.svg | 60 + ...spserver_1_1DocumentHighlight-members.html | 94 + structlspserver_1_1DocumentHighlight.html | 226 + ...rver_1_1DocumentHighlight__coll__graph.map | 7 + ...rver_1_1DocumentHighlight__coll__graph.md5 | 1 + ...rver_1_1DocumentHighlight__coll__graph.svg | 60 + structlspserver_1_1DocumentLink-members.html | 94 + structlspserver_1_1DocumentLink.html | 226 + ...pserver_1_1DocumentLinkParams-members.html | 91 + structlspserver_1_1DocumentLinkParams.html | 135 + ...ver_1_1DocumentLinkParams__coll__graph.map | 7 + ...ver_1_1DocumentLinkParams__coll__graph.md5 | 1 + ...ver_1_1DocumentLinkParams__coll__graph.svg | 59 + ...lspserver_1_1DocumentLink__coll__graph.map | 9 + ...lspserver_1_1DocumentLink__coll__graph.md5 | 1 + ...lspserver_1_1DocumentLink__coll__graph.svg | 79 + ...ocumentOnTypeFormattingParams-members.html | 93 + ...ver_1_1DocumentOnTypeFormattingParams.html | 177 + ...entOnTypeFormattingParams__coll__graph.map | 9 + ...entOnTypeFormattingParams__coll__graph.md5 | 1 + ...entOnTypeFormattingParams__coll__graph.svg | 79 + ...DocumentRangeFormattingParams-members.html | 92 + ...rver_1_1DocumentRangeFormattingParams.html | 154 + ...mentRangeFormattingParams__coll__graph.map | 11 + ...mentRangeFormattingParams__coll__graph.md5 | 1 + ...mentRangeFormattingParams__coll__graph.svg | 99 + ...ctlspserver_1_1DocumentSymbol-members.html | 97 + structlspserver_1_1DocumentSymbol.html | 266 + ...erver_1_1DocumentSymbolParams-members.html | 91 + structlspserver_1_1DocumentSymbolParams.html | 128 + ...r_1_1DocumentSymbolParams__coll__graph.map | 7 + ...r_1_1DocumentSymbolParams__coll__graph.md5 | 1 + ...r_1_1DocumentSymbolParams__coll__graph.svg | 60 + ...pserver_1_1DocumentSymbol__coll__graph.map | 7 + ...pserver_1_1DocumentSymbol__coll__graph.md5 | 1 + ...pserver_1_1DocumentSymbol__coll__graph.svg | 61 + ...server_1_1DraftStore_1_1Draft-members.html | 92 + structlspserver_1_1DraftStore_1_1Draft.html | 143 + ...erver_1_1ExecuteCommandParams-members.html | 92 + structlspserver_1_1ExecuteCommandParams.html | 151 + ..._1ExecuteCommandParams__inherit__graph.map | 5 + ..._1ExecuteCommandParams__inherit__graph.md5 | 1 + ..._1ExecuteCommandParams__inherit__graph.svg | 40 + structlspserver_1_1FileEvent-members.html | 92 + structlspserver_1_1FileEvent.html | 154 + structlspserver_1_1FileEvent__coll__graph.map | 5 + structlspserver_1_1FileEvent__coll__graph.md5 | 1 + structlspserver_1_1FileEvent__coll__graph.svg | 40 + structlspserver_1_1FileStatus-members.html | 92 + structlspserver_1_1FileStatus.html | 153 + ...ctlspserver_1_1FileStatus__coll__graph.map | 5 + ...ctlspserver_1_1FileStatus__coll__graph.md5 | 1 + ...ctlspserver_1_1FileStatus__coll__graph.svg | 40 + structlspserver_1_1FoldingRange-members.html | 98 + structlspserver_1_1FoldingRange.html | 280 + ...pserver_1_1FoldingRangeParams-members.html | 91 + structlspserver_1_1FoldingRangeParams.html | 128 + ...ver_1_1FoldingRangeParams__coll__graph.map | 7 + ...ver_1_1FoldingRangeParams__coll__graph.md5 | 1 + ...ver_1_1FoldingRangeParams__coll__graph.svg | 59 + ...tlspserver_1_1HandlerRegistry-members.html | 98 + structlspserver_1_1HandlerRegistry.html | 348 + structlspserver_1_1Hover-members.html | 92 + structlspserver_1_1Hover.html | 152 + structlspserver_1_1Hover__coll__graph.map | 5 + structlspserver_1_1Hover__coll__graph.md5 | 1 + structlspserver_1_1Hover__coll__graph.svg | 40 + ...rver_1_1InactiveRegionsParams-members.html | 92 + structlspserver_1_1InactiveRegionsParams.html | 155 + ..._1_1InactiveRegionsParams__coll__graph.map | 7 + ..._1_1InactiveRegionsParams__coll__graph.md5 | 1 + ..._1_1InactiveRegionsParams__coll__graph.svg | 60 + ...rver_1_1InitializationOptions-members.html | 94 + structlspserver_1_1InitializationOptions.html | 192 + ..._1_1InitializationOptions__coll__graph.map | 5 + ..._1_1InitializationOptions__coll__graph.md5 | 1 + ..._1_1InitializationOptions__coll__graph.svg | 42 + ...lspserver_1_1InitializeParams-members.html | 97 + structlspserver_1_1InitializeParams.html | 264 + ...erver_1_1InitializeParams__coll__graph.map | 9 + ...erver_1_1InitializeParams__coll__graph.md5 | 1 + ...erver_1_1InitializeParams__coll__graph.svg | 80 + structlspserver_1_1InlayHint-members.html | 96 + structlspserver_1_1InlayHint.html | 244 + structlspserver_1_1InlayHint__coll__graph.map | 8 + structlspserver_1_1InlayHint__coll__graph.md5 | 1 + structlspserver_1_1InlayHint__coll__graph.svg | 70 + ...lspserver_1_1InlayHintsParams-members.html | 92 + structlspserver_1_1InlayHintsParams.html | 157 + ...erver_1_1InlayHintsParams__coll__graph.map | 7 + ...erver_1_1InlayHintsParams__coll__graph.md5 | 1 + ...erver_1_1InlayHintsParams__coll__graph.svg | 59 + ...erver_1_1LSPDiagnosticCompare-members.html | 91 + structlspserver_1_1LSPDiagnosticCompare.html | 139 + structlspserver_1_1Location-members.html | 95 + structlspserver_1_1Location.html | 260 + structlspserver_1_1Location__coll__graph.map | 9 + structlspserver_1_1Location__coll__graph.md5 | 1 + structlspserver_1_1Location__coll__graph.svg | 79 + ...tlspserver_1_1Location__inherit__graph.map | 5 + ...tlspserver_1_1Location__inherit__graph.md5 | 1 + ...tlspserver_1_1Location__inherit__graph.svg | 39 + structlspserver_1_1MarkupContent-members.html | 92 + structlspserver_1_1MarkupContent.html | 143 + structlspserver_1_1NoParams.html | 95 + ...erver_1_1ParameterInformation-members.html | 93 + structlspserver_1_1ParameterInformation.html | 174 + structlspserver_1_1Position-members.html | 96 + structlspserver_1_1Position.html | 284 + ...ctlspserver_1_1ProgressParams-members.html | 92 + structlspserver_1_1ProgressParams.html | 154 + ...r_1_1PublishDiagnosticsParams-members.html | 93 + ...lspserver_1_1PublishDiagnosticsParams.html | 177 + ...1PublishDiagnosticsParams__coll__graph.map | 5 + ...1PublishDiagnosticsParams__coll__graph.md5 | 1 + ...1PublishDiagnosticsParams__coll__graph.svg | 41 + structlspserver_1_1Range-members.html | 99 + structlspserver_1_1Range.html | 388 ++ structlspserver_1_1Range__coll__graph.map | 5 + structlspserver_1_1Range__coll__graph.md5 | 1 + structlspserver_1_1Range__coll__graph.svg | 41 + ...lspserver_1_1ReferenceContext-members.html | 91 + structlspserver_1_1ReferenceContext.html | 126 + ...spserver_1_1ReferenceLocation-members.html | 93 + structlspserver_1_1ReferenceLocation.html | 141 + ...rver_1_1ReferenceLocation__coll__graph.map | 11 + ...rver_1_1ReferenceLocation__coll__graph.md5 | 1 + ...rver_1_1ReferenceLocation__coll__graph.svg | 97 + ...r_1_1ReferenceLocation__inherit__graph.map | 5 + ...r_1_1ReferenceLocation__inherit__graph.md5 | 1 + ...r_1_1ReferenceLocation__inherit__graph.svg | 39 + ...tlspserver_1_1ReferenceParams-members.html | 93 + structlspserver_1_1ReferenceParams.html | 140 + ...server_1_1ReferenceParams__coll__graph.map | 13 + ...server_1_1ReferenceParams__coll__graph.md5 | 1 + ...server_1_1ReferenceParams__coll__graph.svg | 116 + ...ver_1_1ReferenceParams__inherit__graph.map | 5 + ...ver_1_1ReferenceParams__inherit__graph.md5 | 1 + ...ver_1_1ReferenceParams__inherit__graph.svg | 40 + structlspserver_1_1RenameParams-members.html | 93 + structlspserver_1_1RenameParams.html | 177 + ...lspserver_1_1RenameParams__coll__graph.map | 9 + ...lspserver_1_1RenameParams__coll__graph.md5 | 1 + ...lspserver_1_1RenameParams__coll__graph.svg | 78 + ...esolveTypeHierarchyItemParams-members.html | 93 + ...ver_1_1ResolveTypeHierarchyItemParams.html | 181 + ...veTypeHierarchyItemParams__coll__graph.map | 13 + ...veTypeHierarchyItemParams__coll__graph.md5 | 1 + ...veTypeHierarchyItemParams__coll__graph.svg | 120 + ...ctlspserver_1_1SelectionRange-members.html | 92 + structlspserver_1_1SelectionRange.html | 150 + ...erver_1_1SelectionRangeParams-members.html | 92 + structlspserver_1_1SelectionRangeParams.html | 154 + ...r_1_1SelectionRangeParams__coll__graph.map | 7 + ...r_1_1SelectionRangeParams__coll__graph.md5 | 1 + ...r_1_1SelectionRangeParams__coll__graph.svg | 60 + ...pserver_1_1SelectionRange__coll__graph.map | 7 + ...pserver_1_1SelectionRange__coll__graph.md5 | 1 + ...pserver_1_1SelectionRange__coll__graph.svg | 60 + structlspserver_1_1SemanticToken-members.html | 95 + structlspserver_1_1SemanticToken.html | 217 + ...ctlspserver_1_1SemanticTokens-members.html | 92 + structlspserver_1_1SemanticTokens.html | 150 + ..._1_1SemanticTokensDeltaParams-members.html | 92 + ...spserver_1_1SemanticTokensDeltaParams.html | 155 + ...SemanticTokensDeltaParams__coll__graph.map | 7 + ...SemanticTokensDeltaParams__coll__graph.md5 | 1 + ...SemanticTokensDeltaParams__coll__graph.svg | 60 + ...pserver_1_1SemanticTokensEdit-members.html | 93 + structlspserver_1_1SemanticTokensEdit.html | 167 + ...rver_1_1SemanticTokensOrDelta-members.html | 93 + structlspserver_1_1SemanticTokensOrDelta.html | 170 + ...erver_1_1SemanticTokensParams-members.html | 91 + structlspserver_1_1SemanticTokensParams.html | 135 + ...r_1_1SemanticTokensParams__coll__graph.map | 7 + ...r_1_1SemanticTokensParams__coll__graph.md5 | 1 + ...r_1_1SemanticTokensParams__coll__graph.svg | 60 + ...spserver_1_1ShowMessageParams-members.html | 92 + structlspserver_1_1ShowMessageParams.html | 150 + structlspserver_1_1SignatureHelp-members.html | 94 + structlspserver_1_1SignatureHelp.html | 200 + ...spserver_1_1SignatureHelp__coll__graph.map | 5 + ...spserver_1_1SignatureHelp__coll__graph.md5 | 1 + ...spserver_1_1SignatureHelp__coll__graph.svg | 40 + ...erver_1_1SignatureInformation-members.html | 93 + structlspserver_1_1SignatureInformation.html | 181 + ...r_1_1SignatureInformation__coll__graph.map | 5 + ...r_1_1SignatureInformation__coll__graph.md5 | 1 + ...r_1_1SignatureInformation__coll__graph.svg | 40 + ...spserver_1_1SymbolInformation-members.html | 95 + structlspserver_1_1SymbolInformation.html | 222 + ...rver_1_1SymbolInformation__coll__graph.map | 11 + ...rver_1_1SymbolInformation__coll__graph.md5 | 1 + ...rver_1_1SymbolInformation__coll__graph.svg | 98 + ...extDocumentContentChangeEvent-members.html | 93 + ...ver_1_1TextDocumentContentChangeEvent.html | 172 + ...lspserver_1_1TextDocumentEdit-members.html | 92 + structlspserver_1_1TextDocumentEdit.html | 152 + ...erver_1_1TextDocumentEdit__coll__graph.map | 9 + ...erver_1_1TextDocumentEdit__coll__graph.md5 | 1 + ...erver_1_1TextDocumentEdit__coll__graph.svg | 78 + ...ver_1_1TextDocumentIdentifier-members.html | 91 + ...ctlspserver_1_1TextDocumentIdentifier.html | 136 + ...1_1TextDocumentIdentifier__coll__graph.map | 5 + ...1_1TextDocumentIdentifier__coll__graph.md5 | 1 + ...1_1TextDocumentIdentifier__coll__graph.svg | 40 + ...TextDocumentIdentifier__inherit__graph.map | 5 + ...TextDocumentIdentifier__inherit__graph.md5 | 1 + ...TextDocumentIdentifier__inherit__graph.svg | 40 + ...lspserver_1_1TextDocumentItem-members.html | 94 + structlspserver_1_1TextDocumentItem.html | 199 + ...erver_1_1TextDocumentItem__coll__graph.map | 5 + ...erver_1_1TextDocumentItem__coll__graph.md5 | 1 + ...erver_1_1TextDocumentItem__coll__graph.svg | 40 + ...1_1TextDocumentPositionParams-members.html | 92 + ...pserver_1_1TextDocumentPositionParams.html | 159 + ...extDocumentPositionParams__coll__graph.map | 9 + ...extDocumentPositionParams__coll__graph.md5 | 1 + ...extDocumentPositionParams__coll__graph.svg | 79 + ...DocumentPositionParams__inherit__graph.map | 11 + ...DocumentPositionParams__inherit__graph.md5 | 1 + ...DocumentPositionParams__inherit__graph.svg | 96 + structlspserver_1_1TextEdit-members.html | 93 + structlspserver_1_1TextEdit.html | 171 + structlspserver_1_1TextEdit__coll__graph.map | 7 + structlspserver_1_1TextEdit__coll__graph.md5 | 1 + structlspserver_1_1TextEdit__coll__graph.svg | 60 + structlspserver_1_1TweakArgs-members.html | 93 + structlspserver_1_1TweakArgs.html | 178 + structlspserver_1_1TweakArgs__coll__graph.map | 9 + structlspserver_1_1TweakArgs__coll__graph.md5 | 1 + structlspserver_1_1TweakArgs__coll__graph.svg | 79 + ...spserver_1_1TypeHierarchyItem-members.html | 100 + structlspserver_1_1TypeHierarchyItem.html | 335 + ...ierarchyItem_1_1ResolveParams-members.html | 91 + ...1_1TypeHierarchyItem_1_1ResolveParams.html | 130 + ...rver_1_1TypeHierarchyItem__coll__graph.map | 11 + ...rver_1_1TypeHierarchyItem__coll__graph.md5 | 1 + ...rver_1_1TypeHierarchyItem__coll__graph.svg | 100 + ...1_1TypeHierarchyPrepareParams-members.html | 94 + ...pserver_1_1TypeHierarchyPrepareParams.html | 163 + ...ypeHierarchyPrepareParams__coll__graph.map | 11 + ...ypeHierarchyPrepareParams__coll__graph.md5 | 1 + ...ypeHierarchyPrepareParams__coll__graph.svg | 98 + ...HierarchyPrepareParams__inherit__graph.map | 5 + ...HierarchyPrepareParams__inherit__graph.md5 | 1 + ...HierarchyPrepareParams__inherit__graph.svg | 41 + structlspserver_1_1URIForFile-members.html | 99 + structlspserver_1_1URIForFile.html | 411 ++ ...rsionedTextDocumentIdentifier-members.html | 92 + ...er_1_1VersionedTextDocumentIdentifier.html | 140 + ...nedTextDocumentIdentifier__coll__graph.map | 7 + ...nedTextDocumentIdentifier__coll__graph.md5 | 1 + ...nedTextDocumentIdentifier__coll__graph.svg | 59 + ...TextDocumentIdentifier__inherit__graph.map | 5 + ...TextDocumentIdentifier__inherit__graph.md5 | 1 + ...TextDocumentIdentifier__inherit__graph.svg | 40 + ...rver_1_1WorkDoneProgressBegin-members.html | 93 + structlspserver_1_1WorkDoneProgressBegin.html | 170 + ...1WorkDoneProgressCreateParams-members.html | 91 + ...erver_1_1WorkDoneProgressCreateParams.html | 126 + ...server_1_1WorkDoneProgressEnd-members.html | 91 + structlspserver_1_1WorkDoneProgressEnd.html | 128 + ...ver_1_1WorkDoneProgressReport-members.html | 94 + ...ctlspserver_1_1WorkDoneProgressReport.html | 193 + structlspserver_1_1WorkspaceEdit-members.html | 93 + structlspserver_1_1WorkspaceEdit.html | 170 + ...rver_1_1WorkspaceSymbolParams-members.html | 92 + structlspserver_1_1WorkspaceSymbolParams.html | 149 + structnixbc_1_1FileHeader-members.html | 93 + structnixbc_1_1FileHeader.html | 169 + structnixbc_1_1NodeHeader-members.html | 92 + structnixbc_1_1NodeHeader.html | 139 + ...ixd_1_1rpc_1_1ExprValueParams-members.html | 91 + structnixd_1_1rpc_1_1ExprValueParams.html | 123 + ...d_1_1rpc_1_1ExprValueResponse-members.html | 101 + structnixd_1_1rpc_1_1ExprValueResponse.html | 231 + ...xd_1_1rpc_1_1RegisterBCParams-members.html | 94 + structnixd_1_1rpc_1_1RegisterBCParams.html | 183 + ...ctnixd_1_1util_1_1OwnedRegion-members.html | 92 + structnixd_1_1util_1_1OwnedRegion.html | 139 + structnixd_1_1util_1_1PipedProc-members.html | 94 + structnixd_1_1util_1_1PipedProc.html | 180 + ...nixd_1_1util_1_1PipedProc__coll__graph.map | 7 + ...nixd_1_1util_1_1PipedProc__coll__graph.md5 | 1 + ...nixd_1_1util_1_1PipedProc__coll__graph.svg | 61 + structnixt_1_1ASTHeader-members.html | 92 + structnixt_1_1ASTHeader.html | 143 + structnixt_1_1ArrayRef-members.html | 92 + structnixt_1_1ArrayRef.html | 153 + structnixt_1_1DeserializeContext-members.html | 95 + structnixt_1_1DeserializeContext.html | 203 + structnixt_1_1PtrPool-members.html | 93 + structnixt_1_1PtrPool.html | 218 + ...ctnixt_1_1RecursiveASTVisitor-members.html | 94 + structnixt_1_1RecursiveASTVisitor.html | 253 + ...nixt_1_1detail_1_1ParseCacheF-members.html | 91 + structnixt_1_1detail_1_1ParseCacheF.html | 121 + structnixt_1_1detail_1_1R-members.html | 92 + structnixt_1_1detail_1_1R.html | 162 + structnixt_1_1detail_1_1RB-members.html | 93 + structnixt_1_1detail_1_1RB.html | 157 + structnixt_1_1detail_1_1RB_1_1F-members.html | 91 + structnixt_1_1detail_1_1RB_1_1F.html | 135 + structnixt_1_1detail_1_1RB__coll__graph.map | 7 + structnixt_1_1detail_1_1RB__coll__graph.md5 | 1 + structnixt_1_1detail_1_1RB__coll__graph.svg | 59 + ...ctnixt_1_1detail_1_1RB__inherit__graph.map | 5 + ...ctnixt_1_1detail_1_1RB__inherit__graph.md5 | 1 + ...ctnixt_1_1detail_1_1RB__inherit__graph.svg | 39 + structnixt_1_1detail_1_1R__inherit__graph.map | 5 + structnixt_1_1detail_1_1R__inherit__graph.md5 | 1 + structnixt_1_1detail_1_1R__inherit__graph.svg | 39 + sync_off.png | Bin 0 -> 853 bytes sync_on.png | Bin 0 -> 845 bytes tab_a.png | Bin 0 -> 142 bytes tab_ad.png | Bin 0 -> 135 bytes tab_b.png | Bin 0 -> 169 bytes tab_bd.png | Bin 0 -> 173 bytes tab_h.png | Bin 0 -> 177 bytes tab_hd.png | Bin 0 -> 180 bytes tab_s.png | Bin 0 -> 184 bytes tab_sd.png | Bin 0 -> 188 bytes tabs.css | 1 + tools_2nixd_2src_2Main_8cpp.html | 127 + tools_2nixd_2src_2Main_8cpp_source.html | 190 + user-guide_8md.html | 83 + 2148 files changed, 165974 insertions(+) create mode 100644 .nojekyll create mode 100644 ASTReader_8cpp.html create mode 100644 ASTReader_8cpp_source.html create mode 100644 ASTReader_8h.html create mode 100644 ASTReader_8h_source.html create mode 100644 ArrayRef_8h.html create mode 100644 ArrayRef_8h_source.html create mode 100644 Attrs_8h.html create mode 100644 Attrs_8h_source.html create mode 100644 AutoCloseFD_8cpp.html create mode 100644 AutoCloseFD_8cpp_source.html create mode 100644 AutoCloseFD_8h.html create mode 100644 AutoCloseFD_8h_source.html create mode 100644 AutoHUPPID_8h.html create mode 100644 AutoHUPPID_8h_source.html create mode 100644 AutoRemoveShm_8cpp.html create mode 100644 AutoRemoveShm_8cpp_source.html create mode 100644 AutoRemoveShm_8h.html create mode 100644 AutoRemoveShm_8h_source.html create mode 100644 Basic_8h.html create mode 100644 Basic_8h_source.html create mode 100644 CodeAction_8cpp.html create mode 100644 CodeAction_8cpp_source.html create mode 100644 Connection_8cpp.html create mode 100644 Connection_8cpp_source.html create mode 100644 Connection_8h.html create mode 100644 Connection_8h_source.html create mode 100644 Controller_8h.html create mode 100644 Controller_8h_source.html create mode 100644 Convert_8cpp.html create mode 100644 Convert_8cpp_source.html create mode 100644 Convert_8h.html create mode 100644 Convert_8h_source.html create mode 100644 Deserialize_8h.html create mode 100644 Deserialize_8h_source.html create mode 100644 DiagnosticKinds_8inc.html create mode 100644 DiagnosticKinds_8inc_source.html create mode 100644 Diagnostic_8cpp.html create mode 100644 Diagnostic_8cpp_source.html create mode 100644 Diagnostic_8h.html create mode 100644 Diagnostic_8h_source.html create mode 100644 Diagnostics_8cpp.html create mode 100644 Diagnostics_8cpp_source.html create mode 100644 Displacement_8cpp.html create mode 100644 Displacement_8cpp_source.html create mode 100644 Displacement_8h.html create mode 100644 Displacement_8h_source.html create mode 100644 DraftStore_8cpp.html create mode 100644 DraftStore_8cpp_source.html create mode 100644 DraftStore_8h.html create mode 100644 DraftStore_8h_source.html create mode 100644 EvalClient_8cpp.html create mode 100644 EvalClient_8cpp_source.html create mode 100644 EvalClient_8h.html create mode 100644 EvalClient_8h_source.html create mode 100644 EvalProvider_8cpp.html create mode 100644 EvalProvider_8cpp_source.html create mode 100644 EvalProvider_8h.html create mode 100644 EvalProvider_8h_source.html create mode 100644 Expr_8h.html create mode 100644 Expr_8h_source.html create mode 100644 FileHeader_8h.html create mode 100644 FileHeader_8h_source.html create mode 100644 ForkPiped_8cpp.html create mode 100644 ForkPiped_8cpp_source.html create mode 100644 ForkPiped_8h.html create mode 100644 ForkPiped_8h_source.html create mode 100644 Function_8h.html create mode 100644 Function_8h_source.html create mode 100644 HackCache_8h.html create mode 100644 HackCache_8h_source.html create mode 100644 HookExpr_8cpp.html create mode 100644 HookExpr_8cpp_source.html create mode 100644 HookExpr_8h.html create mode 100644 HookExpr_8h_source.html create mode 100644 Hover_8cpp.html create mode 100644 Hover_8cpp_source.html create mode 100644 InitEval_8h.html create mode 100644 InitEval_8h_source.html create mode 100644 Kinds_8cpp.html create mode 100644 Kinds_8cpp_source.html create mode 100644 Kinds_8h.html create mode 100644 Kinds_8h_source.html create mode 100644 LSPBinder_8h.html create mode 100644 LSPBinder_8h_source.html create mode 100644 LSPServer_8cpp.html create mode 100644 LSPServer_8cpp_source.html create mode 100644 LSPServer_8h.html create mode 100644 LSPServer_8h_source.html create mode 100644 Lambda_8h.html create mode 100644 Lambda_8h_source.html create mode 100644 Lexer_8cpp.html create mode 100644 Lexer_8cpp_source.html create mode 100644 Lexer_8h.html create mode 100644 Lexer_8h_source.html create mode 100644 LifeTime_8cpp.html create mode 100644 LifeTime_8cpp_source.html create mode 100644 Logger_8cpp.html create mode 100644 Logger_8cpp_source.html create mode 100644 Logger_8h.html create mode 100644 Logger_8h_source.html create mode 100644 NixTU_8h.html create mode 100644 NixTU_8h_source.html create mode 100644 NodeKinds_8inc.html create mode 100644 NodeKinds_8inc_source.html create mode 100644 Nodes_8cpp.html create mode 100644 Nodes_8cpp_source.html create mode 100644 Nodes_8inc.html create mode 100644 Nodes_8inc_source.html create mode 100644 NoteKinds_8inc.html create mode 100644 NoteKinds_8inc_source.html create mode 100644 Op_8h.html create mode 100644 Op_8h_source.html create mode 100644 Origin_8cpp.html create mode 100644 Origin_8cpp_source.html create mode 100644 Origin_8h.html create mode 100644 Origin_8h_source.html create mode 100644 OwnedRegion_8h.html create mode 100644 OwnedRegion_8h_source.html create mode 100644 ParentMap_8cpp.html create mode 100644 ParentMap_8cpp_source.html create mode 100644 ParentMap_8h.html create mode 100644 ParentMap_8h_source.html create mode 100644 ParseAttrs_8cpp.html create mode 100644 ParseAttrs_8cpp_source.html create mode 100644 ParseExpr_8cpp.html create mode 100644 ParseExpr_8cpp_source.html create mode 100644 ParseLambda_8cpp.html create mode 100644 ParseLambda_8cpp_source.html create mode 100644 ParseOp_8cpp.html create mode 100644 ParseOp_8cpp_source.html create mode 100644 ParseSimple_8cpp.html create mode 100644 ParseSimple_8cpp_source.html create mode 100644 ParseStrings_8cpp.html create mode 100644 ParseStrings_8cpp_source.html create mode 100644 ParseSupport_8cpp.html create mode 100644 ParseSupport_8cpp_source.html create mode 100644 Path_8h.html create mode 100644 Path_8h_source.html create mode 100644 PipedProc_8h.html create mode 100644 PipedProc_8h_source.html create mode 100644 PtrPool_8h.html create mode 100644 PtrPool_8h_source.html create mode 100644 README_8md.html create mode 100644 Range_8h.html create mode 100644 Range_8h_source.html create mode 100644 Read_8cpp.html create mode 100644 Read_8cpp_source.html create mode 100644 Read_8h.html create mode 100644 Read_8h_source.html create mode 100644 SemaActions_8cpp.html create mode 100644 SemaActions_8cpp_source.html create mode 100644 SemaActions_8h.html create mode 100644 SemaActions_8h_source.html create mode 100644 Serialize_8h.html create mode 100644 Serialize_8h_source.html create mode 100644 Simple_8h.html create mode 100644 Simple_8h_source.html create mode 100644 SourceCode_8cpp.html create mode 100644 SourceCode_8cpp_source.html create mode 100644 SourceCode_8h.html create mode 100644 SourceCode_8h_source.html create mode 100644 Support_8cpp.html create mode 100644 Support_8cpp_source.html create mode 100644 SyntaxKinds_8inc.html create mode 100644 SyntaxKinds_8inc_source.html create mode 100644 TextDocumentSync_8cpp.html create mode 100644 TextDocumentSync_8cpp_source.html create mode 100644 TokenKinds_8h.html create mode 100644 TokenKinds_8h_source.html create mode 100644 TokenKinds_8inc.html create mode 100644 TokenKinds_8inc_source.html create mode 100644 Token_8h.html create mode 100644 Token_8h_source.html create mode 100644 Tokens_8inc.html create mode 100644 Tokens_8inc_source.html create mode 100644 Traverse_8inc.html create mode 100644 Traverse_8inc_source.html create mode 100644 Type_8h.html create mode 100644 Type_8h_source.html create mode 100644 URI_8cpp.html create mode 100644 URI_8cpp_source.html create mode 100644 URI_8h.html create mode 100644 URI_8h_source.html create mode 100644 Visitor_8h.html create mode 100644 Visitor_8h_source.html create mode 100644 annotated.html create mode 100644 bc_s.png create mode 100644 bc_sd.png create mode 100644 classes.html create mode 100644 classlspserver_1_1DraftStore-members.html create mode 100644 classlspserver_1_1DraftStore.html create mode 100644 classlspserver_1_1Event-members.html create mode 100644 classlspserver_1_1Event.html create mode 100644 classlspserver_1_1Event_1_1Subscription-members.html create mode 100644 classlspserver_1_1Event_1_1Subscription.html create mode 100644 classlspserver_1_1InboundPort-members.html create mode 100644 classlspserver_1_1InboundPort.html create mode 100644 classlspserver_1_1Key-members.html create mode 100644 classlspserver_1_1Key.html create mode 100644 classlspserver_1_1LSPError-members.html create mode 100644 classlspserver_1_1LSPError.html create mode 100644 classlspserver_1_1LSPError__coll__graph.map create mode 100644 classlspserver_1_1LSPError__coll__graph.md5 create mode 100644 classlspserver_1_1LSPError__coll__graph.svg create mode 100644 classlspserver_1_1LSPError__inherit__graph.map create mode 100644 classlspserver_1_1LSPError__inherit__graph.md5 create mode 100644 classlspserver_1_1LSPError__inherit__graph.svg create mode 100644 classlspserver_1_1LSPServer-members.html create mode 100644 classlspserver_1_1LSPServer.html create mode 100644 classlspserver_1_1LSPServer__coll__graph.map create mode 100644 classlspserver_1_1LSPServer__coll__graph.md5 create mode 100644 classlspserver_1_1LSPServer__coll__graph.svg create mode 100644 classlspserver_1_1LSPServer__inherit__graph.map create mode 100644 classlspserver_1_1LSPServer__inherit__graph.md5 create mode 100644 classlspserver_1_1LSPServer__inherit__graph.svg create mode 100644 classlspserver_1_1Logger-members.html create mode 100644 classlspserver_1_1Logger.html create mode 100644 classlspserver_1_1Logger__inherit__graph.map create mode 100644 classlspserver_1_1Logger__inherit__graph.md5 create mode 100644 classlspserver_1_1Logger__inherit__graph.svg create mode 100644 classlspserver_1_1LoggingSession-members.html create mode 100644 classlspserver_1_1LoggingSession.html create mode 100644 classlspserver_1_1MessageHandler-members.html create mode 100644 classlspserver_1_1MessageHandler.html create mode 100644 classlspserver_1_1MessageHandler__inherit__graph.map create mode 100644 classlspserver_1_1MessageHandler__inherit__graph.md5 create mode 100644 classlspserver_1_1MessageHandler__inherit__graph.svg create mode 100644 classlspserver_1_1OutboundPort-members.html create mode 100644 classlspserver_1_1OutboundPort.html create mode 100644 classlspserver_1_1StreamLogger-members.html create mode 100644 classlspserver_1_1StreamLogger.html create mode 100644 classlspserver_1_1StreamLogger__coll__graph.map create mode 100644 classlspserver_1_1StreamLogger__coll__graph.md5 create mode 100644 classlspserver_1_1StreamLogger__coll__graph.svg create mode 100644 classlspserver_1_1StreamLogger__inherit__graph.map create mode 100644 classlspserver_1_1StreamLogger__inherit__graph.md5 create mode 100644 classlspserver_1_1StreamLogger__inherit__graph.svg create mode 100644 classlspserver_1_1URI-members.html create mode 100644 classlspserver_1_1URI.html create mode 100644 classlspserver_1_1URIScheme-members.html create mode 100644 classlspserver_1_1URIScheme.html create mode 100644 classnixbc_1_1Origin-members.html create mode 100644 classnixbc_1_1Origin.html create mode 100644 classnixbc_1_1OriginPath-members.html create mode 100644 classnixbc_1_1OriginPath.html create mode 100644 classnixbc_1_1OriginPath__coll__graph.map create mode 100644 classnixbc_1_1OriginPath__coll__graph.md5 create mode 100644 classnixbc_1_1OriginPath__coll__graph.svg create mode 100644 classnixbc_1_1OriginPath__inherit__graph.map create mode 100644 classnixbc_1_1OriginPath__inherit__graph.md5 create mode 100644 classnixbc_1_1OriginPath__inherit__graph.svg create mode 100644 classnixbc_1_1Origin__inherit__graph.map create mode 100644 classnixbc_1_1Origin__inherit__graph.md5 create mode 100644 classnixbc_1_1Origin__inherit__graph.svg create mode 100644 classnixd_1_1Controller-members.html create mode 100644 classnixd_1_1Controller.html create mode 100644 classnixd_1_1Controller__coll__graph.map create mode 100644 classnixd_1_1Controller__coll__graph.md5 create mode 100644 classnixd_1_1Controller__coll__graph.svg create mode 100644 classnixd_1_1Controller__inherit__graph.map create mode 100644 classnixd_1_1Controller__inherit__graph.md5 create mode 100644 classnixd_1_1Controller__inherit__graph.svg create mode 100644 classnixd_1_1EvalClient-members.html create mode 100644 classnixd_1_1EvalClient.html create mode 100644 classnixd_1_1EvalClient__coll__graph.map create mode 100644 classnixd_1_1EvalClient__coll__graph.md5 create mode 100644 classnixd_1_1EvalClient__coll__graph.svg create mode 100644 classnixd_1_1EvalClient__inherit__graph.map create mode 100644 classnixd_1_1EvalClient__inherit__graph.md5 create mode 100644 classnixd_1_1EvalClient__inherit__graph.svg create mode 100644 classnixd_1_1EvalProvider-members.html create mode 100644 classnixd_1_1EvalProvider.html create mode 100644 classnixd_1_1EvalProvider__coll__graph.map create mode 100644 classnixd_1_1EvalProvider__coll__graph.md5 create mode 100644 classnixd_1_1EvalProvider__coll__graph.svg create mode 100644 classnixd_1_1EvalProvider__inherit__graph.map create mode 100644 classnixd_1_1EvalProvider__inherit__graph.md5 create mode 100644 classnixd_1_1EvalProvider__inherit__graph.svg create mode 100644 classnixd_1_1NixTU-members.html create mode 100644 classnixd_1_1NixTU.html create mode 100644 classnixd_1_1OwnedEvalClient-members.html create mode 100644 classnixd_1_1OwnedEvalClient.html create mode 100644 classnixd_1_1OwnedEvalClient__coll__graph.map create mode 100644 classnixd_1_1OwnedEvalClient__coll__graph.md5 create mode 100644 classnixd_1_1OwnedEvalClient__coll__graph.svg create mode 100644 classnixd_1_1OwnedEvalClient__inherit__graph.map create mode 100644 classnixd_1_1OwnedEvalClient__inherit__graph.md5 create mode 100644 classnixd_1_1OwnedEvalClient__inherit__graph.svg create mode 100644 classnixd_1_1util_1_1AutoCloseFD-members.html create mode 100644 classnixd_1_1util_1_1AutoCloseFD.html create mode 100644 classnixd_1_1util_1_1AutoHUPPID-members.html create mode 100644 classnixd_1_1util_1_1AutoHUPPID.html create mode 100644 classnixd_1_1util_1_1AutoRemoveShm-members.html create mode 100644 classnixd_1_1util_1_1AutoRemoveShm.html create mode 100644 classnixf_1_1AttrName-members.html create mode 100644 classnixf_1_1AttrName.html create mode 100644 classnixf_1_1AttrName__coll__graph.map create mode 100644 classnixf_1_1AttrName__coll__graph.md5 create mode 100644 classnixf_1_1AttrName__coll__graph.svg create mode 100644 classnixf_1_1AttrName__inherit__graph.map create mode 100644 classnixf_1_1AttrName__inherit__graph.md5 create mode 100644 classnixf_1_1AttrName__inherit__graph.svg create mode 100644 classnixf_1_1AttrPath-members.html create mode 100644 classnixf_1_1AttrPath.html create mode 100644 classnixf_1_1AttrPath__coll__graph.map create mode 100644 classnixf_1_1AttrPath__coll__graph.md5 create mode 100644 classnixf_1_1AttrPath__coll__graph.svg create mode 100644 classnixf_1_1AttrPath__inherit__graph.map create mode 100644 classnixf_1_1AttrPath__inherit__graph.md5 create mode 100644 classnixf_1_1AttrPath__inherit__graph.svg create mode 100644 classnixf_1_1Attribute-members.html create mode 100644 classnixf_1_1Attribute.html create mode 100644 classnixf_1_1Binding-members.html create mode 100644 classnixf_1_1Binding.html create mode 100644 classnixf_1_1Binding__coll__graph.map create mode 100644 classnixf_1_1Binding__coll__graph.md5 create mode 100644 classnixf_1_1Binding__coll__graph.svg create mode 100644 classnixf_1_1Binding__inherit__graph.map create mode 100644 classnixf_1_1Binding__inherit__graph.md5 create mode 100644 classnixf_1_1Binding__inherit__graph.svg create mode 100644 classnixf_1_1Binds-members.html create mode 100644 classnixf_1_1Binds.html create mode 100644 classnixf_1_1Binds__coll__graph.map create mode 100644 classnixf_1_1Binds__coll__graph.md5 create mode 100644 classnixf_1_1Binds__coll__graph.svg create mode 100644 classnixf_1_1Binds__inherit__graph.map create mode 100644 classnixf_1_1Binds__inherit__graph.md5 create mode 100644 classnixf_1_1Binds__inherit__graph.svg create mode 100644 classnixf_1_1Diagnostic-members.html create mode 100644 classnixf_1_1Diagnostic.html create mode 100644 classnixf_1_1Diagnostic__coll__graph.map create mode 100644 classnixf_1_1Diagnostic__coll__graph.md5 create mode 100644 classnixf_1_1Diagnostic__coll__graph.svg create mode 100644 classnixf_1_1Diagnostic__inherit__graph.map create mode 100644 classnixf_1_1Diagnostic__inherit__graph.md5 create mode 100644 classnixf_1_1Diagnostic__inherit__graph.svg create mode 100644 classnixf_1_1Expr-members.html create mode 100644 classnixf_1_1Expr.html create mode 100644 classnixf_1_1ExprAssert-members.html create mode 100644 classnixf_1_1ExprAssert.html create mode 100644 classnixf_1_1ExprAssert__coll__graph.map create mode 100644 classnixf_1_1ExprAssert__coll__graph.md5 create mode 100644 classnixf_1_1ExprAssert__coll__graph.svg create mode 100644 classnixf_1_1ExprAssert__inherit__graph.map create mode 100644 classnixf_1_1ExprAssert__inherit__graph.md5 create mode 100644 classnixf_1_1ExprAssert__inherit__graph.svg create mode 100644 classnixf_1_1ExprAttrs-members.html create mode 100644 classnixf_1_1ExprAttrs.html create mode 100644 classnixf_1_1ExprAttrs__coll__graph.map create mode 100644 classnixf_1_1ExprAttrs__coll__graph.md5 create mode 100644 classnixf_1_1ExprAttrs__coll__graph.svg create mode 100644 classnixf_1_1ExprAttrs__inherit__graph.map create mode 100644 classnixf_1_1ExprAttrs__inherit__graph.md5 create mode 100644 classnixf_1_1ExprAttrs__inherit__graph.svg create mode 100644 classnixf_1_1ExprBinOp-members.html create mode 100644 classnixf_1_1ExprBinOp.html create mode 100644 classnixf_1_1ExprBinOp__coll__graph.map create mode 100644 classnixf_1_1ExprBinOp__coll__graph.md5 create mode 100644 classnixf_1_1ExprBinOp__coll__graph.svg create mode 100644 classnixf_1_1ExprBinOp__inherit__graph.map create mode 100644 classnixf_1_1ExprBinOp__inherit__graph.md5 create mode 100644 classnixf_1_1ExprBinOp__inherit__graph.svg create mode 100644 classnixf_1_1ExprCall-members.html create mode 100644 classnixf_1_1ExprCall.html create mode 100644 classnixf_1_1ExprCall__coll__graph.map create mode 100644 classnixf_1_1ExprCall__coll__graph.md5 create mode 100644 classnixf_1_1ExprCall__coll__graph.svg create mode 100644 classnixf_1_1ExprCall__inherit__graph.map create mode 100644 classnixf_1_1ExprCall__inherit__graph.md5 create mode 100644 classnixf_1_1ExprCall__inherit__graph.svg create mode 100644 classnixf_1_1ExprFloat-members.html create mode 100644 classnixf_1_1ExprFloat.html create mode 100644 classnixf_1_1ExprFloat__coll__graph.map create mode 100644 classnixf_1_1ExprFloat__coll__graph.md5 create mode 100644 classnixf_1_1ExprFloat__coll__graph.svg create mode 100644 classnixf_1_1ExprFloat__inherit__graph.map create mode 100644 classnixf_1_1ExprFloat__inherit__graph.md5 create mode 100644 classnixf_1_1ExprFloat__inherit__graph.svg create mode 100644 classnixf_1_1ExprIf-members.html create mode 100644 classnixf_1_1ExprIf.html create mode 100644 classnixf_1_1ExprIf__coll__graph.map create mode 100644 classnixf_1_1ExprIf__coll__graph.md5 create mode 100644 classnixf_1_1ExprIf__coll__graph.svg create mode 100644 classnixf_1_1ExprIf__inherit__graph.map create mode 100644 classnixf_1_1ExprIf__inherit__graph.md5 create mode 100644 classnixf_1_1ExprIf__inherit__graph.svg create mode 100644 classnixf_1_1ExprInt-members.html create mode 100644 classnixf_1_1ExprInt.html create mode 100644 classnixf_1_1ExprInt__coll__graph.map create mode 100644 classnixf_1_1ExprInt__coll__graph.md5 create mode 100644 classnixf_1_1ExprInt__coll__graph.svg create mode 100644 classnixf_1_1ExprInt__inherit__graph.map create mode 100644 classnixf_1_1ExprInt__inherit__graph.md5 create mode 100644 classnixf_1_1ExprInt__inherit__graph.svg create mode 100644 classnixf_1_1ExprLambda-members.html create mode 100644 classnixf_1_1ExprLambda.html create mode 100644 classnixf_1_1ExprLambda__coll__graph.map create mode 100644 classnixf_1_1ExprLambda__coll__graph.md5 create mode 100644 classnixf_1_1ExprLambda__coll__graph.svg create mode 100644 classnixf_1_1ExprLambda__inherit__graph.map create mode 100644 classnixf_1_1ExprLambda__inherit__graph.md5 create mode 100644 classnixf_1_1ExprLambda__inherit__graph.svg create mode 100644 classnixf_1_1ExprLet-members.html create mode 100644 classnixf_1_1ExprLet.html create mode 100644 classnixf_1_1ExprLet__coll__graph.map create mode 100644 classnixf_1_1ExprLet__coll__graph.md5 create mode 100644 classnixf_1_1ExprLet__coll__graph.svg create mode 100644 classnixf_1_1ExprLet__inherit__graph.map create mode 100644 classnixf_1_1ExprLet__inherit__graph.md5 create mode 100644 classnixf_1_1ExprLet__inherit__graph.svg create mode 100644 classnixf_1_1ExprList-members.html create mode 100644 classnixf_1_1ExprList.html create mode 100644 classnixf_1_1ExprList__coll__graph.map create mode 100644 classnixf_1_1ExprList__coll__graph.md5 create mode 100644 classnixf_1_1ExprList__coll__graph.svg create mode 100644 classnixf_1_1ExprList__inherit__graph.map create mode 100644 classnixf_1_1ExprList__inherit__graph.md5 create mode 100644 classnixf_1_1ExprList__inherit__graph.svg create mode 100644 classnixf_1_1ExprOp-members.html create mode 100644 classnixf_1_1ExprOp.html create mode 100644 classnixf_1_1ExprOpHasAttr-members.html create mode 100644 classnixf_1_1ExprOpHasAttr.html create mode 100644 classnixf_1_1ExprOpHasAttr__coll__graph.map create mode 100644 classnixf_1_1ExprOpHasAttr__coll__graph.md5 create mode 100644 classnixf_1_1ExprOpHasAttr__coll__graph.svg create mode 100644 classnixf_1_1ExprOpHasAttr__inherit__graph.map create mode 100644 classnixf_1_1ExprOpHasAttr__inherit__graph.md5 create mode 100644 classnixf_1_1ExprOpHasAttr__inherit__graph.svg create mode 100644 classnixf_1_1ExprOp__coll__graph.map create mode 100644 classnixf_1_1ExprOp__coll__graph.md5 create mode 100644 classnixf_1_1ExprOp__coll__graph.svg create mode 100644 classnixf_1_1ExprOp__inherit__graph.map create mode 100644 classnixf_1_1ExprOp__inherit__graph.md5 create mode 100644 classnixf_1_1ExprOp__inherit__graph.svg create mode 100644 classnixf_1_1ExprParen-members.html create mode 100644 classnixf_1_1ExprParen.html create mode 100644 classnixf_1_1ExprParen__coll__graph.map create mode 100644 classnixf_1_1ExprParen__coll__graph.md5 create mode 100644 classnixf_1_1ExprParen__coll__graph.svg create mode 100644 classnixf_1_1ExprParen__inherit__graph.map create mode 100644 classnixf_1_1ExprParen__inherit__graph.md5 create mode 100644 classnixf_1_1ExprParen__inherit__graph.svg create mode 100644 classnixf_1_1ExprPath-members.html create mode 100644 classnixf_1_1ExprPath.html create mode 100644 classnixf_1_1ExprPath__coll__graph.map create mode 100644 classnixf_1_1ExprPath__coll__graph.md5 create mode 100644 classnixf_1_1ExprPath__coll__graph.svg create mode 100644 classnixf_1_1ExprPath__inherit__graph.map create mode 100644 classnixf_1_1ExprPath__inherit__graph.md5 create mode 100644 classnixf_1_1ExprPath__inherit__graph.svg create mode 100644 classnixf_1_1ExprSelect-members.html create mode 100644 classnixf_1_1ExprSelect.html create mode 100644 classnixf_1_1ExprSelect__coll__graph.map create mode 100644 classnixf_1_1ExprSelect__coll__graph.md5 create mode 100644 classnixf_1_1ExprSelect__coll__graph.svg create mode 100644 classnixf_1_1ExprSelect__inherit__graph.map create mode 100644 classnixf_1_1ExprSelect__inherit__graph.md5 create mode 100644 classnixf_1_1ExprSelect__inherit__graph.svg create mode 100644 classnixf_1_1ExprString-members.html create mode 100644 classnixf_1_1ExprString.html create mode 100644 classnixf_1_1ExprString__coll__graph.map create mode 100644 classnixf_1_1ExprString__coll__graph.md5 create mode 100644 classnixf_1_1ExprString__coll__graph.svg create mode 100644 classnixf_1_1ExprString__inherit__graph.map create mode 100644 classnixf_1_1ExprString__inherit__graph.md5 create mode 100644 classnixf_1_1ExprString__inherit__graph.svg create mode 100644 classnixf_1_1ExprUnaryOp-members.html create mode 100644 classnixf_1_1ExprUnaryOp.html create mode 100644 classnixf_1_1ExprUnaryOp__coll__graph.map create mode 100644 classnixf_1_1ExprUnaryOp__coll__graph.md5 create mode 100644 classnixf_1_1ExprUnaryOp__coll__graph.svg create mode 100644 classnixf_1_1ExprUnaryOp__inherit__graph.map create mode 100644 classnixf_1_1ExprUnaryOp__inherit__graph.md5 create mode 100644 classnixf_1_1ExprUnaryOp__inherit__graph.svg create mode 100644 classnixf_1_1ExprVar-members.html create mode 100644 classnixf_1_1ExprVar.html create mode 100644 classnixf_1_1ExprVar__coll__graph.map create mode 100644 classnixf_1_1ExprVar__coll__graph.md5 create mode 100644 classnixf_1_1ExprVar__coll__graph.svg create mode 100644 classnixf_1_1ExprVar__inherit__graph.map create mode 100644 classnixf_1_1ExprVar__inherit__graph.md5 create mode 100644 classnixf_1_1ExprVar__inherit__graph.svg create mode 100644 classnixf_1_1ExprWith-members.html create mode 100644 classnixf_1_1ExprWith.html create mode 100644 classnixf_1_1ExprWith__coll__graph.map create mode 100644 classnixf_1_1ExprWith__coll__graph.md5 create mode 100644 classnixf_1_1ExprWith__coll__graph.svg create mode 100644 classnixf_1_1ExprWith__inherit__graph.map create mode 100644 classnixf_1_1ExprWith__inherit__graph.md5 create mode 100644 classnixf_1_1ExprWith__inherit__graph.svg create mode 100644 classnixf_1_1Expr__coll__graph.map create mode 100644 classnixf_1_1Expr__coll__graph.md5 create mode 100644 classnixf_1_1Expr__coll__graph.svg create mode 100644 classnixf_1_1Expr__inherit__graph.map create mode 100644 classnixf_1_1Expr__inherit__graph.md5 create mode 100644 classnixf_1_1Expr__inherit__graph.svg create mode 100644 classnixf_1_1Fix-members.html create mode 100644 classnixf_1_1Fix.html create mode 100644 classnixf_1_1Formal-members.html create mode 100644 classnixf_1_1Formal.html create mode 100644 classnixf_1_1Formal__coll__graph.map create mode 100644 classnixf_1_1Formal__coll__graph.md5 create mode 100644 classnixf_1_1Formal__coll__graph.svg create mode 100644 classnixf_1_1Formal__inherit__graph.map create mode 100644 classnixf_1_1Formal__inherit__graph.md5 create mode 100644 classnixf_1_1Formal__inherit__graph.svg create mode 100644 classnixf_1_1Formals-members.html create mode 100644 classnixf_1_1Formals.html create mode 100644 classnixf_1_1Formals__coll__graph.map create mode 100644 classnixf_1_1Formals__coll__graph.md5 create mode 100644 classnixf_1_1Formals__coll__graph.svg create mode 100644 classnixf_1_1Formals__inherit__graph.map create mode 100644 classnixf_1_1Formals__inherit__graph.md5 create mode 100644 classnixf_1_1Formals__inherit__graph.svg create mode 100644 classnixf_1_1Identifier-members.html create mode 100644 classnixf_1_1Identifier.html create mode 100644 classnixf_1_1Identifier__coll__graph.map create mode 100644 classnixf_1_1Identifier__coll__graph.md5 create mode 100644 classnixf_1_1Identifier__coll__graph.svg create mode 100644 classnixf_1_1Identifier__inherit__graph.map create mode 100644 classnixf_1_1Identifier__inherit__graph.md5 create mode 100644 classnixf_1_1Identifier__inherit__graph.svg create mode 100644 classnixf_1_1Inherit-members.html create mode 100644 classnixf_1_1Inherit.html create mode 100644 classnixf_1_1Inherit__coll__graph.map create mode 100644 classnixf_1_1Inherit__coll__graph.md5 create mode 100644 classnixf_1_1Inherit__coll__graph.svg create mode 100644 classnixf_1_1Inherit__inherit__graph.map create mode 100644 classnixf_1_1Inherit__inherit__graph.md5 create mode 100644 classnixf_1_1Inherit__inherit__graph.svg create mode 100644 classnixf_1_1InterpolablePart-members.html create mode 100644 classnixf_1_1InterpolablePart.html create mode 100644 classnixf_1_1InterpolatedParts-members.html create mode 100644 classnixf_1_1InterpolatedParts.html create mode 100644 classnixf_1_1InterpolatedParts__coll__graph.map create mode 100644 classnixf_1_1InterpolatedParts__coll__graph.md5 create mode 100644 classnixf_1_1InterpolatedParts__coll__graph.svg create mode 100644 classnixf_1_1InterpolatedParts__inherit__graph.map create mode 100644 classnixf_1_1InterpolatedParts__inherit__graph.md5 create mode 100644 classnixf_1_1InterpolatedParts__inherit__graph.svg create mode 100644 classnixf_1_1Interpolation-members.html create mode 100644 classnixf_1_1Interpolation.html create mode 100644 classnixf_1_1Interpolation__coll__graph.map create mode 100644 classnixf_1_1Interpolation__coll__graph.md5 create mode 100644 classnixf_1_1Interpolation__coll__graph.svg create mode 100644 classnixf_1_1Interpolation__inherit__graph.map create mode 100644 classnixf_1_1Interpolation__inherit__graph.md5 create mode 100644 classnixf_1_1Interpolation__inherit__graph.svg create mode 100644 classnixf_1_1LambdaArg-members.html create mode 100644 classnixf_1_1LambdaArg.html create mode 100644 classnixf_1_1LambdaArg__coll__graph.map create mode 100644 classnixf_1_1LambdaArg__coll__graph.md5 create mode 100644 classnixf_1_1LambdaArg__coll__graph.svg create mode 100644 classnixf_1_1LambdaArg__inherit__graph.map create mode 100644 classnixf_1_1LambdaArg__inherit__graph.md5 create mode 100644 classnixf_1_1LambdaArg__inherit__graph.svg create mode 100644 classnixf_1_1Lexer-members.html create mode 100644 classnixf_1_1Lexer.html create mode 100644 classnixf_1_1LexerCursor-members.html create mode 100644 classnixf_1_1LexerCursor.html create mode 100644 classnixf_1_1LexerCursorRange-members.html create mode 100644 classnixf_1_1LexerCursorRange.html create mode 100644 classnixf_1_1Misc-members.html create mode 100644 classnixf_1_1Misc.html create mode 100644 classnixf_1_1Misc__coll__graph.map create mode 100644 classnixf_1_1Misc__coll__graph.md5 create mode 100644 classnixf_1_1Misc__coll__graph.svg create mode 100644 classnixf_1_1Misc__inherit__graph.map create mode 100644 classnixf_1_1Misc__inherit__graph.md5 create mode 100644 classnixf_1_1Misc__inherit__graph.svg create mode 100644 classnixf_1_1Node-members.html create mode 100644 classnixf_1_1Node.html create mode 100644 classnixf_1_1Node__inherit__graph.map create mode 100644 classnixf_1_1Node__inherit__graph.md5 create mode 100644 classnixf_1_1Node__inherit__graph.svg create mode 100644 classnixf_1_1Note-members.html create mode 100644 classnixf_1_1Note.html create mode 100644 classnixf_1_1Note__coll__graph.map create mode 100644 classnixf_1_1Note__coll__graph.md5 create mode 100644 classnixf_1_1Note__coll__graph.svg create mode 100644 classnixf_1_1Note__inherit__graph.map create mode 100644 classnixf_1_1Note__inherit__graph.md5 create mode 100644 classnixf_1_1Note__inherit__graph.svg create mode 100644 classnixf_1_1Op-members.html create mode 100644 classnixf_1_1Op.html create mode 100644 classnixf_1_1Op__coll__graph.map create mode 100644 classnixf_1_1Op__coll__graph.md5 create mode 100644 classnixf_1_1Op__coll__graph.svg create mode 100644 classnixf_1_1Op__inherit__graph.map create mode 100644 classnixf_1_1Op__inherit__graph.md5 create mode 100644 classnixf_1_1Op__inherit__graph.svg create mode 100644 classnixf_1_1Parser-members.html create mode 100644 classnixf_1_1Parser.html create mode 100644 classnixf_1_1PartialDiagnostic-members.html create mode 100644 classnixf_1_1PartialDiagnostic.html create mode 100644 classnixf_1_1PartialDiagnostic__inherit__graph.map create mode 100644 classnixf_1_1PartialDiagnostic__inherit__graph.md5 create mode 100644 classnixf_1_1PartialDiagnostic__inherit__graph.svg create mode 100644 classnixf_1_1Position-members.html create mode 100644 classnixf_1_1Position.html create mode 100644 classnixf_1_1PositionRange-members.html create mode 100644 classnixf_1_1PositionRange.html create mode 100644 classnixf_1_1Sema-members.html create mode 100644 classnixf_1_1Sema.html create mode 100644 classnixf_1_1SemaAttrs-members.html create mode 100644 classnixf_1_1SemaAttrs.html create mode 100644 classnixf_1_1TextEdit-members.html create mode 100644 classnixf_1_1TextEdit.html create mode 100644 classnixf_1_1Token-members.html create mode 100644 classnixf_1_1Token.html create mode 100644 classnixt_1_1ASTDeserializer-members.html create mode 100644 classnixt_1_1ASTDeserializer.html create mode 100644 clipboard.js create mode 100644 closed.png create mode 100644 cookie.js create mode 100644 dev_8md.html create mode 100644 dir_000000_000032.html create mode 100644 dir_000001_000010.html create mode 100644 dir_000003_000000.html create mode 100644 dir_000004_000010.html create mode 100644 dir_000004_000016.html create mode 100644 dir_000004_000017.html create mode 100644 dir_000009_000016.html create mode 100644 dir_000011_000017.html create mode 100644 dir_000013_000016.html create mode 100644 dir_000015_000011.html create mode 100644 dir_000015_000016.html create mode 100644 dir_000015_000017.html create mode 100644 dir_000020_000016.html create mode 100644 dir_000024_000016.html create mode 100644 dir_000024_000019.html create mode 100644 dir_000024_000020.html create mode 100644 dir_000024_000022.html create mode 100644 dir_000025_000016.html create mode 100644 dir_000027_000016.html create mode 100644 dir_000029_000016.html create mode 100644 dir_000029_000018.html create mode 100644 dir_000029_000020.html create mode 100644 dir_000029_000021.html create mode 100644 dir_000029_000022.html create mode 100644 dir_000031_000017.html create mode 100644 dir_000034_000010.html create mode 100644 dir_000035_000016.html create mode 100644 dir_000036_000000.html create mode 100644 dir_000037_000010.html create mode 100644 dir_000038_000008.html create mode 100644 dir_000039_000009.html create mode 100644 dir_000040_000010.html create mode 100644 dir_000040_000016.html create mode 100644 dir_000040_000017.html create mode 100644 dir_000041_000012.html create mode 100644 dir_000042_000013.html create mode 100644 dir_000042_000016.html create mode 100644 dir_000043_000014.html create mode 100644 dir_000044_000016.html create mode 100644 dir_000044_000019.html create mode 100644 dir_000044_000020.html create mode 100644 dir_000044_000022.html create mode 100644 dir_000045_000016.html create mode 100644 dir_000045_000018.html create mode 100644 dir_000045_000020.html create mode 100644 dir_000045_000021.html create mode 100644 dir_000045_000022.html create mode 100644 dir_000046_000016.html create mode 100644 dir_000046_000018.html create mode 100644 dir_000046_000020.html create mode 100644 dir_000046_000021.html create mode 100644 dir_000046_000022.html create mode 100644 dir_06c9c436e967ae3668e9a4bfe5b7522b.html create mode 100644 dir_06c9c436e967ae3668e9a4bfe5b7522b_dep.map create mode 100644 dir_06c9c436e967ae3668e9a4bfe5b7522b_dep.md5 create mode 100644 dir_06c9c436e967ae3668e9a4bfe5b7522b_dep.svg create mode 100644 dir_088a14879491eee6c6c569af955fa3b5.html create mode 100644 dir_088a14879491eee6c6c569af955fa3b5_dep.map create mode 100644 dir_088a14879491eee6c6c569af955fa3b5_dep.md5 create mode 100644 dir_088a14879491eee6c6c569af955fa3b5_dep.svg create mode 100644 dir_09ded0d54f560121c4855637eac6443c.html create mode 100644 dir_09ded0d54f560121c4855637eac6443c_dep.map create mode 100644 dir_09ded0d54f560121c4855637eac6443c_dep.md5 create mode 100644 dir_09ded0d54f560121c4855637eac6443c_dep.svg create mode 100644 dir_0f13faf2cde331c4efb20e51fbf7d022.html create mode 100644 dir_0f13faf2cde331c4efb20e51fbf7d022_dep.map create mode 100644 dir_0f13faf2cde331c4efb20e51fbf7d022_dep.md5 create mode 100644 dir_0f13faf2cde331c4efb20e51fbf7d022_dep.svg create mode 100644 dir_112255148183015961f1939285e5e65f.html create mode 100644 dir_112255148183015961f1939285e5e65f_dep.map create mode 100644 dir_112255148183015961f1939285e5e65f_dep.md5 create mode 100644 dir_112255148183015961f1939285e5e65f_dep.svg create mode 100644 dir_1674159b14b5d6ba00b9e9bdffb50a16.html create mode 100644 dir_1674159b14b5d6ba00b9e9bdffb50a16_dep.map create mode 100644 dir_1674159b14b5d6ba00b9e9bdffb50a16_dep.md5 create mode 100644 dir_1674159b14b5d6ba00b9e9bdffb50a16_dep.svg create mode 100644 dir_210b2339cd755ef887faaab3c00d1334.html create mode 100644 dir_210b2339cd755ef887faaab3c00d1334_dep.map create mode 100644 dir_210b2339cd755ef887faaab3c00d1334_dep.md5 create mode 100644 dir_210b2339cd755ef887faaab3c00d1334_dep.svg create mode 100644 dir_22156efa6ecaea66f2a00a9e5cade55f.html create mode 100644 dir_22156efa6ecaea66f2a00a9e5cade55f_dep.map create mode 100644 dir_22156efa6ecaea66f2a00a9e5cade55f_dep.md5 create mode 100644 dir_22156efa6ecaea66f2a00a9e5cade55f_dep.svg create mode 100644 dir_2449f2b6f5e00bc97ce2a2d4b7e7d3f4.html create mode 100644 dir_2449f2b6f5e00bc97ce2a2d4b7e7d3f4_dep.map create mode 100644 dir_2449f2b6f5e00bc97ce2a2d4b7e7d3f4_dep.md5 create mode 100644 dir_2449f2b6f5e00bc97ce2a2d4b7e7d3f4_dep.svg create mode 100644 dir_271d3aa807e54726686810b489123a0c.html create mode 100644 dir_271d3aa807e54726686810b489123a0c_dep.map create mode 100644 dir_271d3aa807e54726686810b489123a0c_dep.md5 create mode 100644 dir_271d3aa807e54726686810b489123a0c_dep.svg create mode 100644 dir_2da3afe9fedcaed30827aea0999c7ca3.html create mode 100644 dir_2da3afe9fedcaed30827aea0999c7ca3_dep.map create mode 100644 dir_2da3afe9fedcaed30827aea0999c7ca3_dep.md5 create mode 100644 dir_2da3afe9fedcaed30827aea0999c7ca3_dep.svg create mode 100644 dir_2ea7252d21588581e550b8cc37b5f8d9.html create mode 100644 dir_2ea7252d21588581e550b8cc37b5f8d9_dep.map create mode 100644 dir_2ea7252d21588581e550b8cc37b5f8d9_dep.md5 create mode 100644 dir_2ea7252d21588581e550b8cc37b5f8d9_dep.svg create mode 100644 dir_2fce3de3a606fe8bc100a9ca8be3b4b7.html create mode 100644 dir_2fce3de3a606fe8bc100a9ca8be3b4b7_dep.map create mode 100644 dir_2fce3de3a606fe8bc100a9ca8be3b4b7_dep.md5 create mode 100644 dir_2fce3de3a606fe8bc100a9ca8be3b4b7_dep.svg create mode 100644 dir_32f167dda2f41d40ac9e24aee0c779a4.html create mode 100644 dir_32f167dda2f41d40ac9e24aee0c779a4_dep.map create mode 100644 dir_32f167dda2f41d40ac9e24aee0c779a4_dep.md5 create mode 100644 dir_32f167dda2f41d40ac9e24aee0c779a4_dep.svg create mode 100644 dir_3b3bb5973b23a394522075bcda2e76c3.html create mode 100644 dir_3b3bb5973b23a394522075bcda2e76c3_dep.map create mode 100644 dir_3b3bb5973b23a394522075bcda2e76c3_dep.md5 create mode 100644 dir_3b3bb5973b23a394522075bcda2e76c3_dep.svg create mode 100644 dir_4116e555bb27d140ae95b1be9a93ad9a.html create mode 100644 dir_4116e555bb27d140ae95b1be9a93ad9a_dep.map create mode 100644 dir_4116e555bb27d140ae95b1be9a93ad9a_dep.md5 create mode 100644 dir_4116e555bb27d140ae95b1be9a93ad9a_dep.svg create mode 100644 dir_4349c16129eefd7f3a9a5bf6d61e574a.html create mode 100644 dir_4349c16129eefd7f3a9a5bf6d61e574a_dep.map create mode 100644 dir_4349c16129eefd7f3a9a5bf6d61e574a_dep.md5 create mode 100644 dir_4349c16129eefd7f3a9a5bf6d61e574a_dep.svg create mode 100644 dir_43dccb67c075cdf61156590789c0ba7d.html create mode 100644 dir_43dccb67c075cdf61156590789c0ba7d_dep.map create mode 100644 dir_43dccb67c075cdf61156590789c0ba7d_dep.md5 create mode 100644 dir_43dccb67c075cdf61156590789c0ba7d_dep.svg create mode 100644 dir_464f141540dd1f7c0b8c2d5e8b32798f.html create mode 100644 dir_464f141540dd1f7c0b8c2d5e8b32798f_dep.map create mode 100644 dir_464f141540dd1f7c0b8c2d5e8b32798f_dep.md5 create mode 100644 dir_464f141540dd1f7c0b8c2d5e8b32798f_dep.svg create mode 100644 dir_6008d110f60d9bcc4c39f0eae5b860bc.html create mode 100644 dir_6008d110f60d9bcc4c39f0eae5b860bc_dep.map create mode 100644 dir_6008d110f60d9bcc4c39f0eae5b860bc_dep.md5 create mode 100644 dir_6008d110f60d9bcc4c39f0eae5b860bc_dep.svg create mode 100644 dir_6165467763ba3881d53184c580d97216.html create mode 100644 dir_6165467763ba3881d53184c580d97216_dep.map create mode 100644 dir_6165467763ba3881d53184c580d97216_dep.md5 create mode 100644 dir_6165467763ba3881d53184c580d97216_dep.svg create mode 100644 dir_646ab2de1d008c038fc8ab282a79163a.html create mode 100644 dir_646ab2de1d008c038fc8ab282a79163a_dep.map create mode 100644 dir_646ab2de1d008c038fc8ab282a79163a_dep.md5 create mode 100644 dir_646ab2de1d008c038fc8ab282a79163a_dep.svg create mode 100644 dir_6fe8e64755d6ca8350089c43e24a597c.html create mode 100644 dir_6fe8e64755d6ca8350089c43e24a597c_dep.map create mode 100644 dir_6fe8e64755d6ca8350089c43e24a597c_dep.md5 create mode 100644 dir_6fe8e64755d6ca8350089c43e24a597c_dep.svg create mode 100644 dir_7b6db9abfae4478ed416ef77953b66b0.html create mode 100644 dir_7b6db9abfae4478ed416ef77953b66b0_dep.map create mode 100644 dir_7b6db9abfae4478ed416ef77953b66b0_dep.md5 create mode 100644 dir_7b6db9abfae4478ed416ef77953b66b0_dep.svg create mode 100644 dir_7cf1c5e79fe8b656cb1f8e1912ed8027.html create mode 100644 dir_7cf1c5e79fe8b656cb1f8e1912ed8027_dep.map create mode 100644 dir_7cf1c5e79fe8b656cb1f8e1912ed8027_dep.md5 create mode 100644 dir_7cf1c5e79fe8b656cb1f8e1912ed8027_dep.svg create mode 100644 dir_7f09ace0ca86f6c57f7c2abeffa8ec39.html create mode 100644 dir_7f09ace0ca86f6c57f7c2abeffa8ec39_dep.map create mode 100644 dir_7f09ace0ca86f6c57f7c2abeffa8ec39_dep.md5 create mode 100644 dir_7f09ace0ca86f6c57f7c2abeffa8ec39_dep.svg create mode 100644 dir_90abaedaf2f01f4bbe0d30f918a527f7.html create mode 100644 dir_90abaedaf2f01f4bbe0d30f918a527f7_dep.map create mode 100644 dir_90abaedaf2f01f4bbe0d30f918a527f7_dep.md5 create mode 100644 dir_90abaedaf2f01f4bbe0d30f918a527f7_dep.svg create mode 100644 dir_959444a7ffdeab047d49bfbb9e695df2.html create mode 100644 dir_959444a7ffdeab047d49bfbb9e695df2_dep.map create mode 100644 dir_959444a7ffdeab047d49bfbb9e695df2_dep.md5 create mode 100644 dir_959444a7ffdeab047d49bfbb9e695df2_dep.svg create mode 100644 dir_9ff0e04ed484c0229c3bd8fc4cfe4cb8.html create mode 100644 dir_9ff0e04ed484c0229c3bd8fc4cfe4cb8_dep.map create mode 100644 dir_9ff0e04ed484c0229c3bd8fc4cfe4cb8_dep.md5 create mode 100644 dir_9ff0e04ed484c0229c3bd8fc4cfe4cb8_dep.svg create mode 100644 dir_aa6b5210de392905622ee32a54b5c40b.html create mode 100644 dir_aa6b5210de392905622ee32a54b5c40b_dep.map create mode 100644 dir_aa6b5210de392905622ee32a54b5c40b_dep.md5 create mode 100644 dir_aa6b5210de392905622ee32a54b5c40b_dep.svg create mode 100644 dir_ae82c439e3273bbaefa18569b027ae03.html create mode 100644 dir_ae82c439e3273bbaefa18569b027ae03_dep.map create mode 100644 dir_ae82c439e3273bbaefa18569b027ae03_dep.md5 create mode 100644 dir_ae82c439e3273bbaefa18569b027ae03_dep.svg create mode 100644 dir_b4b9fd25dbc0c6a28797e91ec2fee054.html create mode 100644 dir_b4b9fd25dbc0c6a28797e91ec2fee054_dep.map create mode 100644 dir_b4b9fd25dbc0c6a28797e91ec2fee054_dep.md5 create mode 100644 dir_b4b9fd25dbc0c6a28797e91ec2fee054_dep.svg create mode 100644 dir_b55f34eed50f427f5a82f0c0c0b607fd.html create mode 100644 dir_b55f34eed50f427f5a82f0c0c0b607fd_dep.map create mode 100644 dir_b55f34eed50f427f5a82f0c0c0b607fd_dep.md5 create mode 100644 dir_b55f34eed50f427f5a82f0c0c0b607fd_dep.svg create mode 100644 dir_b78a71a762ff0582d59dc461a15bff38.html create mode 100644 dir_b78a71a762ff0582d59dc461a15bff38_dep.map create mode 100644 dir_b78a71a762ff0582d59dc461a15bff38_dep.md5 create mode 100644 dir_b78a71a762ff0582d59dc461a15bff38_dep.svg create mode 100644 dir_baff22c637407b0f380d92646d04d3e0.html create mode 100644 dir_baff22c637407b0f380d92646d04d3e0_dep.map create mode 100644 dir_baff22c637407b0f380d92646d04d3e0_dep.md5 create mode 100644 dir_baff22c637407b0f380d92646d04d3e0_dep.svg create mode 100644 dir_bb7a21030e493a163f9c4d8a347b0f9d.html create mode 100644 dir_bb7a21030e493a163f9c4d8a347b0f9d_dep.map create mode 100644 dir_bb7a21030e493a163f9c4d8a347b0f9d_dep.md5 create mode 100644 dir_bb7a21030e493a163f9c4d8a347b0f9d_dep.svg create mode 100644 dir_c40eb6f7b133789742bdf3cebb28ba81.html create mode 100644 dir_c40eb6f7b133789742bdf3cebb28ba81_dep.map create mode 100644 dir_c40eb6f7b133789742bdf3cebb28ba81_dep.md5 create mode 100644 dir_c40eb6f7b133789742bdf3cebb28ba81_dep.svg create mode 100644 dir_cb50a63b385a4cbdfb0a90c8791c9e29.html create mode 100644 dir_cb50a63b385a4cbdfb0a90c8791c9e29_dep.map create mode 100644 dir_cb50a63b385a4cbdfb0a90c8791c9e29_dep.md5 create mode 100644 dir_cb50a63b385a4cbdfb0a90c8791c9e29_dep.svg create mode 100644 dir_d9199c6151642fcd85009fc170803620.html create mode 100644 dir_d9199c6151642fcd85009fc170803620_dep.map create mode 100644 dir_d9199c6151642fcd85009fc170803620_dep.md5 create mode 100644 dir_d9199c6151642fcd85009fc170803620_dep.svg create mode 100644 dir_d9ad98d6b7e68d846247cb3f237621ce.html create mode 100644 dir_d9ad98d6b7e68d846247cb3f237621ce_dep.map create mode 100644 dir_d9ad98d6b7e68d846247cb3f237621ce_dep.md5 create mode 100644 dir_d9ad98d6b7e68d846247cb3f237621ce_dep.svg create mode 100644 dir_def84fe7d1b7eb360d50e0a32b0f5d1b.html create mode 100644 dir_def84fe7d1b7eb360d50e0a32b0f5d1b_dep.map create mode 100644 dir_def84fe7d1b7eb360d50e0a32b0f5d1b_dep.md5 create mode 100644 dir_def84fe7d1b7eb360d50e0a32b0f5d1b_dep.svg create mode 100644 dir_e82bd5edcbbd64efaf54ec823872edb1.html create mode 100644 dir_e82bd5edcbbd64efaf54ec823872edb1_dep.map create mode 100644 dir_e82bd5edcbbd64efaf54ec823872edb1_dep.md5 create mode 100644 dir_e82bd5edcbbd64efaf54ec823872edb1_dep.svg create mode 100644 dir_edac7a1ad68f351284f3b97795b57890.html create mode 100644 dir_edac7a1ad68f351284f3b97795b57890_dep.map create mode 100644 dir_edac7a1ad68f351284f3b97795b57890_dep.md5 create mode 100644 dir_edac7a1ad68f351284f3b97795b57890_dep.svg create mode 100644 dir_efab77534005e8b0ad9c0008c8b236a9.html create mode 100644 dir_efab77534005e8b0ad9c0008c8b236a9_dep.map create mode 100644 dir_efab77534005e8b0ad9c0008c8b236a9_dep.md5 create mode 100644 dir_efab77534005e8b0ad9c0008c8b236a9_dep.svg create mode 100644 dir_f31a81659f826c680a95cd6e61881ea8.html create mode 100644 dir_f31a81659f826c680a95cd6e61881ea8_dep.map create mode 100644 dir_f31a81659f826c680a95cd6e61881ea8_dep.md5 create mode 100644 dir_f31a81659f826c680a95cd6e61881ea8_dep.svg create mode 100644 dir_f33fbbb530b991b087f0cf6db5420114.html create mode 100644 dir_f33fbbb530b991b087f0cf6db5420114_dep.map create mode 100644 dir_f33fbbb530b991b087f0cf6db5420114_dep.md5 create mode 100644 dir_f33fbbb530b991b087f0cf6db5420114_dep.svg create mode 100644 dir_fbf4781f84a2dfdac7fb8e01b68aa402.html create mode 100644 dir_fbf4781f84a2dfdac7fb8e01b68aa402_dep.map create mode 100644 dir_fbf4781f84a2dfdac7fb8e01b68aa402_dep.md5 create mode 100644 dir_fbf4781f84a2dfdac7fb8e01b68aa402_dep.svg create mode 100644 dir_fea53f7f87b7ec4e08a74e8a64eb26a3.html create mode 100644 dir_fea53f7f87b7ec4e08a74e8a64eb26a3_dep.map create mode 100644 dir_fea53f7f87b7ec4e08a74e8a64eb26a3_dep.md5 create mode 100644 dir_fea53f7f87b7ec4e08a74e8a64eb26a3_dep.svg create mode 100644 doc.svg create mode 100644 docd.svg create mode 100644 doxygen.css create mode 100644 doxygen.svg create mode 100644 doxygen_crawl.html create mode 100644 dynsections.js create mode 100644 editor-setup_8md.html create mode 100644 editors_8md.html create mode 100644 files.html create mode 100644 folderclosed.svg create mode 100644 folderclosedd.svg create mode 100644 folderopen.svg create mode 100644 folderopend.svg create mode 100644 functions.html create mode 100644 functions_b.html create mode 100644 functions_c.html create mode 100644 functions_d.html create mode 100644 functions_e.html create mode 100644 functions_enum.html create mode 100644 functions_eval.html create mode 100644 functions_f.html create mode 100644 functions_func.html create mode 100644 functions_func_b.html create mode 100644 functions_func_c.html create mode 100644 functions_func_d.html create mode 100644 functions_func_e.html create mode 100644 functions_func_f.html create mode 100644 functions_func_g.html create mode 100644 functions_func_h.html create mode 100644 functions_func_i.html create mode 100644 functions_func_k.html create mode 100644 functions_func_l.html create mode 100644 functions_func_m.html create mode 100644 functions_func_n.html create mode 100644 functions_func_o.html create mode 100644 functions_func_p.html create mode 100644 functions_func_r.html create mode 100644 functions_func_s.html create mode 100644 functions_func_t.html create mode 100644 functions_func_u.html create mode 100644 functions_func_v.html create mode 100644 functions_func_w.html create mode 100644 functions_func_~.html create mode 100644 functions_g.html create mode 100644 functions_h.html create mode 100644 functions_i.html create mode 100644 functions_j.html create mode 100644 functions_k.html create mode 100644 functions_l.html create mode 100644 functions_m.html create mode 100644 functions_n.html create mode 100644 functions_o.html create mode 100644 functions_p.html create mode 100644 functions_q.html create mode 100644 functions_r.html create mode 100644 functions_rela.html create mode 100644 functions_s.html create mode 100644 functions_t.html create mode 100644 functions_type.html create mode 100644 functions_u.html create mode 100644 functions_v.html create mode 100644 functions_vars.html create mode 100644 functions_vars_b.html create mode 100644 functions_vars_c.html create mode 100644 functions_vars_d.html create mode 100644 functions_vars_e.html create mode 100644 functions_vars_f.html create mode 100644 functions_vars_h.html create mode 100644 functions_vars_i.html create mode 100644 functions_vars_k.html create mode 100644 functions_vars_l.html create mode 100644 functions_vars_m.html create mode 100644 functions_vars_n.html create mode 100644 functions_vars_o.html create mode 100644 functions_vars_p.html create mode 100644 functions_vars_q.html create mode 100644 functions_vars_r.html create mode 100644 functions_vars_s.html create mode 100644 functions_vars_t.html create mode 100644 functions_vars_u.html create mode 100644 functions_vars_v.html create mode 100644 functions_vars_w.html create mode 100644 functions_w.html create mode 100644 functions_~.html create mode 100644 globals.html create mode 100644 globals_defs.html create mode 100644 globals_func.html create mode 100644 graph_legend.html create mode 100644 graph_legend.md5 create mode 100644 graph_legend.svg create mode 100644 hierarchy.html create mode 100644 include_2nixf_2Parse_2Parser_8h.html create mode 100644 include_2nixf_2Parse_2Parser_8h_source.html create mode 100644 index.html create mode 100644 inherit_graph_0.map create mode 100644 inherit_graph_0.md5 create mode 100644 inherit_graph_0.svg create mode 100644 inherit_graph_1.map create mode 100644 inherit_graph_1.md5 create mode 100644 inherit_graph_1.svg create mode 100644 inherit_graph_10.map create mode 100644 inherit_graph_10.md5 create mode 100644 inherit_graph_10.svg create mode 100644 inherit_graph_100.map create mode 100644 inherit_graph_100.md5 create mode 100644 inherit_graph_100.svg create mode 100644 inherit_graph_101.map create mode 100644 inherit_graph_101.md5 create mode 100644 inherit_graph_101.svg create mode 100644 inherit_graph_102.map create mode 100644 inherit_graph_102.md5 create mode 100644 inherit_graph_102.svg create mode 100644 inherit_graph_103.map create mode 100644 inherit_graph_103.md5 create mode 100644 inherit_graph_103.svg create mode 100644 inherit_graph_104.map create mode 100644 inherit_graph_104.md5 create mode 100644 inherit_graph_104.svg create mode 100644 inherit_graph_105.map create mode 100644 inherit_graph_105.md5 create mode 100644 inherit_graph_105.svg create mode 100644 inherit_graph_106.map create mode 100644 inherit_graph_106.md5 create mode 100644 inherit_graph_106.svg create mode 100644 inherit_graph_107.map create mode 100644 inherit_graph_107.md5 create mode 100644 inherit_graph_107.svg create mode 100644 inherit_graph_108.map create mode 100644 inherit_graph_108.md5 create mode 100644 inherit_graph_108.svg create mode 100644 inherit_graph_109.map create mode 100644 inherit_graph_109.md5 create mode 100644 inherit_graph_109.svg create mode 100644 inherit_graph_11.map create mode 100644 inherit_graph_11.md5 create mode 100644 inherit_graph_11.svg create mode 100644 inherit_graph_110.map create mode 100644 inherit_graph_110.md5 create mode 100644 inherit_graph_110.svg create mode 100644 inherit_graph_111.map create mode 100644 inherit_graph_111.md5 create mode 100644 inherit_graph_111.svg create mode 100644 inherit_graph_112.map create mode 100644 inherit_graph_112.md5 create mode 100644 inherit_graph_112.svg create mode 100644 inherit_graph_113.map create mode 100644 inherit_graph_113.md5 create mode 100644 inherit_graph_113.svg create mode 100644 inherit_graph_114.map create mode 100644 inherit_graph_114.md5 create mode 100644 inherit_graph_114.svg create mode 100644 inherit_graph_115.map create mode 100644 inherit_graph_115.md5 create mode 100644 inherit_graph_115.svg create mode 100644 inherit_graph_116.map create mode 100644 inherit_graph_116.md5 create mode 100644 inherit_graph_116.svg create mode 100644 inherit_graph_117.map create mode 100644 inherit_graph_117.md5 create mode 100644 inherit_graph_117.svg create mode 100644 inherit_graph_118.map create mode 100644 inherit_graph_118.md5 create mode 100644 inherit_graph_118.svg create mode 100644 inherit_graph_119.map create mode 100644 inherit_graph_119.md5 create mode 100644 inherit_graph_119.svg create mode 100644 inherit_graph_12.map create mode 100644 inherit_graph_12.md5 create mode 100644 inherit_graph_12.svg create mode 100644 inherit_graph_120.map create mode 100644 inherit_graph_120.md5 create mode 100644 inherit_graph_120.svg create mode 100644 inherit_graph_121.map create mode 100644 inherit_graph_121.md5 create mode 100644 inherit_graph_121.svg create mode 100644 inherit_graph_122.map create mode 100644 inherit_graph_122.md5 create mode 100644 inherit_graph_122.svg create mode 100644 inherit_graph_123.map create mode 100644 inherit_graph_123.md5 create mode 100644 inherit_graph_123.svg create mode 100644 inherit_graph_124.map create mode 100644 inherit_graph_124.md5 create mode 100644 inherit_graph_124.svg create mode 100644 inherit_graph_125.map create mode 100644 inherit_graph_125.md5 create mode 100644 inherit_graph_125.svg create mode 100644 inherit_graph_126.map create mode 100644 inherit_graph_126.md5 create mode 100644 inherit_graph_126.svg create mode 100644 inherit_graph_127.map create mode 100644 inherit_graph_127.md5 create mode 100644 inherit_graph_127.svg create mode 100644 inherit_graph_128.map create mode 100644 inherit_graph_128.md5 create mode 100644 inherit_graph_128.svg create mode 100644 inherit_graph_129.map create mode 100644 inherit_graph_129.md5 create mode 100644 inherit_graph_129.svg create mode 100644 inherit_graph_13.map create mode 100644 inherit_graph_13.md5 create mode 100644 inherit_graph_13.svg create mode 100644 inherit_graph_130.map create mode 100644 inherit_graph_130.md5 create mode 100644 inherit_graph_130.svg create mode 100644 inherit_graph_131.map create mode 100644 inherit_graph_131.md5 create mode 100644 inherit_graph_131.svg create mode 100644 inherit_graph_132.map create mode 100644 inherit_graph_132.md5 create mode 100644 inherit_graph_132.svg create mode 100644 inherit_graph_133.map create mode 100644 inherit_graph_133.md5 create mode 100644 inherit_graph_133.svg create mode 100644 inherit_graph_134.map create mode 100644 inherit_graph_134.md5 create mode 100644 inherit_graph_134.svg create mode 100644 inherit_graph_135.map create mode 100644 inherit_graph_135.md5 create mode 100644 inherit_graph_135.svg create mode 100644 inherit_graph_136.map create mode 100644 inherit_graph_136.md5 create mode 100644 inherit_graph_136.svg create mode 100644 inherit_graph_137.map create mode 100644 inherit_graph_137.md5 create mode 100644 inherit_graph_137.svg create mode 100644 inherit_graph_138.map create mode 100644 inherit_graph_138.md5 create mode 100644 inherit_graph_138.svg create mode 100644 inherit_graph_139.map create mode 100644 inherit_graph_139.md5 create mode 100644 inherit_graph_139.svg create mode 100644 inherit_graph_14.map create mode 100644 inherit_graph_14.md5 create mode 100644 inherit_graph_14.svg create mode 100644 inherit_graph_140.map create mode 100644 inherit_graph_140.md5 create mode 100644 inherit_graph_140.svg create mode 100644 inherit_graph_15.map create mode 100644 inherit_graph_15.md5 create mode 100644 inherit_graph_15.svg create mode 100644 inherit_graph_16.map create mode 100644 inherit_graph_16.md5 create mode 100644 inherit_graph_16.svg create mode 100644 inherit_graph_17.map create mode 100644 inherit_graph_17.md5 create mode 100644 inherit_graph_17.svg create mode 100644 inherit_graph_18.map create mode 100644 inherit_graph_18.md5 create mode 100644 inherit_graph_18.svg create mode 100644 inherit_graph_19.map create mode 100644 inherit_graph_19.md5 create mode 100644 inherit_graph_19.svg create mode 100644 inherit_graph_2.map create mode 100644 inherit_graph_2.md5 create mode 100644 inherit_graph_2.svg create mode 100644 inherit_graph_20.map create mode 100644 inherit_graph_20.md5 create mode 100644 inherit_graph_20.svg create mode 100644 inherit_graph_21.map create mode 100644 inherit_graph_21.md5 create mode 100644 inherit_graph_21.svg create mode 100644 inherit_graph_22.map create mode 100644 inherit_graph_22.md5 create mode 100644 inherit_graph_22.svg create mode 100644 inherit_graph_23.map create mode 100644 inherit_graph_23.md5 create mode 100644 inherit_graph_23.svg create mode 100644 inherit_graph_24.map create mode 100644 inherit_graph_24.md5 create mode 100644 inherit_graph_24.svg create mode 100644 inherit_graph_25.map create mode 100644 inherit_graph_25.md5 create mode 100644 inherit_graph_25.svg create mode 100644 inherit_graph_26.map create mode 100644 inherit_graph_26.md5 create mode 100644 inherit_graph_26.svg create mode 100644 inherit_graph_27.map create mode 100644 inherit_graph_27.md5 create mode 100644 inherit_graph_27.svg create mode 100644 inherit_graph_28.map create mode 100644 inherit_graph_28.md5 create mode 100644 inherit_graph_28.svg create mode 100644 inherit_graph_29.map create mode 100644 inherit_graph_29.md5 create mode 100644 inherit_graph_29.svg create mode 100644 inherit_graph_3.map create mode 100644 inherit_graph_3.md5 create mode 100644 inherit_graph_3.svg create mode 100644 inherit_graph_30.map create mode 100644 inherit_graph_30.md5 create mode 100644 inherit_graph_30.svg create mode 100644 inherit_graph_31.map create mode 100644 inherit_graph_31.md5 create mode 100644 inherit_graph_31.svg create mode 100644 inherit_graph_32.map create mode 100644 inherit_graph_32.md5 create mode 100644 inherit_graph_32.svg create mode 100644 inherit_graph_33.map create mode 100644 inherit_graph_33.md5 create mode 100644 inherit_graph_33.svg create mode 100644 inherit_graph_34.map create mode 100644 inherit_graph_34.md5 create mode 100644 inherit_graph_34.svg create mode 100644 inherit_graph_35.map create mode 100644 inherit_graph_35.md5 create mode 100644 inherit_graph_35.svg create mode 100644 inherit_graph_36.map create mode 100644 inherit_graph_36.md5 create mode 100644 inherit_graph_36.svg create mode 100644 inherit_graph_37.map create mode 100644 inherit_graph_37.md5 create mode 100644 inherit_graph_37.svg create mode 100644 inherit_graph_38.map create mode 100644 inherit_graph_38.md5 create mode 100644 inherit_graph_38.svg create mode 100644 inherit_graph_39.map create mode 100644 inherit_graph_39.md5 create mode 100644 inherit_graph_39.svg create mode 100644 inherit_graph_4.map create mode 100644 inherit_graph_4.md5 create mode 100644 inherit_graph_4.svg create mode 100644 inherit_graph_40.map create mode 100644 inherit_graph_40.md5 create mode 100644 inherit_graph_40.svg create mode 100644 inherit_graph_41.map create mode 100644 inherit_graph_41.md5 create mode 100644 inherit_graph_41.svg create mode 100644 inherit_graph_42.map create mode 100644 inherit_graph_42.md5 create mode 100644 inherit_graph_42.svg create mode 100644 inherit_graph_43.map create mode 100644 inherit_graph_43.md5 create mode 100644 inherit_graph_43.svg create mode 100644 inherit_graph_44.map create mode 100644 inherit_graph_44.md5 create mode 100644 inherit_graph_44.svg create mode 100644 inherit_graph_45.map create mode 100644 inherit_graph_45.md5 create mode 100644 inherit_graph_45.svg create mode 100644 inherit_graph_46.map create mode 100644 inherit_graph_46.md5 create mode 100644 inherit_graph_46.svg create mode 100644 inherit_graph_47.map create mode 100644 inherit_graph_47.md5 create mode 100644 inherit_graph_47.svg create mode 100644 inherit_graph_48.map create mode 100644 inherit_graph_48.md5 create mode 100644 inherit_graph_48.svg create mode 100644 inherit_graph_49.map create mode 100644 inherit_graph_49.md5 create mode 100644 inherit_graph_49.svg create mode 100644 inherit_graph_5.map create mode 100644 inherit_graph_5.md5 create mode 100644 inherit_graph_5.svg create mode 100644 inherit_graph_50.map create mode 100644 inherit_graph_50.md5 create mode 100644 inherit_graph_50.svg create mode 100644 inherit_graph_51.map create mode 100644 inherit_graph_51.md5 create mode 100644 inherit_graph_51.svg create mode 100644 inherit_graph_52.map create mode 100644 inherit_graph_52.md5 create mode 100644 inherit_graph_52.svg create mode 100644 inherit_graph_53.map create mode 100644 inherit_graph_53.md5 create mode 100644 inherit_graph_53.svg create mode 100644 inherit_graph_54.map create mode 100644 inherit_graph_54.md5 create mode 100644 inherit_graph_54.svg create mode 100644 inherit_graph_55.map create mode 100644 inherit_graph_55.md5 create mode 100644 inherit_graph_55.svg create mode 100644 inherit_graph_56.map create mode 100644 inherit_graph_56.md5 create mode 100644 inherit_graph_56.svg create mode 100644 inherit_graph_57.map create mode 100644 inherit_graph_57.md5 create mode 100644 inherit_graph_57.svg create mode 100644 inherit_graph_58.map create mode 100644 inherit_graph_58.md5 create mode 100644 inherit_graph_58.svg create mode 100644 inherit_graph_59.map create mode 100644 inherit_graph_59.md5 create mode 100644 inherit_graph_59.svg create mode 100644 inherit_graph_6.map create mode 100644 inherit_graph_6.md5 create mode 100644 inherit_graph_6.svg create mode 100644 inherit_graph_60.map create mode 100644 inherit_graph_60.md5 create mode 100644 inherit_graph_60.svg create mode 100644 inherit_graph_61.map create mode 100644 inherit_graph_61.md5 create mode 100644 inherit_graph_61.svg create mode 100644 inherit_graph_62.map create mode 100644 inherit_graph_62.md5 create mode 100644 inherit_graph_62.svg create mode 100644 inherit_graph_63.map create mode 100644 inherit_graph_63.md5 create mode 100644 inherit_graph_63.svg create mode 100644 inherit_graph_64.map create mode 100644 inherit_graph_64.md5 create mode 100644 inherit_graph_64.svg create mode 100644 inherit_graph_65.map create mode 100644 inherit_graph_65.md5 create mode 100644 inherit_graph_65.svg create mode 100644 inherit_graph_66.map create mode 100644 inherit_graph_66.md5 create mode 100644 inherit_graph_66.svg create mode 100644 inherit_graph_67.map create mode 100644 inherit_graph_67.md5 create mode 100644 inherit_graph_67.svg create mode 100644 inherit_graph_68.map create mode 100644 inherit_graph_68.md5 create mode 100644 inherit_graph_68.svg create mode 100644 inherit_graph_69.map create mode 100644 inherit_graph_69.md5 create mode 100644 inherit_graph_69.svg create mode 100644 inherit_graph_7.map create mode 100644 inherit_graph_7.md5 create mode 100644 inherit_graph_7.svg create mode 100644 inherit_graph_70.map create mode 100644 inherit_graph_70.md5 create mode 100644 inherit_graph_70.svg create mode 100644 inherit_graph_71.map create mode 100644 inherit_graph_71.md5 create mode 100644 inherit_graph_71.svg create mode 100644 inherit_graph_72.map create mode 100644 inherit_graph_72.md5 create mode 100644 inherit_graph_72.svg create mode 100644 inherit_graph_73.map create mode 100644 inherit_graph_73.md5 create mode 100644 inherit_graph_73.svg create mode 100644 inherit_graph_74.map create mode 100644 inherit_graph_74.md5 create mode 100644 inherit_graph_74.svg create mode 100644 inherit_graph_75.map create mode 100644 inherit_graph_75.md5 create mode 100644 inherit_graph_75.svg create mode 100644 inherit_graph_76.map create mode 100644 inherit_graph_76.md5 create mode 100644 inherit_graph_76.svg create mode 100644 inherit_graph_77.map create mode 100644 inherit_graph_77.md5 create mode 100644 inherit_graph_77.svg create mode 100644 inherit_graph_78.map create mode 100644 inherit_graph_78.md5 create mode 100644 inherit_graph_78.svg create mode 100644 inherit_graph_79.map create mode 100644 inherit_graph_79.md5 create mode 100644 inherit_graph_79.svg create mode 100644 inherit_graph_8.map create mode 100644 inherit_graph_8.md5 create mode 100644 inherit_graph_8.svg create mode 100644 inherit_graph_80.map create mode 100644 inherit_graph_80.md5 create mode 100644 inherit_graph_80.svg create mode 100644 inherit_graph_81.map create mode 100644 inherit_graph_81.md5 create mode 100644 inherit_graph_81.svg create mode 100644 inherit_graph_82.map create mode 100644 inherit_graph_82.md5 create mode 100644 inherit_graph_82.svg create mode 100644 inherit_graph_83.map create mode 100644 inherit_graph_83.md5 create mode 100644 inherit_graph_83.svg create mode 100644 inherit_graph_84.map create mode 100644 inherit_graph_84.md5 create mode 100644 inherit_graph_84.svg create mode 100644 inherit_graph_85.map create mode 100644 inherit_graph_85.md5 create mode 100644 inherit_graph_85.svg create mode 100644 inherit_graph_86.map create mode 100644 inherit_graph_86.md5 create mode 100644 inherit_graph_86.svg create mode 100644 inherit_graph_87.map create mode 100644 inherit_graph_87.md5 create mode 100644 inherit_graph_87.svg create mode 100644 inherit_graph_88.map create mode 100644 inherit_graph_88.md5 create mode 100644 inherit_graph_88.svg create mode 100644 inherit_graph_89.map create mode 100644 inherit_graph_89.md5 create mode 100644 inherit_graph_89.svg create mode 100644 inherit_graph_9.map create mode 100644 inherit_graph_9.md5 create mode 100644 inherit_graph_9.svg create mode 100644 inherit_graph_90.map create mode 100644 inherit_graph_90.md5 create mode 100644 inherit_graph_90.svg create mode 100644 inherit_graph_91.map create mode 100644 inherit_graph_91.md5 create mode 100644 inherit_graph_91.svg create mode 100644 inherit_graph_92.map create mode 100644 inherit_graph_92.md5 create mode 100644 inherit_graph_92.svg create mode 100644 inherit_graph_93.map create mode 100644 inherit_graph_93.md5 create mode 100644 inherit_graph_93.svg create mode 100644 inherit_graph_94.map create mode 100644 inherit_graph_94.md5 create mode 100644 inherit_graph_94.svg create mode 100644 inherit_graph_95.map create mode 100644 inherit_graph_95.md5 create mode 100644 inherit_graph_95.svg create mode 100644 inherit_graph_96.map create mode 100644 inherit_graph_96.md5 create mode 100644 inherit_graph_96.svg create mode 100644 inherit_graph_97.map create mode 100644 inherit_graph_97.md5 create mode 100644 inherit_graph_97.svg create mode 100644 inherit_graph_98.map create mode 100644 inherit_graph_98.md5 create mode 100644 inherit_graph_98.svg create mode 100644 inherit_graph_99.map create mode 100644 inherit_graph_99.md5 create mode 100644 inherit_graph_99.svg create mode 100644 inherits.html create mode 100644 jquery.js create mode 100644 libbc_2include_2bc_2Write_8h.html create mode 100644 libbc_2include_2bc_2Write_8h_source.html create mode 100644 libbc_2src_2Write_8cpp.html create mode 100644 libbc_2src_2Write_8cpp_source.html create mode 100644 libnixbc_2README_8md.html create mode 100644 libnixbc_2include_2nixbc_2Nodes_8h.html create mode 100644 libnixbc_2include_2nixbc_2Nodes_8h_source.html create mode 100644 libnixf_2include_2nixf_2Basic_2Nodes_8h.html create mode 100644 libnixf_2include_2nixf_2Basic_2Nodes_8h_source.html create mode 100644 libnixf_2include_2nixf_2Bytecode_2Write_8h.html create mode 100644 libnixf_2include_2nixf_2Bytecode_2Write_8h_source.html create mode 100644 libnixf_2src_2Bytecode_2Write_8cpp.html create mode 100644 libnixf_2src_2Bytecode_2Write_8cpp_source.html create mode 100644 libnixf_2src_2Bytecode_2Write_8h.html create mode 100644 libnixf_2src_2Bytecode_2Write_8h_source.html create mode 100644 libnixt_2README_8md.html create mode 100644 lspserver_2README_8md.html create mode 100644 lspserver_2include_2lspserver_2Protocol_8h.html create mode 100644 lspserver_2include_2lspserver_2Protocol_8h_source.html create mode 100644 lspserver_2src_2Protocol_8cpp.html create mode 100644 lspserver_2src_2Protocol_8cpp_source.html create mode 100644 md_README.html create mode 100644 md_libnixbc_2README.html create mode 100644 md_libnixt_2README.html create mode 100644 md_lspserver_2README.html create mode 100644 md_nixd_2docs_2dev.html create mode 100644 md_nixd_2docs_2editor-setup.html create mode 100644 md_nixd_2docs_2editors_2editors.html create mode 100644 md_nixd_2docs_2examples_2README.html create mode 100644 md_nixd_2docs_2user-guide.html create mode 100644 md_nixd_2nix-node-eval_2README.html create mode 100644 menu.js create mode 100644 menudata.js create mode 100644 minus.svg create mode 100644 minusd.svg create mode 100644 namespacebc.html create mode 100644 namespacellvm.html create mode 100644 namespacelspserver.html create mode 100644 namespacelspserver_1_1detail.html create mode 100644 namespacemembers.html create mode 100644 namespacemembers_b.html create mode 100644 namespacemembers_c.html create mode 100644 namespacemembers_d.html create mode 100644 namespacemembers_e.html create mode 100644 namespacemembers_enum.html create mode 100644 namespacemembers_eval.html create mode 100644 namespacemembers_f.html create mode 100644 namespacemembers_func.html create mode 100644 namespacemembers_func_b.html create mode 100644 namespacemembers_func_c.html create mode 100644 namespacemembers_func_d.html create mode 100644 namespacemembers_func_e.html create mode 100644 namespacemembers_func_f.html create mode 100644 namespacemembers_func_g.html create mode 100644 namespacemembers_func_i.html create mode 100644 namespacemembers_func_k.html create mode 100644 namespacemembers_func_l.html create mode 100644 namespacemembers_func_m.html create mode 100644 namespacemembers_func_n.html create mode 100644 namespacemembers_func_o.html create mode 100644 namespacemembers_func_p.html create mode 100644 namespacemembers_func_r.html create mode 100644 namespacemembers_func_s.html create mode 100644 namespacemembers_func_t.html create mode 100644 namespacemembers_func_u.html create mode 100644 namespacemembers_func_v.html create mode 100644 namespacemembers_func_w.html create mode 100644 namespacemembers_g.html create mode 100644 namespacemembers_i.html create mode 100644 namespacemembers_j.html create mode 100644 namespacemembers_k.html create mode 100644 namespacemembers_l.html create mode 100644 namespacemembers_m.html create mode 100644 namespacemembers_n.html create mode 100644 namespacemembers_o.html create mode 100644 namespacemembers_p.html create mode 100644 namespacemembers_r.html create mode 100644 namespacemembers_s.html create mode 100644 namespacemembers_t.html create mode 100644 namespacemembers_type.html create mode 100644 namespacemembers_u.html create mode 100644 namespacemembers_v.html create mode 100644 namespacemembers_vars.html create mode 100644 namespacemembers_w.html create mode 100644 namespacenix.html create mode 100644 namespacenixbc.html create mode 100644 namespacenixd.html create mode 100644 namespacenixd_1_1rpc.html create mode 100644 namespacenixd_1_1util.html create mode 100644 namespacenixf.html create mode 100644 namespacenixf_1_1detail.html create mode 100644 namespacenixf_1_1tok.html create mode 100644 namespacenixt.html create mode 100644 namespacenixt_1_1detail.html create mode 100644 namespacenixt_1_1ek.html create mode 100644 namespaces.html create mode 100644 nav_f.png create mode 100644 nav_fd.png create mode 100644 nav_g.png create mode 100644 nav_h.png create mode 100644 nav_hd.png create mode 100644 nix-node-eval_2src_2Main_8cpp.html create mode 100644 nix-node-eval_2src_2Main_8cpp_source.html create mode 100644 nixd_2docs_2examples_2README_8md.html create mode 100644 nixd_2librpc_2include_2nixd_2rpc_2Protocol_8h.html create mode 100644 nixd_2librpc_2include_2nixd_2rpc_2Protocol_8h_source.html create mode 100644 nixd_2librpc_2src_2Protocol_8cpp.html create mode 100644 nixd_2librpc_2src_2Protocol_8cpp_source.html create mode 100644 nixd_2nix-node-eval_2README_8md.html create mode 100644 open.png create mode 100644 pages.html create mode 100644 plus.svg create mode 100644 plusd.svg create mode 100644 search/all_0.js create mode 100644 search/all_1.js create mode 100644 search/all_10.js create mode 100644 search/all_11.js create mode 100644 search/all_12.js create mode 100644 search/all_13.js create mode 100644 search/all_14.js create mode 100644 search/all_15.js create mode 100644 search/all_16.js create mode 100644 search/all_17.js create mode 100644 search/all_18.js create mode 100644 search/all_19.js create mode 100644 search/all_1a.js create mode 100644 search/all_2.js create mode 100644 search/all_3.js create mode 100644 search/all_4.js create mode 100644 search/all_5.js create mode 100644 search/all_6.js create mode 100644 search/all_7.js create mode 100644 search/all_8.js create mode 100644 search/all_9.js create mode 100644 search/all_a.js create mode 100644 search/all_b.js create mode 100644 search/all_c.js create mode 100644 search/all_d.js create mode 100644 search/all_e.js create mode 100644 search/all_f.js create mode 100644 search/classes_0.js create mode 100644 search/classes_1.js create mode 100644 search/classes_10.js create mode 100644 search/classes_11.js create mode 100644 search/classes_12.js create mode 100644 search/classes_13.js create mode 100644 search/classes_2.js create mode 100644 search/classes_3.js create mode 100644 search/classes_4.js create mode 100644 search/classes_5.js create mode 100644 search/classes_6.js create mode 100644 search/classes_7.js create mode 100644 search/classes_8.js create mode 100644 search/classes_9.js create mode 100644 search/classes_a.js create mode 100644 search/classes_b.js create mode 100644 search/classes_c.js create mode 100644 search/classes_d.js create mode 100644 search/classes_e.js create mode 100644 search/classes_f.js create mode 100644 search/close.svg create mode 100644 search/defines_0.js create mode 100644 search/defines_1.js create mode 100644 search/defines_2.js create mode 100644 search/defines_3.js create mode 100644 search/enums_0.js create mode 100644 search/enums_1.js create mode 100644 search/enums_2.js create mode 100644 search/enums_3.js create mode 100644 search/enums_4.js create mode 100644 search/enums_5.js create mode 100644 search/enums_6.js create mode 100644 search/enums_7.js create mode 100644 search/enums_8.js create mode 100644 search/enums_9.js create mode 100644 search/enums_a.js create mode 100644 search/enums_b.js create mode 100644 search/enums_c.js create mode 100644 search/enums_d.js create mode 100644 search/enums_e.js create mode 100644 search/enums_f.js create mode 100644 search/enumvalues_0.js create mode 100644 search/enumvalues_1.js create mode 100644 search/enumvalues_10.js create mode 100644 search/enumvalues_11.js create mode 100644 search/enumvalues_12.js create mode 100644 search/enumvalues_2.js create mode 100644 search/enumvalues_3.js create mode 100644 search/enumvalues_4.js create mode 100644 search/enumvalues_5.js create mode 100644 search/enumvalues_6.js create mode 100644 search/enumvalues_7.js create mode 100644 search/enumvalues_8.js create mode 100644 search/enumvalues_9.js create mode 100644 search/enumvalues_a.js create mode 100644 search/enumvalues_b.js create mode 100644 search/enumvalues_c.js create mode 100644 search/enumvalues_d.js create mode 100644 search/enumvalues_e.js create mode 100644 search/enumvalues_f.js create mode 100644 search/files_0.js create mode 100644 search/files_1.js create mode 100644 search/files_10.js create mode 100644 search/files_11.js create mode 100644 search/files_2.js create mode 100644 search/files_3.js create mode 100644 search/files_4.js create mode 100644 search/files_5.js create mode 100644 search/files_6.js create mode 100644 search/files_7.js create mode 100644 search/files_8.js create mode 100644 search/files_9.js create mode 100644 search/files_a.js create mode 100644 search/files_b.js create mode 100644 search/files_c.js create mode 100644 search/files_d.js create mode 100644 search/files_e.js create mode 100644 search/files_f.js create mode 100644 search/functions_0.js create mode 100644 search/functions_1.js create mode 100644 search/functions_10.js create mode 100644 search/functions_11.js create mode 100644 search/functions_12.js create mode 100644 search/functions_13.js create mode 100644 search/functions_14.js create mode 100644 search/functions_15.js create mode 100644 search/functions_2.js create mode 100644 search/functions_3.js create mode 100644 search/functions_4.js create mode 100644 search/functions_5.js create mode 100644 search/functions_6.js create mode 100644 search/functions_7.js create mode 100644 search/functions_8.js create mode 100644 search/functions_9.js create mode 100644 search/functions_a.js create mode 100644 search/functions_b.js create mode 100644 search/functions_c.js create mode 100644 search/functions_d.js create mode 100644 search/functions_e.js create mode 100644 search/functions_f.js create mode 100644 search/mag.svg create mode 100644 search/mag_d.svg create mode 100644 search/mag_sel.svg create mode 100644 search/mag_seld.svg create mode 100644 search/namespaces_0.js create mode 100644 search/namespaces_1.js create mode 100644 search/namespaces_2.js create mode 100644 search/pages_0.js create mode 100644 search/pages_1.js create mode 100644 search/pages_2.js create mode 100644 search/pages_3.js create mode 100644 search/pages_4.js create mode 100644 search/pages_5.js create mode 100644 search/pages_6.js create mode 100644 search/pages_7.js create mode 100644 search/pages_8.js create mode 100644 search/pages_9.js create mode 100644 search/pages_a.js create mode 100644 search/pages_b.js create mode 100644 search/pages_c.js create mode 100644 search/related_0.js create mode 100644 search/related_1.js create mode 100644 search/related_2.js create mode 100644 search/search.css create mode 100644 search/search.js create mode 100644 search/searchdata.js create mode 100644 search/typedefs_0.js create mode 100644 search/typedefs_1.js create mode 100644 search/typedefs_2.js create mode 100644 search/typedefs_3.js create mode 100644 search/typedefs_4.js create mode 100644 search/typedefs_5.js create mode 100644 search/typedefs_6.js create mode 100644 search/typedefs_7.js create mode 100644 search/typedefs_8.js create mode 100644 search/typedefs_9.js create mode 100644 search/typedefs_a.js create mode 100644 search/typedefs_b.js create mode 100644 search/typedefs_c.js create mode 100644 search/typedefs_d.js create mode 100644 search/typedefs_e.js create mode 100644 search/variables_0.js create mode 100644 search/variables_1.js create mode 100644 search/variables_10.js create mode 100644 search/variables_11.js create mode 100644 search/variables_12.js create mode 100644 search/variables_13.js create mode 100644 search/variables_14.js create mode 100644 search/variables_2.js create mode 100644 search/variables_3.js create mode 100644 search/variables_4.js create mode 100644 search/variables_5.js create mode 100644 search/variables_6.js create mode 100644 search/variables_7.js create mode 100644 search/variables_8.js create mode 100644 search/variables_9.js create mode 100644 search/variables_a.js create mode 100644 search/variables_b.js create mode 100644 search/variables_c.js create mode 100644 search/variables_d.js create mode 100644 search/variables_e.js create mode 100644 search/variables_f.js create mode 100644 splitbar.png create mode 100644 splitbard.png create mode 100644 src_2Parse_2Parser_8h.html create mode 100644 src_2Parse_2Parser_8h_source.html create mode 100644 structllvm_1_1format__provider_3_01lspserver_1_1Position_01_4-members.html create mode 100644 structllvm_1_1format__provider_3_01lspserver_1_1Position_01_4.html create mode 100644 structlspserver_1_1ASTNode-members.html create mode 100644 structlspserver_1_1ASTNode.html create mode 100644 structlspserver_1_1ASTParams-members.html create mode 100644 structlspserver_1_1ASTParams.html create mode 100644 structlspserver_1_1ASTParams__coll__graph.map create mode 100644 structlspserver_1_1ASTParams__coll__graph.md5 create mode 100644 structlspserver_1_1ASTParams__coll__graph.svg create mode 100644 structlspserver_1_1ApplyWorkspaceEditParams-members.html create mode 100644 structlspserver_1_1ApplyWorkspaceEditParams.html create mode 100644 structlspserver_1_1ApplyWorkspaceEditParams__coll__graph.map create mode 100644 structlspserver_1_1ApplyWorkspaceEditParams__coll__graph.md5 create mode 100644 structlspserver_1_1ApplyWorkspaceEditParams__coll__graph.svg create mode 100644 structlspserver_1_1ApplyWorkspaceEditResponse-members.html create mode 100644 structlspserver_1_1ApplyWorkspaceEditResponse.html create mode 100644 structlspserver_1_1CallHierarchyIncomingCall-members.html create mode 100644 structlspserver_1_1CallHierarchyIncomingCall.html create mode 100644 structlspserver_1_1CallHierarchyIncomingCall__coll__graph.map create mode 100644 structlspserver_1_1CallHierarchyIncomingCall__coll__graph.md5 create mode 100644 structlspserver_1_1CallHierarchyIncomingCall__coll__graph.svg create mode 100644 structlspserver_1_1CallHierarchyIncomingCallsParams-members.html create mode 100644 structlspserver_1_1CallHierarchyIncomingCallsParams.html create mode 100644 structlspserver_1_1CallHierarchyIncomingCallsParams__coll__graph.map create mode 100644 structlspserver_1_1CallHierarchyIncomingCallsParams__coll__graph.md5 create mode 100644 structlspserver_1_1CallHierarchyIncomingCallsParams__coll__graph.svg create mode 100644 structlspserver_1_1CallHierarchyItem-members.html create mode 100644 structlspserver_1_1CallHierarchyItem.html create mode 100644 structlspserver_1_1CallHierarchyItem__coll__graph.map create mode 100644 structlspserver_1_1CallHierarchyItem__coll__graph.md5 create mode 100644 structlspserver_1_1CallHierarchyItem__coll__graph.svg create mode 100644 structlspserver_1_1CallHierarchyOutgoingCall-members.html create mode 100644 structlspserver_1_1CallHierarchyOutgoingCall.html create mode 100644 structlspserver_1_1CallHierarchyOutgoingCall__coll__graph.map create mode 100644 structlspserver_1_1CallHierarchyOutgoingCall__coll__graph.md5 create mode 100644 structlspserver_1_1CallHierarchyOutgoingCall__coll__graph.svg create mode 100644 structlspserver_1_1CallHierarchyOutgoingCallsParams-members.html create mode 100644 structlspserver_1_1CallHierarchyOutgoingCallsParams.html create mode 100644 structlspserver_1_1CallHierarchyOutgoingCallsParams__coll__graph.map create mode 100644 structlspserver_1_1CallHierarchyOutgoingCallsParams__coll__graph.md5 create mode 100644 structlspserver_1_1CallHierarchyOutgoingCallsParams__coll__graph.svg create mode 100644 structlspserver_1_1CallHierarchyPrepareParams-members.html create mode 100644 structlspserver_1_1CallHierarchyPrepareParams.html create mode 100644 structlspserver_1_1CallHierarchyPrepareParams__coll__graph.map create mode 100644 structlspserver_1_1CallHierarchyPrepareParams__coll__graph.md5 create mode 100644 structlspserver_1_1CallHierarchyPrepareParams__coll__graph.svg create mode 100644 structlspserver_1_1CallHierarchyPrepareParams__inherit__graph.map create mode 100644 structlspserver_1_1CallHierarchyPrepareParams__inherit__graph.md5 create mode 100644 structlspserver_1_1CallHierarchyPrepareParams__inherit__graph.svg create mode 100644 structlspserver_1_1ChangeAnnotation-members.html create mode 100644 structlspserver_1_1ChangeAnnotation.html create mode 100644 structlspserver_1_1ClangdCompileCommand-members.html create mode 100644 structlspserver_1_1ClangdCompileCommand.html create mode 100644 structlspserver_1_1ClientCapabilities-members.html create mode 100644 structlspserver_1_1ClientCapabilities.html create mode 100644 structlspserver_1_1CodeAction-members.html create mode 100644 structlspserver_1_1CodeAction.html create mode 100644 structlspserver_1_1CodeActionContext-members.html create mode 100644 structlspserver_1_1CodeActionContext.html create mode 100644 structlspserver_1_1CodeActionParams-members.html create mode 100644 structlspserver_1_1CodeActionParams.html create mode 100644 structlspserver_1_1CodeActionParams__coll__graph.map create mode 100644 structlspserver_1_1CodeActionParams__coll__graph.md5 create mode 100644 structlspserver_1_1CodeActionParams__coll__graph.svg create mode 100644 structlspserver_1_1CodeDescription-members.html create mode 100644 structlspserver_1_1CodeDescription.html create mode 100644 structlspserver_1_1Command-members.html create mode 100644 structlspserver_1_1Command.html create mode 100644 structlspserver_1_1Command__coll__graph.map create mode 100644 structlspserver_1_1Command__coll__graph.md5 create mode 100644 structlspserver_1_1Command__coll__graph.svg create mode 100644 structlspserver_1_1Command__inherit__graph.map create mode 100644 structlspserver_1_1Command__inherit__graph.md5 create mode 100644 structlspserver_1_1Command__inherit__graph.svg create mode 100644 structlspserver_1_1CompletionContext-members.html create mode 100644 structlspserver_1_1CompletionContext.html create mode 100644 structlspserver_1_1CompletionItem-members.html create mode 100644 structlspserver_1_1CompletionItem.html create mode 100644 structlspserver_1_1CompletionList-members.html create mode 100644 structlspserver_1_1CompletionList.html create mode 100644 structlspserver_1_1CompletionParams-members.html create mode 100644 structlspserver_1_1CompletionParams.html create mode 100644 structlspserver_1_1CompletionParams__coll__graph.map create mode 100644 structlspserver_1_1CompletionParams__coll__graph.md5 create mode 100644 structlspserver_1_1CompletionParams__coll__graph.svg create mode 100644 structlspserver_1_1CompletionParams__inherit__graph.map create mode 100644 structlspserver_1_1CompletionParams__inherit__graph.md5 create mode 100644 structlspserver_1_1CompletionParams__inherit__graph.svg create mode 100644 structlspserver_1_1ConfigurationItem-members.html create mode 100644 structlspserver_1_1ConfigurationItem.html create mode 100644 structlspserver_1_1ConfigurationParams-members.html create mode 100644 structlspserver_1_1ConfigurationParams.html create mode 100644 structlspserver_1_1ConfigurationSettings-members.html create mode 100644 structlspserver_1_1ConfigurationSettings.html create mode 100644 structlspserver_1_1Diagnostic-members.html create mode 100644 structlspserver_1_1Diagnostic.html create mode 100644 structlspserver_1_1DiagnosticRelatedInformation-members.html create mode 100644 structlspserver_1_1DiagnosticRelatedInformation.html create mode 100644 structlspserver_1_1DiagnosticRelatedInformation__coll__graph.map create mode 100644 structlspserver_1_1DiagnosticRelatedInformation__coll__graph.md5 create mode 100644 structlspserver_1_1DiagnosticRelatedInformation__coll__graph.svg create mode 100644 structlspserver_1_1Diagnostic__coll__graph.map create mode 100644 structlspserver_1_1Diagnostic__coll__graph.md5 create mode 100644 structlspserver_1_1Diagnostic__coll__graph.svg create mode 100644 structlspserver_1_1DidChangeConfigurationParams-members.html create mode 100644 structlspserver_1_1DidChangeConfigurationParams.html create mode 100644 structlspserver_1_1DidChangeConfigurationParams__coll__graph.map create mode 100644 structlspserver_1_1DidChangeConfigurationParams__coll__graph.md5 create mode 100644 structlspserver_1_1DidChangeConfigurationParams__coll__graph.svg create mode 100644 structlspserver_1_1DidChangeTextDocumentParams-members.html create mode 100644 structlspserver_1_1DidChangeTextDocumentParams.html create mode 100644 structlspserver_1_1DidChangeTextDocumentParams__coll__graph.map create mode 100644 structlspserver_1_1DidChangeTextDocumentParams__coll__graph.md5 create mode 100644 structlspserver_1_1DidChangeTextDocumentParams__coll__graph.svg create mode 100644 structlspserver_1_1DidChangeWatchedFilesParams-members.html create mode 100644 structlspserver_1_1DidChangeWatchedFilesParams.html create mode 100644 structlspserver_1_1DidCloseTextDocumentParams-members.html create mode 100644 structlspserver_1_1DidCloseTextDocumentParams.html create mode 100644 structlspserver_1_1DidCloseTextDocumentParams__coll__graph.map create mode 100644 structlspserver_1_1DidCloseTextDocumentParams__coll__graph.md5 create mode 100644 structlspserver_1_1DidCloseTextDocumentParams__coll__graph.svg create mode 100644 structlspserver_1_1DidOpenTextDocumentParams-members.html create mode 100644 structlspserver_1_1DidOpenTextDocumentParams.html create mode 100644 structlspserver_1_1DidOpenTextDocumentParams__coll__graph.map create mode 100644 structlspserver_1_1DidOpenTextDocumentParams__coll__graph.md5 create mode 100644 structlspserver_1_1DidOpenTextDocumentParams__coll__graph.svg create mode 100644 structlspserver_1_1DidSaveTextDocumentParams-members.html create mode 100644 structlspserver_1_1DidSaveTextDocumentParams.html create mode 100644 structlspserver_1_1DidSaveTextDocumentParams__coll__graph.map create mode 100644 structlspserver_1_1DidSaveTextDocumentParams__coll__graph.md5 create mode 100644 structlspserver_1_1DidSaveTextDocumentParams__coll__graph.svg create mode 100644 structlspserver_1_1DocumentFormattingParams-members.html create mode 100644 structlspserver_1_1DocumentFormattingParams.html create mode 100644 structlspserver_1_1DocumentFormattingParams__coll__graph.map create mode 100644 structlspserver_1_1DocumentFormattingParams__coll__graph.md5 create mode 100644 structlspserver_1_1DocumentFormattingParams__coll__graph.svg create mode 100644 structlspserver_1_1DocumentHighlight-members.html create mode 100644 structlspserver_1_1DocumentHighlight.html create mode 100644 structlspserver_1_1DocumentHighlight__coll__graph.map create mode 100644 structlspserver_1_1DocumentHighlight__coll__graph.md5 create mode 100644 structlspserver_1_1DocumentHighlight__coll__graph.svg create mode 100644 structlspserver_1_1DocumentLink-members.html create mode 100644 structlspserver_1_1DocumentLink.html create mode 100644 structlspserver_1_1DocumentLinkParams-members.html create mode 100644 structlspserver_1_1DocumentLinkParams.html create mode 100644 structlspserver_1_1DocumentLinkParams__coll__graph.map create mode 100644 structlspserver_1_1DocumentLinkParams__coll__graph.md5 create mode 100644 structlspserver_1_1DocumentLinkParams__coll__graph.svg create mode 100644 structlspserver_1_1DocumentLink__coll__graph.map create mode 100644 structlspserver_1_1DocumentLink__coll__graph.md5 create mode 100644 structlspserver_1_1DocumentLink__coll__graph.svg create mode 100644 structlspserver_1_1DocumentOnTypeFormattingParams-members.html create mode 100644 structlspserver_1_1DocumentOnTypeFormattingParams.html create mode 100644 structlspserver_1_1DocumentOnTypeFormattingParams__coll__graph.map create mode 100644 structlspserver_1_1DocumentOnTypeFormattingParams__coll__graph.md5 create mode 100644 structlspserver_1_1DocumentOnTypeFormattingParams__coll__graph.svg create mode 100644 structlspserver_1_1DocumentRangeFormattingParams-members.html create mode 100644 structlspserver_1_1DocumentRangeFormattingParams.html create mode 100644 structlspserver_1_1DocumentRangeFormattingParams__coll__graph.map create mode 100644 structlspserver_1_1DocumentRangeFormattingParams__coll__graph.md5 create mode 100644 structlspserver_1_1DocumentRangeFormattingParams__coll__graph.svg create mode 100644 structlspserver_1_1DocumentSymbol-members.html create mode 100644 structlspserver_1_1DocumentSymbol.html create mode 100644 structlspserver_1_1DocumentSymbolParams-members.html create mode 100644 structlspserver_1_1DocumentSymbolParams.html create mode 100644 structlspserver_1_1DocumentSymbolParams__coll__graph.map create mode 100644 structlspserver_1_1DocumentSymbolParams__coll__graph.md5 create mode 100644 structlspserver_1_1DocumentSymbolParams__coll__graph.svg create mode 100644 structlspserver_1_1DocumentSymbol__coll__graph.map create mode 100644 structlspserver_1_1DocumentSymbol__coll__graph.md5 create mode 100644 structlspserver_1_1DocumentSymbol__coll__graph.svg create mode 100644 structlspserver_1_1DraftStore_1_1Draft-members.html create mode 100644 structlspserver_1_1DraftStore_1_1Draft.html create mode 100644 structlspserver_1_1ExecuteCommandParams-members.html create mode 100644 structlspserver_1_1ExecuteCommandParams.html create mode 100644 structlspserver_1_1ExecuteCommandParams__inherit__graph.map create mode 100644 structlspserver_1_1ExecuteCommandParams__inherit__graph.md5 create mode 100644 structlspserver_1_1ExecuteCommandParams__inherit__graph.svg create mode 100644 structlspserver_1_1FileEvent-members.html create mode 100644 structlspserver_1_1FileEvent.html create mode 100644 structlspserver_1_1FileEvent__coll__graph.map create mode 100644 structlspserver_1_1FileEvent__coll__graph.md5 create mode 100644 structlspserver_1_1FileEvent__coll__graph.svg create mode 100644 structlspserver_1_1FileStatus-members.html create mode 100644 structlspserver_1_1FileStatus.html create mode 100644 structlspserver_1_1FileStatus__coll__graph.map create mode 100644 structlspserver_1_1FileStatus__coll__graph.md5 create mode 100644 structlspserver_1_1FileStatus__coll__graph.svg create mode 100644 structlspserver_1_1FoldingRange-members.html create mode 100644 structlspserver_1_1FoldingRange.html create mode 100644 structlspserver_1_1FoldingRangeParams-members.html create mode 100644 structlspserver_1_1FoldingRangeParams.html create mode 100644 structlspserver_1_1FoldingRangeParams__coll__graph.map create mode 100644 structlspserver_1_1FoldingRangeParams__coll__graph.md5 create mode 100644 structlspserver_1_1FoldingRangeParams__coll__graph.svg create mode 100644 structlspserver_1_1HandlerRegistry-members.html create mode 100644 structlspserver_1_1HandlerRegistry.html create mode 100644 structlspserver_1_1Hover-members.html create mode 100644 structlspserver_1_1Hover.html create mode 100644 structlspserver_1_1Hover__coll__graph.map create mode 100644 structlspserver_1_1Hover__coll__graph.md5 create mode 100644 structlspserver_1_1Hover__coll__graph.svg create mode 100644 structlspserver_1_1InactiveRegionsParams-members.html create mode 100644 structlspserver_1_1InactiveRegionsParams.html create mode 100644 structlspserver_1_1InactiveRegionsParams__coll__graph.map create mode 100644 structlspserver_1_1InactiveRegionsParams__coll__graph.md5 create mode 100644 structlspserver_1_1InactiveRegionsParams__coll__graph.svg create mode 100644 structlspserver_1_1InitializationOptions-members.html create mode 100644 structlspserver_1_1InitializationOptions.html create mode 100644 structlspserver_1_1InitializationOptions__coll__graph.map create mode 100644 structlspserver_1_1InitializationOptions__coll__graph.md5 create mode 100644 structlspserver_1_1InitializationOptions__coll__graph.svg create mode 100644 structlspserver_1_1InitializeParams-members.html create mode 100644 structlspserver_1_1InitializeParams.html create mode 100644 structlspserver_1_1InitializeParams__coll__graph.map create mode 100644 structlspserver_1_1InitializeParams__coll__graph.md5 create mode 100644 structlspserver_1_1InitializeParams__coll__graph.svg create mode 100644 structlspserver_1_1InlayHint-members.html create mode 100644 structlspserver_1_1InlayHint.html create mode 100644 structlspserver_1_1InlayHint__coll__graph.map create mode 100644 structlspserver_1_1InlayHint__coll__graph.md5 create mode 100644 structlspserver_1_1InlayHint__coll__graph.svg create mode 100644 structlspserver_1_1InlayHintsParams-members.html create mode 100644 structlspserver_1_1InlayHintsParams.html create mode 100644 structlspserver_1_1InlayHintsParams__coll__graph.map create mode 100644 structlspserver_1_1InlayHintsParams__coll__graph.md5 create mode 100644 structlspserver_1_1InlayHintsParams__coll__graph.svg create mode 100644 structlspserver_1_1LSPDiagnosticCompare-members.html create mode 100644 structlspserver_1_1LSPDiagnosticCompare.html create mode 100644 structlspserver_1_1Location-members.html create mode 100644 structlspserver_1_1Location.html create mode 100644 structlspserver_1_1Location__coll__graph.map create mode 100644 structlspserver_1_1Location__coll__graph.md5 create mode 100644 structlspserver_1_1Location__coll__graph.svg create mode 100644 structlspserver_1_1Location__inherit__graph.map create mode 100644 structlspserver_1_1Location__inherit__graph.md5 create mode 100644 structlspserver_1_1Location__inherit__graph.svg create mode 100644 structlspserver_1_1MarkupContent-members.html create mode 100644 structlspserver_1_1MarkupContent.html create mode 100644 structlspserver_1_1NoParams.html create mode 100644 structlspserver_1_1ParameterInformation-members.html create mode 100644 structlspserver_1_1ParameterInformation.html create mode 100644 structlspserver_1_1Position-members.html create mode 100644 structlspserver_1_1Position.html create mode 100644 structlspserver_1_1ProgressParams-members.html create mode 100644 structlspserver_1_1ProgressParams.html create mode 100644 structlspserver_1_1PublishDiagnosticsParams-members.html create mode 100644 structlspserver_1_1PublishDiagnosticsParams.html create mode 100644 structlspserver_1_1PublishDiagnosticsParams__coll__graph.map create mode 100644 structlspserver_1_1PublishDiagnosticsParams__coll__graph.md5 create mode 100644 structlspserver_1_1PublishDiagnosticsParams__coll__graph.svg create mode 100644 structlspserver_1_1Range-members.html create mode 100644 structlspserver_1_1Range.html create mode 100644 structlspserver_1_1Range__coll__graph.map create mode 100644 structlspserver_1_1Range__coll__graph.md5 create mode 100644 structlspserver_1_1Range__coll__graph.svg create mode 100644 structlspserver_1_1ReferenceContext-members.html create mode 100644 structlspserver_1_1ReferenceContext.html create mode 100644 structlspserver_1_1ReferenceLocation-members.html create mode 100644 structlspserver_1_1ReferenceLocation.html create mode 100644 structlspserver_1_1ReferenceLocation__coll__graph.map create mode 100644 structlspserver_1_1ReferenceLocation__coll__graph.md5 create mode 100644 structlspserver_1_1ReferenceLocation__coll__graph.svg create mode 100644 structlspserver_1_1ReferenceLocation__inherit__graph.map create mode 100644 structlspserver_1_1ReferenceLocation__inherit__graph.md5 create mode 100644 structlspserver_1_1ReferenceLocation__inherit__graph.svg create mode 100644 structlspserver_1_1ReferenceParams-members.html create mode 100644 structlspserver_1_1ReferenceParams.html create mode 100644 structlspserver_1_1ReferenceParams__coll__graph.map create mode 100644 structlspserver_1_1ReferenceParams__coll__graph.md5 create mode 100644 structlspserver_1_1ReferenceParams__coll__graph.svg create mode 100644 structlspserver_1_1ReferenceParams__inherit__graph.map create mode 100644 structlspserver_1_1ReferenceParams__inherit__graph.md5 create mode 100644 structlspserver_1_1ReferenceParams__inherit__graph.svg create mode 100644 structlspserver_1_1RenameParams-members.html create mode 100644 structlspserver_1_1RenameParams.html create mode 100644 structlspserver_1_1RenameParams__coll__graph.map create mode 100644 structlspserver_1_1RenameParams__coll__graph.md5 create mode 100644 structlspserver_1_1RenameParams__coll__graph.svg create mode 100644 structlspserver_1_1ResolveTypeHierarchyItemParams-members.html create mode 100644 structlspserver_1_1ResolveTypeHierarchyItemParams.html create mode 100644 structlspserver_1_1ResolveTypeHierarchyItemParams__coll__graph.map create mode 100644 structlspserver_1_1ResolveTypeHierarchyItemParams__coll__graph.md5 create mode 100644 structlspserver_1_1ResolveTypeHierarchyItemParams__coll__graph.svg create mode 100644 structlspserver_1_1SelectionRange-members.html create mode 100644 structlspserver_1_1SelectionRange.html create mode 100644 structlspserver_1_1SelectionRangeParams-members.html create mode 100644 structlspserver_1_1SelectionRangeParams.html create mode 100644 structlspserver_1_1SelectionRangeParams__coll__graph.map create mode 100644 structlspserver_1_1SelectionRangeParams__coll__graph.md5 create mode 100644 structlspserver_1_1SelectionRangeParams__coll__graph.svg create mode 100644 structlspserver_1_1SelectionRange__coll__graph.map create mode 100644 structlspserver_1_1SelectionRange__coll__graph.md5 create mode 100644 structlspserver_1_1SelectionRange__coll__graph.svg create mode 100644 structlspserver_1_1SemanticToken-members.html create mode 100644 structlspserver_1_1SemanticToken.html create mode 100644 structlspserver_1_1SemanticTokens-members.html create mode 100644 structlspserver_1_1SemanticTokens.html create mode 100644 structlspserver_1_1SemanticTokensDeltaParams-members.html create mode 100644 structlspserver_1_1SemanticTokensDeltaParams.html create mode 100644 structlspserver_1_1SemanticTokensDeltaParams__coll__graph.map create mode 100644 structlspserver_1_1SemanticTokensDeltaParams__coll__graph.md5 create mode 100644 structlspserver_1_1SemanticTokensDeltaParams__coll__graph.svg create mode 100644 structlspserver_1_1SemanticTokensEdit-members.html create mode 100644 structlspserver_1_1SemanticTokensEdit.html create mode 100644 structlspserver_1_1SemanticTokensOrDelta-members.html create mode 100644 structlspserver_1_1SemanticTokensOrDelta.html create mode 100644 structlspserver_1_1SemanticTokensParams-members.html create mode 100644 structlspserver_1_1SemanticTokensParams.html create mode 100644 structlspserver_1_1SemanticTokensParams__coll__graph.map create mode 100644 structlspserver_1_1SemanticTokensParams__coll__graph.md5 create mode 100644 structlspserver_1_1SemanticTokensParams__coll__graph.svg create mode 100644 structlspserver_1_1ShowMessageParams-members.html create mode 100644 structlspserver_1_1ShowMessageParams.html create mode 100644 structlspserver_1_1SignatureHelp-members.html create mode 100644 structlspserver_1_1SignatureHelp.html create mode 100644 structlspserver_1_1SignatureHelp__coll__graph.map create mode 100644 structlspserver_1_1SignatureHelp__coll__graph.md5 create mode 100644 structlspserver_1_1SignatureHelp__coll__graph.svg create mode 100644 structlspserver_1_1SignatureInformation-members.html create mode 100644 structlspserver_1_1SignatureInformation.html create mode 100644 structlspserver_1_1SignatureInformation__coll__graph.map create mode 100644 structlspserver_1_1SignatureInformation__coll__graph.md5 create mode 100644 structlspserver_1_1SignatureInformation__coll__graph.svg create mode 100644 structlspserver_1_1SymbolInformation-members.html create mode 100644 structlspserver_1_1SymbolInformation.html create mode 100644 structlspserver_1_1SymbolInformation__coll__graph.map create mode 100644 structlspserver_1_1SymbolInformation__coll__graph.md5 create mode 100644 structlspserver_1_1SymbolInformation__coll__graph.svg create mode 100644 structlspserver_1_1TextDocumentContentChangeEvent-members.html create mode 100644 structlspserver_1_1TextDocumentContentChangeEvent.html create mode 100644 structlspserver_1_1TextDocumentEdit-members.html create mode 100644 structlspserver_1_1TextDocumentEdit.html create mode 100644 structlspserver_1_1TextDocumentEdit__coll__graph.map create mode 100644 structlspserver_1_1TextDocumentEdit__coll__graph.md5 create mode 100644 structlspserver_1_1TextDocumentEdit__coll__graph.svg create mode 100644 structlspserver_1_1TextDocumentIdentifier-members.html create mode 100644 structlspserver_1_1TextDocumentIdentifier.html create mode 100644 structlspserver_1_1TextDocumentIdentifier__coll__graph.map create mode 100644 structlspserver_1_1TextDocumentIdentifier__coll__graph.md5 create mode 100644 structlspserver_1_1TextDocumentIdentifier__coll__graph.svg create mode 100644 structlspserver_1_1TextDocumentIdentifier__inherit__graph.map create mode 100644 structlspserver_1_1TextDocumentIdentifier__inherit__graph.md5 create mode 100644 structlspserver_1_1TextDocumentIdentifier__inherit__graph.svg create mode 100644 structlspserver_1_1TextDocumentItem-members.html create mode 100644 structlspserver_1_1TextDocumentItem.html create mode 100644 structlspserver_1_1TextDocumentItem__coll__graph.map create mode 100644 structlspserver_1_1TextDocumentItem__coll__graph.md5 create mode 100644 structlspserver_1_1TextDocumentItem__coll__graph.svg create mode 100644 structlspserver_1_1TextDocumentPositionParams-members.html create mode 100644 structlspserver_1_1TextDocumentPositionParams.html create mode 100644 structlspserver_1_1TextDocumentPositionParams__coll__graph.map create mode 100644 structlspserver_1_1TextDocumentPositionParams__coll__graph.md5 create mode 100644 structlspserver_1_1TextDocumentPositionParams__coll__graph.svg create mode 100644 structlspserver_1_1TextDocumentPositionParams__inherit__graph.map create mode 100644 structlspserver_1_1TextDocumentPositionParams__inherit__graph.md5 create mode 100644 structlspserver_1_1TextDocumentPositionParams__inherit__graph.svg create mode 100644 structlspserver_1_1TextEdit-members.html create mode 100644 structlspserver_1_1TextEdit.html create mode 100644 structlspserver_1_1TextEdit__coll__graph.map create mode 100644 structlspserver_1_1TextEdit__coll__graph.md5 create mode 100644 structlspserver_1_1TextEdit__coll__graph.svg create mode 100644 structlspserver_1_1TweakArgs-members.html create mode 100644 structlspserver_1_1TweakArgs.html create mode 100644 structlspserver_1_1TweakArgs__coll__graph.map create mode 100644 structlspserver_1_1TweakArgs__coll__graph.md5 create mode 100644 structlspserver_1_1TweakArgs__coll__graph.svg create mode 100644 structlspserver_1_1TypeHierarchyItem-members.html create mode 100644 structlspserver_1_1TypeHierarchyItem.html create mode 100644 structlspserver_1_1TypeHierarchyItem_1_1ResolveParams-members.html create mode 100644 structlspserver_1_1TypeHierarchyItem_1_1ResolveParams.html create mode 100644 structlspserver_1_1TypeHierarchyItem__coll__graph.map create mode 100644 structlspserver_1_1TypeHierarchyItem__coll__graph.md5 create mode 100644 structlspserver_1_1TypeHierarchyItem__coll__graph.svg create mode 100644 structlspserver_1_1TypeHierarchyPrepareParams-members.html create mode 100644 structlspserver_1_1TypeHierarchyPrepareParams.html create mode 100644 structlspserver_1_1TypeHierarchyPrepareParams__coll__graph.map create mode 100644 structlspserver_1_1TypeHierarchyPrepareParams__coll__graph.md5 create mode 100644 structlspserver_1_1TypeHierarchyPrepareParams__coll__graph.svg create mode 100644 structlspserver_1_1TypeHierarchyPrepareParams__inherit__graph.map create mode 100644 structlspserver_1_1TypeHierarchyPrepareParams__inherit__graph.md5 create mode 100644 structlspserver_1_1TypeHierarchyPrepareParams__inherit__graph.svg create mode 100644 structlspserver_1_1URIForFile-members.html create mode 100644 structlspserver_1_1URIForFile.html create mode 100644 structlspserver_1_1VersionedTextDocumentIdentifier-members.html create mode 100644 structlspserver_1_1VersionedTextDocumentIdentifier.html create mode 100644 structlspserver_1_1VersionedTextDocumentIdentifier__coll__graph.map create mode 100644 structlspserver_1_1VersionedTextDocumentIdentifier__coll__graph.md5 create mode 100644 structlspserver_1_1VersionedTextDocumentIdentifier__coll__graph.svg create mode 100644 structlspserver_1_1VersionedTextDocumentIdentifier__inherit__graph.map create mode 100644 structlspserver_1_1VersionedTextDocumentIdentifier__inherit__graph.md5 create mode 100644 structlspserver_1_1VersionedTextDocumentIdentifier__inherit__graph.svg create mode 100644 structlspserver_1_1WorkDoneProgressBegin-members.html create mode 100644 structlspserver_1_1WorkDoneProgressBegin.html create mode 100644 structlspserver_1_1WorkDoneProgressCreateParams-members.html create mode 100644 structlspserver_1_1WorkDoneProgressCreateParams.html create mode 100644 structlspserver_1_1WorkDoneProgressEnd-members.html create mode 100644 structlspserver_1_1WorkDoneProgressEnd.html create mode 100644 structlspserver_1_1WorkDoneProgressReport-members.html create mode 100644 structlspserver_1_1WorkDoneProgressReport.html create mode 100644 structlspserver_1_1WorkspaceEdit-members.html create mode 100644 structlspserver_1_1WorkspaceEdit.html create mode 100644 structlspserver_1_1WorkspaceSymbolParams-members.html create mode 100644 structlspserver_1_1WorkspaceSymbolParams.html create mode 100644 structnixbc_1_1FileHeader-members.html create mode 100644 structnixbc_1_1FileHeader.html create mode 100644 structnixbc_1_1NodeHeader-members.html create mode 100644 structnixbc_1_1NodeHeader.html create mode 100644 structnixd_1_1rpc_1_1ExprValueParams-members.html create mode 100644 structnixd_1_1rpc_1_1ExprValueParams.html create mode 100644 structnixd_1_1rpc_1_1ExprValueResponse-members.html create mode 100644 structnixd_1_1rpc_1_1ExprValueResponse.html create mode 100644 structnixd_1_1rpc_1_1RegisterBCParams-members.html create mode 100644 structnixd_1_1rpc_1_1RegisterBCParams.html create mode 100644 structnixd_1_1util_1_1OwnedRegion-members.html create mode 100644 structnixd_1_1util_1_1OwnedRegion.html create mode 100644 structnixd_1_1util_1_1PipedProc-members.html create mode 100644 structnixd_1_1util_1_1PipedProc.html create mode 100644 structnixd_1_1util_1_1PipedProc__coll__graph.map create mode 100644 structnixd_1_1util_1_1PipedProc__coll__graph.md5 create mode 100644 structnixd_1_1util_1_1PipedProc__coll__graph.svg create mode 100644 structnixt_1_1ASTHeader-members.html create mode 100644 structnixt_1_1ASTHeader.html create mode 100644 structnixt_1_1ArrayRef-members.html create mode 100644 structnixt_1_1ArrayRef.html create mode 100644 structnixt_1_1DeserializeContext-members.html create mode 100644 structnixt_1_1DeserializeContext.html create mode 100644 structnixt_1_1PtrPool-members.html create mode 100644 structnixt_1_1PtrPool.html create mode 100644 structnixt_1_1RecursiveASTVisitor-members.html create mode 100644 structnixt_1_1RecursiveASTVisitor.html create mode 100644 structnixt_1_1detail_1_1ParseCacheF-members.html create mode 100644 structnixt_1_1detail_1_1ParseCacheF.html create mode 100644 structnixt_1_1detail_1_1R-members.html create mode 100644 structnixt_1_1detail_1_1R.html create mode 100644 structnixt_1_1detail_1_1RB-members.html create mode 100644 structnixt_1_1detail_1_1RB.html create mode 100644 structnixt_1_1detail_1_1RB_1_1F-members.html create mode 100644 structnixt_1_1detail_1_1RB_1_1F.html create mode 100644 structnixt_1_1detail_1_1RB__coll__graph.map create mode 100644 structnixt_1_1detail_1_1RB__coll__graph.md5 create mode 100644 structnixt_1_1detail_1_1RB__coll__graph.svg create mode 100644 structnixt_1_1detail_1_1RB__inherit__graph.map create mode 100644 structnixt_1_1detail_1_1RB__inherit__graph.md5 create mode 100644 structnixt_1_1detail_1_1RB__inherit__graph.svg create mode 100644 structnixt_1_1detail_1_1R__inherit__graph.map create mode 100644 structnixt_1_1detail_1_1R__inherit__graph.md5 create mode 100644 structnixt_1_1detail_1_1R__inherit__graph.svg create mode 100644 sync_off.png create mode 100644 sync_on.png create mode 100644 tab_a.png create mode 100644 tab_ad.png create mode 100644 tab_b.png create mode 100644 tab_bd.png create mode 100644 tab_h.png create mode 100644 tab_hd.png create mode 100644 tab_s.png create mode 100644 tab_sd.png create mode 100644 tabs.css create mode 100644 tools_2nixd_2src_2Main_8cpp.html create mode 100644 tools_2nixd_2src_2Main_8cpp_source.html create mode 100644 user-guide_8md.html diff --git a/.nojekyll b/.nojekyll new file mode 100644 index 000000000..e69de29bb diff --git a/ASTReader_8cpp.html b/ASTReader_8cpp.html new file mode 100644 index 000000000..2a61cb3da --- /dev/null +++ b/ASTReader_8cpp.html @@ -0,0 +1,116 @@ + + + + + + + +nixd: ASTReader.cpp File Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
ASTReader.cpp File Reference
+
+
+
#include "ASTReader.h"
+#include "nixt/Deserialize.h"
+#include <nixbc/FileHeader.h>
+#include <nixbc/Nodes.h>
+#include <nixbc/Origin.h>
+#include <nixbc/Type.h>
+#include <bc/Read.h>
+#include <nix/eval.hh>
+#include <nix/fs-input-accessor.hh>
+
+

Go to the source code of this file.

+ + + + + +

+Namespaces

namespace  nixt
 Access ParseCache in nix::EvalState.
 
+ + + + + + +

+Functions

DeserializeContext nixt::getDeserializeContext (nix::EvalState &State, std::string_view BasePath, const nix::Pos::Origin &Origin)
 Stable API wrapper around official nix.
 
nix::Expr * nixt::deserializeHookable (std::string_view &Data, DeserializeContext &Ctx, PtrPool< nix::Expr > &Pool, ValueMap &VMap, EnvMap &EMap)
 
+
+ + + + diff --git a/ASTReader_8cpp_source.html b/ASTReader_8cpp_source.html new file mode 100644 index 000000000..d430b6144 --- /dev/null +++ b/ASTReader_8cpp_source.html @@ -0,0 +1,190 @@ + + + + + + + +nixd: ASTReader.cpp Source File + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
ASTReader.cpp
+
+
+Go to the documentation of this file.
1#include "ASTReader.h"
+
2
+
3#include "nixt/Deserialize.h"
+
4
+
5#include <nixbc/FileHeader.h>
+
6#include <nixbc/Nodes.h>
+
7#include <nixbc/Origin.h>
+
8#include <nixbc/Type.h>
+
9
+
10#include <bc/Read.h>
+
11
+
12#include <nix/eval.hh>
+
13#include <nix/fs-input-accessor.hh>
+
14
+
15namespace nixt {
+
16
+
17using namespace nixbc;
+
+
18nix::Expr *ASTDeserializer::eatHookable(std::string_view &Data, ValueMap &VMap,
+
19 EnvMap &EMap) {
+
20 auto Hdr = eat<NodeHeader>(Data);
+
21 switch (Hdr.Kind) {
+
22 case EK_Int: {
+
23 return Pool.record(
+
24 new HookExprInt(eatExprInt(Data), VMap, EMap, Hdr.Handle));
+
25 }
+
26 default:
+
27 break;
+
28 }
+
29 assert(false && "Unknown hookable kind");
+
30 __builtin_unreachable();
+
31 return nullptr;
+
32}
+
+
33
+
+
34nix::Symbol ASTDeserializer::eatSymbol(std::string_view &Data) {
+
35 return Ctx.STable.create(eat<std::string>(Data));
+
36}
+
+
37
+
+
38nix::ExprInt ASTDeserializer::eatExprInt(std::string_view &Data) {
+
39 return {eat<NixInt>(Data)};
+
40}
+
+
41
+
+ +
43 std::string_view BasePath,
+
44 const nix::Pos::Origin &Origin) {
+
45 auto Base = State.rootPath(nix::CanonPath(BasePath));
+
46 const nix::ref<nix::InputAccessor> RootFS = State.rootFS;
+
47
+
48 // Filling the context.
+
49 // These are required for constructing evaluable nix ASTs
+
50 return {.STable = State.symbols,
+
51 .PTable = State.positions,
+
52 .BasePath = Base,
+
53 .RootFS = RootFS,
+
54 .Origin = Origin};
+
55}
+
+
56
+
+
57nix::Expr *deserializeHookable(std::string_view &Data, DeserializeContext &Ctx,
+
58 PtrPool<nix::Expr> &Pool, ValueMap &VMap,
+
59 EnvMap &EMap) {
+
60 // Deserialize "Hookable"
+
61 ASTDeserializer D(Ctx, Pool);
+
62 return D.eatHookable(Data, VMap, EMap);
+
63}
+
+
64
+
65} // namespace nixt
+ + + + + + + + +
nix::Expr * eatHookable(std::string_view &Data, ValueMap &VMap, EnvMap &EMap)
Definition ASTReader.cpp:18
+
nix::ExprInt eatExprInt(std::string_view &Data)
Definition ASTReader.cpp:38
+
nix::Symbol eatSymbol(std::string_view &Data)
Definition ASTReader.cpp:34
+ + + +
Access ParseCache in nix::EvalState.
Definition ArrayRef.h:7
+
std::map< std::uintptr_t, nix::Env * > EnvMap
Definition HookExpr.h:10
+
DeserializeContext getDeserializeContext(nix::EvalState &State, std::string_view BasePath, const nix::Pos::Origin &Origin)
Stable API wrapper around official nix.
Definition ASTReader.cpp:42
+
std::map< std::uintptr_t, nix::Value > ValueMap
Definition HookExpr.h:9
+
nix::Expr * deserializeHookable(std::string_view &Data, DeserializeContext &Ctx, PtrPool< nix::Expr > &Pool, ValueMap &VMap, EnvMap &EMap)
Definition ASTReader.cpp:57
+
API Wrapper around nix::
Definition Deserialize.h:16
+
nix::SymbolTable & STable
Definition Deserialize.h:17
+
A simple pointer pool, a vector of unique_ptrs.
Definition PtrPool.h:22
+
U * record(U *Node)
Takes ownership from a raw pointer.
Definition PtrPool.h:35
+
+ + + + diff --git a/ASTReader_8h.html b/ASTReader_8h.html new file mode 100644 index 000000000..94a8ac56d --- /dev/null +++ b/ASTReader_8h.html @@ -0,0 +1,109 @@ + + + + + + + +nixd: ASTReader.h File Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
ASTReader.h File Reference
+
+
+
#include "nixt/Deserialize.h"
+#include "nixt/HookExpr.h"
+#include "nixt/PtrPool.h"
+#include <bc/Read.h>
+#include <nix/nixexpr.hh>
+
+

Go to the source code of this file.

+ + + + +

+Classes

class  nixt::ASTDeserializer
 
+ + + + +

+Namespaces

namespace  nixt
 Access ParseCache in nix::EvalState.
 
+
+ + + + diff --git a/ASTReader_8h_source.html b/ASTReader_8h_source.html new file mode 100644 index 000000000..edeacdf3c --- /dev/null +++ b/ASTReader_8h_source.html @@ -0,0 +1,141 @@ + + + + + + + +nixd: ASTReader.h Source File + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
ASTReader.h
+
+
+Go to the documentation of this file.
1#pragma once
+
2
+
3#include "nixt/Deserialize.h"
+
4#include "nixt/HookExpr.h"
+
5#include "nixt/PtrPool.h"
+
6
+
7#include <bc/Read.h>
+
8
+
9#include <nix/nixexpr.hh>
+
10
+
11namespace nixt {
+
12
+
+ + + +
16
+
17 template <class T> T eat(std::string_view &Data) { return bc::eat<T>(Data); }
+
18
+
19public:
+
+ +
21 : Ctx(Ctx), Pool(Pool) {}
+
+
22
+
23 nix::Expr *eatHookable(std::string_view &Data, ValueMap &VMap, EnvMap &EMap);
+
24
+
25 nix::Symbol eatSymbol(std::string_view &Data);
+
26
+
27 nix::ExprInt eatExprInt(std::string_view &Data);
+
28};
+
+
29
+
30} // namespace nixt
+ + +
Pointer pool, for RAII memory management.
+ + +
nix::Expr * eatHookable(std::string_view &Data, ValueMap &VMap, EnvMap &EMap)
Definition ASTReader.cpp:18
+
ASTDeserializer(DeserializeContext &Ctx, PtrPool< nix::Expr > &Pool)
Definition ASTReader.h:20
+
nix::ExprInt eatExprInt(std::string_view &Data)
Definition ASTReader.cpp:38
+
nix::Symbol eatSymbol(std::string_view &Data)
Definition ASTReader.cpp:34
+
T eat(std::string_view &Data)
Definition Read.h:38
+
Access ParseCache in nix::EvalState.
Definition ArrayRef.h:7
+
std::map< std::uintptr_t, nix::Env * > EnvMap
Definition HookExpr.h:10
+
std::map< std::uintptr_t, nix::Value > ValueMap
Definition HookExpr.h:9
+
API Wrapper around nix::
Definition Deserialize.h:16
+
A simple pointer pool, a vector of unique_ptrs.
Definition PtrPool.h:22
+
+ + + + diff --git a/ArrayRef_8h.html b/ArrayRef_8h.html new file mode 100644 index 000000000..46c78e47f --- /dev/null +++ b/ArrayRef_8h.html @@ -0,0 +1,141 @@ + + + + + + + +nixd: ArrayRef.h File Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
ArrayRef.h File Reference
+
+
+ +

ArrayRef, BytesRef, and related functions. +More...

+
#include <string_view>
+
+

Go to the source code of this file.

+ + + + + +

+Classes

struct  nixt::ArrayRef< T >
 Weak reference to an array, with begin and end pointers. More...
 
+ + + + +

+Namespaces

namespace  nixt
 Access ParseCache in nix::EvalState.
 
+ + + +

+Typedefs

using nixt::BytesRef = ArrayRef<char>
 
+ + + + + + + + + + + + + + + + + + + +

+Functions

template<class T >
const T * nixt::begin (ArrayRef< T > B)
 Iterator begin. Used for range-based-for
 
template<class T >
const T * nixt::end (ArrayRef< T > B)
 Iterator end.
 
std::string_view nixt::view (BytesRef B)
 
template<class T >
ArrayRef< T > nixt::advance (ArrayRef< T > B, long Offset)
 Advance the beginning pointer of bytes array.
 
template<class T >
std::size_t nixt::lengthof (ArrayRef< T > B)
 Get length of this array.
 
+

Detailed Description

+

ArrayRef, BytesRef, and related functions.

+ +

Definition in file ArrayRef.h.

+
+ + + + diff --git a/ArrayRef_8h_source.html b/ArrayRef_8h_source.html new file mode 100644 index 000000000..0042493e9 --- /dev/null +++ b/ArrayRef_8h_source.html @@ -0,0 +1,144 @@ + + + + + + + +nixd: ArrayRef.h Source File + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
ArrayRef.h
+
+
+Go to the documentation of this file.
1/// \file
+
2/// \brief `ArrayRef`, `BytesRef`, and related functions.
+
3#pragma once
+
4
+
5#include <string_view>
+
6
+
+
7namespace nixt {
+
8
+
9/// \brief Weak reference to an array, with begin and end pointers.
+
10/// \note Please always pass/return by value and don't add member functions.
+
+
11template <class T> struct ArrayRef {
+
12 const T *Begin;
+
13 const T *End;
+
14};
+
+
15
+ +
17
+
18/// \brief Iterator begin. Used for `range-based-for`
+
19template <class T> inline const T *begin(ArrayRef<T> B) { return B.Begin; }
+
20
+
21/// \brief Iterator end.
+
22template <class T> inline const T *end(ArrayRef<T> B) { return B.End; }
+
23
+
24inline std::string_view view(BytesRef B) { return {B.Begin, B.End}; }
+
25
+
26/// \brief Advance the beginning pointer of bytes array.
+
+
27template <class T> inline ArrayRef<T> advance(ArrayRef<T> B, long Offset) {
+
28 return {B.Begin + Offset, B.End};
+
29}
+
+
30/// \brief Get length of this array.
+
+
31template <class T> inline std::size_t lengthof(ArrayRef<T> B) {
+
32 return B.End - B.Begin;
+
33}
+
+
34
+
35} // namespace nixt
+
+
Access ParseCache in nix::EvalState.
Definition ArrayRef.h:7
+
const T * begin(ArrayRef< T > B)
Iterator begin. Used for range-based-for
Definition ArrayRef.h:19
+
std::string_view view(BytesRef B)
Definition ArrayRef.h:24
+
ArrayRef< T > advance(ArrayRef< T > B, long Offset)
Advance the beginning pointer of bytes array.
Definition ArrayRef.h:27
+
const T * end(ArrayRef< T > B)
Iterator end.
Definition ArrayRef.h:22
+
std::size_t lengthof(ArrayRef< T > B)
Get length of this array.
Definition ArrayRef.h:31
+
Weak reference to an array, with begin and end pointers.
Definition ArrayRef.h:11
+
const T * End
Definition ArrayRef.h:13
+
const T * Begin
Definition ArrayRef.h:12
+
+ + + + diff --git a/Attrs_8h.html b/Attrs_8h.html new file mode 100644 index 000000000..06d2c13d9 --- /dev/null +++ b/Attrs_8h.html @@ -0,0 +1,121 @@ + + + + + + + +nixd: Attrs.h File Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
Attrs.h File Reference
+
+
+
#include "Basic.h"
+#include "Simple.h"
+#include <map>
+
+

Go to the source code of this file.

+ + + + + + + + + + + + + + + + + + + +

+Classes

class  nixf::AttrName
 
class  nixf::AttrPath
 
class  nixf::Binding
 
class  nixf::Inherit
 
class  nixf::Binds
 
class  nixf::Attribute
 
class  nixf::SemaAttrs
 Attribute set after deduplication. More...
 
class  nixf::ExprAttrs
 
+ + + +

+Namespaces

namespace  nixf
 
+
+ + + + diff --git a/Attrs_8h_source.html b/Attrs_8h_source.html new file mode 100644 index 000000000..fd9141c14 --- /dev/null +++ b/Attrs_8h_source.html @@ -0,0 +1,521 @@ + + + + + + + +nixd: Attrs.h Source File + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Attrs.h
+
+
+Go to the documentation of this file.
1#pragma once
+
2
+
3#include "Basic.h"
+
4#include "Simple.h"
+
5
+
6#include <map>
+
7
+
8namespace nixf {
+
9
+
+
10class AttrName : public Node {
+
11public:
+ +
13
+
14private:
+
15 AttrNameKind Kind;
+
16 std::shared_ptr<Identifier> ID;
+
17 std::shared_ptr<ExprString> String;
+
18 std::shared_ptr<Interpolation> Interp;
+
19
+
20public:
+
21 [[nodiscard]] AttrNameKind kind() const { return Kind; }
+
22
+
+
23 AttrName(std::shared_ptr<Identifier> ID, LexerCursorRange Range)
+
24 : Node(NK_AttrName, Range), Kind(ANK_ID) {
+
25 this->ID = std::move(ID);
+
26 assert(this->ID && "ID must not be null");
+
27 }
+
+
28
+
+
29 AttrName(std::shared_ptr<ExprString> String)
+
30 : Node(NK_AttrName, String->range()), Kind(ANK_String),
+
31 String(std::move(String)) {
+
32 assert(this->String && "String must not be null");
+
33 }
+
+
34
+
+
35 AttrName(std::shared_ptr<Interpolation> Interp)
+
36 : Node(NK_AttrName, Interp->range()), Kind(ANK_Interpolation),
+
37 Interp(std::move(Interp)) {
+
38 assert(this->Interp && "Interpolation must not be null");
+
39 }
+
+
40
+
+
41 [[nodiscard]] bool isStatic() const {
+
42 if (Kind == ANK_ID)
+
43 return true;
+
44 if (Kind == ANK_Interpolation)
+
45 return false;
+
46
+
47 assert(Kind == ANK_String);
+
48 return string().isLiteral();
+
49 }
+
+
50
+
+
51 [[nodiscard]] const std::string &staticName() const {
+
52 assert(isStatic() && "must be static");
+
53 if (Kind == ANK_ID)
+
54 return id()->name();
+
55 assert(Kind == ANK_String);
+
56 return string().literal();
+
57 }
+
+
58
+
+
59 [[nodiscard]] const Interpolation &interpolation() const {
+
60 assert(Kind == ANK_Interpolation);
+
61 assert(Interp && "Interpolation must not be null");
+
62 return *Interp;
+
63 }
+
+
64
+
+
65 [[nodiscard]] const std::shared_ptr<Identifier> &id() const {
+
66 assert(Kind == ANK_ID);
+
67 return ID;
+
68 }
+
+
69
+
+
70 [[nodiscard]] std::shared_ptr<Identifier> &id() {
+
71 assert(Kind == ANK_ID);
+
72 return ID;
+
73 }
+
+
74
+
+
75 [[nodiscard]] const ExprString &string() const {
+
76 assert(Kind == ANK_String);
+
77 assert(String && "String must not be null");
+
78 return *String;
+
79 }
+
+
80
+
+
81 [[nodiscard]] ChildVector children() const override {
+
82 switch (Kind) {
+
83 case ANK_ID:
+
84 return {ID.get()};
+
85 case ANK_String:
+
86 return {String.get()};
+ +
88 return {Interp.get()};
+
89 default:
+
90 assert(false && "invalid AttrNameKind");
+
91 }
+
92 __builtin_unreachable();
+
93 }
+
+
94};
+
+
95
+
+
96class AttrPath : public Node {
+
97 std::vector<std::shared_ptr<AttrName>> Names;
+
98
+
99public:
+
+
100 AttrPath(LexerCursorRange Range, std::vector<std::shared_ptr<AttrName>> Names)
+
101 : Node(NK_AttrPath, Range), Names(std::move(Names)) {}
+
+
102
+
+
103 [[nodiscard]] const std::vector<std::shared_ptr<AttrName>> &names() const {
+
104 return Names;
+
105 }
+
+
106
+
+
107 [[nodiscard]] ChildVector children() const override {
+
108 ChildVector Children;
+
109 Children.reserve(Names.size());
+
110 for (const auto &Name : Names) {
+
111 Children.push_back(Name.get());
+
112 }
+
113 return Children;
+
114 }
+
+
115};
+
+
116
+
+
117class Binding : public Node {
+
118 std::shared_ptr<AttrPath> Path;
+
119 std::shared_ptr<Expr> Value;
+
120
+
121public:
+
+
122 Binding(LexerCursorRange Range, std::shared_ptr<AttrPath> Path,
+
123 std::shared_ptr<Expr> Value)
+
124 : Node(NK_Binding, Range), Path(std::move(Path)),
+
125 Value(std::move(Value)) {
+
126 assert(this->Path && "Path must not be null");
+
127 // Value can be null, if missing in the syntax.
+
128 }
+
+
129
+
+
130 [[nodiscard]] const AttrPath &path() const {
+
131 assert(Path && "Path must not be null");
+
132 return *Path;
+
133 }
+
+
134
+
135 [[nodiscard]] const std::shared_ptr<Expr> &value() const { return Value; }
+
136
+
137 [[nodiscard]] std::shared_ptr<Expr> &value() { return Value; }
+
138
+
+
139 [[nodiscard]] ChildVector children() const override {
+
140 return {Path.get(), Value.get()};
+
141 }
+
+
142};
+
+
143
+
+
144class Inherit : public Node {
+
145 std::vector<std::shared_ptr<AttrName>> Names;
+
146 std::shared_ptr<Expr> E;
+
147
+
148public:
+
+
149 Inherit(LexerCursorRange Range, std::vector<std::shared_ptr<AttrName>> Names,
+
150 std::shared_ptr<Expr> E)
+
151 : Node(NK_Inherit, Range), Names(std::move(Names)), E(std::move(E)) {}
+
+
152
+
+
153 [[nodiscard]] const std::vector<std::shared_ptr<AttrName>> &names() const {
+
154 return Names;
+
155 }
+
+
156
+
157 [[nodiscard]] bool hasExpr() { return E != nullptr; }
+
158
+
159 [[nodiscard]] std::shared_ptr<Expr> &expr() { return E; }
+
160
+
161 [[nodiscard]] const std::shared_ptr<Expr> &expr() const { return E; }
+
162
+
+
163 [[nodiscard]] ChildVector children() const override {
+
164 ChildVector Children;
+
165 Children.reserve(Names.size() + 1);
+
166 for (const auto &Name : Names) {
+
167 Children.push_back(Name.get());
+
168 }
+
169 Children.push_back(E.get());
+
170 return Children;
+
171 }
+
+
172};
+
+
173
+
+
174class Binds : public Node {
+
175 std::vector<std::shared_ptr<Node>> Bindings;
+
176
+
177public:
+
+
178 Binds(LexerCursorRange Range, std::vector<std::shared_ptr<Node>> Bindings)
+
179 : Node(NK_Binds, Range), Bindings(std::move(Bindings)) {}
+
+
180
+
+
181 [[nodiscard]] const std::vector<std::shared_ptr<Node>> &bindings() const {
+
182 return Bindings;
+
183 }
+
+
184
+
+
185 [[nodiscard]] ChildVector children() const override {
+
186 ChildVector Children;
+
187 Children.reserve(Bindings.size());
+
188 for (const auto &Binding : Bindings) {
+
189 Children.push_back(Binding.get());
+
190 }
+
191 return Children;
+
192 }
+
+
193};
+
+
194
+
+ +
196 std::shared_ptr<Node> Key;
+
197 std::shared_ptr<Expr> Value;
+
198 bool FromInherit;
+
199
+
200public:
+
201 Attribute() = default;
+
+
202 Attribute(std::shared_ptr<Node> Key, std::shared_ptr<Expr> Value,
+
203 bool FromInherit)
+
204 : Key(std::move(Key)), Value(std::move(Value)), FromInherit(FromInherit) {
+
205 assert(this->Key && "Key must not be null");
+
206 }
+
+
207
+
208 [[nodiscard]] std::shared_ptr<Node> &key() { return Key; }
+
209
+
210 [[nodiscard]] const std::shared_ptr<Node> &key() const { return Key; }
+
211
+
212 [[nodiscard]] std::shared_ptr<Expr> &value() { return Value; }
+
213
+
214 [[nodiscard]] const std::shared_ptr<Expr> &value() const { return Value; }
+
215
+
216 [[nodiscard]] bool fromInherit() const { return FromInherit; }
+
217};
+
+
218
+
219/// \brief Attribute set after deduplication.
+
220///
+
221/// Represeting the attribute set suitable for variable lookups, evaluation.
+
222///
+
223/// The attrset cannot have duplicate keys, and keys will be desugared to strict
+
224/// K-V form.
+
225///
+
226/// e.g. `{ a.b.c = 1 }` -> `{ a = { b = { c = 1; }; }; }`
+
+ +
228private:
+
229 std::map<std::string, Attribute> Static;
+
230 std::vector<Attribute> Dynamic;
+
231
+
232 Misc *Recursive;
+
233
+
234 friend class Sema;
+
235
+
236public:
+
237 SemaAttrs(Misc *Recursive) : Recursive(Recursive) {}
+
+
238 SemaAttrs(std::map<std::string, Attribute> Static,
+
239 std::vector<Attribute> Dynamic, Misc *Recursive)
+
240 : Static(std::move(Static)), Dynamic(std::move(Dynamic)),
+
241 Recursive(Recursive) {}
+
+
242
+
243 /// \brief Static attributes, do not require evaluation to get the key.
+
244 ///
+
245 /// e.g. `{ a = 1; b = 2; }`
+
+
246 [[nodiscard]] const std::map<std::string, Attribute> &staticAttrs() const {
+
247 return Static;
+
248 }
+
+
249
+
250 /// \brief Dynamic attributes, require evaluation to get the key.
+
251 ///
+
252 /// e.g. `{ "${asdasda}" = "asdasd"; }`
+
+
253 [[nodiscard]] const std::vector<Attribute> &dynamicAttrs() const {
+
254 return Dynamic;
+
255 }
+
+
256
+
257 /// \brief If the attribute set is `rec`.
+
258 [[nodiscard]] bool isRecursive() const { return Recursive; }
+
259};
+
+
260
+
+
261class ExprAttrs : public Expr {
+
262 const std::shared_ptr<Binds> Body;
+
263 const std::shared_ptr<Misc> Rec;
+
264 SemaAttrs SA; // Let this mutable for "Sema" class only.
+
265 friend class Sema;
+
266
+
267public:
+
+
268 ExprAttrs(LexerCursorRange Range, std::shared_ptr<Binds> Body,
+
269 std::shared_ptr<Misc> Rec, SemaAttrs SA)
+
270 : Expr(NK_ExprAttrs, Range), Body(std::move(Body)), Rec(std::move(Rec)),
+
271 SA(std::move(SA)) {}
+
+
272
+
273 [[nodiscard]] const Binds *binds() const { return Body.get(); }
+
274 [[nodiscard]] const Misc *rec() const { return Rec.get(); }
+
275
+
276 [[nodiscard]] bool isRecursive() const { return Rec != nullptr; }
+
277
+
278 [[nodiscard]] const SemaAttrs &sema() const { return SA; }
+
279
+
+
280 [[nodiscard]] ChildVector children() const override {
+
281 return {Body.get(), Rec.get()};
+
282 }
+
+
283};
+
+
284
+
285} // namespace nixf
+ + + +
std::shared_ptr< Identifier > & id()
Definition Attrs.h:70
+
const std::string & staticName() const
Definition Attrs.h:51
+
AttrName(std::shared_ptr< Interpolation > Interp)
Definition Attrs.h:35
+
const std::shared_ptr< Identifier > & id() const
Definition Attrs.h:65
+
AttrName(std::shared_ptr< ExprString > String)
Definition Attrs.h:29
+
AttrNameKind kind() const
Definition Attrs.h:21
+
const ExprString & string() const
Definition Attrs.h:75
+
bool isStatic() const
Definition Attrs.h:41
+
const Interpolation & interpolation() const
Definition Attrs.h:59
+
ChildVector children() const override
Definition Attrs.h:81
+ +
@ ANK_Interpolation
Definition Attrs.h:12
+ + +
AttrName(std::shared_ptr< Identifier > ID, LexerCursorRange Range)
Definition Attrs.h:23
+ +
ChildVector children() const override
Definition Attrs.h:107
+
AttrPath(LexerCursorRange Range, std::vector< std::shared_ptr< AttrName > > Names)
Definition Attrs.h:100
+
const std::vector< std::shared_ptr< AttrName > > & names() const
Definition Attrs.h:103
+ +
const std::shared_ptr< Expr > & value() const
Definition Attrs.h:214
+
std::shared_ptr< Expr > & value()
Definition Attrs.h:212
+
bool fromInherit() const
Definition Attrs.h:216
+
Attribute()=default
+
std::shared_ptr< Node > & key()
Definition Attrs.h:208
+
Attribute(std::shared_ptr< Node > Key, std::shared_ptr< Expr > Value, bool FromInherit)
Definition Attrs.h:202
+
const std::shared_ptr< Node > & key() const
Definition Attrs.h:210
+ +
std::shared_ptr< Expr > & value()
Definition Attrs.h:137
+
const AttrPath & path() const
Definition Attrs.h:130
+
Binding(LexerCursorRange Range, std::shared_ptr< AttrPath > Path, std::shared_ptr< Expr > Value)
Definition Attrs.h:122
+
ChildVector children() const override
Definition Attrs.h:139
+
const std::shared_ptr< Expr > & value() const
Definition Attrs.h:135
+ +
ChildVector children() const override
Definition Attrs.h:185
+
Binds(LexerCursorRange Range, std::vector< std::shared_ptr< Node > > Bindings)
Definition Attrs.h:178
+
const std::vector< std::shared_ptr< Node > > & bindings() const
Definition Attrs.h:181
+ +
bool isRecursive() const
Definition Attrs.h:276
+
ChildVector children() const override
Definition Attrs.h:280
+
const SemaAttrs & sema() const
Definition Attrs.h:278
+
const Misc * rec() const
Definition Attrs.h:274
+
ExprAttrs(LexerCursorRange Range, std::shared_ptr< Binds > Body, std::shared_ptr< Misc > Rec, SemaAttrs SA)
Definition Attrs.h:268
+
const Binds * binds() const
Definition Attrs.h:273
+ +
bool isLiteral() const
Definition Simple.h:123
+
const std::string & literal() const
Definition Simple.h:128
+ + +
std::shared_ptr< Expr > & expr()
Definition Attrs.h:159
+
const std::shared_ptr< Expr > & expr() const
Definition Attrs.h:161
+
const std::vector< std::shared_ptr< AttrName > > & names() const
Definition Attrs.h:153
+
ChildVector children() const override
Definition Attrs.h:163
+
bool hasExpr()
Definition Attrs.h:157
+
Inherit(LexerCursorRange Range, std::vector< std::shared_ptr< AttrName > > Names, std::shared_ptr< Expr > E)
Definition Attrs.h:149
+
${expr} construct
Definition Simple.h:38
+ +
Misc node, used for parentheses, keywords, etc.
Definition Basic.h:106
+ +
boost::container::small_vector< Node *, 8 > ChildVector
Definition Basic.h:42
+
LexerCursorRange range() const
Definition Basic.h:35
+
Attribute set after deduplication.
Definition Attrs.h:227
+
SemaAttrs(std::map< std::string, Attribute > Static, std::vector< Attribute > Dynamic, Misc *Recursive)
Definition Attrs.h:238
+
SemaAttrs(Misc *Recursive)
Definition Attrs.h:237
+
bool isRecursive() const
If the attribute set is rec.
Definition Attrs.h:258
+
const std::vector< Attribute > & dynamicAttrs() const
Dynamic attributes, require evaluation to get the key.
Definition Attrs.h:253
+
const std::map< std::string, Attribute > & staticAttrs() const
Static attributes, do not require evaluation to get the key.
Definition Attrs.h:246
+ + +
+ + + + diff --git a/AutoCloseFD_8cpp.html b/AutoCloseFD_8cpp.html new file mode 100644 index 000000000..773ff6fec --- /dev/null +++ b/AutoCloseFD_8cpp.html @@ -0,0 +1,101 @@ + + + + + + + +nixd: AutoCloseFD.cpp File Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
AutoCloseFD.cpp File Reference
+
+
+
#include "nixd/util/AutoCloseFD.h"
+#include <unistd.h>
+
+

Go to the source code of this file.

+ + + + + + +

+Namespaces

namespace  nixd
 
namespace  nixd::util
 
+
+ + + + diff --git a/AutoCloseFD_8cpp_source.html b/AutoCloseFD_8cpp_source.html new file mode 100644 index 000000000..9b716a954 --- /dev/null +++ b/AutoCloseFD_8cpp_source.html @@ -0,0 +1,131 @@ + + + + + + + +nixd: AutoCloseFD.cpp Source File + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
AutoCloseFD.cpp
+
+
+Go to the documentation of this file.
+
2
+
3#include <unistd.h>
+
4
+
5namespace nixd::util {
+
6
+
+ +
8 if (FD != ReleasedFD) [[likely]]
+
9 close(FD);
+
10}
+
+
11
+
+
12AutoCloseFD::AutoCloseFD(AutoCloseFD &&That) noexcept : FD(That.get()) {
+
13 That.release();
+
14}
+
+
15
+
16AutoCloseFD::FDTy AutoCloseFD::get() const { return FD; }
+
17
+
18void AutoCloseFD::release() { FD = ReleasedFD; }
+
19
+
20bool AutoCloseFD::isReleased(FDTy FD) { return FD == ReleasedFD; }
+
21
+
22bool AutoCloseFD::isReleased() const { return isReleased(FD); }
+
23
+ +
25
+
26} // namespace nixd::util
+ +
File Descriptor RAII wrapper.
Definition AutoCloseFD.h:9
+ + + + + + + +
+ + + + diff --git a/AutoCloseFD_8h.html b/AutoCloseFD_8h.html new file mode 100644 index 000000000..c525e1a4e --- /dev/null +++ b/AutoCloseFD_8h.html @@ -0,0 +1,108 @@ + + + + + + + +nixd: AutoCloseFD.h File Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
AutoCloseFD.h File Reference
+
+
+
#include <cerrno>
+#include <optional>
+
+

Go to the source code of this file.

+ + + + + +

+Classes

class  nixd::util::AutoCloseFD
 File Descriptor RAII wrapper. More...
 
+ + + + + +

+Namespaces

namespace  nixd
 
namespace  nixd::util
 
+
+ + + + diff --git a/AutoCloseFD_8h_source.html b/AutoCloseFD_8h_source.html new file mode 100644 index 000000000..1f99c7fac --- /dev/null +++ b/AutoCloseFD_8h_source.html @@ -0,0 +1,136 @@ + + + + + + + +nixd: AutoCloseFD.h Source File + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
AutoCloseFD.h
+
+
+Go to the documentation of this file.
1#pragma once
+
2
+
3#include <cerrno>
+
4#include <optional>
+
5
+
+
6namespace nixd::util {
+
7
+
8/// \brief File Descriptor RAII wrapper
+
+ +
10public:
+
11 using FDTy = int;
+
12
+
13private:
+
14 static constexpr FDTy ReleasedFD = -EBADF;
+
15 FDTy FD;
+
16
+
17public:
+
18 AutoCloseFD(FDTy FD);
+
19 AutoCloseFD(const AutoCloseFD &) = delete;
+
20 AutoCloseFD(AutoCloseFD &&That) noexcept;
+
21
+
22 [[nodiscard]] bool isReleased() const;
+
23 static bool isReleased(FDTy FD);
+
24
+ +
26
+
27 [[nodiscard]] FDTy get() const;
+
28 void release();
+
29};
+
+
30
+
31} // namespace nixd::util
+
+
File Descriptor RAII wrapper.
Definition AutoCloseFD.h:9
+ +
AutoCloseFD(const AutoCloseFD &)=delete
+ + + + + + +
+ + + + diff --git a/AutoHUPPID_8h.html b/AutoHUPPID_8h.html new file mode 100644 index 000000000..f730a8b89 --- /dev/null +++ b/AutoHUPPID_8h.html @@ -0,0 +1,107 @@ + + + + + + + +nixd: AutoHUPPID.h File Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
AutoHUPPID.h File Reference
+
+
+
#include <csignal>
+#include <sched.h>
+
+

Go to the source code of this file.

+ + + + +

+Classes

class  nixd::util::AutoHUPPID
 
+ + + + + +

+Namespaces

namespace  nixd
 
namespace  nixd::util
 
+
+ + + + diff --git a/AutoHUPPID_8h_source.html b/AutoHUPPID_8h_source.html new file mode 100644 index 000000000..8b1b3e2fd --- /dev/null +++ b/AutoHUPPID_8h_source.html @@ -0,0 +1,116 @@ + + + + + + + +nixd: AutoHUPPID.h Source File + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
AutoHUPPID.h
+
+
+Go to the documentation of this file.
1#include <csignal>
+
2
+
3#include <sched.h>
+
4
+
5namespace nixd::util {
+
6
+
+
7class AutoHUPPID {
+
8 pid_t Pid;
+
9
+
10public:
+
11 AutoHUPPID(pid_t Pid) noexcept : Pid(Pid) {}
+
12
+
13 ~AutoHUPPID() { kill(Pid, SIGKILL); }
+
14
+
15 operator pid_t() const { return Pid; }
+
16};
+
+
17
+
18} // namespace nixd::util
+ + +
AutoHUPPID(pid_t Pid) noexcept
Definition AutoHUPPID.h:11
+ +
+ + + + diff --git a/AutoRemoveShm_8cpp.html b/AutoRemoveShm_8cpp.html new file mode 100644 index 000000000..5a2a303c2 --- /dev/null +++ b/AutoRemoveShm_8cpp.html @@ -0,0 +1,100 @@ + + + + + + + +nixd: AutoRemoveShm.cpp File Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
AutoRemoveShm.cpp File Reference
+
+
+ +

Go to the source code of this file.

+ + + + + + +

+Namespaces

namespace  nixd
 
namespace  nixd::util
 
+
+ + + + diff --git a/AutoRemoveShm_8cpp_source.html b/AutoRemoveShm_8cpp_source.html new file mode 100644 index 000000000..7e24a8b59 --- /dev/null +++ b/AutoRemoveShm_8cpp_source.html @@ -0,0 +1,111 @@ + + + + + + + +nixd: AutoRemoveShm.cpp Source File + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
AutoRemoveShm.cpp
+
+
+Go to the documentation of this file.
+
2
+
3namespace nixd::util {
+
4
+
+
5AutoRemoveShm::AutoRemoveShm(std::string ShmName,
+
6 boost::interprocess::offset_t Size)
+
7 : ShmName(std::move(ShmName)) {
+
8 Shm = boost::interprocess::shared_memory_object(
+
9 boost::interprocess::open_or_create, this->ShmName.c_str(),
+
10 boost::interprocess::read_write);
+
11 Shm.truncate(Size);
+
12}
+
+
13
+
14} // namespace nixd::util
+ +
AutoRemoveShm(std::string ShmName, boost::interprocess::offset_t Size)
+ +
+ + + + diff --git a/AutoRemoveShm_8h.html b/AutoRemoveShm_8h.html new file mode 100644 index 000000000..c7964721d --- /dev/null +++ b/AutoRemoveShm_8h.html @@ -0,0 +1,107 @@ + + + + + + + +nixd: AutoRemoveShm.h File Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
AutoRemoveShm.h File Reference
+
+
+
#include <boost/interprocess/shared_memory_object.hpp>
+
+

Go to the source code of this file.

+ + + + + +

+Classes

class  nixd::util::AutoRemoveShm
 Shared memory object, the object will be removed in dtor. More...
 
+ + + + + +

+Namespaces

namespace  nixd
 
namespace  nixd::util
 
+
+ + + + diff --git a/AutoRemoveShm_8h_source.html b/AutoRemoveShm_8h_source.html new file mode 100644 index 000000000..96756dc3b --- /dev/null +++ b/AutoRemoveShm_8h_source.html @@ -0,0 +1,122 @@ + + + + + + + +nixd: AutoRemoveShm.h Source File + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
AutoRemoveShm.h
+
+
+Go to the documentation of this file.
1#pragma once
+
2
+
3#include <boost/interprocess/shared_memory_object.hpp>
+
4
+
5namespace nixd::util {
+
6
+
7/// Shared memory object, the object will be removed in dtor.
+
+ +
9 boost::interprocess::shared_memory_object Shm;
+
10 std::string ShmName;
+
11
+
12public:
+
13 AutoRemoveShm(std::string ShmName, boost::interprocess::offset_t Size);
+
14
+
15 ~AutoRemoveShm() { Shm.remove(ShmName.c_str()); }
+
16
+
17 [[nodiscard]] const std::string &shmName() const { return ShmName; }
+
18
+
19 boost::interprocess::shared_memory_object &get() { return Shm; }
+
20};
+
+
21
+
22} // namespace nixd::util
+
Shared memory object, the object will be removed in dtor.
+
boost::interprocess::shared_memory_object & get()
+ +
AutoRemoveShm(std::string ShmName, boost::interprocess::offset_t Size)
+
const std::string & shmName() const
+ +
+ + + + diff --git a/Basic_8h.html b/Basic_8h.html new file mode 100644 index 000000000..1eaedd228 --- /dev/null +++ b/Basic_8h.html @@ -0,0 +1,163 @@ + + + + + + + +nixd: Basic.h File Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
Basic.h File Reference
+
+
+
#include "nixf/Basic/Range.h"
+#include <boost/container/small_vector.hpp>
+#include <cassert>
+#include <string>
+#include "nixf/Basic/NodeKinds.inc"
+
+

Go to the source code of this file.

+ + + + + + + + + + + + +

+Classes

class  nixf::Node
 
class  nixf::Expr
 
class  nixf::Misc
 Misc node, used for parentheses, keywords, etc. More...
 
class  nixf::Identifier
 Identifier. Variable names, attribute names, etc. More...
 
+ + + +

+Namespaces

namespace  nixf
 
+ + + + + +

+Macros

#define NODE(NAME)   NK_##NAME,
 
#define EXPR(NAME)   NK_##NAME,
 
+

Macro Definition Documentation

+ +

◆ EXPR

+ +
+
+ + + + + + + +
#define EXPR( NAME)   NK_##NAME,
+
+ +

Definition at line 19 of file Basic.h.

+ +
+
+ +

◆ NODE

+ +
+
+ + + + + + + +
#define NODE( NAME)   NK_##NAME,
+
+ +

Definition at line 15 of file Basic.h.

+ +
+
+
+ + + + diff --git a/Basic_8h_source.html b/Basic_8h_source.html new file mode 100644 index 000000000..307e0d3a6 --- /dev/null +++ b/Basic_8h_source.html @@ -0,0 +1,280 @@ + + + + + + + +nixd: Basic.h Source File + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Basic.h
+
+
+Go to the documentation of this file.
1#pragma once
+
2
+
3#include "nixf/Basic/Range.h"
+
4
+
5#include <boost/container/small_vector.hpp>
+
6
+
7#include <cassert>
+
8#include <string>
+
9
+
10namespace nixf {
+
11
+
+
12class Node {
+
13public:
+
+
14 enum NodeKind {
+
15#define NODE(NAME) NK_##NAME,
+ +
17#undef NODE
+ +
19#define EXPR(NAME) NK_##NAME,
+ +
21#undef EXPR
+ +
23 };
+
+
24
+
25private:
+
26 NodeKind Kind;
+
27 LexerCursorRange Range;
+
28
+
29protected:
+
+
30 explicit Node(NodeKind Kind, LexerCursorRange Range)
+
31 : Kind(Kind), Range(Range) {}
+
+
32
+
33public:
+
34 [[nodiscard]] NodeKind kind() const { return Kind; }
+
35 [[nodiscard]] LexerCursorRange range() const { return Range; }
+
36 [[nodiscard]] PositionRange positionRange() const { return Range.range(); }
+
37 [[nodiscard]] LexerCursor lCur() const { return Range.lCur(); }
+
38 [[nodiscard]] LexerCursor rCur() const { return Range.rCur(); }
+
39 [[nodiscard]] static const char *name(NodeKind Kind);
+
40 [[nodiscard]] const char *name() const { return name(Kind); }
+
41
+
42 using ChildVector = boost::container::small_vector<Node *, 8>;
+
43
+
44 [[nodiscard]] virtual ChildVector children() const = 0;
+
45
+
46 virtual ~Node() = default;
+
47
+
48 /// \brief Descendant node that contains the given range.
+
+
49 [[nodiscard]] const Node *descend(PositionRange Range) const {
+
50 if (!positionRange().contains(Range)) {
+
51 return nullptr;
+
52 }
+
53 for (const auto &Child : children()) {
+
54 if (!Child)
+
55 continue;
+
56 if (Child->positionRange().contains(Range)) {
+
57 return Child->descend(Range);
+
58 }
+
59 }
+
60 return this;
+
61 }
+
+
62
+
+
63 [[nodiscard]] std::string_view src(std::string_view Src) const {
+
64 auto Begin = lCur().offset();
+
65 auto Length = rCur().offset() - Begin;
+
66 return Src.substr(Begin, Length);
+
67 }
+
+
68};
+
+
69
+
+
70class Expr : public Node {
+
71protected:
+
+
72 explicit Expr(NodeKind Kind, LexerCursorRange Range) : Node(Kind, Range) {
+
73 assert(NK_BeginExpr <= Kind && Kind <= NK_EndExpr);
+
74 }
+
+
75
+
76public:
+
77 static bool classof(const Node *N) { return isExpr(N->kind()); }
+
78
+
+
79 static bool isExpr(NodeKind Kind) {
+
80 return NK_BeginExpr <= Kind && Kind <= NK_EndExpr;
+
81 }
+
+
82
+
83 /// \returns true if the expression might be evaluated to lambda.
+
+
84 static bool maybeLambda(NodeKind Kind) {
+
85 if (!isExpr(Kind))
+
86 return false;
+
87 switch (Kind) {
+
88 case Node::NK_ExprInt:
+
89 case Node::NK_ExprFloat:
+
90 case Node::NK_ExprAttrs:
+
91 case Node::NK_ExprString:
+
92 case Node::NK_ExprPath:
+
93 return false;
+
94 default:
+
95 return true;
+
96 }
+
97 }
+
+
98
+
99 [[nodiscard]] bool maybeLambda() const { return maybeLambda(kind()); }
+
100};
+
+
101
+
102/// \brief Misc node, used for parentheses, keywords, etc.
+
103///
+
104/// This is used for representing nodes that only location matters.
+
105/// Might be useful for linting.
+
+
106class Misc : public Node {
+
107public:
+
108 Misc(LexerCursorRange Range) : Node(NK_Misc, Range) {}
+
109
+
110 [[nodiscard]] ChildVector children() const override { return {}; }
+
111};
+
+
112
+
113/// \brief Identifier. Variable names, attribute names, etc.
+
+
114class Identifier : public Node {
+
115 std::string Name;
+
116
+
117public:
+
+
118 Identifier(LexerCursorRange Range, std::string Name)
+
119 : Node(NK_Identifer, Range), Name(std::move(Name)) {}
+
+
120 [[nodiscard]] const std::string &name() const { return Name; }
+
121
+
122 [[nodiscard]] ChildVector children() const override { return {}; }
+
123};
+
+
124
+
125} // namespace nixf
+ + + +
Expr(NodeKind Kind, LexerCursorRange Range)
Definition Basic.h:72
+
static bool classof(const Node *N)
Definition Basic.h:77
+
bool maybeLambda() const
Definition Basic.h:99
+
static bool isExpr(NodeKind Kind)
Definition Basic.h:79
+
static bool maybeLambda(NodeKind Kind)
Definition Basic.h:84
+
Identifier. Variable names, attribute names, etc.
Definition Basic.h:114
+
const std::string & name() const
Definition Basic.h:120
+
Identifier(LexerCursorRange Range, std::string Name)
Definition Basic.h:118
+
ChildVector children() const override
Definition Basic.h:122
+ +
PositionRange range() const
Definition Range.h:123
+
LexerCursor lCur() const
Definition Range.h:116
+
LexerCursor rCur() const
Definition Range.h:117
+
A point in the source file.
Definition Range.h:57
+
std::size_t offset() const
Offset in the source file, starting from 0.
Definition Range.h:102
+
Misc node, used for parentheses, keywords, etc.
Definition Basic.h:106
+
Misc(LexerCursorRange Range)
Definition Basic.h:108
+
ChildVector children() const override
Definition Basic.h:110
+ +
const Node * descend(PositionRange Range) const
Descendant node that contains the given range.
Definition Basic.h:49
+
const char * name() const
Definition Basic.h:40
+
LexerCursor lCur() const
Definition Basic.h:37
+ +
@ NK_EndExpr
Definition Basic.h:22
+
@ NK_BeginExpr
Definition Basic.h:18
+
NodeKind kind() const
Definition Basic.h:34
+
std::string_view src(std::string_view Src) const
Definition Basic.h:63
+
boost::container::small_vector< Node *, 8 > ChildVector
Definition Basic.h:42
+
LexerCursor rCur() const
Definition Basic.h:38
+
virtual ~Node()=default
+
PositionRange positionRange() const
Definition Basic.h:36
+
LexerCursorRange range() const
Definition Basic.h:35
+
Node(NodeKind Kind, LexerCursorRange Range)
Definition Basic.h:30
+
virtual ChildVector children() const =0
+ + +
+ + + + diff --git a/CodeAction_8cpp.html b/CodeAction_8cpp.html new file mode 100644 index 000000000..e82f111fd --- /dev/null +++ b/CodeAction_8cpp.html @@ -0,0 +1,106 @@ + + + + + + + +nixd: CodeAction.cpp File Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
CodeAction.cpp File Reference
+
+
+ +

Implementation of Code Action. +More...

+
#include "Controller.h"
+#include "Convert.h"
+
+

Go to the source code of this file.

+ + + + +

+Namespaces

namespace  nixd
 
+

Detailed Description

+

Implementation of Code Action.

+ +

Definition in file CodeAction.cpp.

+
+ + + + diff --git a/CodeAction_8cpp_source.html b/CodeAction_8cpp_source.html new file mode 100644 index 000000000..5c1af6de9 --- /dev/null +++ b/CodeAction_8cpp_source.html @@ -0,0 +1,170 @@ + + + + + + + +nixd: CodeAction.cpp Source File + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
CodeAction.cpp
+
+
+Go to the documentation of this file.
1/// \file
+
2/// \brief Implementation of [Code Action].
+
3/// [Code Action]:
+
4/// https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#textDocument_codeAction
+
5
+
6#include "Controller.h"
+
7#include "Convert.h"
+
8
+
9namespace nixd {
+
10
+
11using namespace llvm::json;
+
12using namespace lspserver;
+
13
+
14void Controller::onCodeAction(const lspserver::CodeActionParams &Params,
+
15 Callback<std::vector<CodeAction>> Reply) {
+
16 PathRef File = Params.textDocument.uri.file();
+
17 Range Range = Params.range;
+
18 const std::vector<nixf::Diagnostic> &Diagnostics = TUs[File].diagnostics();
+
19 std::vector<CodeAction> Actions;
+
20 Actions.reserve(Diagnostics.size());
+
21 for (const nixf::Diagnostic &D : Diagnostics) {
+
22 auto DRange = toLSPRange(D.range());
+
23 if (!Range.overlap(DRange))
+
24 continue;
+
25
+
26 // Add fixes.
+
27 for (const nixf::Fix &F : D.fixes()) {
+
28 std::vector<TextEdit> Edits;
+
29 Edits.reserve(F.edits().size());
+
30 for (const nixf::TextEdit &TE : F.edits()) {
+
31 Edits.emplace_back(TextEdit{
+
32 .range = toLSPRange(TE.oldRange()),
+
33 .newText = std::string(TE.newText()),
+
34 });
+
35 }
+
36 using Changes = std::map<std::string, std::vector<TextEdit>>;
+
37 std::string FileURI = URIForFile::canonicalize(File, File).uri();
+
38 WorkspaceEdit WE{.changes = Changes{
+
39 {std::move(FileURI), std::move(Edits)},
+
40 }};
+
41 Actions.emplace_back(CodeAction{
+
42 .title = F.message(),
+
43 .kind = std::string(CodeAction::QUICKFIX_KIND),
+
44 .edit = std::move(WE),
+
45 });
+
46 }
+
47 }
+
48 Reply(std::move(Actions));
+
49}
+
50
+
51} // namespace nixd
+ +
Convert between LSP and nixf types.
+ + + +
Whether current platform treats paths case insensitively.
Definition Connection.h:11
+
llvm::unique_function< void(llvm::Expected< T >)> Callback
Definition Function.h:14
+ +
llvm::StringRef PathRef
Definition Path.h:27
+ +
lspserver::Range toLSPRange(const nixf::LexerCursorRange &R)
Definition Convert.cpp:24
+ +
Range range
The range for which the command was invoked.
+
TextDocumentIdentifier textDocument
The document in which the command was invoked.
+ +
std::string title
A short, human-readable, title for this code action.
+
static const llvm::StringLiteral QUICKFIX_KIND
+ +
bool overlap(const Range &RHS) const
+ + + +
static URIForFile canonicalize(llvm::StringRef AbsPath, llvm::StringRef TUPath)
+ +
llvm::StringRef file() const
Retrieves absolute path to the file.
+ +
std::optional< std::map< std::string, std::vector< TextEdit > > > changes
Holds changes to existing resources.
+
+ + + + diff --git a/Connection_8cpp.html b/Connection_8cpp.html new file mode 100644 index 000000000..f93e91106 --- /dev/null +++ b/Connection_8cpp.html @@ -0,0 +1,119 @@ + + + + + + + +nixd: Connection.cpp File Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
Connection.cpp File Reference
+
+
+
#include "lspserver/Connection.h"
+#include "lspserver/Logger.h"
+#include "lspserver/Protocol.h"
+#include <llvm/ADT/SmallString.h>
+#include <poll.h>
+#include <sys/poll.h>
+#include <sys/stat.h>
+#include <cstdint>
+#include <cstdio>
+#include <memory>
+#include <optional>
+#include <system_error>
+
+

Go to the source code of this file.

+ + + + + +

+Namespaces

namespace  lspserver
 Whether current platform treats paths case insensitively.
 
+ + + + + + +

+Functions

llvm::Error lspserver::decodeError (const llvm::json::Object &O)
 Decode the given JSON object into an error.
 
bool lspserver::readLine (int fd, const std::atomic< bool > &Close, llvm::SmallString< 128 > &Line)
 
+
+ + + + diff --git a/Connection_8cpp_source.html b/Connection_8cpp_source.html new file mode 100644 index 000000000..3873a0999 --- /dev/null +++ b/Connection_8cpp_source.html @@ -0,0 +1,404 @@ + + + + + + + +nixd: Connection.cpp Source File + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Connection.cpp
+
+
+Go to the documentation of this file.
+
2#include "lspserver/Logger.h"
+ +
4
+
5#include <llvm/ADT/SmallString.h>
+
6
+
7#include <poll.h>
+
8#include <sys/poll.h>
+
9#include <sys/stat.h>
+
10
+
11#include <cstdint>
+
12#include <cstdio>
+
13#include <memory>
+
14#include <optional>
+
15#include <system_error>
+
16
+
17namespace lspserver {
+
18
+
19static llvm::json::Object encodeError(llvm::Error Error) {
+
20 std::string Message;
+ +
22 auto HandlerFn = [&](const LSPError &E) -> llvm::Error {
+
23 Message = E.Message;
+
24 Code = E.Code;
+
25 return llvm::Error::success();
+
26 };
+
27 if (llvm::Error Unhandled = llvm::handleErrors(std::move(Error), HandlerFn))
+
28 Message = llvm::toString(std::move(Unhandled));
+
29
+
30 return llvm::json::Object{
+
31 {"message", std::move(Message)},
+
32 {"code", int64_t(Code)},
+
33 };
+
34}
+
35
+
36/// Decode the given JSON object into an error.
+
+
37llvm::Error decodeError(const llvm::json::Object &O) {
+
38 llvm::StringRef Message =
+
39 O.getString("message").value_or("Unspecified error");
+
40 if (std::optional<int64_t> Code = O.getInteger("code"))
+
41 return llvm::make_error<LSPError>(Message.str(), ErrorCode(*Code));
+
42 return llvm::make_error<llvm::StringError>(llvm::inconvertibleErrorCode(),
+
43 Message.str());
+
44}
+
+
45
+
+
46void OutboundPort::notify(llvm::StringRef Method, llvm::json::Value Params) {
+
47 sendMessage(llvm::json::Object{
+
48 {"jsonrpc", "2.0"},
+
49 {"method", Method},
+
50 {"params", std::move(Params)},
+
51 });
+
52}
+
+
+
53void OutboundPort::call(llvm::StringRef Method, llvm::json::Value Params,
+
54 llvm::json::Value ID) {
+
55 sendMessage(llvm::json::Object{
+
56 {"jsonrpc", "2.0"},
+
57 {"id", std::move(ID)},
+
58 {"method", Method},
+
59 {"params", std::move(Params)},
+
60 });
+
61}
+
+
+
62void OutboundPort::reply(llvm::json::Value ID,
+
63 llvm::Expected<llvm::json::Value> Result) {
+
64 if (Result) {
+
65 sendMessage(llvm::json::Object{
+
66 {"jsonrpc", "2.0"},
+
67 {"id", std::move(ID)},
+
68 {"result", std::move(*Result)},
+
69 });
+
70 } else {
+
71 sendMessage(llvm::json::Object{
+
72 {"jsonrpc", "2.0"},
+
73 {"id", std::move(ID)},
+
74 {"error", encodeError(Result.takeError())},
+
75 });
+
76 }
+
77}
+
+
78
+
+
79void OutboundPort::sendMessage(llvm::json::Value Message) {
+
80 // Make sure our outputs are not interleaving between messages (json)
+
81 vlog(">>> {0}", Message);
+
82 std::lock_guard<std::mutex> Guard(Mutex);
+
83 OutputBuffer.clear();
+
84 llvm::raw_svector_ostream SVecOS(OutputBuffer);
+
85 SVecOS << (Pretty ? llvm::formatv("{0:2}", Message)
+
86 : llvm::formatv("{0}", Message));
+
87 Outs << "Content-Length: " << OutputBuffer.size() << "\r\n\r\n"
+
88 << OutputBuffer;
+
89 Outs.flush();
+
90}
+
+
91
+
+
92bool InboundPort::dispatch(llvm::json::Value Message, MessageHandler &Handler) {
+
93 // Message must be an object with "jsonrpc":"2.0".
+
94 auto *Object = Message.getAsObject();
+
95 if (!Object ||
+
96 Object->getString("jsonrpc") != std::optional<llvm::StringRef>("2.0")) {
+
97 elog("Not a JSON-RPC 2.0 message: {0:2}", Message);
+
98 return false;
+
99 }
+
100 // ID may be any JSON value. If absent, this is a notification.
+
101 std::optional<llvm::json::Value> ID;
+
102 if (auto *I = Object->get("id"))
+
103 ID = std::move(*I);
+
104 auto Method = Object->getString("method");
+
105 if (!Method) { // This is a response.
+
106 if (!ID) {
+
107 elog("No method and no response ID: {0:2}", Message);
+
108 return false;
+
109 }
+
110 if (auto *Err = Object->getObject("error"))
+
111 // TODO: Logging & reply errors.
+
112 return Handler.onReply(std::move(*ID), decodeError(*Err));
+
113 // Result should be given, use null if not.
+
114 llvm::json::Value Result = nullptr;
+
115 if (auto *R = Object->get("result"))
+
116 Result = std::move(*R);
+
117 return Handler.onReply(std::move(*ID), std::move(Result));
+
118 }
+
119 // Params should be given, use null if not.
+
120 llvm::json::Value Params = nullptr;
+
121 if (auto *P = Object->get("params"))
+
122 Params = std::move(*P);
+
123
+
124 if (ID)
+
125 return Handler.onCall(*Method, std::move(Params), std::move(*ID));
+
126 return Handler.onNotify(*Method, std::move(Params));
+
127}
+
+
128
+
+
129bool readLine(int fd, const std::atomic<bool> &Close,
+
130 llvm::SmallString<128> &Line) {
+
131 Line.clear();
+
132
+
133 std::vector<pollfd> FDs;
+
134 FDs.emplace_back(pollfd{
+
135 fd,
+
136 POLLIN | POLLPRI,
+
137 0,
+
138 });
+
139 for (;;) {
+
140 char Ch;
+
141 // FIXME: inefficient
+
142 int Poll = poll(FDs.data(), FDs.size(), 1000);
+
143 if (Poll < 0)
+
144 return false;
+
145 if (Close)
+
146 return false;
+
147
+
148 if (FDs[0].revents & POLLIN) {
+
149 ssize_t BytesRead = read(fd, &Ch, 1);
+
150 if (BytesRead == -1) {
+
151 if (errno != EINTR)
+
152 return false;
+
153 } else if (BytesRead == 0)
+
154 return false;
+
155 else {
+
156 if (Ch == '\n')
+
157 return true;
+
158 Line += Ch;
+
159 }
+
160 }
+
161 }
+
162}
+
+
163
+
+
164bool InboundPort::readStandardMessage(std::string &JSONString) {
+
165 unsigned long long ContentLength = 0;
+
166 llvm::SmallString<128> Line;
+
167 while (true) {
+
168 if (!readLine(In, Close, Line))
+
169 return false;
+
170
+
171 llvm::StringRef LineRef = Line;
+
172
+
173 // Content-Length is a mandatory header, and the only one we handle.
+
174 if (LineRef.consume_front("Content-Length: ")) {
+
175 llvm::getAsUnsignedInteger(LineRef.trim(), 0, ContentLength);
+
176 continue;
+
177 }
+
178 // An empty line indicates the end of headers.
+
179 // Go ahead and read the JSON.
+
180 if (LineRef.trim().empty())
+
181 break;
+
182 // It's another header, ignore it.
+
183 }
+
184
+
185 JSONString.resize(ContentLength);
+
186 for (size_t Pos = 0, Read; Pos < ContentLength; Pos += Read) {
+
187
+
188 Read = read(In, JSONString.data() + Pos, ContentLength - Pos);
+
189
+
190 if (Read == 0) {
+
191 elog("Input was aborted. Read only {0} bytes of expected {1}.", Pos,
+
192 ContentLength);
+
193 return false;
+
194 }
+
195 }
+
196 return true;
+
197}
+
+
198
+
+
199bool InboundPort::readDelimitedMessage(std::string &JSONString) {
+
200 JSONString.clear();
+
201 llvm::SmallString<128> Line;
+
202 bool IsInputBlock = false;
+
203 while (readLine(In, Close, Line)) {
+
204 auto LineRef = Line.str().trim();
+
205 if (IsInputBlock) {
+
206 // We are in input blocks, read lines and append JSONString.
+
207 if (LineRef.startswith("#")) // comment
+
208 continue;
+
209
+
210 // End of the block
+
211 if (LineRef.startswith("```")) {
+
212 IsInputBlock = false;
+
213 break;
+
214 }
+
215
+
216 JSONString += Line;
+
217 } else {
+
218 if (LineRef.startswith("```json"))
+
219 IsInputBlock = true;
+
220 }
+
221 }
+
222 return true; // Including at EOF
+
223}
+
+
224
+
+
225bool InboundPort::readMessage(std::string &JSONString) {
+
226 switch (StreamStyle) {
+
227
+ +
229 return readStandardMessage(JSONString);
+ +
231 return readDelimitedMessage(JSONString);
+
232 break;
+
233 }
+
234 assert(false && "Invalid stream style");
+
235 __builtin_unreachable();
+
236}
+
+
237
+
+ +
239 std::string JSONString;
+
240 llvm::SmallString<128> Line;
+
241
+
242 for (;;) {
+
243 if (readMessage(JSONString)) {
+
244 vlog("<<< {0}", JSONString);
+
245 if (auto ExpectedParsedJSON = llvm::json::parse(JSONString)) {
+
246 if (!dispatch(*ExpectedParsedJSON, Handler))
+
247 return;
+
248 } else {
+
249 auto Err = ExpectedParsedJSON.takeError();
+
250 elog("The received json cannot be parsed, reason: {0}", Err);
+
251 return;
+
252 }
+
253 } else {
+
254 return;
+
255 }
+
256 }
+
257}
+
+
258
+
259} // namespace lspserver
+ + +
JSONStreamStyle StreamStyle
Definition Connection.h:41
+
bool readStandardMessage(std::string &JSONString)
+
bool readMessage(std::string &JSONString)
+
bool readDelimitedMessage(std::string &JSONString)
+
void loop(MessageHandler &Handler)
+
bool dispatch(llvm::json::Value Message, MessageHandler &Hanlder)
+ + +
virtual bool onReply(llvm::json::Value ID, llvm::Expected< llvm::json::Value > Result)=0
+
virtual bool onNotify(llvm::StringRef Method, llvm::json::Value)=0
+
virtual bool onCall(llvm::StringRef Method, llvm::json::Value Params, llvm::json::Value ID)=0
+
void sendMessage(llvm::json::Value Message)
+
void notify(llvm::StringRef Method, llvm::json::Value Params)
+
void reply(llvm::json::Value ID, llvm::Expected< llvm::json::Value > Result)
+
void call(llvm::StringRef Method, llvm::json::Value Params, llvm::json::Value ID)
+ +
Whether current platform treats paths case insensitively.
Definition Connection.h:11
+
@ Error
An error message.
+ + + +
llvm::Error decodeError(const llvm::json::Object &O)
Decode the given JSON object into an error.
+ + + +
void elog(const char *Fmt, Ts &&...Vals)
Definition Logger.h:52
+ +
void vlog(const char *Fmt, Ts &&...Vals)
Definition Logger.h:63
+
bool readLine(int fd, const std::atomic< bool > &Close, llvm::SmallString< 128 > &Line)
+
+ + + + diff --git a/Connection_8h.html b/Connection_8h.html new file mode 100644 index 000000000..cb7709242 --- /dev/null +++ b/Connection_8h.html @@ -0,0 +1,122 @@ + + + + + + + +nixd: Connection.h File Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
Connection.h File Reference
+
+
+
#include <cstdio>
+#include <atomic>
+#include <llvm/Support/JSON.h>
+#include <llvm/Support/raw_ostream.h>
+#include <mutex>
+#include <unistd.h>
+
+

Go to the source code of this file.

+ + + + + + + + +

+Classes

class  lspserver::MessageHandler
 
class  lspserver::InboundPort
 
class  lspserver::OutboundPort
 
+ + + + +

+Namespaces

namespace  lspserver
 Whether current platform treats paths case insensitively.
 
+ + + +

+Enumerations

enum class  lspserver::JSONStreamStyle { lspserver::Standard +, lspserver::Delimited + }
 
+
+ + + + diff --git a/Connection_8h_source.html b/Connection_8h_source.html new file mode 100644 index 000000000..89c7e4405 --- /dev/null +++ b/Connection_8h_source.html @@ -0,0 +1,227 @@ + + + + + + + +nixd: Connection.h Source File + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Connection.h
+
+
+Go to the documentation of this file.
1#pragma once
+
2
+
3#include <cstdio>
+
4
+
5#include <atomic>
+
6#include <llvm/Support/JSON.h>
+
7#include <llvm/Support/raw_ostream.h>
+
8#include <mutex>
+
9#include <unistd.h>
+
10
+
+
11namespace lspserver {
+
12
+
+
13enum class JSONStreamStyle {
+
14 // LSP standard, for real lsp server
+ +
16 // For testing.
+ +
18};
+
+
19
+
20/// Parsed & classfied messages are dispatched to this handler class
+
21/// LSP Servers should inherit from this hanlder and dispatch
+
22/// notify/call/reply to implementations.
+
+ +
24public:
+
25 virtual ~MessageHandler() = default;
+
26 // Handler returns true to keep processing messages, or false to shut down.
+
27 virtual bool onNotify(llvm::StringRef Method, llvm::json::Value) = 0;
+
28 virtual bool onCall(llvm::StringRef Method, llvm::json::Value Params,
+
29 llvm::json::Value ID) = 0;
+
30 virtual bool onReply(llvm::json::Value ID,
+
31 llvm::Expected<llvm::json::Value> Result) = 0;
+
32};
+
+
33
+
+ +
35private:
+
36 std::atomic<bool> Close;
+
37
+
38public:
+
39 int In;
+
40
+ +
42
+
43 bool readStandardMessage(std::string &JSONString);
+
44
+
45 bool readDelimitedMessage(std::string &JSONString);
+
46
+
47 /// \brief Notify the inbound port to close the connection
+
48 void close() { Close = true; }
+
49
+
+
50 InboundPort(int In = STDIN_FILENO,
+ +
52 : Close(false), In(In), StreamStyle(StreamStyle){};
+
+
53
+
54 /// Read messages specified in LSP standard, and collect standard json string
+
55 /// into \p JSONString.
+
56 /// A Language Server Protocol message starts with a set of
+
57 /// HTTP headers, delimited by \r\n, and terminated by an empty line (\r\n).
+
58 bool readMessage(std::string &JSONString);
+
59
+
60 /// Dispatch messages to on{Notify,Call,Reply} ( \p Handlers)
+
61 /// Return values should be forwarded from \p Handlers
+
62 /// i.e. returns true to keep processing messages, or false to shut down.
+
63 bool dispatch(llvm::json::Value Message, MessageHandler &Hanlder);
+
64
+
65 void loop(MessageHandler &Handler);
+
66};
+
+
67
+
+ +
69private:
+
70 llvm::raw_ostream &Outs;
+
71
+
72 llvm::SmallVector<char, 0> OutputBuffer;
+
73
+
74 std::mutex Mutex;
+
75
+
76 bool Pretty = false;
+
77
+
78public:
+
+
79 explicit OutboundPort(bool Pretty = false)
+
80 : Outs(llvm::outs()), Pretty(Pretty) {}
+
+
+
81 OutboundPort(llvm::raw_ostream &Outs, bool Pretty = false)
+
82 : Outs(Outs), OutputBuffer(), Pretty(Pretty) {}
+
+
83 void notify(llvm::StringRef Method, llvm::json::Value Params);
+
84 void call(llvm::StringRef Method, llvm::json::Value Params,
+
85 llvm::json::Value ID);
+
86 void reply(llvm::json::Value ID, llvm::Expected<llvm::json::Value> Result);
+
87
+
88 void sendMessage(llvm::json::Value Message);
+
89};
+
+
90
+
91} // namespace lspserver
+
+ +
InboundPort(int In=STDIN_FILENO, JSONStreamStyle StreamStyle=JSONStreamStyle::Standard)
Definition Connection.h:50
+
JSONStreamStyle StreamStyle
Definition Connection.h:41
+
void close()
Notify the inbound port to close the connection.
Definition Connection.h:48
+
bool readStandardMessage(std::string &JSONString)
+
bool readMessage(std::string &JSONString)
+
bool readDelimitedMessage(std::string &JSONString)
+
void loop(MessageHandler &Handler)
+
bool dispatch(llvm::json::Value Message, MessageHandler &Hanlder)
+ + +
virtual bool onReply(llvm::json::Value ID, llvm::Expected< llvm::json::Value > Result)=0
+
virtual bool onNotify(llvm::StringRef Method, llvm::json::Value)=0
+
virtual bool onCall(llvm::StringRef Method, llvm::json::Value Params, llvm::json::Value ID)=0
+
virtual ~MessageHandler()=default
+ +
OutboundPort(llvm::raw_ostream &Outs, bool Pretty=false)
Definition Connection.h:81
+
void sendMessage(llvm::json::Value Message)
+
void notify(llvm::StringRef Method, llvm::json::Value Params)
+
void reply(llvm::json::Value ID, llvm::Expected< llvm::json::Value > Result)
+
void call(llvm::StringRef Method, llvm::json::Value Params, llvm::json::Value ID)
+
OutboundPort(bool Pretty=false)
Definition Connection.h:79
+ +
Whether current platform treats paths case insensitively.
Definition Connection.h:11
+ + + + +
+ + + + diff --git a/Controller_8h.html b/Controller_8h.html new file mode 100644 index 000000000..d69486911 --- /dev/null +++ b/Controller_8h.html @@ -0,0 +1,107 @@ + + + + + + + +nixd: Controller.h File Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
Controller.h File Reference
+
+
+
#include "EvalClient.h"
+#include "NixTU.h"
+#include "lspserver/DraftStore.h"
+#include "lspserver/LSPServer.h"
+
+

Go to the source code of this file.

+ + + + +

+Classes

class  nixd::Controller
 
+ + + +

+Namespaces

namespace  nixd
 
+
+ + + + diff --git a/Controller_8h_source.html b/Controller_8h_source.html new file mode 100644 index 000000000..5fdbbed15 --- /dev/null +++ b/Controller_8h_source.html @@ -0,0 +1,171 @@ + + + + + + + +nixd: Controller.h Source File + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Controller.h
+
+
+Go to the documentation of this file.
1#pragma once
+
2
+
3#include "EvalClient.h"
+
4#include "NixTU.h"
+
5
+ + +
8
+
9namespace nixd {
+
10
+
+ +
12 std::unique_ptr<OwnedEvalClient> Eval;
+ +
14
+
15 llvm::unique_function<void(const lspserver::PublishDiagnosticsParams &)>
+
16 PublishDiagnostic;
+
17
+
18 llvm::StringMap<NixTU> TUs;
+
19
+
20 /// Action right after a document is added (including updates).
+
21 void actOnDocumentAdd(lspserver::PathRef File,
+
22 std::optional<int64_t> Version);
+
23
+
24 void removeDocument(lspserver::PathRef File) { Store.removeDraft(File); }
+
25
+
26 void onInitialize( // NOLINT(readability-convert-member-functions-to-static)
+
27 [[maybe_unused]] const lspserver::InitializeParams &Params,
+ +
29
+
30 void
+
31 onInitialized([[maybe_unused]] const lspserver::InitializedParams &Params) {}
+
32
+
33 void onDocumentDidOpen(const lspserver::DidOpenTextDocumentParams &Params);
+
34
+
35 void
+
36 onDocumentDidChange(const lspserver::DidChangeTextDocumentParams &Params);
+
37
+
38 void onDocumentDidClose(const lspserver::DidCloseTextDocumentParams &Params);
+
39
+
40 void
+
41 onCodeAction(const lspserver::CodeActionParams &Params,
+
42 lspserver::Callback<std::vector<lspserver::CodeAction>> Reply);
+
43
+
44 void onHover(const lspserver::TextDocumentPositionParams &Params,
+
45 lspserver::Callback<std::optional<lspserver::Hover>> Reply);
+
46
+
47 void publishDiagnostics(lspserver::PathRef File,
+
48 std::optional<int64_t> Version,
+
49 const std::vector<nixf::Diagnostic> &Diagnostics);
+
50
+
51public:
+
52 Controller(std::unique_ptr<lspserver::InboundPort> In,
+
53 std::unique_ptr<lspserver::OutboundPort> Out);
+
54};
+
+
55
+
56} // namespace nixd
+ + + + + +
void removeDraft(PathRef File)
Remove the draft from the store.
+ + +
Controller(std::unique_ptr< lspserver::InboundPort > In, std::unique_ptr< lspserver::OutboundPort > Out)
Definition Support.cpp:75
+
llvm::unique_function< void(llvm::Expected< T >)> Callback
Definition Function.h:14
+ +
llvm::StringRef PathRef
Definition Path.h:27
+ + + + + + + + + +
+ + + + diff --git a/Convert_8cpp.html b/Convert_8cpp.html new file mode 100644 index 000000000..f4471e7e0 --- /dev/null +++ b/Convert_8cpp.html @@ -0,0 +1,110 @@ + + + + + + + +nixd: Convert.cpp File Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
Convert.cpp File Reference
+
+
+
#include "Convert.h"
+
+

Go to the source code of this file.

+ + + + +

+Namespaces

namespace  nixd
 
+ + + + + + + + + +

+Functions

int nixd::getLSPSeverity (nixf::Diagnostic::DiagnosticKind Kind)
 
lspserver::Position nixd::toLSPPosition (const nixf::LexerCursor &P)
 
lspserver::Range nixd::toLSPRange (const nixf::LexerCursorRange &R)
 
llvm::SmallVector< lspserver::DiagnosticTag, 1 > nixd::toLSPTags (const std::vector< nixf::DiagnosticTag > &Tags)
 
+
+ + + + diff --git a/Convert_8cpp_source.html b/Convert_8cpp_source.html new file mode 100644 index 000000000..cc66d9c59 --- /dev/null +++ b/Convert_8cpp_source.html @@ -0,0 +1,168 @@ + + + + + + + +nixd: Convert.cpp Source File + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Convert.cpp
+
+
+Go to the documentation of this file.
1#include "Convert.h"
+
2
+
3using namespace lspserver;
+
4
+
5namespace nixd {
+
6
+
+ +
8 switch (nixf::Diagnostic::severity(Kind)) {
+ + +
11 return 1;
+ +
13 return 2;
+
14 }
+
15 assert(false && "Invalid severity");
+
16 __builtin_unreachable();
+
17}
+
+
18
+
+ +
20 return lspserver::Position{static_cast<int>(P.line()),
+
21 static_cast<int>(P.column())};
+
22}
+
+
23
+ +
27
+
28llvm::SmallVector<lspserver::DiagnosticTag, 1>
+
+
29toLSPTags(const std::vector<nixf::DiagnosticTag> &Tags) {
+
30 llvm::SmallVector<lspserver::DiagnosticTag, 1> Result;
+
31 Result.reserve(Tags.size());
+
32 for (const nixf::DiagnosticTag &Tag : Tags) {
+
33 switch (Tag) {
+ +
35 Result.emplace_back(DiagnosticTag::Unnecessary);
+
36 break;
+ +
38 Result.emplace_back(DiagnosticTag::Deprecated);
+
39 break;
+
40 }
+
41 }
+
42 return Result;
+
43}
+
+
44
+
45} // namespace nixd
+
Convert between LSP and nixf types.
+ + + +
DiagnosticKind
Internal kind.
Definition Diagnostic.h:161
+
static Severity severity(DiagnosticKind Kind)
+ +
LexerCursor lCur() const
Definition Range.h:116
+
LexerCursor rCur() const
Definition Range.h:117
+
A point in the source file.
Definition Range.h:57
+
int64_t column() const
Column number, starting from 0.
Definition Range.h:96
+
int64_t line() const
Line number, starting from 0.
Definition Range.h:93
+
Whether current platform treats paths case insensitively.
Definition Connection.h:11
+ +
int getLSPSeverity(nixf::Diagnostic::DiagnosticKind Kind)
Definition Convert.cpp:7
+
lspserver::Position toLSPPosition(const nixf::LexerCursor &P)
Definition Convert.cpp:19
+
lspserver::Range toLSPRange(const nixf::LexerCursorRange &R)
Definition Convert.cpp:24
+
llvm::SmallVector< lspserver::DiagnosticTag, 1 > toLSPTags(const std::vector< nixf::DiagnosticTag > &Tags)
Definition Convert.cpp:29
+
DiagnosticTag
Definition Diagnostic.h:75
+ + + + +
+ + + + diff --git a/Convert_8h.html b/Convert_8h.html new file mode 100644 index 000000000..8bb0a9538 --- /dev/null +++ b/Convert_8h.html @@ -0,0 +1,119 @@ + + + + + + + +nixd: Convert.h File Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
Convert.h File Reference
+
+
+ +

Convert between LSP and nixf types. +More...

+ +

Go to the source code of this file.

+ + + + +

+Namespaces

namespace  nixd
 
+ + + + + + + + + +

+Functions

lspserver::Position nixd::toLSPPosition (const nixf::LexerCursor &P)
 
lspserver::Range nixd::toLSPRange (const nixf::LexerCursorRange &R)
 
int nixd::getLSPSeverity (nixf::Diagnostic::DiagnosticKind Kind)
 
llvm::SmallVector< lspserver::DiagnosticTag, 1 > nixd::toLSPTags (const std::vector< nixf::DiagnosticTag > &Tags)
 
+

Detailed Description

+

Convert between LSP and nixf types.

+ +

Definition in file Convert.h.

+
+ + + + diff --git a/Convert_8h_source.html b/Convert_8h_source.html new file mode 100644 index 000000000..e80f15737 --- /dev/null +++ b/Convert_8h_source.html @@ -0,0 +1,127 @@ + + + + + + + +nixd: Convert.h Source File + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Convert.h
+
+
+Go to the documentation of this file.
1/// \file
+
2/// \brief Convert between LSP and nixf types.
+
3
+
4#pragma once
+
5
+ +
7#include "nixf/Basic/Range.h"
+
8
+ +
10
+
11namespace nixd {
+
12
+ +
14
+ +
16
+ +
18
+
19llvm::SmallVector<lspserver::DiagnosticTag, 1>
+
20toLSPTags(const std::vector<nixf::DiagnosticTag> &Tags);
+
21
+
22} // namespace nixd
+ + +
DiagnosticKind
Internal kind.
Definition Diagnostic.h:161
+ +
A point in the source file.
Definition Range.h:57
+ + +
int getLSPSeverity(nixf::Diagnostic::DiagnosticKind Kind)
Definition Convert.cpp:7
+
lspserver::Position toLSPPosition(const nixf::LexerCursor &P)
Definition Convert.cpp:19
+
lspserver::Range toLSPRange(const nixf::LexerCursorRange &R)
Definition Convert.cpp:24
+
llvm::SmallVector< lspserver::DiagnosticTag, 1 > toLSPTags(const std::vector< nixf::DiagnosticTag > &Tags)
Definition Convert.cpp:29
+ + +
+ + + + diff --git a/Deserialize_8h.html b/Deserialize_8h.html new file mode 100644 index 000000000..7f2c385e7 --- /dev/null +++ b/Deserialize_8h.html @@ -0,0 +1,119 @@ + + + + + + + +nixd: Deserialize.h File Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
Deserialize.h File Reference
+
+
+
#include "HookExpr.h"
+#include "PtrPool.h"
+#include <nix/input-accessor.hh>
+#include <nix/nixexpr.hh>
+#include <string_view>
+
+

Go to the source code of this file.

+ + + + + +

+Classes

struct  nixt::DeserializeContext
 API Wrapper around nix:: More...
 
+ + + + +

+Namespaces

namespace  nixt
 Access ParseCache in nix::EvalState.
 
+ + + + + + +

+Functions

DeserializeContext nixt::getDeserializeContext (nix::EvalState &State, std::string_view BasePath, const nix::Pos::Origin &Origin)
 Stable API wrapper around official nix.
 
nix::Expr * nixt::deserializeHookable (std::string_view &Data, DeserializeContext &Ctx, PtrPool< nix::Expr > &Pool, ValueMap &VMap, EnvMap &EMap)
 
+
+ + + + diff --git a/Deserialize_8h_source.html b/Deserialize_8h_source.html new file mode 100644 index 000000000..d7abe4b25 --- /dev/null +++ b/Deserialize_8h_source.html @@ -0,0 +1,148 @@ + + + + + + + +nixd: Deserialize.h Source File + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Deserialize.h
+
+
+Go to the documentation of this file.
1#pragma once
+
2
+
3#include "HookExpr.h"
+
4#include "PtrPool.h"
+
5
+
6#include <nix/input-accessor.hh>
+
7#include <nix/nixexpr.hh>
+
8
+
9#include <string_view>
+
10
+
11namespace nixt {
+
12
+
13/// \brief API Wrapper around nix::
+
14///
+
15/// Paths related to this context is very unstable.
+
+ +
17 nix::SymbolTable &STable;
+
18 nix::PosTable &PTable;
+
19
+
20 /// Path resolution
+
21 const nix::SourcePath BasePath;
+
22 const nix::ref<nix::InputAccessor> RootFS;
+
23
+
24 const nix::Pos::Origin &Origin;
+
25};
+
+
26
+
27/// \brief Stable API wrapper around official nix.
+
28///
+
29/// Because of "lazy-trees", these APIs have always breaked among nix updates,
+
30/// the function wraps the context with a "stable" class `nix::EvalState`.
+
31DeserializeContext getDeserializeContext(nix::EvalState &State,
+
32 std::string_view BasePath,
+
33 const nix::Pos::Origin &Origin);
+
34
+
35nix::Expr *deserializeHookable(std::string_view &Data, DeserializeContext &Ctx,
+
36 PtrPool<nix::Expr> &Pool, ValueMap &VMap,
+
37 EnvMap &EMap);
+
38
+
39} // namespace nixt
+ +
Pointer pool, for RAII memory management.
+ +
Access ParseCache in nix::EvalState.
Definition ArrayRef.h:7
+
std::map< std::uintptr_t, nix::Env * > EnvMap
Definition HookExpr.h:10
+
DeserializeContext getDeserializeContext(nix::EvalState &State, std::string_view BasePath, const nix::Pos::Origin &Origin)
Stable API wrapper around official nix.
Definition ASTReader.cpp:42
+
std::map< std::uintptr_t, nix::Value > ValueMap
Definition HookExpr.h:9
+
nix::Expr * deserializeHookable(std::string_view &Data, DeserializeContext &Ctx, PtrPool< nix::Expr > &Pool, ValueMap &VMap, EnvMap &EMap)
Definition ASTReader.cpp:57
+
API Wrapper around nix::
Definition Deserialize.h:16
+
const nix::Pos::Origin & Origin
Definition Deserialize.h:24
+
const nix::ref< nix::InputAccessor > RootFS
Definition Deserialize.h:22
+
const nix::SourcePath BasePath
Path resolution.
Definition Deserialize.h:21
+
nix::SymbolTable & STable
Definition Deserialize.h:17
+
nix::PosTable & PTable
Definition Deserialize.h:18
+
A simple pointer pool, a vector of unique_ptrs.
Definition PtrPool.h:22
+
+ + + + diff --git a/DiagnosticKinds_8inc.html b/DiagnosticKinds_8inc.html new file mode 100644 index 000000000..e37d32469 --- /dev/null +++ b/DiagnosticKinds_8inc.html @@ -0,0 +1,89 @@ + + + + + + + +nixd: DiagnosticKinds.inc File Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
DiagnosticKinds.inc File Reference
+
+
+ +

Go to the source code of this file.

+
+ + + + diff --git a/DiagnosticKinds_8inc_source.html b/DiagnosticKinds_8inc_source.html new file mode 100644 index 000000000..7343342e8 --- /dev/null +++ b/DiagnosticKinds_8inc_source.html @@ -0,0 +1,143 @@ + + + + + + + +nixd: DiagnosticKinds.inc Source File + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
DiagnosticKinds.inc
+
+
+Go to the documentation of this file.
1/// DiagnosticKinds.inc, diagnostic declarations
+
2
+
3#ifdef DIAG
+
4
+
5DIAG("lex-unterminated-bcomment", UnterminatedBComment, Error,
+
6 "unterminated /* comment")
+
7DIAG("lex-float-no-exp", FloatNoExp, Fatal,
+
8 "float point has trailing `{}` but has no exponential part")
+
9DIAG("lex-float-leading-zero", FloatLeadingZero, Warning,
+
10 "float begins with extra zeros `{}` is nixf extension")
+
11DIAG("parse-expected", Expected, Error, "expected {}")
+
12DIAG("parse-attrpath-extra-dot", AttrPathExtraDot, Error, "extra `.` at the end of attrpath")
+
13DIAG("parse-select-extra-dot", SelectExtraDot, Error, "extra `.` after expression, but missing attrpath")
+
14DIAG("parse-unexpected-between", UnexpectedBetween, Error, "unexpected {} between {} and {}")
+
15DIAG("parse-unexpected", UnexpectedText, Error, "unexpected text")
+
16DIAG("parse-missing-sep-formals", MissingSepFormals, Error, "missing seperator `,` between two lambda formals")
+
17DIAG("parse-lambda-arg-extra-at", LambdaArgExtraAt, Error, "extra `@` for lambda arg")
+
18DIAG("let-dynamic", LetDynamic, Error,
+
19 "dynamic attributes are not allowed in let ... in ... expression")
+
20DIAG("empty-inherit", EmptyInherit, Warning, "empty inherit expression")
+
21DIAG("or-identifier", OrIdentifier, Warning,
+
22 "keyword `or` used as an identifier")
+
23DIAG("deprecated-url-literal", DeprecatedURL, Warning,
+
24 "URL literal is deprecated")
+
25DIAG("deprecated-let", DeprecatedLet, Warning,
+
26 "using deprecated `let' syntactic sugar `let {{..., body = ...}}' -> "
+
27 "(rec {{..., body = ...}}).body'")
+
28DIAG("path-trailing-slash", PathTrailingSlash, Fatal,
+
29 "path has a trailing slash")
+
30DIAG("merge-diff-rec", MergeDiffRec, Warning,
+
31 "merging two attributes with different `rec` modifiers, the latter "
+
32 "will be implicitly ignored")
+
33DIAG("bison", BisonParse, Fatal, "{}")
+
34DIAG("invalid-float", InvalidFloat, Fatal, "invalid float {}")
+
35DIAG("invalid-integer", InvalidInteger, Fatal, "invalid integer {}")
+
36DIAG("sema-duplicated-attrname", DuplicatedAttrName, Error, "duplicated attrname `{}`")
+
37DIAG("sema-dynamic-inherit", DynamicInherit, Error,
+
38 "dynamic attributes are not allowed in inherit")
+
39DIAG("sema-empty-formal", EmptyFormal, Error, "empty formal")
+
40DIAG("sema-formal-missing-comma", FormalMissingComma, Error, "missing `,` for lambda formal")
+
41DIAG("sema-formal-extra-ellipsis", FormalExtraEllipsis, Error, "extra `...` for lambda formal")
+
42DIAG("sema-misplaced-ellipsis", FormalMisplacedEllipsis, Error, "misplaced `...` for lambda formal")
+
43DIAG("sema-dup-formal", DuplicatedFormal, Error,
+
44 "duplicated function formal")
+
45DIAG("sema-dup-formal-arg", DuplicatedFormalToArg, Error,
+
46 "function argument duplicated to a function formal")
+
47#endif // DIAG
+
#define DIAG(SNAME, CNAME, SEVERITY, MESSAGE)
Definition Diagnostic.h:162
+ +
std::shared_ptr< Node > parse(std::string_view Src, std::vector< Diagnostic > &Diags)
Parse a string.
+
const T * end(ArrayRef< T > B)
Iterator end.
Definition ArrayRef.h:22
+
+ + + + diff --git a/Diagnostic_8cpp.html b/Diagnostic_8cpp.html new file mode 100644 index 000000000..c88fd92bb --- /dev/null +++ b/Diagnostic_8cpp.html @@ -0,0 +1,271 @@ + + + + + + + +nixd: Diagnostic.cpp File Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
Diagnostic.cpp File Reference
+
+
+
#include "nixf/Basic/Diagnostic.h"
+#include <sstream>
+#include "nixf/Basic/NoteKinds.inc"
+#include "nixf/Basic/DiagnosticKinds.inc"
+
+

Go to the source code of this file.

+ + + + +

+Namespaces

namespace  nixf
 
+ + + + + + + + + + + +

+Macros

#define DIAG_NOTE(SNAME, CNAME, MESSAGE)
 
#define DIAG(SNAME, CNAME, SEVERITY, MESSAGE)
 
#define DIAG(SNAME, CNAME, SEVERITY, MESSAGE)
 
#define DIAG(SNAME, CNAME, SEVERITY, MESSAGE)
 
#define DIAG_NOTE(SNAME, CNAME, MESSAGE)
 
+

Macro Definition Documentation

+ +

◆ DIAG [1/3]

+ +
+
+ + + + + + + + + + + + + + + + + + + + + +
#define DIAG( SNAME,
CNAME,
SEVERITY,
MESSAGE )
+
+Value:
case DK_##CNAME: \
+
return DS_##SEVERITY;
+
+
+
+ +

◆ DIAG [2/3]

+ +
+
+ + + + + + + + + + + + + + + + + + + + + +
#define DIAG( SNAME,
CNAME,
SEVERITY,
MESSAGE )
+
+Value:
case DK_##CNAME: \
+
return MESSAGE;
+
+
+
+ +

◆ DIAG [3/3]

+ +
+
+ + + + + + + + + + + + + + + + + + + + + +
#define DIAG( SNAME,
CNAME,
SEVERITY,
MESSAGE )
+
+Value:
case DK_##CNAME: \
+
return SNAME;
+
+
+
+ +

◆ DIAG_NOTE [1/2]

+ +
+
+ + + + + + + + + + + + + + + + +
#define DIAG_NOTE( SNAME,
CNAME,
MESSAGE )
+
+Value:
case NK_##CNAME: \
+
return SNAME;
+
+
+
+ +

◆ DIAG_NOTE [2/2]

+ +
+
+ + + + + + + + + + + + + + + + +
#define DIAG_NOTE( SNAME,
CNAME,
MESSAGE )
+
+Value:
case NK_##CNAME: \
+
return MESSAGE;
+
+
+
+
+ + + + diff --git a/Diagnostic_8cpp_source.html b/Diagnostic_8cpp_source.html new file mode 100644 index 000000000..f4868f7ea --- /dev/null +++ b/Diagnostic_8cpp_source.html @@ -0,0 +1,206 @@ + + + + + + + +nixd: Diagnostic.cpp Source File + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Diagnostic.cpp
+
+
+Go to the documentation of this file.
+
2
+
3#include <sstream>
+
4
+
5namespace {
+
6
+
7std::string simpleFormat(const char *Fmt,
+
8 const std::vector<std::string> &Args) {
+
9 std::stringstream SS;
+
10 std::size_t ArgIdx = 0;
+
11 for (const char *Cur = Fmt; *Cur;) {
+
12 if (*Cur == '{' && *(Cur + 1) == '}') {
+
13 SS << Args[ArgIdx++];
+
14 Cur += 2;
+
15 } else {
+
16 SS << *Cur;
+
17 ++Cur;
+
18 }
+
19 }
+
20 return SS.str();
+
21}
+
22
+
23} // namespace
+
24
+
25namespace nixf {
+
26
+
+
27const char *nixf::Note::sname(NoteKind Kind) {
+
28 switch (Kind) {
+
29#define DIAG_NOTE(SNAME, CNAME, MESSAGE) \
+
30 case NK_##CNAME: \
+
31 return SNAME;
+ +
33#undef DIAG_NOTE
+
34 }
+
35 assert(false && "Invalid diagnostic kind");
+
36 __builtin_unreachable();
+
37}
+
+
38
+
+ +
40 switch (Kind) {
+
41#define DIAG(SNAME, CNAME, SEVERITY, MESSAGE) \
+
42 case DK_##CNAME: \
+
43 return DS_##SEVERITY;
+ +
45#undef DIAG
+
46 }
+
47 assert(false && "Invalid diagnostic kind");
+
48 __builtin_unreachable();
+
49}
+
+
+ +
51 switch (Kind) {
+
52#define DIAG(SNAME, CNAME, SEVERITY, MESSAGE) \
+
53 case DK_##CNAME: \
+
54 return MESSAGE;
+ +
56#undef DIAG
+
57 }
+
58 assert(false && "Invalid diagnostic kind");
+
59 __builtin_unreachable();
+
60}
+
+
+ +
62 switch (Kind) {
+
63#define DIAG(SNAME, CNAME, SEVERITY, MESSAGE) \
+
64 case DK_##CNAME: \
+
65 return SNAME;
+ +
67#undef DIAG
+
68 }
+
69 assert(false && "Invalid diagnostic kind");
+
70 __builtin_unreachable();
+
71}
+
+
+
72const char *nixf::Note::message(NoteKind Kind) {
+
73 switch (Kind) {
+
74#define DIAG_NOTE(SNAME, CNAME, MESSAGE) \
+
75 case NK_##CNAME: \
+
76 return MESSAGE;
+ +
78#undef DIAG_NOTE
+
79 }
+
80 assert(false && "Invalid diagnostic kind");
+
81 __builtin_unreachable();
+
82}
+
+
83
+
+
84std::string PartialDiagnostic::format() const {
+
85 return simpleFormat(message(), Args);
+
86}
+
+
87
+
88} // namespace nixf
+ + + + +
virtual const char * sname() const
Definition Diagnostic.h:185
+
const char * message() const override
Definition Diagnostic.h:176
+
DiagnosticKind
Internal kind.
Definition Diagnostic.h:161
+
static Severity severity(DiagnosticKind Kind)
+
const char * message() const override
Definition Diagnostic.h:140
+
virtual const char * sname() const
Definition Diagnostic.h:134
+
NoteKind
Internal kind.
Definition Diagnostic.h:118
+
virtual const char * message() const =0
+
std::string format() const
+ +
+ + + + diff --git a/Diagnostic_8h.html b/Diagnostic_8h.html new file mode 100644 index 000000000..82517b465 --- /dev/null +++ b/Diagnostic_8h.html @@ -0,0 +1,198 @@ + + + + + + + +nixd: Diagnostic.h File Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
Diagnostic.h File Reference
+
+
+
#include "Range.h"
+#include <cassert>
+#include <memory>
+#include <optional>
+#include <string>
+#include <utility>
+#include <vector>
+#include "NoteKinds.inc"
+#include "DiagnosticKinds.inc"
+
+

Go to the source code of this file.

+ + + + + + + + + + + + +

+Classes

class  nixf::TextEdit
 
class  nixf::Fix
 
class  nixf::PartialDiagnostic
 
class  nixf::Note
 
class  nixf::Diagnostic
 
+ + + +

+Namespaces

namespace  nixf
 
+ + + + + +

+Macros

#define DIAG_NOTE(SNAME, CNAME, MESSAGE)   NK_##CNAME,
 
#define DIAG(SNAME, CNAME, SEVERITY, MESSAGE)   DK_##CNAME,
 
+ + + +

+Enumerations

enum class  nixf::DiagnosticTag { nixf::Faded +, nixf::Striked + }
 
+

Macro Definition Documentation

+ +

◆ DIAG

+ +
+
+ + + + + + + + + + + + + + + + + + + + + +
#define DIAG( SNAME,
CNAME,
SEVERITY,
MESSAGE )   DK_##CNAME,
+
+ +

Definition at line 162 of file Diagnostic.h.

+ +
+
+ +

◆ DIAG_NOTE

+ +
+
+ + + + + + + + + + + + + + + + +
#define DIAG_NOTE( SNAME,
CNAME,
MESSAGE )   NK_##CNAME,
+
+ +

Definition at line 119 of file Diagnostic.h.

+ +
+
+
+ + + + diff --git a/Diagnostic_8h_source.html b/Diagnostic_8h_source.html new file mode 100644 index 000000000..6b4db7e97 --- /dev/null +++ b/Diagnostic_8h_source.html @@ -0,0 +1,401 @@ + + + + + + + +nixd: Diagnostic.h Source File + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Diagnostic.h
+
+
+Go to the documentation of this file.
1/// Diagnostic.h, diagnostic types and definitions
+
2///
+
3/// Diagnostics are structures with a main message,
+
4/// and optionally some additional information (body).
+
5///
+
6/// For diagnostics with a body,
+
7/// they may need a special overrided function to format the message.
+
8///
+
9#pragma once
+
10
+
11#include "Range.h"
+
12
+
13#include <cassert>
+
14#include <memory>
+
15#include <optional>
+
16#include <string>
+
17#include <utility>
+
18#include <vector>
+
19
+
+
20namespace nixf {
+
21
+
22/// Remove the text at `OldRange`, and replace it as `NewText`
+
23/// Special cases:
+
24/// 1. Insertions: special `OldRange` that `Begin` == `End`.
+
25/// 2. Removals: empty `NewText`.
+
+
26class TextEdit {
+
27 LexerCursorRange OldRange;
+
28 std::string NewText;
+
29
+
30public:
+
+
31 TextEdit(LexerCursorRange OldRange, std::string NewText)
+
32 : OldRange(OldRange), NewText(std::move(NewText)) {
+
33 assert(OldRange.lCur() != OldRange.rCur() || !this->NewText.empty());
+
34 }
+
+
35
+
+
36 static TextEdit mkInsertion(LexerCursor P, std::string NewText) {
+
37 return {{P, P}, std::move(NewText)};
+
38 }
+
+
39
+
+
40 static TextEdit mkRemoval(LexerCursorRange RemovingRange) {
+
41 return {RemovingRange, ""};
+
42 }
+
+
43
+
+
44 [[nodiscard]] bool isReplace() const {
+
45 return !isRemoval() && !isInsertion();
+
46 }
+
+
47
+
48 [[nodiscard]] bool isRemoval() const { return NewText.empty(); }
+
49
+
+
50 [[nodiscard]] bool isInsertion() const {
+
51 return OldRange.lCur() == OldRange.rCur();
+
52 }
+
+
53
+
54 [[nodiscard]] LexerCursorRange oldRange() const { return OldRange; }
+
55 [[nodiscard]] std::string_view newText() const { return NewText; }
+
56};
+
+
57
+
+
58class Fix {
+
59 std::vector<TextEdit> Edits;
+
60 std::string Message;
+
61
+
62public:
+
+
63 Fix(std::vector<TextEdit> Edits, std::string Message)
+
64 : Edits(std::move(Edits)), Message(std::move(Message)) {}
+
+
65
+
+
66 Fix &edit(TextEdit Edit) {
+
67 Edits.emplace_back(std::move(Edit));
+
68 return *this;
+
69 }
+
+
70
+
71 [[nodiscard]] const std::vector<TextEdit> &edits() const { return Edits; }
+
72 [[nodiscard]] const std::string &message() const { return Message; }
+
73};
+
+
74
+
+
75enum class DiagnosticTag {
+
76 Faded,
+
77 Striked,
+
78};
+
+
79
+
+ +
81public:
+
82 [[nodiscard]] virtual const char *message() const = 0;
+
83
+
84 virtual ~PartialDiagnostic() = default;
+
85
+
+
86 PartialDiagnostic &operator<<(std::string Var) {
+
87 Args.emplace_back(std::move(Var));
+
88 return *this;
+
89 }
+
+
90
+
91 [[nodiscard]] std::string format() const;
+
92
+
93 [[nodiscard]] const std::vector<std::string> &args() const { return Args; }
+
94
+
95 std::vector<std::string> &args() { return Args; }
+
96
+
97 void tag(DiagnosticTag Tag) { Tags.push_back(Tag); }
+
98
+
99 [[nodiscard]] const std::vector<DiagnosticTag> &tags() const { return Tags; }
+
100
+
101 [[nodiscard]] LexerCursorRange range() const { return Range; }
+
102
+
103protected:
+
104 PartialDiagnostic() = default;
+
105
+
106 PartialDiagnostic(LexerCursorRange Range) : Range(Range) {}
+
107
+
108private:
+
109 std::vector<DiagnosticTag> Tags;
+
110 std::vector<std::string> Args;
+
111 /// Location of this diagnostic
+
112 LexerCursorRange Range;
+
113};
+
+
114
+
+
115class Note : public PartialDiagnostic {
+
116public:
+
117 /// Internal kind
+
+
118 enum NoteKind {
+
119#define DIAG_NOTE(SNAME, CNAME, MESSAGE) NK_##CNAME,
+
120#include "NoteKinds.inc"
+
121#undef DIAG_NOTE
+
122 };
+
+
123
+
+ +
125 : PartialDiagnostic(Range), Kind(Kind) {}
+
+
126
+
+
127 template <class T> PartialDiagnostic &operator<<(const T &Var) {
+
128 args().push_back(Var);
+
129 return *this;
+
130 }
+
+
131
+
132 [[nodiscard]] static const char *sname(NoteKind Kind);
+
133
+
134 [[nodiscard]] virtual const char *sname() const { return sname(kind()); }
+
135
+
136 NoteKind kind() const { return Kind; }
+
137
+
138 [[nodiscard]] static const char *message(NoteKind Kind);
+
139
+
140 [[nodiscard]] const char *message() const override { return message(kind()); }
+
141
+
142private:
+
143 NoteKind Kind;
+
144};
+
+
145
+
146/// The super class for all diagnostics.
+
147/// concret diagnostic types are defined in Diagnostic*.inc
+
+ +
149public:
+
150 /// Each diagnostic contains a severity field,
+
151 /// should be "Fatal", "Error" or "Warning"
+
152 /// this will affect the eval process.
+
153 ///
+
154 /// "Fatal" -- shouldn't eval the code, e.g. parsing error.
+
155 /// "Error" -- trigger an error in nix, but we can recover & eval the code.
+
156 /// "Warning" -- just a warning.
+
157 /// "Note" -- some additional information about the error.
+ +
159
+
160 /// Internal kind
+
+ +
162#define DIAG(SNAME, CNAME, SEVERITY, MESSAGE) DK_##CNAME,
+
163#include "DiagnosticKinds.inc"
+
164#undef DIAG
+
165 };
+
+
166
+
+ +
168 : PartialDiagnostic(Range), Kind(Kind) {}
+
+
169
+
170 [[nodiscard]] DiagnosticKind kind() const { return Kind; };
+
171
+
172 [[nodiscard]] static Severity severity(DiagnosticKind Kind);
+
173
+
174 [[nodiscard]] static const char *message(DiagnosticKind Kind);
+
175
+
176 [[nodiscard]] const char *message() const override { return message(kind()); }
+
177
+
178 /// Short name, switch name.
+
179 /// There might be a human readable short name that controls the diagnostic
+
180 /// For example, one may pass -Wno-dup-formal to suppress duplicated formals.
+
181 /// A special case for parsing errors, generated from bison
+
182 /// have the sname "bison"
+
183 [[nodiscard]] static const char *sname(DiagnosticKind Kind);
+
184
+
185 [[nodiscard]] virtual const char *sname() const { return sname(kind()); }
+
186
+
+ +
188 return Notes.emplace_back(Kind, Range);
+
189 }
+
+
190
+
191 [[nodiscard]] const std::vector<Note> &notes() const { return Notes; }
+
192
+
+
193 Fix &fix(std::string Message) {
+
194 return Fixes.emplace_back(Fix{{}, std::move(Message)});
+
195 }
+
+
196
+
197 [[nodiscard]] const std::vector<Fix> &fixes() const { return Fixes; }
+
198
+
199private:
+
200 DiagnosticKind Kind;
+
201
+
202 std::vector<Note> Notes;
+
203 std::vector<Fix> Fixes;
+
204};
+
+
205
+
206} // namespace nixf
+
+ + + + + + + + +
Diagnostic(DiagnosticKind Kind, LexerCursorRange Range)
Definition Diagnostic.h:167
+
Note & note(Note::NoteKind Kind, LexerCursorRange Range)
Definition Diagnostic.h:187
+
virtual const char * sname() const
Definition Diagnostic.h:185
+
DiagnosticKind kind() const
Definition Diagnostic.h:170
+
Fix & fix(std::string Message)
Definition Diagnostic.h:193
+
const char * message() const override
Definition Diagnostic.h:176
+
DiagnosticKind
Internal kind.
Definition Diagnostic.h:161
+
const std::vector< Fix > & fixes() const
Definition Diagnostic.h:197
+
const std::vector< Note > & notes() const
Definition Diagnostic.h:191
+
static Severity severity(DiagnosticKind Kind)
+ +
Fix(std::vector< TextEdit > Edits, std::string Message)
Definition Diagnostic.h:63
+
const std::vector< TextEdit > & edits() const
Definition Diagnostic.h:71
+
const std::string & message() const
Definition Diagnostic.h:72
+
Fix & edit(TextEdit Edit)
Definition Diagnostic.h:66
+ +
LexerCursor lCur() const
Definition Range.h:116
+
LexerCursor rCur() const
Definition Range.h:117
+
A point in the source file.
Definition Range.h:57
+ +
const char * message() const override
Definition Diagnostic.h:140
+
NoteKind kind() const
Definition Diagnostic.h:136
+
PartialDiagnostic & operator<<(const T &Var)
Definition Diagnostic.h:127
+
Note(NoteKind Kind, LexerCursorRange Range)
Definition Diagnostic.h:124
+
virtual const char * sname() const
Definition Diagnostic.h:134
+
NoteKind
Internal kind.
Definition Diagnostic.h:118
+ +
void tag(DiagnosticTag Tag)
Definition Diagnostic.h:97
+ +
PartialDiagnostic(LexerCursorRange Range)
Definition Diagnostic.h:106
+
std::vector< std::string > & args()
Definition Diagnostic.h:95
+
virtual const char * message() const =0
+
virtual ~PartialDiagnostic()=default
+
const std::vector< std::string > & args() const
Definition Diagnostic.h:93
+
const std::vector< DiagnosticTag > & tags() const
Definition Diagnostic.h:99
+
PartialDiagnostic & operator<<(std::string Var)
Definition Diagnostic.h:86
+
LexerCursorRange range() const
Definition Diagnostic.h:101
+
std::string format() const
+ +
std::string_view newText() const
Definition Diagnostic.h:55
+
bool isInsertion() const
Definition Diagnostic.h:50
+
LexerCursorRange oldRange() const
Definition Diagnostic.h:54
+
static TextEdit mkRemoval(LexerCursorRange RemovingRange)
Definition Diagnostic.h:40
+
static TextEdit mkInsertion(LexerCursor P, std::string NewText)
Definition Diagnostic.h:36
+
bool isReplace() const
Definition Diagnostic.h:44
+
bool isRemoval() const
Definition Diagnostic.h:48
+
TextEdit(LexerCursorRange OldRange, std::string NewText)
Definition Diagnostic.h:31
+ +
DiagnosticTag
Definition Diagnostic.h:75
+ + +
+ + + + diff --git a/Diagnostics_8cpp.html b/Diagnostics_8cpp.html new file mode 100644 index 000000000..fd0b33cf2 --- /dev/null +++ b/Diagnostics_8cpp.html @@ -0,0 +1,106 @@ + + + + + + + +nixd: Diagnostics.cpp File Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
Diagnostics.cpp File Reference
+
+
+ +

Implementation of PublishDiagnostics Notification. +More...

+
#include "Controller.h"
+#include "Convert.h"
+
+

Go to the source code of this file.

+ + + + +

+Namespaces

namespace  nixd
 
+

Detailed Description

+

Implementation of PublishDiagnostics Notification.

+ +

Definition in file Diagnostics.cpp.

+
+ + + + diff --git a/Diagnostics_8cpp_source.html b/Diagnostics_8cpp_source.html new file mode 100644 index 000000000..01768e309 --- /dev/null +++ b/Diagnostics_8cpp_source.html @@ -0,0 +1,199 @@ + + + + + + + +nixd: Diagnostics.cpp Source File + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Diagnostics.cpp
+
+
+Go to the documentation of this file.
1/// \file
+
2/// \brief Implementation of [PublishDiagnostics Notification].
+
3/// [PublishDiagnostics Notification]:
+
4/// https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#textDocument_publishDiagnostics
+
5
+
6#include "Controller.h"
+
7#include "Convert.h"
+
8
+
9namespace nixd {
+
10
+
11using namespace llvm::json;
+
12using namespace lspserver;
+
13
+
14void Controller::publishDiagnostics(
+
15 PathRef File, std::optional<int64_t> Version,
+
16 const std::vector<nixf::Diagnostic> &Diagnostics) {
+
17 std::vector<Diagnostic> LSPDiags;
+
18 LSPDiags.reserve(Diagnostics.size());
+
19 for (const nixf::Diagnostic &D : Diagnostics) {
+
20 // Format the message.
+
21 std::string Message = D.format();
+
22
+
23 // Add fix information.
+
24 if (!D.fixes().empty()) {
+
25 Message += " (";
+
26 if (D.fixes().size() == 1) {
+
27 Message += "fix available";
+
28 } else {
+
29 Message += std::to_string(D.fixes().size());
+
30 Message += " fixes available";
+
31 }
+
32 Message += ")";
+
33 }
+
34
+
35 Diagnostic &Diag = LSPDiags.emplace_back(Diagnostic{
+
36 .range = toLSPRange(D.range()),
+
37 .severity = getLSPSeverity(D.kind()),
+
38 .code = D.sname(),
+
39 .source = "nixf",
+
40 .message = Message,
+
41 .tags = toLSPTags(D.tags()),
+
42 .relatedInformation = std::vector<DiagnosticRelatedInformation>{},
+
43 });
+
44
+
45 assert(Diag.relatedInformation && "Must be initialized");
+
46 Diag.relatedInformation->reserve(D.notes().size());
+
47 for (const nixf::Note &N : D.notes()) {
+ +
49 .location =
+ + +
52 .range = toLSPRange(N.range()),
+
53 },
+
54 .message = N.format(),
+
55 });
+
56 }
+
57 auto Notes = D.notes();
+
58 auto DRange = Diag.range;
+
59
+
60 for (const nixf::Note &N : Notes) {
+
61 LSPDiags.emplace_back(Diagnostic{
+
62 .range = toLSPRange(N.range()),
+
63 .severity = 4,
+
64 .code = N.sname(),
+
65 .source = "nixf",
+
66 .message = N.format(),
+
67 .tags = toLSPTags(N.tags()),
+
68 .relatedInformation =
+
69 std::vector<DiagnosticRelatedInformation>{
+ +
71 .location =
+ + +
74 .range = DRange,
+
75 },
+
76 .message = "original diagnostic",
+
77 }},
+
78 });
+
79 }
+
80 }
+
81 PublishDiagnostic({
+ +
83 .diagnostics = std::move(LSPDiags),
+
84 .version = Version,
+
85 });
+
86}
+
87
+
88} // namespace nixd
+ +
Convert between LSP and nixf types.
+ + +
Whether current platform treats paths case insensitively.
Definition Connection.h:11
+ +
llvm::StringRef PathRef
Definition Path.h:27
+ +
int getLSPSeverity(nixf::Diagnostic::DiagnosticKind Kind)
Definition Convert.cpp:7
+
lspserver::Range toLSPRange(const nixf::LexerCursorRange &R)
Definition Convert.cpp:24
+
llvm::SmallVector< lspserver::DiagnosticTag, 1 > toLSPTags(const std::vector< nixf::DiagnosticTag > &Tags)
Definition Convert.cpp:29
+ +
Location location
The location of this related diagnostic information.
+ +
Range range
The range at which the message applies.
+
std::optional< std::vector< DiagnosticRelatedInformation > > relatedInformation
+ +
URIForFile uri
The text document's URI.
+
static URIForFile canonicalize(llvm::StringRef AbsPath, llvm::StringRef TUPath)
+
+ + + + diff --git a/Displacement_8cpp.html b/Displacement_8cpp.html new file mode 100644 index 000000000..4b088b279 --- /dev/null +++ b/Displacement_8cpp.html @@ -0,0 +1,112 @@ + + + + + + + +nixd: Displacement.cpp File Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
Displacement.cpp File Reference
+
+
+
#include "nixt/Displacement.h"
+
+

Go to the source code of this file.

+ + + + + +

+Namespaces

namespace  nixt
 Access ParseCache in nix::EvalState.
 
+ + + + + + + + + + +

+Functions

nix::PosIdx nixt::displOf (const nix::Expr *E, nix::Displacement Displ)
 Get nix::PosIdx of an nix::Expr, from nix::Displacement.
 
nix::PosIdx nixt::displOf (const nix::ExprAttrs *E, nix::Displacement Displ)
 
nix::PosIdx nixt::displOf (const nix::ExprLet *E, nix::Displacement Displ)
 
nix::PosIdx nixt::displOf (const nix::ExprLambda *E, nix::Displacement Displ)
 
+
+ + + + diff --git a/Displacement_8cpp_source.html b/Displacement_8cpp_source.html new file mode 100644 index 000000000..63e3e678d --- /dev/null +++ b/Displacement_8cpp_source.html @@ -0,0 +1,148 @@ + + + + + + + +nixd: Displacement.cpp Source File + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Displacement.cpp
+
+
+Go to the documentation of this file.
1#include "nixt/Displacement.h"
+
2
+
3namespace nixt {
+
4
+
+
5nix::PosIdx displOf(const nix::Expr *E, nix::Displacement Displ) {
+
6 if (const auto *CE = dynamic_cast<const nix::ExprAttrs *>(E))
+
7 return displOf(CE, Displ);
+
8 if (const auto *CE = dynamic_cast<const nix::ExprLet *>(E))
+
9 return displOf(CE, Displ);
+
10 if (const auto *CE = dynamic_cast<const nix::ExprLambda *>(E))
+
11 return displOf(CE, Displ);
+
12
+
13 assert(false && "The requested expr is not an env creator");
+
14 return nix::noPos; // unreachable
+
15}
+
+
16
+
+
17nix::PosIdx displOf(const nix::ExprAttrs *E, nix::Displacement Displ) {
+
18 assert(E->recursive && "Only recursive ExprAttr has displacement values");
+
19
+
20 auto DefIt = E->attrs.begin();
+
21 std::advance(DefIt, Displ);
+
22
+
23 return DefIt->second.pos;
+
24}
+
+
25
+
+
26nix::PosIdx displOf(const nix::ExprLet *E, nix::Displacement Displ) {
+
27 auto DefIt = E->attrs->attrs.begin();
+
28 std::advance(DefIt, Displ);
+
29
+
30 return DefIt->second.pos;
+
31}
+
+
32
+
+
33nix::PosIdx displOf(const nix::ExprLambda *E, nix::Displacement Displ) {
+
34 if (E->arg) {
+
35 if (Displ == 0)
+
36 // It is just a symbol, so noPos.
+
37 return nix::noPos;
+
38 Displ--;
+
39 }
+
40
+
41 assert(E->hasFormals() && "Lambda must has formals to create displ");
+
42 return E->formals->formals[Displ].pos;
+
43}
+
+
44
+
45} // namespace nixt
+
Get nix::PosIdx of an nix::Expr, from nix::Displacement.
+
Access ParseCache in nix::EvalState.
Definition ArrayRef.h:7
+
nix::PosIdx displOf(const nix::Expr *E, nix::Displacement Displ)
Get nix::PosIdx of an nix::Expr, from nix::Displacement.
+
+ + + + diff --git a/Displacement_8h.html b/Displacement_8h.html new file mode 100644 index 000000000..1294a6b33 --- /dev/null +++ b/Displacement_8h.html @@ -0,0 +1,120 @@ + + + + + + + +nixd: Displacement.h File Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
Displacement.h File Reference
+
+
+ +

Get nix::PosIdx of an nix::Expr, from nix::Displacement. +More...

+
#include <nix/nixexpr.hh>
+
+

Go to the source code of this file.

+ + + + + +

+Namespaces

namespace  nixt
 Access ParseCache in nix::EvalState.
 
+ + + + + + + + + + +

+Functions

nix::PosIdx nixt::displOf (const nix::Expr *E, nix::Displacement Displ)
 Get nix::PosIdx of an nix::Expr, from nix::Displacement.
 
nix::PosIdx nixt::displOf (const nix::ExprAttrs *E, nix::Displacement Displ)
 
nix::PosIdx nixt::displOf (const nix::ExprLet *E, nix::Displacement Displ)
 
nix::PosIdx nixt::displOf (const nix::ExprLambda *E, nix::Displacement Displ)
 
+

Detailed Description

+

Get nix::PosIdx of an nix::Expr, from nix::Displacement.

+

"Displacement" is something used in variable lookup.

+ +

Definition in file Displacement.h.

+
+ + + + diff --git a/Displacement_8h_source.html b/Displacement_8h_source.html new file mode 100644 index 000000000..a4c03dd68 --- /dev/null +++ b/Displacement_8h_source.html @@ -0,0 +1,120 @@ + + + + + + + +nixd: Displacement.h Source File + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Displacement.h
+
+
+Go to the documentation of this file.
1/// \file
+
2/// \brief Get `nix::PosIdx` of an `nix::Expr`, from `nix::Displacement`.
+
3///
+
4/// "Displacement" is something used in variable lookup.
+
5
+
6#pragma once
+
7
+
8#include <nix/nixexpr.hh>
+
9
+
10namespace nixt {
+
11
+
12/// \brief Get `nix::PosIdx` of an `nix::Expr`, from `nix::Displacement`.
+
13/// \note This is based on dynamic_cast, so it is not very efficient.
+
14///
+
15/// The function actually invokes `displOf()` of the corresponding `Expr` type.
+
16nix::PosIdx displOf(const nix::Expr *E, nix::Displacement Displ);
+
17
+
18/// \note The function asserts `E->recursive`. Since normal `ExprAttrs` cannot
+
19/// do variable binding.
+
20nix::PosIdx displOf(const nix::ExprAttrs *E, nix::Displacement Displ);
+
21
+
22nix::PosIdx displOf(const nix::ExprLet *E, nix::Displacement Displ);
+
23
+
24nix::PosIdx displOf(const nix::ExprLambda *E, nix::Displacement Displ);
+
25
+
26} // namespace nixt
+
Access ParseCache in nix::EvalState.
Definition ArrayRef.h:7
+
nix::PosIdx displOf(const nix::Expr *E, nix::Displacement Displ)
Get nix::PosIdx of an nix::Expr, from nix::Displacement.
+
+ + + + diff --git a/DraftStore_8cpp.html b/DraftStore_8cpp.html new file mode 100644 index 000000000..31231904d --- /dev/null +++ b/DraftStore_8cpp.html @@ -0,0 +1,104 @@ + + + + + + + +nixd: DraftStore.cpp File Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
DraftStore.cpp File Reference
+
+
+
#include "lspserver/DraftStore.h"
+#include "lspserver/Logger.h"
+#include "llvm/ADT/StringExtras.h"
+#include "llvm/Support/VirtualFileSystem.h"
+#include <memory>
+#include <optional>
+
+

Go to the source code of this file.

+ + + + + +

+Namespaces

namespace  lspserver
 Whether current platform treats paths case insensitively.
 
+
+ + + + diff --git a/DraftStore_8cpp_source.html b/DraftStore_8cpp_source.html new file mode 100644 index 000000000..d1d24bf99 --- /dev/null +++ b/DraftStore_8cpp_source.html @@ -0,0 +1,264 @@ + + + + + + + +nixd: DraftStore.cpp Source File + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
DraftStore.cpp
+
+
+Go to the documentation of this file.
1//===--- DraftStore.cpp - File contents container ---------------*- C++ -*-===//
+
2//
+
3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+
4// See https://llvm.org/LICENSE.txt for license information.
+
5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+
6//
+
7//===----------------------------------------------------------------------===//
+
8
+ +
10#include "lspserver/Logger.h"
+
11#include "llvm/ADT/StringExtras.h"
+
12#include "llvm/Support/VirtualFileSystem.h"
+
13#include <memory>
+
14#include <optional>
+
15
+
16namespace lspserver {
+
17
+
+
18std::optional<DraftStore::Draft> DraftStore::getDraft(PathRef File) const {
+
19 std::lock_guard<std::mutex> Lock(Mutex);
+
20
+
21 auto It = Drafts.find(File);
+
22 if (It == Drafts.end())
+
23 return std::nullopt;
+
24
+
25 return It->second.D;
+
26}
+
+
27
+
+
28std::vector<Path> DraftStore::getActiveFiles() const {
+
29 std::lock_guard<std::mutex> Lock(Mutex);
+
30 std::vector<Path> ResultVector;
+
31
+
32 for (auto DraftIt = Drafts.begin(); DraftIt != Drafts.end(); DraftIt++)
+
33 ResultVector.push_back(std::string(DraftIt->getKey()));
+
34
+
35 return ResultVector;
+
36}
+
+
37
+
38static void increment(std::string &S) {
+
39 // Ensure there is a numeric suffix.
+
40 if (S.empty() || !llvm::isDigit(S.back())) {
+
41 S.push_back('0');
+
42 return;
+
43 }
+
44 // Increment the numeric suffix.
+
45 auto I = S.rbegin(), E = S.rend();
+
46 for (;;) {
+
47 if (I == E || !llvm::isDigit(*I)) {
+
48 // Reached start of numeric section, it was all 9s.
+
49 S.insert(I.base(), '1');
+
50 break;
+
51 }
+
52 if (*I != '9') {
+
53 // Found a digit we can increment, we're done.
+
54 ++*I;
+
55 break;
+
56 }
+
57 *I = '0'; // and keep incrementing to the left.
+
58 }
+
59}
+
60
+
+
61std::optional<int64_t> DraftStore::decodeVersion(llvm::StringRef Encoded) {
+
62 int64_t Result;
+
63 if (llvm::to_integer(Encoded, Result, 10))
+
64 return Result;
+
65 if (!Encoded.empty()) // Empty can be e.g. diagnostics on close.
+
66 elog("unexpected non-numeric version {0}", Encoded);
+
67 return std::nullopt;
+
68}
+
+
69
+
70static void updateVersion(DraftStore::Draft &D,
+
71 llvm::StringRef SpecifiedVersion) {
+
72 if (!SpecifiedVersion.empty()) {
+
73 // We treat versions as opaque, but the protocol says they increase.
+
74 if (SpecifiedVersion.compare_numeric(D.Version) <= 0)
+
75 lspserver::log("File version went from {0} to {1}", D.Version,
+
76 SpecifiedVersion);
+
77 D.Version = SpecifiedVersion.str();
+
78 } else {
+
79 // Note that if D was newly-created, this will bump D.Version from "" to 1.
+
80 increment(D.Version);
+
81 }
+
82}
+
83
+
+
84std::string DraftStore::encodeVersion(std::optional<int64_t> LSPVersion) {
+
85 return LSPVersion ? std::to_string(*LSPVersion) : "";
+
86}
+
+
87
+
+
88std::string DraftStore::addDraft(PathRef File, llvm::StringRef Version,
+
89 llvm::StringRef Contents) {
+
90 std::lock_guard<std::mutex> Lock(Mutex);
+
91
+
92 auto &D = Drafts[File];
+
93 updateVersion(D.D, Version);
+
94 std::time(&D.MTime);
+
95 D.D.Contents = std::make_shared<std::string>(Contents);
+
96 return D.D.Version;
+
97}
+
+
98
+
+ +
100 std::lock_guard<std::mutex> Lock(Mutex);
+
101
+
102 Drafts.erase(File);
+
103}
+
+
104
+
105namespace {
+
106
+
107/// A read only MemoryBuffer shares ownership of a ref counted string. The
+
108/// shared string object must not be modified while an owned by this buffer.
+
109class SharedStringBuffer : public llvm::MemoryBuffer {
+
110 const std::shared_ptr<const std::string> BufferContents;
+
111 const std::string Name;
+
112
+
113public:
+
114 BufferKind getBufferKind() const override {
+
115 return MemoryBuffer::MemoryBuffer_Malloc;
+
116 }
+
117
+
118 llvm::StringRef getBufferIdentifier() const override { return Name; }
+
119
+
120 SharedStringBuffer(std::shared_ptr<const std::string> Data,
+
121 llvm::StringRef Name)
+
122 : BufferContents(std::move(Data)), Name(Name) {
+
123 assert(BufferContents && "Can't create from empty shared_ptr");
+
124 MemoryBuffer::init(BufferContents->c_str(),
+
125 BufferContents->c_str() + BufferContents->size(),
+
126 /*RequiresNullTerminator=*/true);
+
127 }
+
128};
+
129} // namespace
+
130
+
+
131llvm::IntrusiveRefCntPtr<llvm::vfs::FileSystem> DraftStore::asVFS() const {
+
132 auto MemFS = llvm::makeIntrusiveRefCnt<llvm::vfs::InMemoryFileSystem>();
+
133 std::lock_guard<std::mutex> Guard(Mutex);
+
134 for (const auto &Draft : Drafts)
+
135 MemFS->addFile(Draft.getKey(), Draft.getValue().MTime,
+
136 std::make_unique<SharedStringBuffer>(
+
137 Draft.getValue().D.Contents, Draft.getKey()));
+
138 return MemFS;
+
139}
+
+
140
+
141} // namespace lspserver
+ + +
static std::string encodeVersion(std::optional< int64_t > LSPVersion)
+
std::vector< Path > getActiveFiles() const
+
std::optional< Draft > getDraft(PathRef File) const
+
void removeDraft(PathRef File)
Remove the draft from the store.
+
std::string addDraft(PathRef File, llvm::StringRef Version, llvm::StringRef Contents)
+
llvm::IntrusiveRefCntPtr< llvm::vfs::FileSystem > asVFS() const
+
static std::optional< int64_t > decodeVersion(llvm::StringRef Encoded)
+
Whether current platform treats paths case insensitively.
Definition Connection.h:11
+
void elog(const char *Fmt, Ts &&...Vals)
Definition Logger.h:52
+ +
llvm::StringRef PathRef
Definition Path.h:27
+
void log(const char *Fmt, Ts &&...Vals)
Definition Logger.h:58
+ + +
std::shared_ptr< const std::string > Contents
Definition DraftStore.h:28
+
+ + + + diff --git a/DraftStore_8h.html b/DraftStore_8h.html new file mode 100644 index 000000000..f8612bdb7 --- /dev/null +++ b/DraftStore_8h.html @@ -0,0 +1,113 @@ + + + + + + + +nixd: DraftStore.h File Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
DraftStore.h File Reference
+
+
+
#include "Path.h"
+#include "llvm/ADT/StringMap.h"
+#include "llvm/Support/VirtualFileSystem.h"
+#include <mutex>
+#include <optional>
+#include <string>
+#include <vector>
+
+

Go to the source code of this file.

+ + + + + + +

+Classes

class  lspserver::DraftStore
 
struct  lspserver::DraftStore::Draft
 
+ + + + +

+Namespaces

namespace  lspserver
 Whether current platform treats paths case insensitively.
 
+
+ + + + diff --git a/DraftStore_8h_source.html b/DraftStore_8h_source.html new file mode 100644 index 000000000..9cbb193b4 --- /dev/null +++ b/DraftStore_8h_source.html @@ -0,0 +1,176 @@ + + + + + + + +nixd: DraftStore.h Source File + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
DraftStore.h
+
+
+Go to the documentation of this file.
1//===--- DraftStore.h - File contents container -----------------*- C++ -*-===//
+
2//
+
3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+
4// See https://llvm.org/LICENSE.txt for license information.
+
5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+
6//
+
7//===----------------------------------------------------------------------===//
+
8
+
9#pragma once
+
10
+
11#include "Path.h"
+
12#include "llvm/ADT/StringMap.h"
+
13#include "llvm/Support/VirtualFileSystem.h"
+
14#include <mutex>
+
15#include <optional>
+
16#include <string>
+
17#include <vector>
+
18
+
19namespace lspserver {
+
20
+
21/// A thread-safe container for files opened in a workspace, addressed by
+
22/// filenames. The contents are owned by the DraftStore.
+
23/// Each time a draft is updated, it is assigned a version. This can be
+
24/// specified by the caller or incremented from the previous version.
+
+ +
26public:
+
+
27 struct Draft {
+
28 std::shared_ptr<const std::string> Contents;
+
29 std::string Version;
+
30 };
+
+
31
+
32 /// \return Contents of the stored document.
+
33 /// For untracked files, a std::nullopt is returned.
+
34 std::optional<Draft> getDraft(PathRef File) const;
+
35
+
36 /// \return List of names of the drafts in this store.
+
37 std::vector<Path> getActiveFiles() const;
+
38
+
39 /// Replace contents of the draft for \p File with \p Contents.
+
40 /// If version is empty, one will be automatically assigned.
+
41 /// Returns the version.
+
42 std::string addDraft(PathRef File, llvm::StringRef Version,
+
43 llvm::StringRef Contents);
+
44
+
45 /// Remove the draft from the store.
+ +
47
+
48 llvm::IntrusiveRefCntPtr<llvm::vfs::FileSystem> asVFS() const;
+
49
+
50 /// LSP defines file versions as numbers that increase.
+
51 /// treats them as opaque and therefore uses strings instead.
+
52 static std::string encodeVersion(std::optional<int64_t> LSPVersion);
+
53
+
54 static std::optional<int64_t> decodeVersion(llvm::StringRef Encoded);
+
55
+
56private:
+
57 struct DraftAndTime {
+
58 Draft D;
+
59 std::time_t MTime;
+
60 };
+
61 mutable std::mutex Mutex;
+
62 llvm::StringMap<DraftAndTime> Drafts;
+
63};
+
+
64
+
65} // namespace lspserver
+ + +
static std::string encodeVersion(std::optional< int64_t > LSPVersion)
+
std::vector< Path > getActiveFiles() const
+
std::optional< Draft > getDraft(PathRef File) const
+
void removeDraft(PathRef File)
Remove the draft from the store.
+
std::string addDraft(PathRef File, llvm::StringRef Version, llvm::StringRef Contents)
+
llvm::IntrusiveRefCntPtr< llvm::vfs::FileSystem > asVFS() const
+
static std::optional< int64_t > decodeVersion(llvm::StringRef Encoded)
+
Whether current platform treats paths case insensitively.
Definition Connection.h:11
+ +
llvm::StringRef PathRef
Definition Path.h:27
+ + +
std::shared_ptr< const std::string > Contents
Definition DraftStore.h:28
+
+ + + + diff --git a/EvalClient_8cpp.html b/EvalClient_8cpp.html new file mode 100644 index 000000000..5c591b57c --- /dev/null +++ b/EvalClient_8cpp.html @@ -0,0 +1,104 @@ + + + + + + + +nixd: EvalClient.cpp File Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
EvalClient.cpp File Reference
+
+
+
#include "nixd-config.h"
+#include "EvalClient.h"
+#include "nixd/util/ForkPiped.h"
+#include <bc/Read.h>
+#include <bc/Write.h>
+#include <llvm/Support/raw_ostream.h>
+#include <unistd.h>
+
+

Go to the source code of this file.

+ + + + +

+Namespaces

namespace  nixd
 
+
+ + + + diff --git a/EvalClient_8cpp_source.html b/EvalClient_8cpp_source.html new file mode 100644 index 000000000..5ebd1f7b7 --- /dev/null +++ b/EvalClient_8cpp_source.html @@ -0,0 +1,151 @@ + + + + + + + +nixd: EvalClient.cpp Source File + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
EvalClient.cpp
+
+
+Go to the documentation of this file.
1#include "nixd-config.h"
+
2
+
3#include "EvalClient.h"
+
4
+ +
6
+
7#include <bc/Read.h>
+
8#include <bc/Write.h>
+
9
+
10#include <llvm/Support/raw_ostream.h>
+
11
+
12#include <unistd.h>
+
13
+
14namespace nixd {
+
15
+
16using namespace rpc;
+
17using namespace nixd::util;
+
18
+
+
19std::unique_ptr<OwnedEvalClient> OwnedEvalClient::create(int &Fail) {
+
20 int In;
+
21 int Out;
+
22 int Err;
+
23
+
24 pid_t Child = forkPiped(In, Out, Err);
+
25 if (Child == 0) {
+
26 execl(NIXD_LIBEXEC "/nix-node-eval", "nix-node-eval", nullptr);
+
27 exit(-1);
+
28 } else if (Child < 0) {
+
29 // Error.
+
30 Fail = Child;
+
31 return nullptr;
+
32 }
+
33
+
34 Fail = 0;
+
35 // Parent process.
+
36 auto Proc = std::make_unique<PipedProc>(Child, In, Out, Err);
+
37 auto InP = std::make_unique<lspserver::InboundPort>(
+ +
39
+
40 auto ProcFdStream = std::make_unique<llvm::raw_fd_ostream>(In, false);
+
41
+
42 auto OutP = std::make_unique<lspserver::OutboundPort>(*ProcFdStream, false);
+
43 return std::make_unique<OwnedEvalClient>(std::move(InP), std::move(OutP),
+
44 std::move(Proc),
+
45 std::move(ProcFdStream));
+
46}
+
+
47
+
48} // namespace nixd
+ + + +
static std::unique_ptr< OwnedEvalClient > create(int &Fail)
+ + + +
int forkPiped(int &In, int &Out, int &Err)
Definition ForkPiped.cpp:9
+ +
+ + + + diff --git a/EvalClient_8h.html b/EvalClient_8h.html new file mode 100644 index 000000000..5236ab2b5 --- /dev/null +++ b/EvalClient_8h.html @@ -0,0 +1,110 @@ + + + + + + + +nixd: EvalClient.h File Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
EvalClient.h File Reference
+
+
+
#include "nixd/rpc/Protocol.h"
+#include "nixd/util/PipedProc.h"
+#include <lspserver/LSPServer.h>
+#include <memory>
+#include <thread>
+
+

Go to the source code of this file.

+ + + + + + +

+Classes

class  nixd::EvalClient
 
class  nixd::OwnedEvalClient
 
+ + + +

+Namespaces

namespace  nixd
 
+
+ + + + diff --git a/EvalClient_8h_source.html b/EvalClient_8h_source.html new file mode 100644 index 000000000..c44f04320 --- /dev/null +++ b/EvalClient_8h_source.html @@ -0,0 +1,186 @@ + + + + + + + +nixd: EvalClient.h Source File + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
EvalClient.h
+
+
+Go to the documentation of this file.
1#pragma once
+
2
+
3#include "nixd/rpc/Protocol.h"
+
4
+ +
6
+ +
8
+
9#include <memory>
+
10#include <thread>
+
11
+
12namespace nixd {
+
13
+
+ +
15public:
+
16 llvm::unique_function<void(const rpc::RegisterBCParams &)> RegisterBC;
+
17 llvm::unique_function<void(const rpc::ExprValueParams &,
+ + +
20
+
+
21 EvalClient(std::unique_ptr<lspserver::InboundPort> In,
+
22 std::unique_ptr<lspserver::OutboundPort> Out)
+
23 : lspserver::LSPServer(std::move(In), std::move(Out)) {
+
24 RegisterBC = mkOutNotifiction<rpc::RegisterBCParams>("registerBC");
+
25 ExprValue =
+
26 mkOutMethod<rpc::ExprValueParams, rpc::ExprValueResponse>("exprValue");
+
27 }
+
+
28
+
29 virtual ~EvalClient() = default;
+
30};
+
+
31
+
+ +
33 std::unique_ptr<util::PipedProc> Proc;
+
34 std::unique_ptr<llvm::raw_fd_ostream> Stream;
+
35
+
36 std::thread Input;
+
37
+
38public:
+
+
39 OwnedEvalClient(std::unique_ptr<lspserver::InboundPort> In,
+
40 std::unique_ptr<lspserver::OutboundPort> Out,
+
41 std::unique_ptr<util::PipedProc> Proc,
+
42 std::unique_ptr<llvm::raw_fd_ostream> Stream)
+
43 : EvalClient(std::move(In), std::move(Out)), Proc(std::move(Proc)),
+
44 Stream(std::move(Stream)) {
+
45
+
46 Input = std::thread([this]() { run(); });
+
47 }
+
+
48
+
49 util::PipedProc &proc() { return *Proc; }
+
50
+
+ + +
53 Input.join();
+
54 }
+
+
55
+
56 /// Lanch nix-node-eval, with properly handled file descriptors.
+
57 /// System-wide errno will be written into "Fail" variable and thus cannot be
+
58 /// discarded.
+
59 static std::unique_ptr<OwnedEvalClient> create(int &Fail);
+
60};
+
+
61
+
62} // namespace nixd
+ + + +
void closeInbound()
Close the inbound port.
Definition LSPServer.h:91
+ + +
EvalClient(std::unique_ptr< lspserver::InboundPort > In, std::unique_ptr< lspserver::OutboundPort > Out)
Definition EvalClient.h:21
+
llvm::unique_function< void(const rpc::RegisterBCParams &) RegisterBC)
Definition EvalClient.h:16
+
llvm::unique_function< void(const rpc::ExprValueParams &, lspserver::Callback< rpc::ExprValueResponse >) ExprValue)
Definition EvalClient.h:19
+
virtual ~EvalClient()=default
+ + +
OwnedEvalClient(std::unique_ptr< lspserver::InboundPort > In, std::unique_ptr< lspserver::OutboundPort > Out, std::unique_ptr< util::PipedProc > Proc, std::unique_ptr< llvm::raw_fd_ostream > Stream)
Definition EvalClient.h:39
+
util::PipedProc & proc()
Definition EvalClient.h:49
+
static std::unique_ptr< OwnedEvalClient > create(int &Fail)
+
Whether current platform treats paths case insensitively.
Definition Connection.h:11
+
llvm::unique_function< void(llvm::Expected< T >)> Callback
Definition Function.h:14
+ + + + + +
+ + + + diff --git a/EvalProvider_8cpp.html b/EvalProvider_8cpp.html new file mode 100644 index 000000000..cf1148b03 --- /dev/null +++ b/EvalProvider_8cpp.html @@ -0,0 +1,114 @@ + + + + + + + +nixd: EvalProvider.cpp File Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
EvalProvider.cpp File Reference
+
+
+
#include "EvalProvider.h"
+#include "nixd/rpc/Protocol.h"
+#include <nixt/Deserialize.h>
+#include <nixt/HackCache.h>
+#include <lspserver/LSPServer.h>
+#include <bc/Read.h>
+#include <bc/Write.h>
+#include <nix/canon-path.hh>
+#include <nix/eval.hh>
+#include <nix/fs-input-accessor.hh>
+#include <nix/input-accessor.hh>
+#include <nix/nixexpr.hh>
+#include <nix/store-api.hh>
+#include <boost/interprocess/creation_tags.hpp>
+#include <boost/interprocess/detail/os_file_functions.hpp>
+#include <boost/interprocess/mapped_region.hpp>
+#include <boost/interprocess/shared_memory_object.hpp>
+
+

Go to the source code of this file.

+ + + + +

+Namespaces

namespace  nixd
 
+
+ + + + diff --git a/EvalProvider_8cpp_source.html b/EvalProvider_8cpp_source.html new file mode 100644 index 000000000..8b099b3a5 --- /dev/null +++ b/EvalProvider_8cpp_source.html @@ -0,0 +1,204 @@ + + + + + + + +nixd: EvalProvider.cpp Source File + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
EvalProvider.cpp
+
+
+Go to the documentation of this file.
1#include "EvalProvider.h"
+
2
+
3#include "nixd/rpc/Protocol.h"
+
4
+
5#include <nixt/Deserialize.h>
+
6#include <nixt/HackCache.h>
+
7
+ +
9
+
10#include <bc/Read.h>
+
11#include <bc/Write.h>
+
12
+
13#include <nix/canon-path.hh>
+
14#include <nix/eval.hh>
+
15#include <nix/fs-input-accessor.hh>
+
16#include <nix/input-accessor.hh>
+
17#include <nix/nixexpr.hh>
+
18#include <nix/store-api.hh>
+
19
+
20#include <boost/interprocess/creation_tags.hpp>
+
21#include <boost/interprocess/detail/os_file_functions.hpp>
+
22#include <boost/interprocess/mapped_region.hpp>
+
23#include <boost/interprocess/shared_memory_object.hpp>
+
24
+
25namespace nixd {
+
26
+
27namespace bipc = boost::interprocess;
+
28
+
29using namespace rpc;
+
30
+
+
31EvalProvider::EvalProvider(std::unique_ptr<lspserver::InboundPort> In,
+
32 std::unique_ptr<lspserver::OutboundPort> Out)
+
33 : lspserver::LSPServer(std::move(In), std::move(Out)),
+
34 State(std::unique_ptr<nix::EvalState>(
+
35 new nix::EvalState{{}, nix::openStore("dummy://")})) {
+
36 Registry.addMethod("exprValue", this, &EvalProvider::onExprValue);
+
37 Registry.addNotification("registerBC", this, &EvalProvider::onRegisterBC);
+
38}
+
+
39
+
+
40void EvalProvider::onRegisterBC(const rpc::RegisterBCParams &Params) {
+
41 // Path context
+
42 auto CachePath = State->rootPath(nix::CanonPath(Params.CachePath));
+
43
+ +
45 *State, Params.BasePath, nix::Pos::none_tag{});
+
46
+
47 // Extract the buffer from `Params`
+
48 bipc::shared_memory_object Shm(bipc::open_only, Params.Shm.c_str(),
+
49 bipc::read_only);
+
50
+
51 bipc::mapped_region Region(Shm, bipc::read_only);
+
52
+
53 std::string_view RegionView = {(char *)Region.get_address(),
+
54 (char *)Region.get_address() + Params.Size};
+
55
+
56 nix::Expr *AST = nixt::deserializeHookable(RegionView, Ctx, Pool, VMap, EMap);
+
57
+
58 nix::Value V;
+
59 State->eval(AST, V);
+
60
+
61 // Inject pre-parsed AST into EvalState cache
+
62 auto Cache = nixt::getFileParseCache(*State);
+
63 Cache[CachePath] = AST;
+
64}
+
+
65
+
+
66void EvalProvider::onExprValue(const ExprValueParams &Params,
+ +
68 if (VMap.contains(Params.ExprID)) {
+
69 nix::Value V = VMap[Params.ExprID];
+
70
+ +
72 ExprValueResponse::OK,
+
73 static_cast<std::int64_t>(V.integer),
+
74 ExprValueResponse::Int,
+
75 });
+
76 return;
+
77 }
+
78 Reply(ExprValueResponse{ExprValueResponse::NotEvaluated, 0});
+
79}
+
+
80
+
81} // namespace nixd
+ + + + + + +
EvalProvider(std::unique_ptr< lspserver::InboundPort > In, std::unique_ptr< lspserver::OutboundPort > Out)
+ +
Whether current platform treats paths case insensitively.
Definition Connection.h:11
+
llvm::unique_function< void(llvm::Expected< T >)> Callback
Definition Function.h:14
+
Definition Kinds.h:6
+ +
FileParseCache & getFileParseCache(nix::EvalState &S)
Definition HackCache.h:46
+
DeserializeContext getDeserializeContext(nix::EvalState &State, std::string_view BasePath, const nix::Pos::Origin &Origin)
Stable API wrapper around official nix.
Definition ASTReader.cpp:42
+
nix::Expr * deserializeHookable(std::string_view &Data, DeserializeContext &Ctx, PtrPool< nix::Expr > &Pool, ValueMap &VMap, EnvMap &EMap)
Definition ASTReader.cpp:57
+ + + + + + + + + +
API Wrapper around nix::
Definition Deserialize.h:16
+
+ + + + diff --git a/EvalProvider_8h.html b/EvalProvider_8h.html new file mode 100644 index 000000000..66616490b --- /dev/null +++ b/EvalProvider_8h.html @@ -0,0 +1,109 @@ + + + + + + + +nixd: EvalProvider.h File Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
EvalProvider.h File Reference
+
+
+
#include "nixd/rpc/Protocol.h"
+#include <lspserver/Function.h>
+#include <lspserver/LSPServer.h>
+#include <nixt/HookExpr.h>
+#include <nixt/PtrPool.h>
+#include <nix/nixexpr.hh>
+
+

Go to the source code of this file.

+ + + + +

+Classes

class  nixd::EvalProvider
 
+ + + +

+Namespaces

namespace  nixd
 
+
+ + + + diff --git a/EvalProvider_8h_source.html b/EvalProvider_8h_source.html new file mode 100644 index 000000000..0e325d640 --- /dev/null +++ b/EvalProvider_8h_source.html @@ -0,0 +1,145 @@ + + + + + + + +nixd: EvalProvider.h Source File + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
EvalProvider.h
+
+
+Go to the documentation of this file.
1#pragma once
+
2
+
3#include "nixd/rpc/Protocol.h"
+
4
+ + +
7
+
8#include <nixt/HookExpr.h>
+
9#include <nixt/PtrPool.h>
+
10
+
11#include <nix/nixexpr.hh>
+
12
+
13namespace nixd {
+
14
+
+ +
16
+ +
18 nixt::ValueMap VMap;
+
19 nixt::EnvMap EMap;
+
20 std::unique_ptr<nix::EvalState> State;
+
21
+
22 llvm::unique_function<void(int)> Exit;
+
23
+
24public:
+
25 EvalProvider(std::unique_ptr<lspserver::InboundPort> In,
+
26 std::unique_ptr<lspserver::OutboundPort> Out);
+
27
+
28 void onRegisterBC(const rpc::RegisterBCParams &Params);
+
29
+
30 void onExprValue(const rpc::ExprValueParams &Params,
+ +
32};
+
+
33
+
34} // namespace nixd
+ + + +
Pointer pool, for RAII memory management.
+ + +
EvalProvider(std::unique_ptr< lspserver::InboundPort > In, std::unique_ptr< lspserver::OutboundPort > Out)
+
void onRegisterBC(const rpc::RegisterBCParams &Params)
+
void onExprValue(const rpc::ExprValueParams &Params, lspserver::Callback< rpc::ExprValueResponse >)
+
llvm::unique_function< void(llvm::Expected< T >)> Callback
Definition Function.h:14
+ +
std::map< std::uintptr_t, nix::Env * > EnvMap
Definition HookExpr.h:10
+
std::map< std::uintptr_t, nix::Value > ValueMap
Definition HookExpr.h:9
+ + + +
A simple pointer pool, a vector of unique_ptrs.
Definition PtrPool.h:22
+
+ + + + diff --git a/Expr_8h.html b/Expr_8h.html new file mode 100644 index 000000000..e2746f380 --- /dev/null +++ b/Expr_8h.html @@ -0,0 +1,117 @@ + + + + + + + +nixd: Expr.h File Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
Expr.h File Reference
+
+
+
#include "Attrs.h"
+
+

Go to the source code of this file.

+ + + + + + + + + + + + + + + + + +

+Classes

class  nixf::ExprSelect
 
class  nixf::ExprCall
 A call/apply to some function. More...
 
class  nixf::ExprList
 
class  nixf::ExprIf
 
class  nixf::ExprAssert
 
class  nixf::ExprLet
 
class  nixf::ExprWith
 
+ + + +

+Namespaces

namespace  nixf
 
+
+ + + + diff --git a/Expr_8h_source.html b/Expr_8h_source.html new file mode 100644 index 000000000..9ac52a80c --- /dev/null +++ b/Expr_8h_source.html @@ -0,0 +1,365 @@ + + + + + + + +nixd: Expr.h Source File + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Expr.h
+
+
+Go to the documentation of this file.
1#pragma once
+
2
+
3#include "Attrs.h"
+
4
+
5namespace nixf {
+
6
+
+
7class ExprSelect : public Expr {
+
8 std::shared_ptr<Expr> E;
+
9 std::shared_ptr<AttrPath> Path;
+
10 std::shared_ptr<Expr> Default;
+
11
+
12public:
+
+
13 ExprSelect(LexerCursorRange Range, std::shared_ptr<Expr> E,
+
14 std::shared_ptr<AttrPath> Path, std::shared_ptr<Expr> Default)
+
15 : Expr(NK_ExprSelect, Range), E(std::move(E)), Path(std::move(Path)),
+
16 Default(std::move(Default)) {
+
17 assert(this->E && "E must not be null");
+
18 }
+
+
19
+
+
20 [[nodiscard]] Expr &expr() const {
+
21 assert(E && "E must not be null");
+
22 return *E;
+
23 }
+
+
24
+
25 [[nodiscard]] Expr *defaultExpr() const { return Default.get(); }
+
26
+
27 [[nodiscard]] AttrPath *path() const { return Path.get(); }
+
28
+
+
29 [[nodiscard]] ChildVector children() const override {
+
30 return {E.get(), Path.get()};
+
31 }
+
+
32};
+
+
33
+
34/// A call/apply to some function.
+
+
35class ExprCall : public Expr {
+
36 std::shared_ptr<Expr> Fn;
+
37 std::vector<std::shared_ptr<Expr>> Args;
+
38
+
39public:
+
+
40 ExprCall(LexerCursorRange Range, std::shared_ptr<Expr> Fn,
+
41 std::vector<std::shared_ptr<Expr>> Args)
+
42 : Expr(NK_ExprCall, Range), Fn(std::move(Fn)), Args(std::move(Args)) {
+
43 assert(this->Fn && "Fn must not be null");
+
44 }
+
+
45
+
+
46 [[nodiscard]] Expr &fn() const {
+
47 assert(Fn && "Fn must not be null");
+
48 return *Fn;
+
49 }
+
+
50 std::vector<std::shared_ptr<Expr>> &args() { return Args; }
+
51
+
+
52 [[nodiscard]] const std::vector<std::shared_ptr<Expr>> &args() const {
+
53 return Args;
+
54 }
+
+
55
+
+
56 [[nodiscard]] ChildVector children() const override {
+
57 ChildVector Children;
+
58 Children.reserve(Args.size());
+
59 for (const auto &Member : Args) {
+
60 Children.emplace_back(Member.get());
+
61 }
+
62 return Children;
+
63 }
+
+
64};
+
+
65
+
+
66class ExprList : public Expr {
+
67 std::vector<std::shared_ptr<Expr>> Elements;
+
68
+
69public:
+
+
70 ExprList(LexerCursorRange Range, std::vector<std::shared_ptr<Expr>> Elements)
+
71 : Expr(NK_ExprList, Range), Elements(std::move(Elements)) {}
+
+
72
+
+
73 [[nodiscard]] const std::vector<std::shared_ptr<Expr>> &elements() const {
+
74 return Elements;
+
75 }
+
+
76
+
+
77 [[nodiscard]] std::vector<std::shared_ptr<Expr>> &elements() {
+
78 return Elements;
+
79 }
+
+
80
+
+
81 [[nodiscard]] ChildVector children() const override {
+
82 ChildVector Children;
+
83 Children.reserve(Elements.size());
+
84 for (const auto &Element : Elements) {
+
85 Children.emplace_back(Element.get());
+
86 }
+
87 return Children;
+
88 }
+
+
89};
+
+
90
+
+
91class ExprIf : public Expr {
+
92 std::shared_ptr<Expr> Cond;
+
93 std::shared_ptr<Expr> Then;
+
94 std::shared_ptr<Expr> Else;
+
95
+
96public:
+
+
97 ExprIf(LexerCursorRange Range, std::shared_ptr<Expr> Cond,
+
98 std::shared_ptr<Expr> Then, std::shared_ptr<Expr> Else)
+
99 : Expr(NK_ExprIf, Range), Cond(std::move(Cond)), Then(std::move(Then)),
+
100 Else(std::move(Else)) {}
+
+
101
+
102 [[nodiscard]] Expr *cond() const { return Cond.get(); }
+
103 [[nodiscard]] Expr *then() const { return Then.get(); }
+
104 [[nodiscard]] Expr *elseExpr() const { return Else.get(); }
+
105
+
+
106 [[nodiscard]] ChildVector children() const override {
+
107 return {Cond.get(), Then.get(), Else.get()};
+
108 }
+
+
109};
+
+
110
+
+
111class ExprAssert : public Expr {
+
112 std::shared_ptr<Expr> Cond;
+
113 std::shared_ptr<Expr> Value; // If "cond" is true, then "value" is returned.
+
114
+
115public:
+
+
116 ExprAssert(LexerCursorRange Range, std::shared_ptr<Expr> Cond,
+
117 std::shared_ptr<Expr> Value)
+
118 : Expr(NK_ExprAssert, Range), Cond(std::move(Cond)),
+
119 Value(std::move(Value)) {}
+
+
120
+
121 [[nodiscard]] Expr *cond() const { return Cond.get(); }
+
122 [[nodiscard]] Expr *value() const { return Value.get(); }
+
123
+
+
124 [[nodiscard]] ChildVector children() const override {
+
125 return {Cond.get(), Value.get()};
+
126 }
+
+
127};
+
+
128
+
+
129class ExprLet : public Expr {
+
130 // 'let' binds 'in' expr
+
131
+
132 std::shared_ptr<Misc> KwLet; // 'let', not null
+
133 std::shared_ptr<Binds> B;
+
134 std::shared_ptr<Misc> KwIn;
+
135 std::shared_ptr<Expr> E;
+
136
+
137public:
+
+
138 ExprLet(LexerCursorRange Range, std::shared_ptr<Misc> KwLet,
+
139 std::shared_ptr<Binds> B, std::shared_ptr<Misc> KwIn,
+
140 std::shared_ptr<Expr> E)
+
141 : Expr(NK_ExprLet, Range), KwLet(std::move(KwLet)), B(std::move(B)),
+
142 KwIn(std::move(KwIn)), E(std::move(E)) {
+
143 assert(this->KwLet && "KwLet should not be empty!");
+
144 }
+
+
145
+
146 [[nodiscard]] Binds *binds() const { return B.get(); }
+
147 [[nodiscard]] Expr *expr() const { return E.get(); }
+
148 [[nodiscard]] Misc &let() const { return *KwLet; }
+
149 [[nodiscard]] Misc *in() const { return KwIn.get(); }
+
150
+
+
151 [[nodiscard]] ChildVector children() const override {
+
152 return {KwLet.get(), B.get(), KwIn.get(), E.get()};
+
153 }
+
+
154};
+
+
155
+
+
156class ExprWith : public Expr {
+
157 std::shared_ptr<Expr> With;
+
158 std::shared_ptr<Expr> E;
+
159
+
160public:
+
+
161 ExprWith(LexerCursorRange Range, std::shared_ptr<Expr> With,
+
162 std::shared_ptr<Expr> E)
+
163 : Expr(NK_ExprWith, Range), With(std::move(With)), E(std::move(E)) {}
+
+
164
+
165 [[nodiscard]] Expr *with() const { return With.get(); }
+
166 [[nodiscard]] Expr *expr() const { return E.get(); }
+
167
+
+
168 [[nodiscard]] ChildVector children() const override {
+
169 return {With.get(), E.get()};
+
170 }
+
+
171};
+
+
172
+
173} // namespace nixf
+ + + + +
ExprAssert(LexerCursorRange Range, std::shared_ptr< Expr > Cond, std::shared_ptr< Expr > Value)
Definition Expr.h:116
+
Expr * value() const
Definition Expr.h:122
+
ChildVector children() const override
Definition Expr.h:124
+
Expr * cond() const
Definition Expr.h:121
+
A call/apply to some function.
Definition Expr.h:35
+
Expr & fn() const
Definition Expr.h:46
+
std::vector< std::shared_ptr< Expr > > & args()
Definition Expr.h:50
+
ExprCall(LexerCursorRange Range, std::shared_ptr< Expr > Fn, std::vector< std::shared_ptr< Expr > > Args)
Definition Expr.h:40
+
ChildVector children() const override
Definition Expr.h:56
+
const std::vector< std::shared_ptr< Expr > > & args() const
Definition Expr.h:52
+ +
Expr * then() const
Definition Expr.h:103
+
Expr * cond() const
Definition Expr.h:102
+
Expr * elseExpr() const
Definition Expr.h:104
+
ExprIf(LexerCursorRange Range, std::shared_ptr< Expr > Cond, std::shared_ptr< Expr > Then, std::shared_ptr< Expr > Else)
Definition Expr.h:97
+
ChildVector children() const override
Definition Expr.h:106
+ +
Misc * in() const
Definition Expr.h:149
+
Expr * expr() const
Definition Expr.h:147
+
Binds * binds() const
Definition Expr.h:146
+
Misc & let() const
Definition Expr.h:148
+
ChildVector children() const override
Definition Expr.h:151
+
ExprLet(LexerCursorRange Range, std::shared_ptr< Misc > KwLet, std::shared_ptr< Binds > B, std::shared_ptr< Misc > KwIn, std::shared_ptr< Expr > E)
Definition Expr.h:138
+ +
const std::vector< std::shared_ptr< Expr > > & elements() const
Definition Expr.h:73
+
std::vector< std::shared_ptr< Expr > > & elements()
Definition Expr.h:77
+
ChildVector children() const override
Definition Expr.h:81
+
ExprList(LexerCursorRange Range, std::vector< std::shared_ptr< Expr > > Elements)
Definition Expr.h:70
+ +
ChildVector children() const override
Definition Expr.h:29
+
ExprSelect(LexerCursorRange Range, std::shared_ptr< Expr > E, std::shared_ptr< AttrPath > Path, std::shared_ptr< Expr > Default)
Definition Expr.h:13
+
Expr * defaultExpr() const
Definition Expr.h:25
+
Expr & expr() const
Definition Expr.h:20
+
AttrPath * path() const
Definition Expr.h:27
+ +
Expr * with() const
Definition Expr.h:165
+
ExprWith(LexerCursorRange Range, std::shared_ptr< Expr > With, std::shared_ptr< Expr > E)
Definition Expr.h:161
+
ChildVector children() const override
Definition Expr.h:168
+
Expr * expr() const
Definition Expr.h:166
+ + +
Misc node, used for parentheses, keywords, etc.
Definition Basic.h:106
+
boost::container::small_vector< Node *, 8 > ChildVector
Definition Basic.h:42
+ +
+ + + + diff --git a/FileHeader_8h.html b/FileHeader_8h.html new file mode 100644 index 000000000..91ae3c5c7 --- /dev/null +++ b/FileHeader_8h.html @@ -0,0 +1,105 @@ + + + + + + + +nixd: FileHeader.h File Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
FileHeader.h File Reference
+
+
+
#include "Origin.h"
+#include <cstdint>
+
+

Go to the source code of this file.

+ + + + +

+Classes

struct  nixbc::FileHeader
 
+ + + +

+Namespaces

namespace  nixbc
 
+
+ + + + diff --git a/FileHeader_8h_source.html b/FileHeader_8h_source.html new file mode 100644 index 000000000..a26ab43b5 --- /dev/null +++ b/FileHeader_8h_source.html @@ -0,0 +1,118 @@ + + + + + + + +nixd: FileHeader.h Source File + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
FileHeader.h
+
+
+Go to the documentation of this file.
1#pragma once
+
2
+
3#include "Origin.h"
+
4
+
5#include <cstdint>
+
6
+
+
7namespace nixbc {
+
8
+
+
9struct FileHeader {
+
10 static constexpr int MagicValue = 0x72A17086;
+
11 uint32_t Magic;
+
12 uint32_t Version;
+
13 /* Origin */
+
14};
+
+
15
+
16} // namespace nixbc
+
+ + + +
static constexpr int MagicValue
Definition FileHeader.h:10
+ + +
+ + + + diff --git a/ForkPiped_8cpp.html b/ForkPiped_8cpp.html new file mode 100644 index 000000000..fafb7ad0e --- /dev/null +++ b/ForkPiped_8cpp.html @@ -0,0 +1,108 @@ + + + + + + + +nixd: ForkPiped.cpp File Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
ForkPiped.cpp File Reference
+
+
+
#include "nixd/util/ForkPiped.h"
+#include <cerrno>
+#include <unistd.h>
+
+

Go to the source code of this file.

+ + + + + + +

+Namespaces

namespace  nixd
 
namespace  nixd::util
 
+ + + +

+Functions

int nixd::util::forkPiped (int &In, int &Out, int &Err)
 
+
+ + + + diff --git a/ForkPiped_8cpp_source.html b/ForkPiped_8cpp_source.html new file mode 100644 index 000000000..222ccca34 --- /dev/null +++ b/ForkPiped_8cpp_source.html @@ -0,0 +1,138 @@ + + + + + + + +nixd: ForkPiped.cpp Source File + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
ForkPiped.cpp
+
+
+Go to the documentation of this file.
+
2
+
3#include <cerrno>
+
4
+
5#include <unistd.h>
+
6
+
7namespace nixd::util {
+
8
+
+
9int forkPiped(int &In, int &Out, int &Err) {
+
10 static constexpr int READ = 0;
+
11 static constexpr int WRITE = 1;
+
12 int PipeIn[2];
+
13 int PipeOut[2];
+
14 int PipeErr[2];
+
15 if (pipe(PipeIn) == -1 || pipe(PipeOut) == -1 || pipe(PipeErr) == -1) {
+
16 return -errno;
+
17 }
+
18
+
19 pid_t Child = fork();
+
20
+
21 if (Child == 0) {
+
22 // Redirect stdin, stdout, stderr.
+
23 dup2(PipeIn[READ], STDIN_FILENO);
+
24 dup2(PipeOut[WRITE], STDOUT_FILENO);
+
25 dup2(PipeErr[WRITE], STDERR_FILENO);
+
26 // Child process.
+
27 return 0;
+
28 }
+
29
+
30 if (Child == -1) {
+
31 // Error.
+
32 return -errno;
+
33 }
+
34
+
35 In = PipeIn[WRITE];
+
36 Out = PipeOut[READ];
+
37 Err = PipeOut[READ];
+
38 return Child;
+
39}
+
+
40
+
41} // namespace nixd::util
+ + +
int forkPiped(int &In, int &Out, int &Err)
Definition ForkPiped.cpp:9
+
+ + + + diff --git a/ForkPiped_8h.html b/ForkPiped_8h.html new file mode 100644 index 000000000..7d0118918 --- /dev/null +++ b/ForkPiped_8h.html @@ -0,0 +1,105 @@ + + + + + + + +nixd: ForkPiped.h File Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
ForkPiped.h File Reference
+
+
+ +

Go to the source code of this file.

+ + + + + + +

+Namespaces

namespace  nixd
 
namespace  nixd::util
 
+ + + +

+Functions

int nixd::util::forkPiped (int &In, int &Out, int &Err)
 
+
+ + + + diff --git a/ForkPiped_8h_source.html b/ForkPiped_8h_source.html new file mode 100644 index 000000000..8c47f0960 --- /dev/null +++ b/ForkPiped_8h_source.html @@ -0,0 +1,101 @@ + + + + + + + +nixd: ForkPiped.h Source File + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
ForkPiped.h
+
+
+Go to the documentation of this file.
1#pragma once
+
2
+
3namespace nixd::util {
+
4
+
5int forkPiped(int &In, int &Out, int &Err);
+
6
+
7} // namespace nixd::util
+ +
int forkPiped(int &In, int &Out, int &Err)
Definition ForkPiped.cpp:9
+
+ + + + diff --git a/Function_8h.html b/Function_8h.html new file mode 100644 index 000000000..19065fe81 --- /dev/null +++ b/Function_8h.html @@ -0,0 +1,119 @@ + + + + + + + +nixd: Function.h File Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
Function.h File Reference
+
+
+
#include <llvm/ADT/FunctionExtras.h>
+#include <llvm/Support/Error.h>
+#include <mutex>
+#include <tuple>
+#include <utility>
+
+

Go to the source code of this file.

+ + + + + + + +

+Classes

class  lspserver::Event< T >
 An Event<T> allows events of type T to be broadcast to listeners. More...
 
class  lspserver::Event< T >::Subscription
 
+ + + + +

+Namespaces

namespace  lspserver
 Whether current platform treats paths case insensitively.
 
+ + + + +

+Typedefs

template<typename T >
using lspserver::Callback = llvm::unique_function<void(llvm::Expected<T>)>
 
+
+ + + + diff --git a/Function_8h_source.html b/Function_8h_source.html new file mode 100644 index 000000000..f3d93534f --- /dev/null +++ b/Function_8h_source.html @@ -0,0 +1,211 @@ + + + + + + + +nixd: Function.h Source File + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Function.h
+
+
+Go to the documentation of this file.
1#pragma once
+
2
+
3#include <llvm/ADT/FunctionExtras.h>
+
4#include <llvm/Support/Error.h>
+
5#include <mutex>
+
6#include <tuple>
+
7#include <utility>
+
8
+
9namespace lspserver {
+
10
+
11/// A Callback<T> is a void function that accepts Expected<T>.
+
12/// This is accepted by ClangdServer functions that logically return T.
+
13template <typename T>
+
14using Callback = llvm::unique_function<void(llvm::Expected<T>)>;
+
15
+
16/// An Event<T> allows events of type T to be broadcast to listeners.
+
+
17template <typename T> class Event {
+
18public:
+
19 // A Listener is the callback through which events are delivered.
+
20 using Listener = std::function<void(const T &)>;
+
21
+
22 // A subscription defines the scope of when a listener should receive events.
+
23 // After destroying the subscription, no more events are received.
+
+
24 class [[nodiscard]] Subscription {
+
25 Event *Parent;
+
26 unsigned ListenerID;
+
27
+
28 Subscription(Event *Parent, unsigned ListenerID)
+
29 : Parent(Parent), ListenerID(ListenerID) {}
+
30 friend Event;
+
31
+
32 public:
+
33 Subscription() : Parent(nullptr) {}
+
+
34 Subscription(Subscription &&Other) : Parent(nullptr) {
+
35 *this = std::move(Other);
+
36 }
+
+
+ +
38 // If *this is active, unsubscribe.
+
39 if (Parent) {
+
40 std::lock_guard<std::recursive_mutex> Lock(Parent->ListenersMu);
+
41 llvm::erase_if(Parent->Listeners,
+
42 [&](const std::pair<Listener, unsigned> &P) {
+
43 return P.second == ListenerID;
+
44 });
+
45 }
+
46 // Take over the other subscription, and mark it inactive.
+
47 std::tie(Parent, ListenerID) = std::tie(Other.Parent, Other.ListenerID);
+
48 Other.Parent = nullptr;
+
49 return *this;
+
50 }
+
+
51 // Destroying a subscription may block if an event is being broadcast.
+
+ +
53 if (Parent)
+
54 *this = Subscription(); // Unsubscribe.
+
55 }
+
+
56 };
+
+
57
+
58 // Adds a listener that will observe all future events until the returned
+
59 // subscription is destroyed.
+
60 // May block if an event is currently being broadcast.
+
+ +
62 std::lock_guard<std::recursive_mutex> Lock(ListenersMu);
+
63 Listeners.push_back({std::move(L), ++ListenerCount});
+
64 return Subscription(this, ListenerCount);
+
65 }
+
+
66
+
67 // Synchronously sends an event to all registered listeners.
+
68 // Must not be called from a listener to this event.
+
+
69 void broadcast(const T &V) {
+
70 // FIXME: it would be nice to dynamically check non-reentrancy here.
+
71 std::lock_guard<std::recursive_mutex> Lock(ListenersMu);
+
72 for (const auto &L : Listeners)
+
73 L.first(V);
+
74 }
+
+
75
+
+ +
77 std::lock_guard<std::recursive_mutex> Lock(ListenersMu);
+
78 assert(Listeners.empty());
+
79 }
+
+
80
+
81private:
+
82 static_assert(std::is_same<std::decay_t<T>, T>::value,
+
83 "use a plain type: event values are always passed by const&");
+
84
+
85 std::recursive_mutex ListenersMu;
+
86 bool IsBroadcasting = false;
+
87 std::vector<std::pair<Listener, unsigned>> Listeners;
+
88 unsigned ListenerCount = 0;
+
89};
+
+
90
+
91} // namespace lspserver
+ +
Subscription(Subscription &&Other)
Definition Function.h:34
+ +
Subscription & operator=(Subscription &&Other)
Definition Function.h:37
+ +
An Event<T> allows events of type T to be broadcast to listeners.
Definition Function.h:17
+
void broadcast(const T &V)
Definition Function.h:69
+
std::function< void(const T &)> Listener
Definition Function.h:20
+
Subscription observe(Listener L)
Definition Function.h:61
+ +
Whether current platform treats paths case insensitively.
Definition Connection.h:11
+
llvm::unique_function< void(llvm::Expected< T >)> Callback
Definition Function.h:14
+
+ + + + diff --git a/HackCache_8h.html b/HackCache_8h.html new file mode 100644 index 000000000..cd9167e4f --- /dev/null +++ b/HackCache_8h.html @@ -0,0 +1,125 @@ + + + + + + + +nixd: HackCache.h File Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
HackCache.h File Reference
+
+
+
#include <nix/eval.hh>
+
+

Go to the source code of this file.

+ + + + + + + + + + +

+Classes

struct  nixt::detail::R< Tag >
 
struct  nixt::detail::RB< Tag, p >
 
struct  nixt::detail::RB< Tag, p >::F
 
struct  nixt::detail::ParseCacheF
 
+ + + + + + +

+Namespaces

namespace  nixt
 Access ParseCache in nix::EvalState.
 
namespace  nixt::detail
 
+ + + +

+Typedefs

using nixt::FileParseCache = std::map<nix::SourcePath, nix::Expr *>
 
+ + + +

+Functions

FileParseCachenixt::getFileParseCache (nix::EvalState &S)
 
+
+ + + + diff --git a/HackCache_8h_source.html b/HackCache_8h_source.html new file mode 100644 index 000000000..89e22be01 --- /dev/null +++ b/HackCache_8h_source.html @@ -0,0 +1,166 @@ + + + + + + + +nixd: HackCache.h Source File + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
HackCache.h
+
+
+Go to the documentation of this file.
1/// Access ParseCache in \p nix::EvalState
+
2
+
3#pragma once
+
4
+
5#include <nix/eval.hh>
+
6
+
7namespace nixt {
+
8
+
9#if HAVE_BOEHMGC
+
10using FileParseCache = std::map<
+
11 nix::SourcePath, nix::Expr *, std::less<nix::SourcePath>,
+
12 traceable_allocator<std::pair<const nix::SourcePath, nix::Expr *>>>;
+
13#else
+
14using FileParseCache = std::map<nix::SourcePath, nix::Expr *>;
+
15#endif
+
16
+
+
17namespace detail {
+
18
+
+
19template <typename Tag> struct R {
+
20 using type = typename Tag::type;
+
21 static type P;
+
22};
+
+
23
+
24template <typename Tag> typename R<Tag>::type R<Tag>::P;
+
25
+
+
26template <typename Tag, typename Tag::type p> struct RB : R<Tag> {
+
+
27 struct F {
+
28 F() { R<Tag>::P = p; }
+
29 };
+
+
30 static F FO;
+
31};
+
+
32
+
33template <typename Tag, typename Tag::type p>
+ +
35
+
36// Impl
+
37
+
+ +
39 using type = FileParseCache nix::EvalState::*;
+
40};
+
+
41
+ +
43
+
44} // namespace detail
+
+
45
+
+
46inline FileParseCache &getFileParseCache(nix::EvalState &S) {
+ +
48}
+
+
49
+
50} // namespace nixt
+
Access ParseCache in nix::EvalState.
Definition ArrayRef.h:7
+
FileParseCache & getFileParseCache(nix::EvalState &S)
Definition HackCache.h:46
+
std::map< nix::SourcePath, nix::Expr * > FileParseCache
Definition HackCache.h:14
+ +
FileParseCache nix::EvalState::* type
Definition HackCache.h:39
+ + + + + +
typename Tag::type type
Definition HackCache.h:20
+
static type P
Definition HackCache.h:21
+
+ + + + diff --git a/HookExpr_8cpp.html b/HookExpr_8cpp.html new file mode 100644 index 000000000..77de74b22 --- /dev/null +++ b/HookExpr_8cpp.html @@ -0,0 +1,131 @@ + + + + + + + +nixd: HookExpr.cpp File Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
HookExpr.cpp File Reference
+
+
+
#include "nixt/HookExpr.h"
+#include "nixt/Nodes.inc"
+
+

Go to the source code of this file.

+ + + + + +

+Namespaces

namespace  nixt
 Access ParseCache in nix::EvalState.
 
+ + + +

+Macros

#define NIX_EXPR(EXPR)
 
+

Macro Definition Documentation

+ +

◆ NIX_EXPR

+ +
+
+ + + + + + + +
#define NIX_EXPR( EXPR)
+
+Value:
void Hook##EXPR::eval(nix::EvalState &State, nix::Env &Env, nix::Value &V) { \
+
nix::EXPR::eval(State, Env, V); \
+
VMap[Handle] = V; \
+
EMap[Handle] = &Env; \
+
}
+
+

Definition at line 5 of file HookExpr.cpp.

+ +
+
+
+ + + + diff --git a/HookExpr_8cpp_source.html b/HookExpr_8cpp_source.html new file mode 100644 index 000000000..2905f3be8 --- /dev/null +++ b/HookExpr_8cpp_source.html @@ -0,0 +1,111 @@ + + + + + + + +nixd: HookExpr.cpp Source File + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
HookExpr.cpp
+
+
+Go to the documentation of this file.
1#include "nixt/HookExpr.h"
+
2
+
3namespace nixt {
+
4
+
+
5#define NIX_EXPR(EXPR) \
+
6 void Hook##EXPR::eval(nix::EvalState &State, nix::Env &Env, nix::Value &V) { \
+
7 nix::EXPR::eval(State, Env, V); \
+
8 VMap[Handle] = V; \
+
9 EMap[Handle] = &Env; \
+
10 }
+
+
11#include "nixt/Nodes.inc"
+
12#undef NIX_EXPR
+
13
+
14} // namespace nixt
+ + +
Access ParseCache in nix::EvalState.
Definition ArrayRef.h:7
+
+ + + + diff --git a/HookExpr_8h.html b/HookExpr_8h.html new file mode 100644 index 000000000..b62c5d969 --- /dev/null +++ b/HookExpr_8h.html @@ -0,0 +1,146 @@ + + + + + + + +nixd: HookExpr.h File Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
HookExpr.h File Reference
+
+
+
#include <nix/nixexpr.hh>
+#include <map>
+#include "Nodes.inc"
+
+

Go to the source code of this file.

+ + + + + +

+Namespaces

namespace  nixt
 Access ParseCache in nix::EvalState.
 
+ + + +

+Macros

#define NIX_EXPR(EXPR)
 
+ + + + + +

+Typedefs

using nixt::ValueMap = std::map<std::uintptr_t, nix::Value>
 
using nixt::EnvMap = std::map<std::uintptr_t, nix::Env *>
 
+

Macro Definition Documentation

+ +

◆ NIX_EXPR

+ +
+
+ + + + + + + +
#define NIX_EXPR( EXPR)
+
+Value:
struct Hook##EXPR : nix::EXPR { \
+
ValueMap &VMap; \
+
EnvMap &EMap; \
+
std::uintptr_t Handle; \
+
Hook##EXPR(nix::EXPR E, ValueMap &VMap, EnvMap &EMap, \
+
std::uintptr_t Handle) \
+
: nix::EXPR(E), VMap(VMap), EMap(EMap), Handle(Handle) {} \
+
void eval(nix::EvalState &State, nix::Env &Env, nix::Value &V) override; \
+
std::string getName(); \
+
};
+
#define EXPR(NAME)
Definition Basic.h:19
+
+

Definition at line 12 of file HookExpr.h.

+ +
+
+
+ + + + diff --git a/HookExpr_8h_source.html b/HookExpr_8h_source.html new file mode 100644 index 000000000..facda18bf --- /dev/null +++ b/HookExpr_8h_source.html @@ -0,0 +1,124 @@ + + + + + + + +nixd: HookExpr.h Source File + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
HookExpr.h
+
+
+Go to the documentation of this file.
1#pragma once
+
2
+
3#include <nix/nixexpr.hh>
+
4
+
5#include <map>
+
6
+
7namespace nixt {
+
8
+
9using ValueMap = std::map<std::uintptr_t, nix::Value>;
+
10using EnvMap = std::map<std::uintptr_t, nix::Env *>;
+
11
+
+
12#define NIX_EXPR(EXPR) \
+
13 struct Hook##EXPR : nix::EXPR { \
+
14 ValueMap &VMap; \
+
15 EnvMap &EMap; \
+
16 std::uintptr_t Handle; \
+
17 Hook##EXPR(nix::EXPR E, ValueMap &VMap, EnvMap &EMap, \
+
18 std::uintptr_t Handle) \
+
19 : nix::EXPR(E), VMap(VMap), EMap(EMap), Handle(Handle) {} \
+
20 void eval(nix::EvalState &State, nix::Env &Env, nix::Value &V) override; \
+
21 std::string getName(); \
+
22 };
+
+
23#include "Nodes.inc"
+
24#undef NIX_EXPR
+
25
+
26} // namespace nixt
+ +
Access ParseCache in nix::EvalState.
Definition ArrayRef.h:7
+
std::map< std::uintptr_t, nix::Env * > EnvMap
Definition HookExpr.h:10
+
std::map< std::uintptr_t, nix::Value > ValueMap
Definition HookExpr.h:9
+
+ + + + diff --git a/Hover_8cpp.html b/Hover_8cpp.html new file mode 100644 index 000000000..eeee115f5 --- /dev/null +++ b/Hover_8cpp.html @@ -0,0 +1,106 @@ + + + + + + + +nixd: Hover.cpp File Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
Hover.cpp File Reference
+
+
+ +

Implementation of Hover Request. +More...

+
#include "Controller.h"
+#include "Convert.h"
+
+

Go to the source code of this file.

+ + + + +

+Namespaces

namespace  nixd
 
+

Detailed Description

+

Implementation of Hover Request.

+ +

Definition in file Hover.cpp.

+
+ + + + diff --git a/Hover_8cpp_source.html b/Hover_8cpp_source.html new file mode 100644 index 000000000..30dadf7a6 --- /dev/null +++ b/Hover_8cpp_source.html @@ -0,0 +1,151 @@ + + + + + + + +nixd: Hover.cpp Source File + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Hover.cpp
+
+
+Go to the documentation of this file.
1/// \file
+
2/// \brief Implementation of [Hover Request].
+
3/// [Hover Request]:
+
4/// https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#textDocument_hover
+
5
+
6#include "Controller.h"
+
7#include "Convert.h"
+
8
+
9namespace nixd {
+
10
+
11using namespace llvm::json;
+
12using namespace lspserver;
+
13
+
14void Controller::onHover(const TextDocumentPositionParams &Params,
+
15 Callback<std::optional<Hover>> Reply) {
+
16 PathRef File = Params.textDocument.uri.file();
+
17 const nixf::Node *AST = TUs[File].ast().get();
+
18 nixf::Position Pos{Params.position.line, Params.position.character};
+
19 const nixf::Node *N = AST->descend({Pos, Pos});
+
20 if (!N) {
+
21 Reply(std::nullopt);
+
22 return;
+
23 }
+
24 std::string Name = N->name();
+
25 Reply(Hover{
+
26 .contents =
+ +
28 .kind = MarkupKind::Markdown,
+
29 .value = "`" + Name + "`",
+
30 },
+
31 .range = toLSPRange(N->range()),
+
32 });
+
33}
+
34
+
35} // namespace nixd
+ +
Convert between LSP and nixf types.
+ +
const Node * descend(PositionRange Range) const
Descendant node that contains the given range.
Definition Basic.h:49
+
static const char * name(NodeKind Kind)
Definition Nodes.cpp:5
+
LexerCursorRange range() const
Definition Basic.h:35
+ +
Whether current platform treats paths case insensitively.
Definition Connection.h:11
+
llvm::unique_function< void(llvm::Expected< T >)> Callback
Definition Function.h:14
+ +
llvm::StringRef PathRef
Definition Path.h:27
+ +
lspserver::Range toLSPRange(const nixf::LexerCursorRange &R)
Definition Convert.cpp:24
+ +
MarkupContent contents
The hover's content.
+ + +
int line
Line position in a document (zero-based).
+ + + +
Position position
The position inside the text document.
+
TextDocumentIdentifier textDocument
The text document.
+
llvm::StringRef file() const
Retrieves absolute path to the file.
+
+ + + + diff --git a/InitEval_8h.html b/InitEval_8h.html new file mode 100644 index 000000000..1ac35449f --- /dev/null +++ b/InitEval_8h.html @@ -0,0 +1,107 @@ + + + + + + + +nixd: InitEval.h File Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
InitEval.h File Reference
+
+
+
#include <nix/eval.hh>
+#include <nix/shared.hh>
+#include <nix/store-api.hh>
+
+

Go to the source code of this file.

+ + + + + +

+Namespaces

namespace  nixt
 Access ParseCache in nix::EvalState.
 
+ + + +

+Functions

void nixt::initEval ()
 
+
+ + + + diff --git a/InitEval_8h_source.html b/InitEval_8h_source.html new file mode 100644 index 000000000..31ce91e71 --- /dev/null +++ b/InitEval_8h_source.html @@ -0,0 +1,112 @@ + + + + + + + +nixd: InitEval.h Source File + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
InitEval.h
+
+
+Go to the documentation of this file.
1#pragma once
+
2
+
3#include <nix/eval.hh>
+
4#include <nix/shared.hh>
+
5#include <nix/store-api.hh>
+
6
+
7namespace nixt {
+
8
+
+
9inline void initEval() {
+
10 nix::initNix();
+
11 nix::initLibStore();
+
12 nix::initPlugins();
+
13 nix::initGC();
+
14}
+
+
15
+
16} // namespace nixt
+
Access ParseCache in nix::EvalState.
Definition ArrayRef.h:7
+
void initEval()
Definition InitEval.h:9
+
+ + + + diff --git a/Kinds_8cpp.html b/Kinds_8cpp.html new file mode 100644 index 000000000..052f7f345 --- /dev/null +++ b/Kinds_8cpp.html @@ -0,0 +1,159 @@ + + + + + + + +nixd: Kinds.cpp File Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
Kinds.cpp File Reference
+
+
+
#include "nixt/Kinds.h"
+#include <nix/nixexpr.hh>
+#include "nixt/Nodes.inc"
+
+

Go to the source code of this file.

+ + + + + +

+Namespaces

namespace  nixt
 Access ParseCache in nix::EvalState.
 
+ + + + + +

+Macros

#define NIX_EXPR(EXPR)
 
#define NIX_EXPR(EXPR)
 
+ + + + + + +

+Functions

ek::ExprKind nixt::kindOf (const nix::Expr &E)
 Determine the kind of nix::Expr.
 
const char * nixt::nameOf (ExprKind Kind)
 
+

Macro Definition Documentation

+ +

◆ NIX_EXPR [1/2]

+ +
+
+ + + + + + + +
#define NIX_EXPR( EXPR)
+
+Value:
if (dynamic_cast<const nix::EXPR *>(P)) { \
+
return EK_##EXPR; \
+
}
+
#define EXPR(NAME)
Definition Basic.h:19
+
+
+
+ +

◆ NIX_EXPR [2/2]

+ +
+
+ + + + + + + +
#define NIX_EXPR( EXPR)
+
+Value:
case EK_##EXPR: \
+
return #EXPR;
+
+
+
+
+ + + + diff --git a/Kinds_8cpp_source.html b/Kinds_8cpp_source.html new file mode 100644 index 000000000..1ac0e55d5 --- /dev/null +++ b/Kinds_8cpp_source.html @@ -0,0 +1,139 @@ + + + + + + + +nixd: Kinds.cpp Source File + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Kinds.cpp
+
+
+Go to the documentation of this file.
1#include "nixt/Kinds.h"
+
2
+
3#include <nix/nixexpr.hh>
+
4
+
5namespace nixt {
+
6
+
7using namespace ek;
+
8
+
+
9ExprKind kindOf(const nix::Expr &E) {
+
10 const nix::Expr *P = &E;
+
11#define NIX_EXPR(EXPR) \
+
12 if (dynamic_cast<const nix::EXPR *>(P)) { \
+
13 return EK_##EXPR; \
+
14 }
+
15#include "nixt/Nodes.inc"
+
16 assert(false &&
+
17 "Cannot dynamic-cast to nix::Expr*, missing entries in Nodes.inc?");
+
18 return LastExprKind;
+
19#undef NIX_EXPR
+
20}
+
+
21
+
+
22const char *nameOf(ExprKind Kind) {
+
23 switch (Kind) {
+
24#define NIX_EXPR(EXPR) \
+
25 case EK_##EXPR: \
+
26 return #EXPR;
+
27#include "nixt/Nodes.inc"
+
28#undef NIX_EXPR
+
29 case LastExprKind:
+
30 break;
+
31 }
+
32 assert(false && "Unknown ExprKind");
+
33 return "<unknown>";
+
34}
+
+
35
+
36} // namespace nixt
+
Determine the kind of nix::Expr.
+ + +
@ LastExprKind
Definition Kinds.h:31
+
Access ParseCache in nix::EvalState.
Definition ArrayRef.h:7
+
ek::ExprKind kindOf(const nix::Expr &E)
Determine the kind of nix::Expr.
Definition Kinds.cpp:9
+
const char * nameOf(ek::ExprKind Kind)
Get printable name of some kind.
+
+ + + + diff --git a/Kinds_8h.html b/Kinds_8h.html new file mode 100644 index 000000000..39dff2b8e --- /dev/null +++ b/Kinds_8h.html @@ -0,0 +1,128 @@ + + + + + + + +nixd: Kinds.h File Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
Kinds.h File Reference
+
+
+ +

Determine the kind of nix::Expr. +More...

+ +

Go to the source code of this file.

+ + + + + + + + + + +

+Namespaces

namespace  nix
 
namespace  nixt
 Access ParseCache in nix::EvalState.
 
namespace  nixt::ek
 "ek" is short for "ExprKind".
 
+ + + + +

+Enumerations

enum  nixt::ek::ExprKind { nixt::ek::LastExprKind + }
 Enumeration of all kinds of nix::Expr. More...
 
+ + + + + + + +

+Functions

ek::ExprKind nixt::kindOf (const nix::Expr &E)
 Determine the kind of nix::Expr.
 
const char * nixt::nameOf (ek::ExprKind Kind)
 Get printable name of some kind.
 
+

Detailed Description

+

Determine the kind of nix::Expr.

+ +

Definition in file Kinds.h.

+
+ + + + diff --git a/Kinds_8h_source.html b/Kinds_8h_source.html new file mode 100644 index 000000000..813827e6e --- /dev/null +++ b/Kinds_8h_source.html @@ -0,0 +1,148 @@ + + + + + + + +nixd: Kinds.h Source File + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Kinds.h
+
+
+Go to the documentation of this file.
1/// \file
+
2/// \brief Determine the kind of `nix::Expr`.
+
3
+
4#pragma once
+
5
+
+
6namespace nix {
+
7class Expr;
+
8} // namespace nix
+
+
9
+
10namespace nixt {
+
11
+
12/// \brief "ek" is short for "ExprKind".
+
13///
+
14/// This namespace contains all kinds of
+
15/// unscoped enum `ExprKind`.
+
16/// For convenience, you can `using namespace ek;` to ref these names directly.
+
+
17namespace ek {
+
18
+
19/// \brief Enumeration of all kinds of `nix::Expr`.
+
20///
+
21/// The name is prefixed with `EK_` to avoid name clashes with the AST nodes.
+
22/// e.g. `EK_ExprInt`. These entries are generated by including `Nodes.inc`, so
+
23/// members may not shown in generated docs.
+
+ +
25
+
26/// \cond PRIVATE
+
27#define NIX_EXPR(EXPR) EK_##EXPR,
+
28#include "Nodes.inc"
+
29#undef NIX_EXPR
+
30 /// \endcond
+
31 LastExprKind, // should not be used.
+
32};
+
+
33
+
34} // namespace ek
+
+
35
+
36/// \brief Determine the kind of `nix::Expr`.
+
37/// \note This is based on dynamic_cast, so it is not very efficient.
+
38ek::ExprKind kindOf(const nix::Expr &E);
+
39
+
40/// \brief Get printable name of some kind.
+
41const char *nameOf(ek::ExprKind Kind);
+
42
+
43} // namespace nixt
+ +
Definition Kinds.h:6
+
ExprKind
Enumeration of all kinds of nix::Expr.
Definition Kinds.h:24
+
@ LastExprKind
Definition Kinds.h:31
+
Access ParseCache in nix::EvalState.
Definition ArrayRef.h:7
+
ek::ExprKind kindOf(const nix::Expr &E)
Determine the kind of nix::Expr.
Definition Kinds.cpp:9
+
const char * nameOf(ek::ExprKind Kind)
Get printable name of some kind.
+
+ + + + diff --git a/LSPBinder_8h.html b/LSPBinder_8h.html new file mode 100644 index 000000000..3f710d4b8 --- /dev/null +++ b/LSPBinder_8h.html @@ -0,0 +1,132 @@ + + + + + + + +nixd: LSPBinder.h File Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
LSPBinder.h File Reference
+
+
+
#include "Function.h"
+#include "Logger.h"
+#include "Protocol.h"
+#include <llvm/ADT/FunctionExtras.h>
+#include <llvm/ADT/StringMap.h>
+#include <llvm/Support/JSON.h>
+#include <type_traits>
+
+

Go to the source code of this file.

+ + + + +

+Classes

struct  lspserver::HandlerRegistry
 
+ + + + + + +

+Namespaces

namespace  lspserver
 Whether current platform treats paths case insensitively.
 
namespace  lspserver::detail
 
+ + + + + + + + + + + + + + + + +

+Functions

template<typename T >
std::enable_if_t< std::is_default_constructible_v< T >, T > lspserver::detail::valueOrDefault (const std::optional< T > &OptionalDefault)
 
template<typename T >
std::enable_if_t<!std::is_default_constructible_v< T >, T > lspserver::detail::valueOrUninitialized (const std::optional< T > &OptionalDefault)
 
template<typename T >
llvm::Expected< T > lspserver::detail::parseParamWithOptionalDefault (const llvm::json::Value &Raw, llvm::StringRef PayloadName, llvm::StringRef PayloadKind, std::optional< T > OptionalDefault={})
 
template<typename T >
std::enable_if_t< std::is_default_constructible_v< T >, llvm::Expected< T > > lspserver::parseParam (const llvm::json::Value &Raw, llvm::StringRef PayloadName, llvm::StringRef PayloadKind)
 
template<typename T >
llvm::Expected< T > lspserver::parseParamWithDefault (const llvm::json::Value &Raw, llvm::StringRef PayloadName, llvm::StringRef PayloadKind, T Default)
 
+
+ + + + diff --git a/LSPBinder_8h_source.html b/LSPBinder_8h_source.html new file mode 100644 index 000000000..f88c59396 --- /dev/null +++ b/LSPBinder_8h_source.html @@ -0,0 +1,266 @@ + + + + + + + +nixd: LSPBinder.h Source File + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
LSPBinder.h
+
+
+Go to the documentation of this file.
1#pragma once
+
2
+
3#include "Function.h"
+
4#include "Logger.h"
+
5#include "Protocol.h"
+
6#include <llvm/ADT/FunctionExtras.h>
+
7#include <llvm/ADT/StringMap.h>
+
8#include <llvm/Support/JSON.h>
+
9
+
10#include <type_traits>
+
11
+
12namespace lspserver {
+
13
+
14namespace detail {
+
15
+
16template <typename T>
+
17typename std::enable_if_t<std::is_default_constructible_v<T>, T>
+
+
18valueOrDefault(const std::optional<T> &OptionalDefault) {
+
19 T Result{};
+
20 if (OptionalDefault) {
+
21 Result = OptionalDefault.value();
+
22 }
+
23 return Result;
+
24}
+
+
25
+
26template <typename T>
+
27typename std::enable_if_t<!std::is_default_constructible_v<T>, T>
+
+
28valueOrUninitialized(const std::optional<T> &OptionalDefault) {
+
29 return OptionalDefault.value();
+
30}
+
+
31
+
32template <typename T>
+
+ +
34 const llvm::json::Value &Raw, llvm::StringRef PayloadName,
+
35 llvm::StringRef PayloadKind, std::optional<T> OptionalDefault = {}) {
+
36 T Result = valueOrDefault(OptionalDefault);
+
37 llvm::json::Path::Root Root;
+
38 if (!fromJSON(Raw, Result, Root)) {
+
39 elog("Failed to decode {0} {1}: {2}", PayloadName, PayloadKind,
+
40 Root.getError());
+
41 // Dump the relevant parts of the broken message.
+
42 std::string Context;
+
43 llvm::raw_string_ostream OS(Context);
+
44 Root.printErrorContext(Raw, OS);
+
45 vlog("{0}", OS.str());
+
46 // Report the error (e.g. to the client).
+
47 return llvm::make_error<LSPError>(
+
48 llvm::formatv("failed to decode {0} {1}: {2}", PayloadName, PayloadKind,
+
49 fmt_consume(Root.getError())),
+ +
51 }
+
52 return Result;
+
53}
+
+
54
+
55} // namespace detail
+
56
+
57template <typename T>
+
58typename std::enable_if_t<std::is_default_constructible_v<T>, llvm::Expected<T>>
+
+
59parseParam(const llvm::json::Value &Raw, llvm::StringRef PayloadName,
+
60 llvm::StringRef PayloadKind) {
+
61 return detail::parseParamWithOptionalDefault<T>(Raw, PayloadName,
+
62 PayloadKind);
+
63}
+
+
64
+
65template <typename T>
+
66llvm::Expected<T>
+
+
67parseParamWithDefault(const llvm::json::Value &Raw, llvm::StringRef PayloadName,
+
68 llvm::StringRef PayloadKind, T Default) {
+
69 return detail::parseParamWithOptionalDefault<T>(Raw, PayloadName, PayloadKind,
+
70 Default);
+
71}
+
+
72
+
+ +
74 using JSON = llvm::json::Value;
+
75 template <typename HandlerT>
+
76 using HandlerMap = llvm::StringMap<llvm::unique_function<HandlerT>>;
+
77
+ + + +
81
+
82public:
+
83 /// Bind a handler for an LSP method.
+
84 /// e.g. method("peek", this, &ThisModule::peek);
+
85 /// Handler should be e.g. void peek(const PeekParams&, Callback<PeekResult>);
+
86 /// PeekParams must be JSON-parseable and PeekResult must be serializable.
+
87 template <typename Param, typename Result, typename ThisT>
+
+
88 void addMethod(llvm::StringLiteral Method, ThisT *This,
+
89 void (ThisT::*Handler)(const Param &, Callback<Result>)) {
+
90 MethodHandlers[Method] = [Method, Handler, This](JSON RawParams,
+
91 Callback<JSON> Reply) {
+
92 auto P = parseParam<Param>(RawParams, Method, "request");
+
93 if (!P)
+
94 return Reply(P.takeError());
+
95 (This->*Handler)(*P, std::move(Reply));
+
96 };
+
97 }
+
+
98
+
99 /// Bind a handler for an LSP notification.
+
100 /// e.g. notification("poke", this, &ThisModule::poke);
+
101 /// Handler should be e.g. void poke(const PokeParams&);
+
102 /// PokeParams must be JSON-parseable.
+
103 template <typename Param, typename ThisT>
+
+
104 void addNotification(llvm::StringLiteral Method, ThisT *This,
+
105 void (ThisT::*Handler)(const Param &)) {
+
106 NotificationHandlers[Method] = [Method, Handler, This](JSON RawParams) {
+
107 llvm::Expected<Param> P = parseParam<Param>(RawParams, Method, "request");
+
108 if (!P)
+
109 return llvm::consumeError(P.takeError());
+
110 (This->*Handler)(*P);
+
111 };
+
112 }
+
+
113
+
114 /// Bind a handler for an LSP command.
+
115 /// e.g. command("load", this, &ThisModule::load);
+
116 /// Handler should be e.g. void load(const LoadParams&, Callback<LoadResult>);
+
117 /// LoadParams must be JSON-parseable and LoadResult must be serializable.
+
118 template <typename Param, typename Result, typename ThisT>
+
+
119 void addCommand(llvm::StringLiteral Command, ThisT *This,
+
120 void (ThisT::*Handler)(const Param &, Callback<Result>)) {
+
121 CommandHandlers[Command] = [Command, Handler, This](JSON RawParams,
+
122 Callback<JSON> Reply) {
+
123 auto P = parseParam<Param>(RawParams, Command, "command");
+
124 if (!P)
+
125 return Reply(P.takeError());
+
126 (This->*Handler)(*P, std::move(Reply));
+
127 };
+
128 }
+
+
129};
+
+
130
+
131} // namespace lspserver
+ + + +
std::enable_if_t< std::is_default_constructible_v< T >, T > valueOrDefault(const std::optional< T > &OptionalDefault)
Definition LSPBinder.h:18
+
llvm::Expected< T > parseParamWithOptionalDefault(const llvm::json::Value &Raw, llvm::StringRef PayloadName, llvm::StringRef PayloadKind, std::optional< T > OptionalDefault={})
Definition LSPBinder.h:33
+
std::enable_if_t<!std::is_default_constructible_v< T >, T > valueOrUninitialized(const std::optional< T > &OptionalDefault)
Definition LSPBinder.h:28
+
Whether current platform treats paths case insensitively.
Definition Connection.h:11
+
llvm::unique_function< void(llvm::Expected< T >)> Callback
Definition Function.h:14
+
bool fromJSON(const llvm::json::Value &, URIForFile &, llvm::json::Path)
+ +
void elog(const char *Fmt, Ts &&...Vals)
Definition Logger.h:52
+
llvm::Expected< T > parseParamWithDefault(const llvm::json::Value &Raw, llvm::StringRef PayloadName, llvm::StringRef PayloadKind, T Default)
Definition LSPBinder.h:67
+ +
std::enable_if_t< std::is_default_constructible_v< T >, llvm::Expected< T > > parseParam(const llvm::json::Value &Raw, llvm::StringRef PayloadName, llvm::StringRef PayloadKind)
Definition LSPBinder.h:59
+
void vlog(const char *Fmt, Ts &&...Vals)
Definition Logger.h:63
+ + +
llvm::StringMap< llvm::unique_function< HandlerT > > HandlerMap
Definition LSPBinder.h:76
+
void addNotification(llvm::StringLiteral Method, ThisT *This, void(ThisT::*Handler)(const Param &))
Definition LSPBinder.h:104
+
void addMethod(llvm::StringLiteral Method, ThisT *This, void(ThisT::*Handler)(const Param &, Callback< Result >))
Definition LSPBinder.h:88
+
llvm::json::Value JSON
Definition LSPBinder.h:74
+
HandlerMap< void(JSON)> NotificationHandlers
Definition LSPBinder.h:78
+
HandlerMap< void(JSON, Callback< JSON >)> MethodHandlers
Definition LSPBinder.h:79
+
void addCommand(llvm::StringLiteral Command, ThisT *This, void(ThisT::*Handler)(const Param &, Callback< Result >))
Definition LSPBinder.h:119
+
HandlerMap< void(JSON, Callback< JSON >)> CommandHandlers
Definition LSPBinder.h:80
+
+ + + + diff --git a/LSPServer_8cpp.html b/LSPServer_8cpp.html new file mode 100644 index 000000000..a2ffb07d9 --- /dev/null +++ b/LSPServer_8cpp.html @@ -0,0 +1,107 @@ + + + + + + + +nixd: LSPServer.cpp File Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
LSPServer.cpp File Reference
+
+
+
#include "lspserver/LSPServer.h"
+#include "lspserver/Connection.h"
+#include "lspserver/Function.h"
+#include <llvm/ADT/FunctionExtras.h>
+#include <llvm/Support/Compiler.h>
+#include <llvm/Support/Error.h>
+#include <llvm/Support/JSON.h>
+#include <mutex>
+#include <stdexcept>
+
+

Go to the source code of this file.

+ + + + + +

+Namespaces

namespace  lspserver
 Whether current platform treats paths case insensitively.
 
+
+ + + + diff --git a/LSPServer_8cpp_source.html b/LSPServer_8cpp_source.html new file mode 100644 index 000000000..e23b2a833 --- /dev/null +++ b/LSPServer_8cpp_source.html @@ -0,0 +1,204 @@ + + + + + + + +nixd: LSPServer.cpp Source File + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
LSPServer.cpp
+
+
+Go to the documentation of this file.
+ + +
4
+
5#include <llvm/ADT/FunctionExtras.h>
+
6#include <llvm/Support/Compiler.h>
+
7#include <llvm/Support/Error.h>
+
8#include <llvm/Support/JSON.h>
+
9
+
10#include <mutex>
+
11#include <stdexcept>
+
12
+
13namespace lspserver {
+
14
+
15void LSPServer::run() { In->loop(*this); }
+
16
+
17bool LSPServer::onNotify(llvm::StringRef Method, llvm::json::Value Params) {
+
18 log("<-- {0}", Method);
+
19 if (Method == "exit")
+
20 return false;
+
21 auto Handler = Registry.NotificationHandlers.find(Method);
+
22 if (Handler != Registry.NotificationHandlers.end()) {
+
23 Handler->second(std::move(Params));
+
24 } else {
+
25 log("unhandled notification {0}", Method);
+
26 }
+
27 return true;
+
28}
+
29
+
30bool LSPServer::onCall(llvm::StringRef Method, llvm::json::Value Params,
+
31 llvm::json::Value ID) {
+
32 log("<-- {0}({1})", Method, ID);
+
33 auto Handler = Registry.MethodHandlers.find(Method);
+
34 if (Handler != Registry.MethodHandlers.end())
+
35 Handler->second(std::move(Params),
+
36 [=, Method = std::string(Method),
+
37 this](llvm::Expected<llvm::json::Value> Response) mutable {
+
38 if (Response) {
+
39 log("--> reply:{0}({1})", Method, ID);
+
40 Out->reply(std::move(ID), std::move(Response));
+
41 } else {
+
42 llvm::Error Err = Response.takeError();
+
43 log("--> reply:{0}({1}) {2:ms}, error: {3}", Method, ID,
+
44 Err);
+
45 Out->reply(std::move(ID), std::move(Err));
+
46 }
+
47 });
+
48 else
+
49 return false;
+
50 return true;
+
51}
+
52
+
53bool LSPServer::onReply(llvm::json::Value ID,
+
54 llvm::Expected<llvm::json::Value> Result) {
+
55 log("<-- reply({0})", ID);
+
56 std::optional<Callback<llvm::json::Value>> CB;
+
57
+
58 if (auto OptI = ID.getAsInteger()) {
+
59 if (LLVM_UNLIKELY(*OptI > INT_MAX))
+
60 throw std::logic_error("jsonrpc: id is too large (> INT_MAX)");
+
61 std::lock_guard<std::mutex> Guard(PendingCallsLock);
+
62 auto I = static_cast<int>(*OptI);
+
63 if (PendingCalls.contains(I)) {
+
64 CB = std::move(PendingCalls[I]);
+
65 PendingCalls.erase(I);
+
66 }
+
67 } else {
+
68 throw std::logic_error("jsonrpc: not an integer message ID");
+
69 }
+
70 if (LLVM_UNLIKELY(!CB)) {
+
71 elog("received a reply with ID {0}, but there was no such call", ID);
+
72 // Ignore this error
+
73 return true;
+
74 }
+
75 // Invoke the callback outside of the critical zone, because we just do not
+
76 // need to lock PendingCalls.
+
77 (*CB)(std::move(Result));
+
78 return true;
+
79}
+
80
+
81int LSPServer::bindReply(Callback<llvm::json::Value> CB) {
+
82 std::lock_guard<std::mutex> _(PendingCallsLock);
+
83 int Ret = TopID++;
+
84 PendingCalls[Ret] = std::move(CB);
+
85
+
86 // Check the limit
+
87 if (PendingCalls.size() > MaxPendingCalls) {
+
88 auto Begin = PendingCalls.begin();
+
89 auto [ID, OldestCallback] =
+
90 std::tuple{Begin->first, std::move(Begin->second)};
+
91 OldestCallback(
+
92 error("failed to receive a client reply for request ({0})", ID));
+
93 elog("more than {0} outstanding LSP calls, forgetting about {1}",
+
94 MaxPendingCalls, ID);
+
95 PendingCalls.erase(Begin);
+
96 }
+
97 return Ret;
+
98}
+
99
+
100} // namespace lspserver
+ + + +
HandlerRegistry Registry
Definition LSPServer.h:55
+ +
Whether current platform treats paths case insensitively.
Definition Connection.h:11
+
llvm::Error error(std::error_code EC, const char *Fmt, Ts &&...Vals)
Definition Logger.h:70
+
void elog(const char *Fmt, Ts &&...Vals)
Definition Logger.h:52
+ +
void log(const char *Fmt, Ts &&...Vals)
Definition Logger.h:58
+
HandlerMap< void(JSON)> NotificationHandlers
Definition LSPBinder.h:78
+
HandlerMap< void(JSON, Callback< JSON >)> MethodHandlers
Definition LSPBinder.h:79
+
+ + + + diff --git a/LSPServer_8h.html b/LSPServer_8h.html new file mode 100644 index 000000000..ca8664de4 --- /dev/null +++ b/LSPServer_8h.html @@ -0,0 +1,111 @@ + + + + + + + +nixd: LSPServer.h File Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
LSPServer.h File Reference
+
+
+
#include "lspserver/Connection.h"
+#include "lspserver/Function.h"
+#include "lspserver/LSPBinder.h"
+#include <llvm/ADT/StringRef.h>
+#include <llvm/Support/Error.h>
+#include <llvm/Support/JSON.h>
+#include <memory>
+
+

Go to the source code of this file.

+ + + + +

+Classes

class  lspserver::LSPServer
 
+ + + + +

+Namespaces

namespace  lspserver
 Whether current platform treats paths case insensitively.
 
+
+ + + + diff --git a/LSPServer_8h_source.html b/LSPServer_8h_source.html new file mode 100644 index 000000000..9269dde22 --- /dev/null +++ b/LSPServer_8h_source.html @@ -0,0 +1,218 @@ + + + + + + + +nixd: LSPServer.h Source File + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
LSPServer.h
+
+
+Go to the documentation of this file.
1#pragma once
+
2
+ + + +
6
+
7#include <llvm/ADT/StringRef.h>
+
8#include <llvm/Support/Error.h>
+
9#include <llvm/Support/JSON.h>
+
10
+
11#include <memory>
+
12
+
13namespace lspserver {
+
14
+
15/// LSPServer wraps inputs & outputs, associate message IDs between calls/reply,
+
16/// and provide type-safe interfaces.
+
+
17class LSPServer : public MessageHandler {
+
18private:
+
19 std::unique_ptr<InboundPort> In;
+
20 std::unique_ptr<OutboundPort> Out;
+
21
+
22 bool onNotify(llvm::StringRef Method, llvm::json::Value) override;
+
23 bool onCall(llvm::StringRef Method, llvm::json::Value Params,
+
24 llvm::json::Value ID) override;
+
25 bool onReply(llvm::json::Value ID,
+
26 llvm::Expected<llvm::json::Value> Result) override;
+
27
+
28 std::mutex PendingCallsLock;
+
29
+
30 /// Calls to the client sent, and waiting for the response.
+
31 /// The callback function will be invoked when we get the result.
+
32 ///
+
33 /// If the call has no response for a long time, it should be removed and
+
34 /// associated an error.
+
35 std::map<int, Callback<llvm::json::Value>> PendingCalls;
+
36
+
37 /// Number of maximum callbacks stored in the structure.
+
38 /// Give an error to the oldest callback (least ID) while exceeding this
+
39 /// value.
+
40 static constexpr int MaxPendingCalls = 100;
+
41
+
42 int TopID = 1;
+
43
+
44 /// Allocate an "ID" (as returned value) for this callback.
+
45 int bindReply(Callback<llvm::json::Value>);
+
46
+
47 void callMethod(llvm::StringRef Method, llvm::json::Value Params,
+ +
49 llvm::json::Value ID(bindReply(std::move(CB)));
+
50 log("--> call {0}({1})", Method, ID.getAsInteger());
+
51 O->call(Method, Params, ID);
+
52 }
+
53
+
54protected:
+ +
56 template <class T>
+
57 llvm::unique_function<void(const T &)>
+
+
58 mkOutNotifiction(llvm::StringRef Method, OutboundPort *O = nullptr) {
+
59 if (!O)
+
60 O = Out.get();
+
61 return [=](const T &Params) {
+
62 log("--> notify {0}", Method);
+
63 O->notify(Method, Params);
+
64 };
+
65 }
+
+
66
+
67 template <class ParamTy, class ResponseTy>
+
68 llvm::unique_function<void(const ParamTy &, Callback<ResponseTy>)>
+
+
69 mkOutMethod(llvm::StringRef Method, OutboundPort *O = nullptr) {
+
70 if (!O)
+
71 O = Out.get();
+
72 return [=, this](const ParamTy &Params, Callback<ResponseTy> Reply) {
+
73 callMethod(
+
74 Method, Params,
+
75 [=, Reply = std::move(Reply)](
+
76 llvm::Expected<llvm::json::Value> Response) mutable {
+
77 if (!Response)
+
78 return Reply(Response.takeError());
+
79 Reply(
+
80 parseParam<ResponseTy>(std::move(*Response), Method, "reply"));
+
81 },
+
82 O);
+
83 };
+
84 }
+
+
85
+
86public:
+
+
87 LSPServer(std::unique_ptr<InboundPort> In, std::unique_ptr<OutboundPort> Out)
+
88 : In(std::move(In)), Out(std::move(Out)){};
+
+
89
+
90 /// \brief Close the inbound port.
+
91 void closeInbound() { In->close(); }
+
92 void run();
+
93
+
94 void switchStreamStyle(JSONStreamStyle Style) { In->StreamStyle = Style; }
+
95};
+
+
96
+
97} // namespace lspserver
+ + + + +
HandlerRegistry Registry
Definition LSPServer.h:55
+
LSPServer(std::unique_ptr< InboundPort > In, std::unique_ptr< OutboundPort > Out)
Definition LSPServer.h:87
+
llvm::unique_function< void(const ParamTy &, Callback< ResponseTy >) mkOutMethod)(llvm::StringRef Method, OutboundPort *O=nullptr)
Definition LSPServer.h:69
+
void closeInbound()
Close the inbound port.
Definition LSPServer.h:91
+
void switchStreamStyle(JSONStreamStyle Style)
Definition LSPServer.h:94
+ +
llvm::unique_function< void(const T &) mkOutNotifiction)(llvm::StringRef Method, OutboundPort *O=nullptr)
Definition LSPServer.h:58
+ + +
void notify(llvm::StringRef Method, llvm::json::Value Params)
+
void call(llvm::StringRef Method, llvm::json::Value Params, llvm::json::Value ID)
+
Whether current platform treats paths case insensitively.
Definition Connection.h:11
+
llvm::unique_function< void(llvm::Expected< T >)> Callback
Definition Function.h:14
+ + +
void log(const char *Fmt, Ts &&...Vals)
Definition Logger.h:58
+ +
+ + + + diff --git a/Lambda_8h.html b/Lambda_8h.html new file mode 100644 index 000000000..a96e018e0 --- /dev/null +++ b/Lambda_8h.html @@ -0,0 +1,114 @@ + + + + + + + +nixd: Lambda.h File Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
Lambda.h File Reference
+
+
+
#include "Basic.h"
+#include <map>
+#include <memory>
+#include <vector>
+
+

Go to the source code of this file.

+ + + + + + + + + + + +

+Classes

class  nixf::Formal
 
class  nixf::Formals
 Lambda formal arguments. More...
 
class  nixf::LambdaArg
 
class  nixf::ExprLambda
 
+ + + +

+Namespaces

namespace  nixf
 
+
+ + + + diff --git a/Lambda_8h_source.html b/Lambda_8h_source.html new file mode 100644 index 000000000..8a1fd3dc4 --- /dev/null +++ b/Lambda_8h_source.html @@ -0,0 +1,282 @@ + + + + + + + +nixd: Lambda.h Source File + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Lambda.h
+
+
+Go to the documentation of this file.
1#pragma once
+
2
+
3#include "Basic.h"
+
4
+
5#include <map>
+
6#include <memory>
+
7#include <vector>
+
8
+
9namespace nixf {
+
10
+
+
11class Formal : public Node {
+
12 std::shared_ptr<Misc> Comma;
+
13 std::shared_ptr<Identifier> ID;
+
14 std::shared_ptr<Expr> Default;
+
15 std::shared_ptr<Misc> Ellipsis; // ...
+
16
+
17public:
+
+
18 Formal(LexerCursorRange Range, std::shared_ptr<Misc> Comma,
+
19 std::shared_ptr<Identifier> ID, std::shared_ptr<Expr> Default)
+
20 : Node(NK_Formal, Range), Comma(std::move(Comma)), ID(std::move(ID)),
+
21 Default(std::move(Default)) {}
+
+
22
+
+
23 Formal(LexerCursorRange Range, std::shared_ptr<Misc> Comma,
+
24 std::shared_ptr<Misc> Ellipsis)
+
25 : Node(NK_Formal, Range), Comma(std::move(Comma)),
+
26 Ellipsis(std::move(Ellipsis)) {
+
27 assert(this->Ellipsis && "Ellipsis must not be null");
+
28 }
+
+
29
+
+
30 [[nodiscard]] Misc &ellipsis() const {
+
31 assert(Ellipsis && "Ellipsis must not be null");
+
32 return *Ellipsis;
+
33 }
+
+
34
+
35 [[nodiscard]] bool isEllipsis() const { return Ellipsis != nullptr; }
+
36
+
37 [[nodiscard]] Identifier *id() const { return ID.get(); }
+
38
+
39 [[nodiscard]] Misc *comma() const { return Comma.get(); }
+
40
+
41 [[nodiscard]] Expr *defaultExpr() const { return Default.get(); }
+
42
+
+
43 [[nodiscard]] ChildVector children() const override {
+
44 if (isEllipsis()) {
+
45 return {Ellipsis.get()};
+
46 }
+
47 return {ID.get(), Default.get()};
+
48 }
+
+
49};
+
+
50
+
51/// \brief Lambda formal arguments.
+
52///
+
53/// Things to check:
+
54/// 1. Ellipsis can only occur at the end of the formals.
+
55/// { ..., pkgs } -> { pkgs, ... }
+
56/// 2. Ellipsis can only occur once.
+
57/// { b, ..., a, ... } -> { a, ... }
+
+
58class Formals : public Node {
+
59 std::vector<std::shared_ptr<Formal>> Members;
+
60
+
61 /// Deduplicated formals, useful for encoding
+
62 std::map<std::string, const Formal *> Dedup;
+
63
+
64public:
+
65 using FormalVector = std::vector<std::shared_ptr<Formal>>;
+
+ +
67 std::map<std::string, const Formal *> Dedup)
+
68 : Node(NK_Formals, Range), Members(std::move(Members)),
+
69 Dedup(std::move(Dedup)) {}
+
+
70
+
71 [[nodiscard]] const FormalVector &members() const { return Members; }
+
72
+
73 /// \brief Deduplicated formals.
+
74 const std::map<std::string, const Formal *> &dedup() { return Dedup; }
+
75
+
+
76 [[nodiscard]] const std::map<std::string, const Formal *> &dedup() const {
+
77 return Dedup;
+
78 }
+
+
79
+
+
80 [[nodiscard]] ChildVector children() const override {
+
81 ChildVector Children;
+
82 Children.reserve(Members.size());
+
83 for (const auto &Member : Members) {
+
84 Children.emplace_back(Member.get());
+
85 }
+
86 return Children;
+
87 }
+
+
88};
+
+
89
+
+
90class LambdaArg : public Node {
+
91 std::shared_ptr<Identifier> ID;
+
92 std::shared_ptr<Formals> F;
+
93
+
94public:
+
+
95 LambdaArg(LexerCursorRange Range, std::shared_ptr<Identifier> ID,
+
96 std::shared_ptr<Formals> F)
+
97 : Node(NK_LambdaArg, Range), ID(std::move(ID)), F(std::move(F)) {}
+
+
98
+
99 [[nodiscard]] Identifier *id() { return ID.get(); }
+
100
+
101 [[nodiscard]] Formals *formals() const { return F.get(); }
+
102
+
+
103 [[nodiscard]] ChildVector children() const override {
+
104 return {ID.get(), F.get()};
+
105 }
+
+
106};
+
+
107
+
+
108class ExprLambda : public Expr {
+
109 std::shared_ptr<LambdaArg> Arg;
+
110 std::shared_ptr<Expr> Body;
+
111
+
112public:
+
+
113 ExprLambda(LexerCursorRange Range, std::shared_ptr<LambdaArg> Arg,
+
114 std::shared_ptr<Expr> Body)
+
115 : Expr(NK_ExprLambda, Range), Arg(std::move(Arg)), Body(std::move(Body)) {
+
116 }
+
+
117
+
118 [[nodiscard]] LambdaArg *arg() const { return Arg.get(); }
+
119 [[nodiscard]] Expr *body() const { return Body.get(); }
+
120
+
+
121 [[nodiscard]] ChildVector children() const override {
+
122 return {Arg.get(), Body.get()};
+
123 }
+
+
124};
+
+
125
+
126} // namespace nixf
+ + +
Expr * body() const
Definition Lambda.h:119
+
LambdaArg * arg() const
Definition Lambda.h:118
+
ExprLambda(LexerCursorRange Range, std::shared_ptr< LambdaArg > Arg, std::shared_ptr< Expr > Body)
Definition Lambda.h:113
+
ChildVector children() const override
Definition Lambda.h:121
+ + +
Misc & ellipsis() const
Definition Lambda.h:30
+
Misc * comma() const
Definition Lambda.h:39
+
ChildVector children() const override
Definition Lambda.h:43
+
Formal(LexerCursorRange Range, std::shared_ptr< Misc > Comma, std::shared_ptr< Identifier > ID, std::shared_ptr< Expr > Default)
Definition Lambda.h:18
+
bool isEllipsis() const
Definition Lambda.h:35
+
Identifier * id() const
Definition Lambda.h:37
+
Formal(LexerCursorRange Range, std::shared_ptr< Misc > Comma, std::shared_ptr< Misc > Ellipsis)
Definition Lambda.h:23
+
Expr * defaultExpr() const
Definition Lambda.h:41
+
Lambda formal arguments.
Definition Lambda.h:58
+
std::vector< std::shared_ptr< Formal > > FormalVector
Definition Lambda.h:65
+
Formals(LexerCursorRange Range, FormalVector Members, std::map< std::string, const Formal * > Dedup)
Definition Lambda.h:66
+
ChildVector children() const override
Definition Lambda.h:80
+
const std::map< std::string, const Formal * > & dedup() const
Definition Lambda.h:76
+
const FormalVector & members() const
Definition Lambda.h:71
+
const std::map< std::string, const Formal * > & dedup()
Deduplicated formals.
Definition Lambda.h:74
+
Identifier. Variable names, attribute names, etc.
Definition Basic.h:114
+ +
Identifier * id()
Definition Lambda.h:99
+
Formals * formals() const
Definition Lambda.h:101
+
LambdaArg(LexerCursorRange Range, std::shared_ptr< Identifier > ID, std::shared_ptr< Formals > F)
Definition Lambda.h:95
+
ChildVector children() const override
Definition Lambda.h:103
+ +
Misc node, used for parentheses, keywords, etc.
Definition Basic.h:106
+ +
boost::container::small_vector< Node *, 8 > ChildVector
Definition Basic.h:42
+ +
+ + + + diff --git a/Lexer_8cpp.html b/Lexer_8cpp.html new file mode 100644 index 000000000..e7f0dbca7 --- /dev/null +++ b/Lexer_8cpp.html @@ -0,0 +1,138 @@ + + + + + + + +nixd: Lexer.cpp File Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
Lexer.cpp File Reference
+
+
+
#include "Lexer.h"
+#include "nixf/Basic/Range.h"
+#include <cassert>
+#include <cctype>
+#include "nixf/Basic/TokenKinds.inc"
+
+

Go to the source code of this file.

+ + + + +

+Namespaces

namespace  nixf
 
+ + + +

+Macros

#define TOK_KEYWORD(NAME)
 
+ + + + + +

+Typedefs

using nixf::DK = Diagnostic::DiagnosticKind
 
using nixf::NK = Note::NoteKind
 
+

Macro Definition Documentation

+ +

◆ TOK_KEYWORD

+ +
+
+ + + + + + + +
#define TOK_KEYWORD( NAME)
+
+Value:
if (tokStr() == #NAME) { \
+
Tok = tok_kw_##NAME; \
+
return; \
+
}
+
+
+
+
+ + + + diff --git a/Lexer_8cpp_source.html b/Lexer_8cpp_source.html new file mode 100644 index 000000000..3bf001ccc --- /dev/null +++ b/Lexer_8cpp_source.html @@ -0,0 +1,708 @@ + + + + + + + +nixd: Lexer.cpp Source File + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Lexer.cpp
+
+
+Go to the documentation of this file.
1#include "Lexer.h"
+
2
+
3#include "nixf/Basic/Range.h"
+
4
+
5#include <cassert>
+
6#include <cctype>
+
7
+
8namespace nixf {
+
9
+
10using namespace tok;
+
11
+
12namespace {
+
13
+
14bool isUriSchemeChar(char Ch) {
+
15 // These characters are valid URI scheme char.
+
16 return std::isalnum(Ch) || Ch == '+' || Ch == '-' || Ch == '.';
+
17}
+
18
+
19bool isUriPathChar(char Ch) {
+
20 // These characters are valid URI path char.
+
21 return std::isalnum(Ch) || Ch == '%' || Ch == '/' || Ch == '?' || Ch == ':' ||
+
22 Ch == '@' || Ch == '&' || Ch == '=' || Ch == '+' || Ch == '$' ||
+
23 Ch == ',' || Ch == '-' || Ch == '_' || Ch == '.' || Ch == '!' ||
+
24 Ch == '~' || Ch == '*' || Ch == '\'';
+
25}
+
26
+
27bool isPathChar(char Ch) {
+
28 // These characters are valid path char.
+
29 return std::isdigit(Ch) || std::isalpha(Ch) || Ch == '.' || Ch == '_' ||
+
30 Ch == '-' || Ch == '+';
+
31}
+
32
+
33bool isIdentifierChar(char Ch) {
+
34 return std::isdigit(Ch) || std::isalpha(Ch) || Ch == '_' || Ch == '\'' ||
+
35 Ch == '-';
+
36}
+
37
+
38} // namespace
+
39
+ + +
42
+
43std::optional<LexerCursorRange> Lexer::consumePrefix(std::string_view Prefix) {
+
44 LexerCursor Begin = cur();
+
45 if (peekPrefix(Prefix)) {
+
46 consume(Prefix.length());
+
47 return LexerCursorRange{Begin, cur()};
+
48 }
+
49 return std::nullopt;
+
50}
+
51
+
52std::optional<LexerCursorRange> Lexer::consumeManyOf(std::string_view Chars) {
+
53 if (eof())
+
54 return std::nullopt;
+
55 if (Chars.find(peekUnwrap()) != std::string_view::npos) {
+
56 auto Start = Cur;
+
57 while (Chars.find(peekUnwrap()) != std::string_view::npos) {
+
58 consume();
+
59 }
+
60 return LexerCursorRange{Start, Cur};
+
61 }
+
62 return std::nullopt;
+
63}
+
64
+
65std::optional<char> Lexer::consumeOneOf(std::string_view Chars) {
+
66 if (eof())
+
67 return std::nullopt;
+
68 if (Chars.find(peekUnwrap()) != std::string_view::npos) {
+
69 char Ret = peekUnwrap();
+
70 consume();
+
71 return Ret;
+
72 }
+
73 return std::nullopt;
+
74}
+
75
+
76bool Lexer::consumeOne(char C) {
+
77 if (eof())
+
78 return false;
+
79 if (peek() == C) {
+
80 consume();
+
81 return true;
+
82 }
+
83 return false;
+
84}
+
85
+
86std::optional<LexerCursorRange> Lexer::consumeManyPathChar() {
+
87 if (eof())
+
88 return std::nullopt;
+
89 if (auto Ch = peek(); Ch && isPathChar(*Ch)) {
+
90 auto Start = Cur;
+
91 do {
+
92 consume();
+
93 Ch = peek();
+
94 } while (Ch && isPathChar(*Ch));
+
95 return LexerCursorRange{Start, Cur};
+
96 }
+
97 return std::nullopt;
+
98}
+
99
+
100bool Lexer::peekPrefix(std::string_view Prefix) {
+
101 if (Cur.Offset + Prefix.length() > Src.length())
+
102 return false;
+
103 if (remain().starts_with(Prefix)) {
+
104 return true;
+
105 }
+
106 return false;
+
107}
+
108
+
109bool Lexer::consumeWhitespaces() {
+
110 if (auto Ch = peek(); Ch && !std::isspace(*Ch))
+
111 return false;
+
112 do {
+
113 consume();
+
114 } while (!eof() && std::isspace(peekUnwrap()));
+
115 return true;
+
116}
+
117
+
118bool Lexer::consumeComments() {
+
119 if (eof())
+
120 return false;
+
121 if (std::optional<LexerCursorRange> BeginRange = consumePrefix("/*")) {
+
122 // Consume block comments until we meet '*/'
+
123 while (true) {
+
124 if (eof()) {
+
125 // There is no '*/' to terminate comments
+
126 Diagnostic &Diag = Diags.emplace_back(DK::DK_UnterminatedBComment,
+
127 LexerCursorRange{cur()});
+
128 Diag.note(NK::NK_BCommentBegin, *BeginRange);
+
129 Diag.fix("insert */").edit(TextEdit::mkInsertion(cur(), "*/"));
+
130 return true;
+
131 }
+
132 if (consumePrefix("*/"))
+
133 // We found the ending '*/'
+
134 return true;
+
135 consume(); // Consume a character (block comment body).
+
136 }
+
137 } else if (consumePrefix("#")) {
+
138 // Single line comments, consume blocks until we meet EOF or '\n' or '\r'
+
139 while (true) {
+
140 if (eof() || consumeEOL()) {
+
141 return true;
+
142 }
+
143 consume(); // Consume a character (single line comment body).
+
144 }
+
145 }
+
146 return false;
+
147}
+
148
+
149void Lexer::consumeTrivia() {
+
150 while (true) {
+
151 if (eof())
+
152 return;
+
153 if (consumeWhitespaces() || consumeComments())
+
154 continue;
+
155 return;
+
156 }
+
157}
+
158
+
159bool Lexer::lexFloatExp() {
+
160 // accept ([Ee][+-]?[0-9]+)?, the exponential part (after `.` of a float)
+
161 if (std::optional<char> ECh = consumeOneOf("Ee")) {
+
162 // [+-]?
+
163 consumeOneOf("+-");
+
164 // [0-9]+
+
165 if (!consumeManyDigits()) {
+
166 // not matching [0-9]+, error
+
167 Diags.emplace_back(DK::DK_FloatNoExp, curRange()) << std::string(1, *ECh);
+
168 return false;
+
169 }
+
170 }
+
171
+
172 return true;
+
173}
+
174
+
175void Lexer::lexNumbers() {
+
176 // numbers
+
177 //
+
178 // currently libexpr accepts:
+
179 // INT [0-9]+
+
180 // FLOAT (([1-9][0-9]*\.[0-9]*)|(0?\.[0-9]+))([Ee][+-]?[0-9]+)?
+
181 //
+
182 // regex 'FLOAT' rejects floats like 00.0
+
183 //
+
184 // nix-repl> 000.3
+
185 // error: attempt to call something which is not a function but an integer
+
186 //
+
187 // at «string»:1:1:
+
188 //
+
189 // 1| 000.3
+
190 // | ^
+
191 //
+
192 // however, we accept [0-9]+\.[0-9]*([Ee][+-]?[0-9]+)?
+
193 // and issues a warning if it has leading zeros
+
194 // [0-9]+
+
195 auto Ch = consumeManyDigits();
+
196 assert(Ch.has_value() && "lexNumbers() must be called with a digit start");
+
197 if (peek() == '.') {
+
198 // float
+
199 Tok = tok_float;
+
200 consume();
+
201 // [0-9]*
+
202 consumeManyDigits();
+
203 lexFloatExp();
+
204 // Checking that if the float token has leading zeros.
+
205 std::string_view Prefix = Src.substr(Ch->lCur().Offset, 2);
+
206 if (Prefix.starts_with("0") && Prefix != "0.")
+
207 Diags.emplace_back(DK::DK_FloatLeadingZero, *Ch) << std::string(Prefix);
+
208 } else {
+
209 Tok = tok_int;
+
210 }
+
211}
+
212
+
213bool Lexer::consumePathStart() {
+
214 // PATH_CHAR [a-zA-Z0-9\.\_\-\+]
+
215 // PATH {PATH_CHAR}*(\/{PATH_CHAR}+)+\/?
+
216 // PATH_SEG {PATH_CHAR}*\/
+
217 //
+
218
+
219 // Path, starts with any valid path char, and must contain slashs
+
220 // Here, we look ahead characters, the must be valid path char
+
221 // And also check if it contains a slash.
+
222 LexerCursor Saved = cur();
+
223
+
224 // {PATH_CHAR}*
+
225 consumeManyPathChar();
+
226
+
227 // Check if there is a slash, and also a path char right after such slash.
+
228 // If so, it is a path_fragment
+
229 if (consumeOne('/')) {
+
230 // Now, check if we are on a normal path char.
+
231 if (auto Ch = peek(); Ch && isPathChar(*Ch))
+
232 return true;
+
233 // Or, look ahead to see if is a dollar curly. ${
+
234 // This should be parsed as path-interpolation.
+
235 if (peekPrefix("${"))
+
236 return true;
+
237 }
+
238
+
239 // Otherwise, it is not a path, restore cursor.
+
240 Cur = Saved;
+
241 return false;
+
242}
+
243
+
244bool Lexer::consumeURI() {
+
245 // URI
+
246 // [a-zA-Z][a-zA-Z0-9\+\-\.]*\:[a-zA-Z0-9\%\/\?\:\@\&\=\+\$\,\-\_\.\!\~\*\']+
+
247 //
+
248
+
249 LexerCursor Saved = cur();
+
250 // URI, starts with any valid URI scheme char, and must contain a colon
+
251 // Here, we look ahead characters, the must be valid path char
+
252 // And also check if it contains a colon.
+
253
+
254 while (!eof() && isUriSchemeChar(peekUnwrap()))
+
255 consume();
+
256
+
257 // Check if there is a colon, and also a URI path char right after such colon.
+
258 // If so, it is a uri
+
259 if (!eof() && peekUnwrap() == ':') {
+
260 consume();
+
261 if (!eof() && isUriPathChar(peekUnwrap())) {
+
262 do
+
263 consume();
+
264 while (!eof() && isUriPathChar(peekUnwrap()));
+
265 return true;
+
266 }
+
267 }
+
268
+
269 Cur = Saved;
+
270 return false;
+
271}
+
272
+
273void Lexer::lexIdentifier() {
+
274 // identifier: [a-zA-Z_][a-zA-Z0-9_\'\-]*,
+
275 consume();
+
276 while (!eof() && isIdentifierChar(peekUnwrap()))
+
277 consume();
+
278}
+
279
+
280void Lexer::maybeKW() {
+
281 // For complex language this should be done on automaton or hashtable.
+
282 // But actually there are few keywords in nix language, so we just do
+
283 // comparison.
+
284#define TOK_KEYWORD(NAME) \
+
285 if (tokStr() == #NAME) { \
+
286 Tok = tok_kw_##NAME; \
+
287 return; \
+
288 }
+ +
290#undef TOK_KEYWORD
+
291}
+
292
+
+ +
294 // Accept all characters, except ${, or "
+
295 // aaa/b//c
+
296 // Path
+
297 // PathFragment aaa/ <- lex()
+
298 // PathFragment b//c <- lexPath()
+
299 startToken();
+
300 Tok = tok_path_end;
+
301 if (eof()) {
+
302 return finishToken();
+
303 }
+
304
+
305 if (consumePrefix("${")) {
+
306 Tok = tok_dollar_curly;
+
307 return finishToken();
+
308 }
+
309
+
310 if (isPathChar(peekUnwrap()) || peekUnwrap() == '/') {
+
311 Tok = tok_path_fragment;
+
312 while (!eof() && (isPathChar(peekUnwrap()) || peekUnwrap() == '/')) {
+
313 // Encountered an interpolation, stop here
+
314 if (peekPrefix("${"))
+
315 break;
+
316 consume();
+
317 }
+
318 return finishToken();
+
319 }
+
320 return finishToken();
+
321}
+
+
322
+
+ +
324 // Accept all characters, except ${, or "
+
325 startToken();
+
326 if (eof()) {
+
327 Tok = tok_eof;
+
328 return finishToken();
+
329 }
+
330 switch (peekUnwrap()) {
+
331 case '"':
+
332 consume();
+
333 Tok = tok_dquote;
+
334 break;
+
335 case '\\':
+
336 // Consume two characters, for escaping
+
337 // NOTE: we may not want to break out Unicode wchar here, but libexpr does
+
338 // such ignoring
+
339 consume(2);
+
340 Tok = tok_string_escape;
+
341 break;
+
342 case '$':
+
343 if (consumePrefix("${")) {
+
344 Tok = tok_dollar_curly;
+
345 break;
+
346 }
+
347
+
348 // Otherwise, consider it is a part of string.
+
349 [[fallthrough]];
+
350 default:
+
351 Tok = tok_string_part;
+
352 for (; !eof();) {
+
353 // '\' escape
+
354 if (peekUnwrap() == '\\')
+
355 break;
+
356 if (peekUnwrap() == '"')
+
357 break;
+
358 // double-$, or \$, escapes ${.
+
359 // We will handle escaping on Sema
+
360 if (consumePrefix("$${"))
+
361 continue;
+
362 // Encountered a string interpolation, stop here
+
363 if (peekPrefix("${"))
+
364 break;
+
365 consume();
+
366 }
+
367 }
+
368 return finishToken();
+
369}
+
+
370
+
+ +
372 startToken();
+
373 if (eof()) {
+
374 Tok = tok_eof;
+
375 return finishToken();
+
376 }
+
377 if (consumePrefix("''")) {
+
378 Tok = tok_quote2;
+
379 if (consumePrefix("$") || consumePrefix("\\") || consumePrefix("'"))
+
380 Tok = tok_string_escape;
+
381 return finishToken();
+
382 }
+
383
+
384 if (consumePrefix("${")) {
+
385 Tok = tok_dollar_curly;
+
386 return finishToken();
+
387 }
+
388
+
389 Tok = tok_string_part;
+
390 for (; !eof();) {
+
391 if (peekPrefix("''"))
+
392 break;
+
393 // double-$, or \$, escapes ${.
+
394 // We will handle escaping on Sema
+
395 if (consumePrefix("$${"))
+
396 continue;
+
397 // Encountered a string interpolation, stop here
+
398 if (peekPrefix("${"))
+
399 break;
+
400 consume();
+
401 }
+
402 return finishToken();
+
403}
+
+
404
+
+ +
406 // eat leading trivia
+
407 consumeTrivia();
+
408 startToken();
+
409
+
410 std::optional<char> Ch = peek();
+
411
+
412 if (!Ch) {
+
413 Tok = tok_eof;
+
414 return finishToken();
+
415 }
+
416
+
417 // Determine if this is a path, or identifier.
+
418 // a/b (including 1/2) should be considered as a whole path, not (a / b)
+
419 if (isPathChar(*Ch) || *Ch == '/') {
+
420 if (consumePathStart()) {
+
421 // Form a concret token, this is a path part.
+
422 Tok = tok_path_fragment;
+
423 return finishToken();
+
424 }
+
425 }
+
426
+
427 // Determine if this is a URI.
+
428 if (std::isalpha(*Ch)) {
+
429 if (consumeURI()) {
+
430 Tok = tok_uri;
+
431 return finishToken();
+
432 }
+
433 }
+
434
+
435 if (std::isdigit(*Ch)) {
+
436 lexNumbers();
+
437 return finishToken();
+
438 }
+
439
+
440 if (std::isalpha(*Ch) || *Ch == '_') {
+
441
+
442 // So, this is not a path/URI, it should be an identifier.
+
443 lexIdentifier();
+
444 Tok = tok_id;
+
445 maybeKW();
+
446 return finishToken();
+
447 }
+
448
+
449 switch (*Ch) {
+
450 case '\'':
+
451 if (consumePrefix("''"))
+
452 Tok = tok_quote2;
+
453 break;
+
454 case '+':
+
455 if (consumePrefix("++")) {
+
456 Tok = tok_op_concat;
+
457 } else {
+
458 consume();
+
459 Tok = tok_op_add;
+
460 }
+
461 break;
+
462 case '-':
+
463 if (consumePrefix("->")) {
+
464 Tok = tok_op_impl;
+
465 } else {
+
466 consume();
+
467 Tok = tok_op_negate;
+
468 }
+
469 break;
+
470 case '*':
+
471 consume();
+
472 Tok = tok_op_mul;
+
473 break;
+
474 case '/':
+
475 if (consumePrefix("//")) {
+
476 Tok = tok_op_update;
+
477 } else {
+
478 consume();
+
479 Tok = tok_op_div;
+
480 }
+
481 break;
+
482 case '|':
+
483 if (consumePrefix("||"))
+
484 Tok = tok_op_or;
+
485 break;
+
486 case '!':
+
487 if (consumePrefix("!=")) {
+
488 Tok = tok_op_neq;
+
489 } else {
+
490 consume();
+
491 Tok = tok_op_not;
+
492 }
+
493 break;
+
494 case '<':
+
495 if (consumePrefix("<=")) {
+
496 Tok = tok_op_le;
+
497 } else {
+
498 consume();
+
499 Tok = tok_op_lt;
+
500 }
+
501 break;
+
502 case '>':
+
503 if (consumePrefix(">=")) {
+
504 Tok = tok_op_ge;
+
505 } else {
+
506 consume();
+
507 Tok = tok_op_gt;
+
508 }
+
509 break;
+
510 case '&':
+
511 if (consumePrefix("&&")) {
+
512 Tok = tok_op_and;
+
513 break;
+
514 }
+
515 break;
+
516 case '"':
+
517 consume();
+
518 Tok = tok_dquote;
+
519 break;
+
520 case '}':
+
521 consume();
+
522 Tok = tok_r_curly;
+
523 break;
+
524 case '.':
+
525 if (consumePrefix("...")) {
+
526 Tok = tok_ellipsis;
+
527 break;
+
528 } else {
+
529 consume();
+
530 Tok = tok_dot;
+
531 break;
+
532 }
+
533 case '@':
+
534 consume();
+
535 Tok = tok_at;
+
536 break;
+
537 case ':':
+
538 consume();
+
539 Tok = tok_colon;
+
540 break;
+
541 case '?':
+
542 consume();
+
543 Tok = tok_question;
+
544 break;
+
545 case ';':
+
546 consume();
+
547 Tok = tok_semi_colon;
+
548 break;
+
549 case '=':
+
550 if (consumePrefix("==")) {
+
551 Tok = tok_op_eq;
+
552 break;
+
553 } else {
+
554 consume();
+
555 Tok = tok_eq;
+
556 break;
+
557 }
+
558 case '{':
+
559 consume();
+
560 Tok = tok_l_curly;
+
561 break;
+
562 case '(':
+
563 consume();
+
564 Tok = tok_l_paren;
+
565 break;
+
566 case ')':
+
567 consume();
+
568 Tok = tok_r_paren;
+
569 break;
+
570 case '[':
+
571 consume();
+
572 Tok = tok_l_bracket;
+
573 break;
+
574 case ']':
+
575 consume();
+
576 Tok = tok_r_bracket;
+
577 break;
+
578 case ',':
+
579 consume();
+
580 Tok = tok_comma;
+
581 break;
+
582 case '$':
+
583 if (consumePrefix("${")) {
+
584 Tok = tok_dollar_curly;
+
585 break;
+
586 }
+
587 break;
+
588 }
+
589 if (Tok == tok_unknown)
+
590 consume();
+
591 return finishToken();
+
592}
+
+
593} // namespace nixf
+
Lexer declaration. The lexer is a "stateful" lexer and highly tied to parser.
+ + +
DiagnosticKind
Internal kind.
Definition Diagnostic.h:161
+ +
A point in the source file.
Definition Range.h:57
+
Token lex()
Definition Lexer.cpp:405
+
Token lexPath()
Definition Lexer.cpp:293
+
Token lexString()
Definition Lexer.cpp:323
+
Token lexIndString()
Definition Lexer.cpp:371
+
const LexerCursor & cur() const
Definition Lexer.h:131
+
NoteKind
Internal kind.
Definition Diagnostic.h:118
+
static TextEdit mkInsertion(LexerCursor P, std::string NewText)
Definition Diagnostic.h:36
+
A token. With it's kind, and the range in source code.
Definition Token.h:56
+ +
+ + + + diff --git a/Lexer_8h.html b/Lexer_8h.html new file mode 100644 index 000000000..51811a686 --- /dev/null +++ b/Lexer_8h.html @@ -0,0 +1,119 @@ + + + + + + + +nixd: Lexer.h File Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
Lexer.h File Reference
+
+
+ +

Lexer declaration. The lexer is a "stateful" lexer and highly tied to parser. +More...

+
#include "Token.h"
+#include "nixf/Basic/Diagnostic.h"
+#include "nixf/Basic/Range.h"
+#include <cassert>
+#include <functional>
+#include <memory>
+#include <optional>
+#include <string_view>
+
+

Go to the source code of this file.

+ + + + +

+Classes

class  nixf::Lexer
 
+ + + +

+Namespaces

namespace  nixf
 
+

Detailed Description

+

Lexer declaration. The lexer is a "stateful" lexer and highly tied to parser.

+

This should be considered as implementation detail of the parser. So the header is explicitly made private. Unit tests should be placed in the lib/Parse/test directory.

+ +

Definition in file Lexer.h.

+
+ + + + diff --git a/Lexer_8h_source.html b/Lexer_8h_source.html new file mode 100644 index 000000000..985d163e6 --- /dev/null +++ b/Lexer_8h_source.html @@ -0,0 +1,253 @@ + + + + + + + +nixd: Lexer.h Source File + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Lexer.h
+
+
+Go to the documentation of this file.
1/// \file
+
2/// \brief Lexer declaration. The lexer is a "stateful" lexer and highly tied to
+
3/// parser.
+
4///
+
5/// This should be considered as implementation detail of the parser. So the
+
6/// header is explicitly made private. Unit tests should be placed in the
+
7/// lib/Parse/test directory.
+
8#pragma once
+
9
+
10#include "Token.h"
+
11
+ +
13#include "nixf/Basic/Range.h"
+
14
+
15#include <cassert>
+
16#include <functional>
+
17#include <memory>
+
18#include <optional>
+
19#include <string_view>
+
20
+
21namespace nixf {
+
22
+
+
23class Lexer {
+
24 const std::string_view Src;
+
25 std::vector<Diagnostic> &Diags;
+
26
+
27 LexerCursor Cur;
+
28
+
29 void consume(std::size_t N = 1) {
+
30 assert(Cur.Offset + N <= Src.length());
+
31 // Update Line & Column & Offset
+
32 for (std::size_t I = 0; I < N; ++I) {
+
33 if (Src[Cur.Offset + I] == '\n') {
+
34 ++Cur.Line;
+
35 Cur.Column = 0;
+
36 } else {
+
37 ++Cur.Column;
+
38 }
+
39 }
+
40 Cur.Offset += N;
+
41 }
+
42
+
43 // token recorder
+
44 LexerCursor TokStartPtr;
+ +
46 void startToken() {
+
47 Tok = tok::tok_unknown;
+
48 TokStartPtr = Cur;
+
49 }
+
50 Token finishToken() {
+
51 return {
+
52 Tok,
+
53 {TokStartPtr, Cur},
+
54 Src.substr(TokStartPtr.Offset, Cur.Offset - TokStartPtr.Offset),
+
55 };
+
56 }
+
57
+
58 void consumeTrivia();
+
59
+
60 bool consumeWhitespaces();
+
61 bool consumeComments();
+
62
+
63 [[nodiscard]] bool eof(std::size_t Offset) const {
+
64 return Offset >= Src.length();
+
65 }
+
66
+
67 [[nodiscard]] bool eof() const { return eof(Cur.Offset); }
+
68
+
69 bool consumeEOL() { return consumePrefix("\r\n") || consumePrefix("\n"); }
+
70
+
71 bool lexFloatExp();
+
72
+
73 // Advance cursor if it starts with prefix, otherwise do nothing
+
74 std::optional<LexerCursorRange> consumePrefix(std::string_view Prefix);
+
75
+
76 bool consumeOne(char C);
+
77
+
78 std::optional<char> consumeOneOf(std::string_view Chars);
+
79
+
80 std::optional<LexerCursorRange> consumeManyOf(std::string_view Chars);
+
81
+
82 std::optional<LexerCursorRange> consumeManyDigits() {
+
83 return consumeManyOf("0123456789");
+
84 }
+
85
+
86 std::optional<LexerCursorRange> consumeManyPathChar();
+
87
+
88 /// Look ahead and check if we has \p Prefix
+
89 bool peekPrefix(std::string_view Prefix);
+
90
+
91 bool consumePathStart();
+
92
+
93 bool consumeURI();
+
94
+
95 /// Should be called after lexing a "raw" identifier, we check if it is a
+
96 /// keyword and make assignment: `Tok <- tok_kw_*`
+
97 void maybeKW();
+
98
+
99 void lexIdentifier();
+
100
+
101 void lexNumbers();
+
102
+
103 [[nodiscard]] std::string_view tokStr() const {
+
104 return Src.substr(TokStartPtr.Offset, Cur.Offset - TokStartPtr.Offset);
+
105 }
+
106
+
107 [[nodiscard]] std::string_view remain() const {
+
108 return Src.substr(Cur.Offset);
+
109 }
+
110
+
111 [[nodiscard]] LexerCursorRange curRange() const { return {Cur, Cur}; }
+
112
+
113 [[nodiscard]] char peekUnwrap() const { return Src[Cur.Offset]; }
+
114
+
115 [[nodiscard]] std::optional<char> peek() const {
+
116 if (eof())
+
117 return std::nullopt;
+
118 return peekUnwrap();
+
119 }
+
120
+
121public:
+
+
122 Lexer(std::string_view Src, std::vector<Diagnostic> &Diags)
+
123 : Src(Src), Diags(Diags), Cur() {}
+
+
124
+
125 /// Reset the cursor at source \p offset (zero-based indexing)
+
+
126 void setCur(const LexerCursor &NewCur) {
+
127 assert(Src.begin() + NewCur.Offset <= Src.end());
+
128 Cur = NewCur;
+
129 }
+
+
130
+
131 [[nodiscard]] const LexerCursor &cur() const { return Cur; }
+
132
+
133 Token lex();
+ + +
136 Token lexPath();
+
137};
+
+
138
+
139} // namespace nixf
+ + + + +
A point in the source file.
Definition Range.h:57
+ +
Lexer(std::string_view Src, std::vector< Diagnostic > &Diags)
Definition Lexer.h:122
+
Token lex()
Definition Lexer.cpp:405
+
Token lexPath()
Definition Lexer.cpp:293
+
Token lexString()
Definition Lexer.cpp:323
+
void setCur(const LexerCursor &NewCur)
Reset the cursor at source offset (zero-based indexing)
Definition Lexer.h:126
+
Token lexIndString()
Definition Lexer.cpp:371
+
const LexerCursor & cur() const
Definition Lexer.h:131
+
A token. With it's kind, and the range in source code.
Definition Token.h:56
+ + +
+ + + + diff --git a/LifeTime_8cpp.html b/LifeTime_8cpp.html new file mode 100644 index 000000000..364648c33 --- /dev/null +++ b/LifeTime_8cpp.html @@ -0,0 +1,109 @@ + + + + + + + +nixd: LifeTime.cpp File Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
LifeTime.cpp File Reference
+
+
+ +

Implementation of Server Lifecycle. +More...

+
#include "nixd-config.h"
+#include "Controller.h"
+#include "EvalClient.h"
+#include "nixd/util/PipedProc.h"
+#include <cstring>
+
+

Go to the source code of this file.

+ + + + +

+Namespaces

namespace  nixd
 
+

Detailed Description

+

Implementation of Server Lifecycle.

+ +

Definition in file LifeTime.cpp.

+
+ + + + diff --git a/LifeTime_8cpp_source.html b/LifeTime_8cpp_source.html new file mode 100644 index 000000000..975e28352 --- /dev/null +++ b/LifeTime_8cpp_source.html @@ -0,0 +1,172 @@ + + + + + + + +nixd: LifeTime.cpp Source File + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
LifeTime.cpp
+
+
+Go to the documentation of this file.
1/// \file
+
2/// \brief Implementation of [Server Lifecycle].
+
3/// [Server Lifecycle]:
+
4/// https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#lifeCycleMessages
+
5
+
6#include "nixd-config.h"
+
7
+
8#include "Controller.h"
+
9#include "EvalClient.h"
+
10
+
11#include "nixd/util/PipedProc.h"
+
12
+
13#include <cstring>
+
14
+
15namespace nixd {
+
16
+
17using namespace util;
+
18using namespace llvm::json;
+
19using namespace lspserver;
+
20
+
21void Controller::
+
22 onInitialize( // NOLINT(readability-convert-member-functions-to-static)
+
23 [[maybe_unused]] const InitializeParams &Params,
+
24 Callback<Value> Reply) {
+
25
+
26 Object ServerCaps{
+
27 {{"textDocumentSync",
+
28 llvm::json::Object{
+
29 {"openClose", true},
+
30 {"change", (int)TextDocumentSyncKind::Incremental},
+
31 {"save", true},
+
32 }},
+
33 {
+
34 "codeActionProvider",
+
35 Object{
+
36 {"codeActionKinds", Array{CodeAction::QUICKFIX_KIND}},
+
37 {"resolveProvider", false},
+
38 },
+
39 },
+
40 {"hoverProvider", true}},
+
41 };
+
42
+
43 Object Result{{
+
44 {"serverInfo",
+
45 Object{
+
46 {"name", "nixd"},
+
47 {"version", NIXD_VERSION},
+
48 }},
+
49 {"capabilities", std::move(ServerCaps)},
+
50 }};
+
51
+
52 Reply(std::move(Result));
+
53
+
54 PublishDiagnostic = mkOutNotifiction<PublishDiagnosticsParams>(
+
55 "textDocument/publishDiagnostics");
+
56
+
57 int Fail;
+
58 Eval = OwnedEvalClient::create(Fail);
+
59 if (Fail != 0) {
+
60 lspserver::elog("failed to create nix-node-eval worker: {0}",
+
61 strerror(-Fail));
+
62 } else {
+
63 lspserver::log("launched nix-node-eval instance: {0}", Eval->proc().PID);
+
64 }
+
65}
+
66
+
67} // namespace nixd
+ + + +
static std::unique_ptr< OwnedEvalClient > create(int &Fail)
+
Whether current platform treats paths case insensitively.
Definition Connection.h:11
+
llvm::unique_function< void(llvm::Expected< T >)> Callback
Definition Function.h:14
+ + +
void elog(const char *Fmt, Ts &&...Vals)
Definition Logger.h:52
+
void log(const char *Fmt, Ts &&...Vals)
Definition Logger.h:58
+ +
static const llvm::StringLiteral QUICKFIX_KIND
+ +
+ + + + diff --git a/Logger_8cpp.html b/Logger_8cpp.html new file mode 100644 index 000000000..22c25d8b1 --- /dev/null +++ b/Logger_8cpp.html @@ -0,0 +1,108 @@ + + + + + + + +nixd: Logger.cpp File Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
Logger.cpp File Reference
+
+
+
#include "lspserver/Logger.h"
+#include <llvm/Support/Chrono.h>
+#include <llvm/Support/Error.h>
+#include <llvm/Support/FormatVariadic.h>
+#include <llvm/Support/raw_ostream.h>
+#include <boost/interprocess/sync/named_mutex.hpp>
+#include <boost/interprocess/sync/scoped_lock.hpp>
+#include <mutex>
+#include <sys/mman.h>
+#include <unistd.h>
+
+

Go to the source code of this file.

+ + + + + +

+Namespaces

namespace  lspserver
 Whether current platform treats paths case insensitively.
 
+
+ + + + diff --git a/Logger_8cpp_source.html b/Logger_8cpp_source.html new file mode 100644 index 000000000..18dab5299 --- /dev/null +++ b/Logger_8cpp_source.html @@ -0,0 +1,211 @@ + + + + + + + +nixd: Logger.cpp Source File + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Logger.cpp
+
+
+Go to the documentation of this file.
1//===--- Logger.cpp - Logger interface for clangd -------------------------===//
+
2//
+
3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+
4// See https://llvm.org/LICENSE.txt for license information.
+
5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+
6//
+
7//===----------------------------------------------------------------------===//
+
8
+
9#include "lspserver/Logger.h"
+
10
+
11#include <llvm/Support/Chrono.h>
+
12#include <llvm/Support/Error.h>
+
13#include <llvm/Support/FormatVariadic.h>
+
14#include <llvm/Support/raw_ostream.h>
+
15
+
16#include <boost/interprocess/sync/named_mutex.hpp>
+
17#include <boost/interprocess/sync/scoped_lock.hpp>
+
18
+
19#include <mutex>
+
20
+
21#include <sys/mman.h>
+
22#include <unistd.h>
+
23
+
24namespace lspserver {
+
25
+
26namespace {
+
27Logger *L = nullptr;
+
28} // namespace
+
29
+
+ +
31 assert(!L);
+
32 L = &Instance;
+
33}
+
+
34
+ +
36
+
+
37void detail::logImpl(Logger::Level Level, const char *Fmt,
+
38 const llvm::formatv_object_base &Message) {
+
39 if (L)
+
40 L->log(Level, Fmt, Message);
+
41 else {
+
42 static std::mutex Mu;
+
43 std::lock_guard<std::mutex> Guard(Mu);
+
44 llvm::errs() << Message << "\n";
+
45 }
+
46}
+
+
47
+
+
48const char *detail::debugType(const char *Filename) {
+
49 if (const char *Slash = strrchr(Filename, '/'))
+
50 return Slash + 1;
+
51 if (const char *Backslash = strrchr(Filename, '\\'))
+
52 return Backslash + 1;
+
53 return Filename;
+
54}
+
+
55
+
+ +
57 const llvm::formatv_object_base &Message) {
+
58 using namespace boost::interprocess;
+
59 if (Level < MinLevel)
+
60 return;
+
61 llvm::sys::TimePoint<> Timestamp = std::chrono::system_clock::now();
+
62 std::lock_guard _(LogsLock);
+
63
+
64 Logs << llvm::formatv("{0}[{1:%H:%M:%S.%L}] {2}: {3}\n", indicator(Level),
+
65 Timestamp, getpid(), Message);
+
66 Logs.flush();
+
67}
+
+
68
+
69namespace {
+
70// Like llvm::StringError but with fewer options and no gratuitous copies.
+
71class SimpleStringError : public llvm::ErrorInfo<SimpleStringError> {
+
72 std::error_code EC;
+
73 std::string Message;
+
74
+
75public:
+
76 SimpleStringError(std::error_code EC, std::string &&Message)
+
77 : EC(EC), Message(std::move(Message)) {}
+
78 void log(llvm::raw_ostream &OS) const override { OS << Message; }
+
79 std::string message() const override { return Message; }
+
80 std::error_code convertToErrorCode() const override { return EC; }
+
81 static char ID;
+
82};
+
83char SimpleStringError::ID;
+
84
+
85} // namespace
+
86
+
+
87llvm::Error detail::error(std::error_code EC, std::string &&Msg) {
+
88 return llvm::make_error<SimpleStringError>(EC, std::move(Msg));
+
89}
+
+
90
+
+
91StreamLogger::StreamLogger(llvm::raw_ostream &Logs, Logger::Level MinLevel)
+
92 : MinLevel(MinLevel), Logs(Logs) {}
+
+
93} // namespace lspserver
+ +
Interface to allow custom logging in clangd.
Definition Logger.h:13
+ +
static char indicator(Level L)
Definition Logger.h:20
+
virtual void log(Level, const char *Fmt, const llvm::formatv_object_base &Message)=0
Implementations of this method must be thread-safe.
+
LoggingSession(Logger &Instance)
Definition Logger.cpp:30
+ +
void log(Level, const char *Fmt, const llvm::formatv_object_base &Message) override
Write a line to the logging stream.
Definition Logger.cpp:56
+
StreamLogger(llvm::raw_ostream &Logs, Logger::Level MinLevel)
Definition Logger.cpp:91
+
void logImpl(Logger::Level, const char *Fmt, const llvm::formatv_object_base &)
Definition Logger.cpp:37
+
const char * debugType(const char *Filename)
Definition Logger.cpp:48
+
llvm::Error error(std::error_code, std::string &&)
Definition Logger.cpp:87
+
Whether current platform treats paths case insensitively.
Definition Connection.h:11
+
void log(const char *Fmt, Ts &&...Vals)
Definition Logger.h:58
+
+ + + + diff --git a/Logger_8h.html b/Logger_8h.html new file mode 100644 index 000000000..5d129f8fd --- /dev/null +++ b/Logger_8h.html @@ -0,0 +1,154 @@ + + + + + + + +nixd: Logger.h File Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
Logger.h File Reference
+
+
+
#include <llvm/Support/Debug.h>
+#include <llvm/Support/Error.h>
+#include <llvm/Support/FormatAdapters.h>
+#include <llvm/Support/FormatVariadic.h>
+#include <mutex>
+
+

Go to the source code of this file.

+ + + + + + + + + + +

+Classes

class  lspserver::Logger
 Interface to allow custom logging in clangd. More...
 
class  lspserver::LoggingSession
 Only one LoggingSession can be active at a time. More...
 
class  lspserver::StreamLogger
 
+ + + + + + +

+Namespaces

namespace  lspserver
 Whether current platform treats paths case insensitively.
 
namespace  lspserver::detail
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

const char * lspserver::detail::debugType (const char *Filename)
 
void lspserver::detail::logImpl (Logger::Level, const char *Fmt, const llvm::formatv_object_base &)
 
template<typename T >
T && lspserver::detail::wrap (T &&V)
 
decltype(fmt_consume(llvm::Error::success())) lspserver::detail::wrap (llvm::Error &&V)
 
template<typename... Ts>
void lspserver::detail::log (Logger::Level L, const char *Fmt, Ts &&...Vals)
 
llvm::Error lspserver::detail::error (std::error_code, std::string &&)
 
template<typename... Ts>
void lspserver::elog (const char *Fmt, Ts &&...Vals)
 
template<typename... Ts>
void lspserver::log (const char *Fmt, Ts &&...Vals)
 
template<typename... Ts>
void lspserver::vlog (const char *Fmt, Ts &&...Vals)
 
template<typename... Ts>
llvm::Error lspserver::error (std::error_code EC, const char *Fmt, Ts &&...Vals)
 
template<typename... Ts>
llvm::Error lspserver::error (const char *Fmt, Ts &&...Vals)
 
llvm::Error lspserver::error (std::error_code EC, std::string Msg)
 
llvm::Error lspserver::error (std::string Msg)
 
+
+ + + + diff --git a/Logger_8h_source.html b/Logger_8h_source.html new file mode 100644 index 000000000..f3e24c605 --- /dev/null +++ b/Logger_8h_source.html @@ -0,0 +1,266 @@ + + + + + + + +nixd: Logger.h Source File + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Logger.h
+
+
+Go to the documentation of this file.
1#pragma once
+
2
+
3#include <llvm/Support/Debug.h>
+
4#include <llvm/Support/Error.h>
+
5#include <llvm/Support/FormatAdapters.h>
+
6#include <llvm/Support/FormatVariadic.h>
+
7
+
8#include <mutex>
+
9
+
10namespace lspserver {
+
11
+
12/// Interface to allow custom logging in clangd.
+
+
13class Logger {
+
14public:
+
15 virtual ~Logger() = default;
+
16
+
17 /// The significance or severity of this message.
+
18 /// Typically used to filter the output to an interesting level.
+
19 enum Level : unsigned char { Debug, Verbose, Info, Error };
+
20 static char indicator(Level L) { return "DVIE"[L]; }
+
21
+
22 /// Implementations of this method must be thread-safe.
+
23 virtual void log(Level, const char *Fmt,
+
24 const llvm::formatv_object_base &Message) = 0;
+
25};
+
+
26
+
+
27namespace detail {
+
28const char *debugType(const char *Filename);
+
29void logImpl(Logger::Level, const char *Fmt, const llvm::formatv_object_base &);
+
30
+
31// We often want to consume llvm::Errors by value when passing them to log().
+
32// We automatically wrap them in llvm::fmt_consume() as formatv requires.
+
33template <typename T> T &&wrap(T &&V) { return std::forward<T>(V); }
+
+
34inline decltype(fmt_consume(llvm::Error::success())) wrap(llvm::Error &&V) {
+
35 return fmt_consume(std::move(V));
+
36}
+
+
37template <typename... Ts>
+
+
38void log(Logger::Level L, const char *Fmt, Ts &&...Vals) {
+
39 detail::logImpl(L, Fmt,
+
40 llvm::formatv(Fmt, detail::wrap(std::forward<Ts>(Vals))...));
+
41}
+
+
42
+
43llvm::Error error(std::error_code, std::string &&);
+
44} // namespace detail
+
+
45
+
46// Clangd logging functions write to a global logger set by LoggingSession.
+
47// If no logger is registered, writes to llvm::errs().
+
48// All accept llvm::formatv()-style arguments, e.g. log("Text={0}", Text).
+
49
+
50// elog() is used for "loud" errors and warnings.
+
51// This level is often visible to users.
+
+
52template <typename... Ts> void elog(const char *Fmt, Ts &&...Vals) {
+
53 detail::log(Logger::Error, Fmt, std::forward<Ts>(Vals)...);
+
54}
+
+
55// log() is used for information important to understand a clangd session.
+
56// e.g. the names of LSP messages sent are logged at this level.
+
57// This level could be enabled in production builds to allow later inspection.
+
+
58template <typename... Ts> void log(const char *Fmt, Ts &&...Vals) {
+
59 detail::log(Logger::Info, Fmt, std::forward<Ts>(Vals)...);
+
60}
+
+
61// vlog() is used for details often needed for debugging clangd sessions.
+
62// This level would typically be enabled for clangd developers.
+
+
63template <typename... Ts> void vlog(const char *Fmt, Ts &&...Vals) {
+
64 detail::log(Logger::Verbose, Fmt, std::forward<Ts>(Vals)...);
+
65}
+
+
66// error() constructs an llvm::Error object, using formatv()-style arguments.
+
67// It is not automatically logged! (This function is a little out of place).
+
68// The error simply embeds the message string.
+
69template <typename... Ts>
+
+
70llvm::Error error(std::error_code EC, const char *Fmt, Ts &&...Vals) {
+
71 // We must render the formatv_object eagerly, while references are valid.
+
72 return detail::error(
+
73 EC, llvm::formatv(Fmt, detail::wrap(std::forward<Ts>(Vals))...).str());
+
74}
+
+
75// Overload with no error_code conversion, the error will be inconvertible.
+
+
76template <typename... Ts> llvm::Error error(const char *Fmt, Ts &&...Vals) {
+
77 return detail::error(
+
78 llvm::inconvertibleErrorCode(),
+
79 llvm::formatv(Fmt, detail::wrap(std::forward<Ts>(Vals))...).str());
+
80}
+
+
81// Overload to avoid formatv complexity for simple strings.
+
+
82inline llvm::Error error(std::error_code EC, std::string Msg) {
+
83 return detail::error(EC, std::move(Msg));
+
84}
+
+
85// Overload for simple strings with no error_code conversion.
+
+
86inline llvm::Error error(std::string Msg) {
+
87 return detail::error(llvm::inconvertibleErrorCode(), std::move(Msg));
+
88}
+
+
89
+
90/// Only one LoggingSession can be active at a time.
+
+ +
92public:
+
93 LoggingSession(Logger &Instance);
+ +
95
+ + +
98
+
99 LoggingSession(LoggingSession const &) = delete;
+ +
101};
+
+
102
+
103// Logs to an output stream, such as stderr.
+
+
104class StreamLogger : public Logger {
+
105 std::mutex LogsLock;
+
106
+
107public:
+
108 StreamLogger(llvm::raw_ostream &Logs, Logger::Level MinLevel);
+
109
+
110 /// Write a line to the logging stream.
+
111 void log(Level, const char *Fmt,
+
112 const llvm::formatv_object_base &Message) override;
+
113
+
114private:
+
115 Logger::Level MinLevel;
+
116 llvm::raw_ostream &Logs;
+
117};
+
+
118
+
119} // namespace lspserver
+
Interface to allow custom logging in clangd.
Definition Logger.h:13
+
virtual ~Logger()=default
+ + + + + +
static char indicator(Level L)
Definition Logger.h:20
+
virtual void log(Level, const char *Fmt, const llvm::formatv_object_base &Message)=0
Implementations of this method must be thread-safe.
+
Only one LoggingSession can be active at a time.
Definition Logger.h:91
+
LoggingSession & operator=(LoggingSession &&)=delete
+
LoggingSession(LoggingSession &&)=delete
+
LoggingSession(LoggingSession const &)=delete
+
LoggingSession & operator=(LoggingSession const &)=delete
+
LoggingSession(Logger &Instance)
Definition Logger.cpp:30
+ + +
void log(Level, const char *Fmt, const llvm::formatv_object_base &Message) override
Write a line to the logging stream.
Definition Logger.cpp:56
+
StreamLogger(llvm::raw_ostream &Logs, Logger::Level MinLevel)
Definition Logger.cpp:91
+
void logImpl(Logger::Level, const char *Fmt, const llvm::formatv_object_base &)
Definition Logger.cpp:37
+
T && wrap(T &&V)
Definition Logger.h:33
+
const char * debugType(const char *Filename)
Definition Logger.cpp:48
+
void log(Logger::Level L, const char *Fmt, Ts &&...Vals)
Definition Logger.h:38
+
llvm::Error error(std::error_code, std::string &&)
Definition Logger.cpp:87
+
Whether current platform treats paths case insensitively.
Definition Connection.h:11
+
llvm::Error error(std::error_code EC, const char *Fmt, Ts &&...Vals)
Definition Logger.h:70
+
void elog(const char *Fmt, Ts &&...Vals)
Definition Logger.h:52
+
void vlog(const char *Fmt, Ts &&...Vals)
Definition Logger.h:63
+
void log(const char *Fmt, Ts &&...Vals)
Definition Logger.h:58
+
+ + + + diff --git a/NixTU_8h.html b/NixTU_8h.html new file mode 100644 index 000000000..77e42e961 --- /dev/null +++ b/NixTU_8h.html @@ -0,0 +1,107 @@ + + + + + + + +nixd: NixTU.h File Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
NixTU.h File Reference
+
+
+ +

Go to the source code of this file.

+ + + + + +

+Classes

class  nixd::NixTU
 Holds analyzed information about a document. More...
 
+ + + +

+Namespaces

namespace  nixd
 
+
+ + + + diff --git a/NixTU_8h_source.html b/NixTU_8h_source.html new file mode 100644 index 000000000..68546f8e2 --- /dev/null +++ b/NixTU_8h_source.html @@ -0,0 +1,140 @@ + + + + + + + +nixd: NixTU.h Source File + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
NixTU.h
+
+
+Go to the documentation of this file.
1#pragma once
+
2
+ +
4
+ + +
7
+
8namespace nixd {
+
9
+
10/// \brief Holds analyzed information about a document.
+
11///
+
12/// TU stands for "Translation Unit".
+
+
13class NixTU {
+
14 std::vector<nixf::Diagnostic> Diagnostics;
+
15 std::shared_ptr<nixf::Node> AST;
+
16 std::optional<util::OwnedRegion> ASTByteCode;
+
17
+
18public:
+
19 NixTU() = default;
+
+
20 NixTU(std::vector<nixf::Diagnostic> Diagnostics,
+
21 std::shared_ptr<nixf::Node> AST,
+
22 std::optional<util::OwnedRegion> ASTByteCode)
+
23 : Diagnostics(std::move(Diagnostics)), AST(std::move(AST)),
+
24 ASTByteCode(std::move(ASTByteCode)) {}
+
+
25
+
+
26 [[nodiscard]] const std::vector<nixf::Diagnostic> &diagnostics() const {
+
27 return Diagnostics;
+
28 }
+
+
29
+
30 [[nodiscard]] const std::shared_ptr<nixf::Node> &ast() const { return AST; }
+
31};
+
+
32
+
33} // namespace nixd
+ + + +
Holds analyzed information about a document.
Definition NixTU.h:13
+
const std::vector< nixf::Diagnostic > & diagnostics() const
Definition NixTU.h:26
+
NixTU()=default
+
NixTU(std::vector< nixf::Diagnostic > Diagnostics, std::shared_ptr< nixf::Node > AST, std::optional< util::OwnedRegion > ASTByteCode)
Definition NixTU.h:20
+
const std::shared_ptr< nixf::Node > & ast() const
Definition NixTU.h:30
+ +
+ + + + diff --git a/NodeKinds_8inc.html b/NodeKinds_8inc.html new file mode 100644 index 000000000..e2f5de1d7 --- /dev/null +++ b/NodeKinds_8inc.html @@ -0,0 +1,89 @@ + + + + + + + +nixd: NodeKinds.inc File Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
NodeKinds.inc File Reference
+
+
+ +

Go to the source code of this file.

+
+ + + + diff --git a/NodeKinds_8inc_source.html b/NodeKinds_8inc_source.html new file mode 100644 index 000000000..b29b8b029 --- /dev/null +++ b/NodeKinds_8inc_source.html @@ -0,0 +1,140 @@ + + + + + + + +nixd: NodeKinds.inc Source File + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
NodeKinds.inc
+
+
+Go to the documentation of this file.
1/// provides NODE(NAME) EXPR(NAME)
+
2
+
3#ifdef NODE
+
4
+
5/// ${ expr }
+
6NODE(Interpolation)
+
7NODE(InterpolableParts)
+
8
+
9/// \brief Misc node used for parentheses keywords etc.
+
10/// \see Misc
+
11NODE(Misc)
+
12NODE(Identifer)
+
13NODE(AttrName)
+
14NODE(AttrPath)
+
15NODE(Binding)
+
16NODE(Inherit)
+
17NODE(Binds)
+
18NODE(LambdaArg)
+
19NODE(Formals)
+
20NODE(Formal)
+
21NODE(Op)
+
22
+
23#endif // NODE
+
24
+
25#ifdef EXPR
+
26
+
27EXPR(ExprInt)
+
28EXPR(ExprFloat)
+
29EXPR(ExprVar)
+
30EXPR(ExprString)
+
31EXPR(ExprPath)
+
32EXPR(ExprParen)
+
33EXPR(ExprAttrs)
+
34EXPR(ExprSelect)
+
35EXPR(ExprCall)
+
36EXPR(ExprList)
+
37EXPR(ExprLambda)
+
38EXPR(ExprBinOp)
+
39EXPR(ExprUnaryOp)
+
40EXPR(ExprOpHasAttr)
+
41EXPR(ExprIf)
+
42EXPR(ExprAssert)
+
43EXPR(ExprLet)
+
44EXPR(ExprWith)
+
45
+
46#endif // EXPR
+
#define EXPR(NAME)
Definition Basic.h:19
+
#define NODE(NAME)
Definition Basic.h:15
+
+ + + + diff --git a/Nodes_8cpp.html b/Nodes_8cpp.html new file mode 100644 index 000000000..987844dd1 --- /dev/null +++ b/Nodes_8cpp.html @@ -0,0 +1,146 @@ + + + + + + + +nixd: Nodes.cpp File Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
Nodes.cpp File Reference
+
+
+ +

Go to the source code of this file.

+ + + + +

+Namespaces

namespace  nixf
 
+ + + + + +

+Macros

#define EXPR(NAME)
 
#define NODE(NAME)
 
+

Macro Definition Documentation

+ +

◆ EXPR

+ +
+
+ + + + + + + +
#define EXPR( NAME)
+
+Value:
case NK_##NAME: \
+
return #NAME;
+
+
+
+ +

◆ NODE

+ +
+
+ + + + + + + +
#define NODE( NAME)
+
+Value:
case NK_##NAME: \
+
return #NAME;
+
+
+
+
+ + + + diff --git a/Nodes_8cpp_source.html b/Nodes_8cpp_source.html new file mode 100644 index 000000000..321b27f07 --- /dev/null +++ b/Nodes_8cpp_source.html @@ -0,0 +1,154 @@ + + + + + + + +nixd: Nodes.cpp Source File + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Nodes.cpp
+
+
+Go to the documentation of this file.
1#include "nixf/Basic/Nodes.h"
+
2
+
3namespace nixf {
+
4
+
+
5[[nodiscard]] const char *Node::name(NodeKind Kind) {
+
6 switch (Kind) {
+
7#define EXPR(NAME) \
+
8 case NK_##NAME: \
+
9 return #NAME;
+
10#define NODE(NAME) \
+
11 case NK_##NAME: \
+
12 return #NAME;
+ +
14#undef EXPR
+
15#undef NODE
+
16 default:
+
17 assert(false && "Not yet implemented!");
+
18 }
+
19 assert(false && "Not yet implemented!");
+
20 __builtin_unreachable();
+
21}
+
+
22
+
+ +
24 std::vector<InterpolablePart> Fragments)
+
25 : Node(NK_InterpolableParts, Range), Fragments(std::move(Fragments)) {
+
26
+
27 if (this->Fragments.empty())
+
28 return;
+
29
+
30 // Check if the fragment forms a string literal (i.e. no interpolation)
+
31 for (const InterpolablePart &Frag : this->Fragments) {
+
32 if (Frag.kind() == InterpolablePart::SPK_Interpolation)
+
33 return;
+
34 }
+
35
+
36 // Concatenate the fragments into a singe "Escaped"
+
37 std::string Escaped;
+
38 for (const InterpolablePart &Frag : this->Fragments) {
+
39 assert(Frag.kind() == InterpolablePart::SPK_Escaped &&
+
40 "Only Escaped fragments can be concatenated");
+
41 Escaped += Frag.escaped();
+
42 }
+
43 this->Fragments.clear();
+
44 this->Fragments.emplace_back(std::move(Escaped));
+
45}
+
+
46
+
47} // namespace nixf
+ + + + +
InterpolatedParts(LexerCursorRange Range, std::vector< InterpolablePart > Fragments)
Definition Nodes.cpp:23
+ + +
const char * name() const
Definition Basic.h:40
+ +
AST nodes.
+ +
+ + + + diff --git a/Nodes_8inc.html b/Nodes_8inc.html new file mode 100644 index 000000000..2963e55ba --- /dev/null +++ b/Nodes_8inc.html @@ -0,0 +1,89 @@ + + + + + + + +nixd: Nodes.inc File Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Nodes.inc File Reference
+
+
+ +

Go to the source code of this file.

+
+ + + + diff --git a/Nodes_8inc_source.html b/Nodes_8inc_source.html new file mode 100644 index 000000000..498e42874 --- /dev/null +++ b/Nodes_8inc_source.html @@ -0,0 +1,128 @@ + + + + + + + +nixd: Nodes.inc Source File + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Nodes.inc
+
+
+Go to the documentation of this file.
1/// \file
+
2/// \brief Nix expressions declaration.
+
3///
+
4/// This record file provides `NIX_EXPR` macro that contains all names of
+
5/// `nix::Expr`
+
6
+
7#ifdef NIX_EXPR
+
8
+
9NIX_EXPR(ExprAssert)
+
10NIX_EXPR(ExprAttrs)
+
11NIX_EXPR(ExprCall)
+
12NIX_EXPR(ExprConcatStrings)
+
13NIX_EXPR(ExprFloat)
+
14NIX_EXPR(ExprIf)
+
15NIX_EXPR(ExprInt)
+
16NIX_EXPR(ExprLambda)
+
17NIX_EXPR(ExprLet)
+
18NIX_EXPR(ExprList)
+
19NIX_EXPR(ExprOpAnd)
+
20NIX_EXPR(ExprOpConcatLists)
+
21NIX_EXPR(ExprOpEq)
+
22NIX_EXPR(ExprOpHasAttr)
+
23NIX_EXPR(ExprOpImpl)
+
24NIX_EXPR(ExprOpNEq)
+
25NIX_EXPR(ExprOpNot)
+
26NIX_EXPR(ExprOpOr)
+
27NIX_EXPR(ExprOpUpdate)
+
28NIX_EXPR(ExprPath)
+
29NIX_EXPR(ExprPos)
+
30NIX_EXPR(ExprSelect)
+
31NIX_EXPR(ExprString)
+
32NIX_EXPR(ExprVar)
+
33NIX_EXPR(ExprWith)
+
34
+
35#endif // NIX_EXPR
+
#define NIX_EXPR(EXPR)
Definition HookExpr.h:12
+
+ + + + diff --git a/NoteKinds_8inc.html b/NoteKinds_8inc.html new file mode 100644 index 000000000..4e4fcd361 --- /dev/null +++ b/NoteKinds_8inc.html @@ -0,0 +1,89 @@ + + + + + + + +nixd: NoteKinds.inc File Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
NoteKinds.inc File Reference
+
+
+ +

Go to the source code of this file.

+
+ + + + diff --git a/NoteKinds_8inc_source.html b/NoteKinds_8inc_source.html new file mode 100644 index 000000000..77366fda0 --- /dev/null +++ b/NoteKinds_8inc_source.html @@ -0,0 +1,107 @@ + + + + + + + +nixd: NoteKinds.inc Source File + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
NoteKinds.inc
+
+
+Go to the documentation of this file.
1/// DiagnosticNodes.inc, note declarations
+
2
+
3#ifdef DIAG_NOTE
+
4DIAG_NOTE("note-prev", PrevDeclared, "previously declared here")
+
5DIAG_NOTE("note-duplicate-formal", DuplicateFormal, "duplicated to this formal")
+
6DIAG_NOTE("merge-diff-rec-this-rec", ThisRecursive,
+
7 "this attribute set is {}recursive")
+
8DIAG_NOTE("merge-diff-rec-consider", RecConsider,
+
9 "while this attribute set is marked as {}recursive, it "
+
10 "will be considered as {}recursive")
+
11DIAG_NOTE("note-bcomment-begin", BCommentBegin, "/* comment begins at here")
+
12DIAG_NOTE("to-match-this", ToMachThis, "to match this {}")
+
13#endif // DIAG_NOTE
+
#define DIAG_NOTE(SNAME, CNAME, MESSAGE)
Definition Diagnostic.h:119
+
const T * begin(ArrayRef< T > B)
Iterator begin. Used for range-based-for
Definition ArrayRef.h:19
+
+ + + + diff --git a/Op_8h.html b/Op_8h.html new file mode 100644 index 000000000..273527cea --- /dev/null +++ b/Op_8h.html @@ -0,0 +1,116 @@ + + + + + + + +nixd: Op.h File Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
Op.h File Reference
+
+
+
#include "Basic.h"
+#include "nixf/Basic/Nodes/Attrs.h"
+#include "nixf/Basic/TokenKinds.h"
+#include <memory>
+
+

Go to the source code of this file.

+ + + + + + + + + + + + + +

+Classes

class  nixf::Op
 
class  nixf::ExprOp
 Abstract class for binary operators and unary operators. More...
 
class  nixf::ExprBinOp
 
class  nixf::ExprOpHasAttr
 
class  nixf::ExprUnaryOp
 
+ + + +

+Namespaces

namespace  nixf
 
+
+ + + + diff --git a/Op_8h_source.html b/Op_8h_source.html new file mode 100644 index 000000000..062bbd254 --- /dev/null +++ b/Op_8h_source.html @@ -0,0 +1,241 @@ + + + + + + + +nixd: Op.h Source File + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Op.h
+
+
+Go to the documentation of this file.
1#pragma once
+
2
+
3#include "Basic.h"
+
4
+ + +
7
+
8#include <memory>
+
9
+
10namespace nixf {
+
11
+
+
12class Op : public Node {
+
13 tok::TokenKind OpKind;
+
14
+
15public:
+
+ +
17 : Node(NK_Op, Range), OpKind(OpKind) {}
+
+
18
+
19 [[nodiscard]] tok::TokenKind op() const { return OpKind; }
+
20
+
21 [[nodiscard]] ChildVector children() const override { return {}; }
+
22};
+
+
23
+
24/// \brief Abstract class for binary operators and unary operators.
+
+
25class ExprOp : public Expr {
+
26 std::shared_ptr<Op> O;
+
27
+
28public:
+
+
29 ExprOp(NodeKind Kind, LexerCursorRange Range, std::shared_ptr<Op> O)
+
30 : Expr(Kind, Range), O(std::move(O)) {
+
31 assert(this->O && "O must not be null");
+
32 }
+
+
33
+
34 [[nodiscard]] Op &op() const { return *O; }
+
35
+
36 [[nodiscard]] ChildVector children() const override { return {O.get()}; }
+
37};
+
+
38
+
+
39class ExprBinOp : public ExprOp {
+
40 std::shared_ptr<Expr> LHS;
+
41 std::shared_ptr<Expr> RHS;
+
42
+
43public:
+
+
44 ExprBinOp(LexerCursorRange Range, std::shared_ptr<Op> O,
+
45 std::shared_ptr<Expr> LHS, std::shared_ptr<Expr> RHS)
+
46 : ExprOp(NK_ExprBinOp, Range, std::move(O)), LHS(std::move(LHS)),
+
47 RHS(std::move(RHS)) {}
+
+
48
+
49 [[nodiscard]] Expr *lhs() const { return LHS.get(); }
+
50 [[nodiscard]] Expr *rhs() const { return RHS.get(); }
+
51
+
+
52 [[nodiscard]] ChildVector children() const override {
+
53 return {&op(), LHS.get(), RHS.get()};
+
54 }
+
+
55};
+
+
56
+
+
57class ExprOpHasAttr : public ExprOp {
+
58 std::shared_ptr<Expr> E;
+
59 std::shared_ptr<AttrPath> Path;
+
60
+
61public:
+
+
62 ExprOpHasAttr(LexerCursorRange Range, std::shared_ptr<Op> O,
+
63 std::shared_ptr<Expr> E, std::shared_ptr<AttrPath> Path)
+
64 : ExprOp(NK_ExprOpHasAttr, Range, std::move(O)), E(std::move(E)),
+
65 Path(std::move(Path)) {}
+
+
66
+
67 [[nodiscard]] Expr *expr() const { return E.get(); }
+
68 [[nodiscard]] AttrPath *attrpath() const { return Path.get(); }
+
69
+
+
70 [[nodiscard]] ChildVector children() const override {
+
71 return {E.get(), Path.get()};
+
72 }
+
+
73};
+
+
74
+
+
75class ExprUnaryOp : public ExprOp {
+
76 std::shared_ptr<Expr> E;
+
77
+
78public:
+
+
79 ExprUnaryOp(LexerCursorRange Range, std::shared_ptr<Op> O,
+
80 std::shared_ptr<Expr> E)
+
81 : ExprOp(NK_ExprUnaryOp, Range, std::move(O)), E(std::move(E)) {}
+
+
82
+
83 [[nodiscard]] Expr *expr() const { return E.get(); }
+
84
+
+
85 [[nodiscard]] ChildVector children() const override {
+
86 return {&op(), E.get()};
+
87 }
+
+
88};
+
+
89
+
90} // namespace nixf
+ + + + + +
ExprBinOp(LexerCursorRange Range, std::shared_ptr< Op > O, std::shared_ptr< Expr > LHS, std::shared_ptr< Expr > RHS)
Definition Op.h:44
+
Expr * rhs() const
Definition Op.h:50
+
Expr * lhs() const
Definition Op.h:49
+
ChildVector children() const override
Definition Op.h:52
+ +
Expr * expr() const
Definition Op.h:67
+
ChildVector children() const override
Definition Op.h:70
+
AttrPath * attrpath() const
Definition Op.h:68
+
ExprOpHasAttr(LexerCursorRange Range, std::shared_ptr< Op > O, std::shared_ptr< Expr > E, std::shared_ptr< AttrPath > Path)
Definition Op.h:62
+
Abstract class for binary operators and unary operators.
Definition Op.h:25
+
ChildVector children() const override
Definition Op.h:36
+
Op & op() const
Definition Op.h:34
+
ExprOp(NodeKind Kind, LexerCursorRange Range, std::shared_ptr< Op > O)
Definition Op.h:29
+ +
ExprUnaryOp(LexerCursorRange Range, std::shared_ptr< Op > O, std::shared_ptr< Expr > E)
Definition Op.h:79
+
ChildVector children() const override
Definition Op.h:85
+
Expr * expr() const
Definition Op.h:83
+ + + + +
boost::container::small_vector< Node *, 8 > ChildVector
Definition Basic.h:42
+
Definition Op.h:12
+
ChildVector children() const override
Definition Op.h:21
+
tok::TokenKind op() const
Definition Op.h:19
+
Op(LexerCursorRange Range, tok::TokenKind OpKind)
Definition Op.h:16
+ + +
+ + + + diff --git a/Origin_8cpp.html b/Origin_8cpp.html new file mode 100644 index 000000000..ca2e8063f --- /dev/null +++ b/Origin_8cpp.html @@ -0,0 +1,111 @@ + + + + + + + +nixd: Origin.cpp File Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
Origin.cpp File Reference
+
+
+
#include "nixbc/Origin.h"
+#include <cassert>
+
+

Go to the source code of this file.

+ + + + +

+Namespaces

namespace  nixbc
 
+ + + + + + + + + +

+Functions

void nixbc::readBytecode (std::string_view &Data, Origin &Obj)
 
void nixbc::writeBytecode (std::ostream &OS, const Origin &O)
 
void nixbc::readBytecode (std::string_view &Data, OriginPath &Obj)
 
void nixbc::writeBytecode (std::ostream &OS, const OriginPath &O)
 
+
+ + + + diff --git a/Origin_8cpp_source.html b/Origin_8cpp_source.html new file mode 100644 index 000000000..04d92b8bc --- /dev/null +++ b/Origin_8cpp_source.html @@ -0,0 +1,113 @@ + + + + + + + +nixd: Origin.cpp Source File + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Origin.cpp
+
+
+Go to the documentation of this file.
1#include "nixbc/Origin.h"
+
2
+
3#include <cassert>
+
4
+
5namespace nixbc {
+
6
+
7void readBytecode(std::string_view &Data, Origin &Obj) {}
+
8
+
9void writeBytecode(std::ostream &OS, const Origin &O) {}
+
10
+
11void readBytecode(std::string_view &Data, OriginPath &Obj) {}
+
12
+
13void writeBytecode(std::ostream &OS, const OriginPath &O) {}
+
14
+
15} // namespace nixbc
+ + + + +
void readBytecode(std::string_view &Data, Origin &Obj)
Definition Origin.cpp:7
+
void writeBytecode(std::ostream &OS, const Origin &O)
Definition Origin.cpp:9
+
+ + + + diff --git a/Origin_8h.html b/Origin_8h.html new file mode 100644 index 000000000..ec17a10c0 --- /dev/null +++ b/Origin_8h.html @@ -0,0 +1,120 @@ + + + + + + + +nixd: Origin.h File Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
Origin.h File Reference
+
+
+
#include <bc/Read.h>
+#include <cstdint>
+#include <string>
+
+

Go to the source code of this file.

+ + + + + + +

+Classes

class  nixbc::Origin
 
class  nixbc::OriginPath
 
+ + + +

+Namespaces

namespace  nixbc
 
+ + + + + + + + + +

+Functions

void nixbc::readBytecode (std::string_view &Data, Origin &Obj)
 
void nixbc::writeBytecode (std::ostream &OS, const Origin &O)
 
void nixbc::readBytecode (std::string_view &Data, OriginPath &Obj)
 
void nixbc::writeBytecode (std::ostream &OS, const OriginPath &O)
 
+
+ + + + diff --git a/Origin_8h_source.html b/Origin_8h_source.html new file mode 100644 index 000000000..e4d54cf2b --- /dev/null +++ b/Origin_8h_source.html @@ -0,0 +1,170 @@ + + + + + + + +nixd: Origin.h Source File + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Origin.h
+
+
+Go to the documentation of this file.
1#pragma once
+
2
+
3#include <bc/Read.h>
+
4
+
5#include <cstdint>
+
6#include <string>
+
7
+
8namespace nixbc {
+
9
+
+
10class Origin {
+
11public:
+
12 /// \brief Origin kind.
+
13 ///
+
14 /// \note Nix interpreter may read the file, or try to read source code for
+
15 /// diagnostics reporting.
+
+
16 enum OriginKind : uint8_t {
+
17 /// None.
+ +
19
+
20 /// Standard input.
+ +
22
+
23 /// \p EvalState::parseExprFromString()
+ +
25
+
26 /// \p EvalState::parseExprFromFile()
+ +
28 };
+
+
29
+
30private:
+
31 OriginKind Kind;
+
32
+
33protected:
+
34 Origin(OriginKind Kind) : Kind(Kind) {}
+
35
+
36public:
+
37 [[nodiscard]] OriginKind kind() const { return Kind; }
+
38};
+
+
39
+
40void readBytecode(std::string_view &Data, Origin &Obj);
+
41void writeBytecode(std::ostream &OS, const Origin &O);
+
42
+
+
43class OriginPath : public Origin {
+
44 std::string Path;
+
45
+
46public:
+ +
48
+
49 [[nodiscard]] std::string &path() { return Path; }
+
50 [[nodiscard]] const std::string &path() const { return Path; }
+
51};
+
+
52
+
53void readBytecode(std::string_view &Data, OriginPath &Obj);
+
54void writeBytecode(std::ostream &OS, const OriginPath &O);
+
55
+
56} // namespace nixbc
+ + + +
std::string & path()
Definition Origin.h:49
+
const std::string & path() const
Definition Origin.h:50
+ +
OriginKind kind() const
Definition Origin.h:37
+
Origin(OriginKind Kind)
Definition Origin.h:34
+
OriginKind
Origin kind.
Definition Origin.h:16
+
@ OK_Path
EvalState::parseExprFromFile()
Definition Origin.h:27
+
@ OK_Stdin
Standard input.
Definition Origin.h:21
+
@ OK_String
EvalState::parseExprFromString()
Definition Origin.h:24
+
@ OK_None
None.
Definition Origin.h:18
+ +
void readBytecode(std::string_view &Data, Origin &Obj)
Definition Origin.cpp:7
+
void writeBytecode(std::ostream &OS, const Origin &O)
Definition Origin.cpp:9
+
+ + + + diff --git a/OwnedRegion_8h.html b/OwnedRegion_8h.html new file mode 100644 index 000000000..1fa5f846e --- /dev/null +++ b/OwnedRegion_8h.html @@ -0,0 +1,108 @@ + + + + + + + +nixd: OwnedRegion.h File Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
OwnedRegion.h File Reference
+
+
+
#include "AutoRemoveShm.h"
+#include <boost/interprocess/mapped_region.hpp>
+#include <memory>
+
+

Go to the source code of this file.

+ + + + +

+Classes

struct  nixd::util::OwnedRegion
 
+ + + + + +

+Namespaces

namespace  nixd
 
namespace  nixd::util
 
+
+ + + + diff --git a/OwnedRegion_8h_source.html b/OwnedRegion_8h_source.html new file mode 100644 index 000000000..09e4b1b89 --- /dev/null +++ b/OwnedRegion_8h_source.html @@ -0,0 +1,117 @@ + + + + + + + +nixd: OwnedRegion.h Source File + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
OwnedRegion.h
+
+
+Go to the documentation of this file.
1#pragma once
+
2
+
3#include "AutoRemoveShm.h"
+
4
+
5// boost
+
6#include <boost/interprocess/mapped_region.hpp>
+
7
+
8// stdc++
+
9#include <memory>
+
10
+
11namespace nixd::util {
+
12
+
+ +
14 std::unique_ptr<AutoRemoveShm> Shm;
+
15 std::unique_ptr<boost::interprocess::mapped_region> Region;
+
16};
+
+
17
+
18} // namespace nixd::util
+ + + +
std::unique_ptr< AutoRemoveShm > Shm
Definition OwnedRegion.h:14
+
std::unique_ptr< boost::interprocess::mapped_region > Region
Definition OwnedRegion.h:15
+
+ + + + diff --git a/ParentMap_8cpp.html b/ParentMap_8cpp.html new file mode 100644 index 000000000..5a113b811 --- /dev/null +++ b/ParentMap_8cpp.html @@ -0,0 +1,106 @@ + + + + + + + +nixd: ParentMap.cpp File Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
ParentMap.cpp File Reference
+
+
+
#include "nixt/ParentMap.h"
+
+

Go to the source code of this file.

+ + + + + +

+Namespaces

namespace  nixt
 Access ParseCache in nix::EvalState.
 
+ + + + +

+Functions

ParentMap nixt::parentMap (const nix::Expr *Root)
 Construct child -> parent relations of nix::Expr nodes.
 
+
+ + + + diff --git a/ParentMap_8cpp_source.html b/ParentMap_8cpp_source.html new file mode 100644 index 000000000..f04d114b4 --- /dev/null +++ b/ParentMap_8cpp_source.html @@ -0,0 +1,136 @@ + + + + + + + +nixd: ParentMap.cpp Source File + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
ParentMap.cpp
+
+
+Go to the documentation of this file.
1#include "nixt/ParentMap.h"
+
2
+
3namespace nixt {
+
4
+
+
5ParentMap parentMap(const nix::Expr *Root) {
+
6 ParentMap Ret;
+
7 struct VisitorClass : RecursiveASTVisitor<VisitorClass> {
+
8 // The parent before traverseExpr
+
9 const nix::Expr *ParentExpr;
+
10 ParentMap *CapturedRet;
+
11
+
12 bool traverseExpr(const nix::Expr *E) {
+
13 CapturedRet->insert({E, ParentExpr});
+
14 const auto *OldParent = ParentExpr;
+
15 ParentExpr = E; // Set the parent into the visitor, it should be the
+
16 // parent when we are traversing child nodes.
+ +
18 return false;
+
19
+
20 // After traversing on childrens finished, set parent expr to previous
+
21 // parent.
+
22 ParentExpr = OldParent;
+
23 return true;
+
24 }
+
25
+
26 } Visitor;
+
27
+
28 Visitor.ParentExpr = Root;
+
29 Visitor.CapturedRet = &Ret;
+
30
+
31 Visitor.traverseExpr(Root);
+
32
+
33 return Ret;
+
34}
+
+
35
+
36} // namespace nixt
+
Construct child -> parent relations of nix::Expr nodes.
+
Access ParseCache in nix::EvalState.
Definition ArrayRef.h:7
+
std::map< const nix::Expr *, const nix::Expr * > ParentMap
The parent map. The key is "child", the value is "parent".
Definition ParentMap.h:11
+
ParentMap parentMap(const nix::Expr *Root)
Construct child -> parent relations of nix::Expr nodes.
Definition ParentMap.cpp:5
+
A CRTP base class for traversing nix::Expr * nodes.
Definition Visitor.h:48
+
bool traverseExpr(const nix::Expr *E)
Definition Visitor.h:65
+
+ + + + diff --git a/ParentMap_8h.html b/ParentMap_8h.html new file mode 100644 index 000000000..064896def --- /dev/null +++ b/ParentMap_8h.html @@ -0,0 +1,120 @@ + + + + + + + +nixd: ParentMap.h File Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
ParentMap.h File Reference
+
+
+ +

Construct child -> parent relations of nix::Expr nodes. +More...

+
#include "Visitor.h"
+
+

Go to the source code of this file.

+ + + + + +

+Namespaces

namespace  nixt
 Access ParseCache in nix::EvalState.
 
+ + + + +

+Typedefs

using nixt::ParentMap = std::map<const nix::Expr *, const nix::Expr *>
 The parent map. The key is "child", the value is "parent".
 
+ + + + +

+Functions

ParentMap nixt::parentMap (const nix::Expr *Root)
 Construct child -> parent relations of nix::Expr nodes.
 
+

Detailed Description

+

Construct child -> parent relations of nix::Expr nodes.

+ +

Definition in file ParentMap.h.

+
+ + + + diff --git a/ParentMap_8h_source.html b/ParentMap_8h_source.html new file mode 100644 index 000000000..c88be85bb --- /dev/null +++ b/ParentMap_8h_source.html @@ -0,0 +1,112 @@ + + + + + + + +nixd: ParentMap.h Source File + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
ParentMap.h
+
+
+Go to the documentation of this file.
1/// \file
+
2/// \brief Construct child -> parent relations of `nix::Expr` nodes.
+
3
+
4#pragma once
+
5
+
6#include "Visitor.h"
+
7
+
8namespace nixt {
+
9
+
10/// \brief The parent map. The key is "child", the value is "parent".
+
11using ParentMap = std::map<const nix::Expr *, const nix::Expr *>;
+
12
+
13/// \brief Construct child -> parent relations of `nix::Expr` nodes.
+
14ParentMap parentMap(const nix::Expr *Root);
+
15
+
16} // namespace nixt
+
Describe how to traverse upon nix::Expr * nodes.
+
Access ParseCache in nix::EvalState.
Definition ArrayRef.h:7
+
std::map< const nix::Expr *, const nix::Expr * > ParentMap
The parent map. The key is "child", the value is "parent".
Definition ParentMap.h:11
+
ParentMap parentMap(const nix::Expr *Root)
Construct child -> parent relations of nix::Expr nodes.
Definition ParentMap.cpp:5
+
+ + + + diff --git a/ParseAttrs_8cpp.html b/ParseAttrs_8cpp.html new file mode 100644 index 000000000..328d0d918 --- /dev/null +++ b/ParseAttrs_8cpp.html @@ -0,0 +1,98 @@ + + + + + + + +nixd: ParseAttrs.cpp File Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
ParseAttrs.cpp File Reference
+
+
+
#include "Parser.h"
+
+

Go to the source code of this file.

+ + + + +

+Namespaces

namespace  nixf
 
+
+ + + + diff --git a/ParseAttrs_8cpp_source.html b/ParseAttrs_8cpp_source.html new file mode 100644 index 000000000..4696b514f --- /dev/null +++ b/ParseAttrs_8cpp_source.html @@ -0,0 +1,329 @@ + + + + + + + +nixd: ParseAttrs.cpp Source File + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
ParseAttrs.cpp
+
+
+Go to the documentation of this file.
1#include "Parser.h"
+
2
+
3namespace nixf {
+
4
+
5using namespace detail;
+
6
+
+
7std::shared_ptr<AttrName> Parser::parseAttrName() {
+
8 switch (Token Tok = peek(); Tok.kind()) {
+
9 case tok_kw_or:
+
10 Diags.emplace_back(Diagnostic::DK_OrIdentifier, Tok.range());
+
11 [[fallthrough]];
+
12 case tok_id: {
+
13 consume();
+
14 auto ID =
+
15 std::make_shared<Identifier>(Tok.range(), std::string(Tok.view()));
+
16 return std::make_shared<AttrName>(std::move(ID), Tok.range());
+
17 }
+
18 case tok_dquote: {
+
19 std::shared_ptr<ExprString> String = parseString(/*IsIndented=*/false);
+
20 return std::make_shared<AttrName>(std::move(String));
+
21 }
+
22 case tok_dollar_curly: {
+
23 std::shared_ptr<Interpolation> Expr = parseInterpolation();
+
24 return std::make_shared<AttrName>(std::move(Expr));
+
25 }
+
26 default:
+
27 return nullptr;
+
28 }
+
29}
+
+
30
+
+
31std::shared_ptr<AttrPath> Parser::parseAttrPath() {
+
32 auto First = parseAttrName();
+
33 if (!First)
+
34 return nullptr;
+
35 LexerCursor Begin = First->lCur();
+
36 assert(LastToken && "LastToken should be set after valid attrname");
+
37 std::vector<std::shared_ptr<AttrName>> AttrNames;
+
38 AttrNames.emplace_back(std::move(First));
+
39 while (true) {
+
40 if (Token Tok = peek(); Tok.kind() == tok_dot) {
+
41 consume();
+
42 auto Next = parseAttrName();
+
43 if (!Next) {
+
44 // extra ".", consider remove it.
+
45 Diagnostic &D =
+
46 Diags.emplace_back(Diagnostic::DK_AttrPathExtraDot, Tok.range());
+
47 D.fix("remove extra .").edit(TextEdit::mkRemoval(Tok.range()));
+
48 D.fix("insert dummy attrname")
+
49 .edit(TextEdit::mkInsertion(Tok.rCur(), R"("dummy")"));
+
50 }
+
51 AttrNames.emplace_back(std::move(Next));
+
52 continue;
+
53 }
+
54 break;
+
55 }
+
56 return std::make_shared<AttrPath>(LexerCursorRange{Begin, LastToken->rCur()},
+
57 std::move(AttrNames));
+
58}
+
+
59
+
+
60std::shared_ptr<Binding> Parser::parseBinding() {
+
61 auto Path = parseAttrPath();
+
62 if (!Path)
+
63 return nullptr;
+
64 assert(LastToken && "LastToken should be set after valid attrpath");
+
65 auto SyncEq = withSync(tok_eq);
+
66 auto SyncSemi = withSync(tok_semi_colon);
+
67 if (ExpectResult ER = expect(tok_eq); !ER.ok())
+
68 return std::make_shared<Binding>(
+
69 LexerCursorRange{Path->lCur(), LastToken->rCur()}, std::move(Path),
+
70 nullptr);
+
71 consume();
+
72 auto Expr = parseExpr();
+
73 if (!Expr)
+
74 diagNullExpr(Diags, LastToken->rCur(), "binding");
+
75 if (Token Tok = peek(); Tok.kind() == tok_semi_colon) {
+
76 consume();
+
77 } else {
+
78 // TODO: reset the cursor for error recovery.
+
79 // (https://github.com/nix-community/nixd/blob/2b0ca8cef0d13823132a52b6cd6f6d7372482664/libnixf/lib/Parse/Parser.cpp#L337)
+
80 // expected ";" for binding
+
81 Diagnostic &D = Diags.emplace_back(Diagnostic::DK_Expected,
+
82 LexerCursorRange(LastToken->rCur()));
+
83 D << std::string(tok::spelling(tok_semi_colon));
+
84 D.fix("insert ;").edit(TextEdit::mkInsertion(LastToken->rCur(), ";"));
+
85 }
+
86 return std::make_shared<Binding>(
+
87 LexerCursorRange{Path->lCur(), LastToken->rCur()}, std::move(Path),
+
88 std::move(Expr));
+
89}
+
+
90
+
+
91std::shared_ptr<Inherit> Parser::parseInherit() {
+
92 Token TokInherit = peek();
+
93 if (TokInherit.kind() != tok_kw_inherit)
+
94 return nullptr;
+
95 consume();
+
96 auto SyncSemiColon = withSync(tok_semi_colon);
+
97
+
98 // These tokens might be consumed as "inherited_attrs"
+
99 auto SyncID = withSync(tok_id);
+
100 auto SyncQuote = withSync(tok_dquote);
+
101 auto SyncDollarCurly = withSync(tok_dollar_curly);
+
102
+
103 assert(LastToken && "LastToken should be set after consume()");
+
104 std::vector<std::shared_ptr<AttrName>> AttrNames;
+
105 std::shared_ptr<Expr> Expr = nullptr;
+
106 if (Token Tok = peek(); Tok.kind() == tok_l_paren) {
+
107 consume();
+
108 Expr = parseExpr();
+
109 if (!Expr)
+
110 diagNullExpr(Diags, LastToken->rCur(), "inherit");
+
111 if (ExpectResult ER = expect(tok_r_paren); ER.ok())
+
112 consume();
+
113 else
+
114 ER.diag().note(Note::NK_ToMachThis, Tok.range())
+
115 << std::string(tok::spelling(tok_l_paren));
+
116 }
+
117 while (true) {
+
118 if (auto AttrName = parseAttrName()) {
+
119 AttrNames.emplace_back(std::move(AttrName));
+
120 continue;
+
121 }
+
122 break;
+
123 }
+
124 if (ExpectResult ER = expect(tok_semi_colon); ER.ok())
+
125 consume();
+
126 else
+
127 ER.diag().note(Note::NK_ToMachThis, TokInherit.range())
+
128 << std::string(tok::spelling(tok_kw_inherit));
+
129 return std::make_shared<Inherit>(
+
130 LexerCursorRange{TokInherit.lCur(), LastToken->rCur()},
+
131 std::move(AttrNames), std::move(Expr));
+
132}
+
+
133
+
+
134std::shared_ptr<Binds> Parser::parseBinds() {
+
135 // TODO: curently we don't support inherit
+
136 LexerCursor Begin = peek().lCur();
+
137 std::vector<std::shared_ptr<Node>> Bindings;
+
138 // attrpath
+
139 auto SyncID = withSync(tok_id);
+
140 auto SyncQuote = withSync(tok_dquote);
+
141 auto SyncDollarCurly = withSync(tok_dollar_curly);
+
142
+
143 // inherit
+
144 auto SyncInherit = withSync(tok_kw_inherit);
+
145 while (true) {
+
146 if (auto Binding = parseBinding()) {
+
147 Bindings.emplace_back(std::move(Binding));
+
148 continue;
+
149 }
+
150 if (auto Inherit = parseInherit()) {
+
151 Bindings.emplace_back(std::move(Inherit));
+
152 continue;
+
153 }
+
154 // If it is neither a binding, nor an inherit. Let's consume an "Unknown"
+
155 // For error recovery
+
156 if (removeUnexpected())
+
157 continue;
+
158 break;
+
159 }
+
160 if (Bindings.empty())
+
161 return nullptr;
+
162 assert(LastToken && "LastToken should be set after valid binding");
+
163 return std::make_shared<Binds>(LexerCursorRange{Begin, LastToken->rCur()},
+
164 std::move(Bindings));
+
165}
+
+
166
+
+
167std::shared_ptr<ExprAttrs> Parser::parseExprAttrs() {
+
168 std::shared_ptr<Misc> Rec;
+
169
+
170 auto Sync = withSync(tok_r_curly);
+
171
+
172 // "to match this ..."
+
173 // if "{" is missing, then use "rec", otherwise use "{"
+
174 Token Matcher = peek();
+
175 LexerCursor Begin = peek().lCur(); // rec or {
+
176 if (Token Tok = peek(); Tok.kind() == tok_kw_rec) {
+
177 consume();
+
178 Rec = std::make_shared<Misc>(Tok.range());
+
179 }
+
180 if (ExpectResult ER = expect(tok_l_curly); ER.ok()) {
+
181 consume();
+
182 Matcher = ER.tok();
+
183 }
+
184 assert(LastToken && "LastToken should be set after valid { or rec");
+
185 auto Binds = parseBinds();
+
186 if (ExpectResult ER = expect(tok_r_curly); ER.ok())
+
187 consume();
+
188 else
+
189 ER.diag().note(Note::NK_ToMachThis, Matcher.range())
+
190 << std::string(tok::spelling(Matcher.kind()));
+
191 return Act.onExprAttrs(LexerCursorRange{Begin, LastToken->rCur()},
+
192 std::move(Binds), std::move(Rec));
+
193}
+
+
194
+
195} // namespace nixf
+ + + + +
Fix & fix(std::string Message)
Definition Diagnostic.h:193
+ +
Fix & edit(TextEdit Edit)
Definition Diagnostic.h:66
+ + +
A point in the source file.
Definition Range.h:57
+
std::shared_ptr< Expr > parseExpr()
Definition ParseExpr.cpp:74
+
std::shared_ptr< ExprAttrs > parseExprAttrs()
+
std::shared_ptr< Binds > parseBinds()
+
std::shared_ptr< AttrName > parseAttrName()
Definition ParseAttrs.cpp:7
+
std::shared_ptr< Interpolation > parseInterpolation()
Parse interpolations.
+
std::shared_ptr< ExprString > parseString(bool IsIndented)
+
std::shared_ptr< AttrPath > parseAttrPath()
+
std::shared_ptr< Inherit > parseInherit()
+
std::shared_ptr< Binding > parseBinding()
+
std::shared_ptr< ExprAttrs > onExprAttrs(LexerCursorRange Range, std::shared_ptr< Binds > Binds, std::shared_ptr< Misc > Rec)
+
static TextEdit mkRemoval(LexerCursorRange RemovingRange)
Definition Diagnostic.h:40
+
static TextEdit mkInsertion(LexerCursor P, std::string NewText)
Definition Diagnostic.h:36
+
A token. With it's kind, and the range in source code.
Definition Token.h:56
+
LexerCursor lCur() const
Definition Token.h:64
+
tok::TokenKind kind() const
Definition Token.h:66
+
LexerCursorRange range() const
Definition Token.h:67
+
Diagnostic & diagNullExpr(std::vector< Diagnostic > &Diags, LexerCursor Loc, std::string As)
+
constexpr std::string_view spelling(TokenKind Kind)
Definition Token.h:14
+ +
Parser for the Nix expression language.
+
+ + + + diff --git a/ParseExpr_8cpp.html b/ParseExpr_8cpp.html new file mode 100644 index 000000000..9c45f87ab --- /dev/null +++ b/ParseExpr_8cpp.html @@ -0,0 +1,98 @@ + + + + + + + +nixd: ParseExpr.cpp File Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
ParseExpr.cpp File Reference
+
+
+
#include "Parser.h"
+
+

Go to the source code of this file.

+ + + + +

+Namespaces

namespace  nixf
 
+
+ + + + diff --git a/ParseExpr_8cpp_source.html b/ParseExpr_8cpp_source.html new file mode 100644 index 000000000..f2b718372 --- /dev/null +++ b/ParseExpr_8cpp_source.html @@ -0,0 +1,449 @@ + + + + + + + +nixd: ParseExpr.cpp Source File + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
ParseExpr.cpp
+
+
+Go to the documentation of this file.
1#include "Parser.h"
+
2
+
3namespace nixf {
+
4
+
5using namespace detail;
+
6
+
+
7std::shared_ptr<Expr> Parser::parseExprSelect() {
+
8 std::shared_ptr<Expr> Expr = parseExprSimple();
+
9 if (!Expr)
+
10 return nullptr;
+
11 assert(LastToken && "LastToken should be set after valid expr");
+
12 LexerCursor Begin = Expr->lCur();
+
13
+
14 Token Tok = peek();
+
15 if (Tok.kind() != tok_dot) {
+
16 // expr_select : expr_simple
+
17 return Expr;
+
18 }
+
19
+
20 // expr_select : expr_simple '.' attrpath
+
21 // | expr_simple '.' attrpath 'or' expr_select
+
22 consume(); // .
+
23 auto Path = parseAttrPath();
+
24 if (!Path) {
+
25 // extra ".", consider remove it.
+
26 Diagnostic &D =
+
27 Diags.emplace_back(Diagnostic::DK_SelectExtraDot, Tok.range());
+
28 D.fix("remove extra .").edit(TextEdit::mkRemoval(Tok.range()));
+
29 D.fix("insert dummy attrpath")
+
30 .edit(TextEdit::mkInsertion(Tok.rCur(), R"("dummy")"));
+
31 }
+
32
+
33 Token TokOr = peek();
+
34 if (TokOr.kind() != tok_kw_or) {
+
35 // expr_select : expr_simple '.' attrpath
+
36 return std::make_shared<ExprSelect>(
+
37 LexerCursorRange{Begin, LastToken->rCur()}, std::move(Expr),
+
38 std::move(Path), /*Default=*/nullptr);
+
39 }
+
40
+
41 // expr_select : expr_simple '.' attrpath 'or' expr_select
+
42 consume(); // `or`
+
43 auto Default = parseExprSelect();
+
44 if (!Default) {
+
45 Diagnostic &D = diagNullExpr(Diags, LastToken->rCur(), "default");
+
46 D.fix("remove `or` keyword").edit(TextEdit::mkRemoval(TokOr.range()));
+
47 }
+
48 return std::make_shared<ExprSelect>(
+
49 LexerCursorRange{Begin, LastToken->rCur()}, std::move(Expr),
+
50 std::move(Path), std::move(Default));
+
51}
+
+
52
+
+
53std::shared_ptr<Expr> Parser::parseExprApp(int Limit) {
+
54 std::shared_ptr<Expr> Fn = parseExprSelect();
+
55 // If fn cannot be evaluated to lambda, exit early.
+
56 if (!Fn || !Fn->maybeLambda())
+
57 return Fn;
+
58
+
59 std::vector<std::shared_ptr<Expr>> Args;
+
60 while (Limit--) {
+
61 std::shared_ptr<Expr> Arg = parseExprSelect();
+
62 if (!Arg)
+
63 break;
+
64 Args.emplace_back(std::move(Arg));
+
65 }
+
66
+
67 if (Args.empty())
+
68 return Fn;
+
69 return std::make_shared<ExprCall>(
+
70 LexerCursorRange{Fn->lCur(), Args.back()->rCur()}, std::move(Fn),
+
71 std::move(Args));
+
72}
+
+
73
+
+
74std::shared_ptr<Expr> Parser::parseExpr() {
+
75 // Look ahead 3 tokens.
+
76 switch (peek().kind()) {
+
77 case tok_id: {
+
78 switch (peek(1).kind()) {
+
79 case tok_at: // ID @
+
80 case tok_colon: // ID :
+
81 return parseExprLambda();
+
82 default:
+
83 break;
+
84 }
+
85 break;
+
86 }
+
87 case tok_l_curly: {
+
88 switch (peek(1).kind()) {
+
89 case tok_id: {
+
90 switch (peek(2).kind()) {
+
91 case tok_colon: // { a :
+
92 case tok_at: // { a @
+
93 case tok_question: // { a ?
+
94 case tok_comma: // { a ,
+
95 case tok_id: // { a b
+
96 case tok_ellipsis: // { a ...
+
97 case tok_r_curly:
+
98 return parseExprLambda();
+
99 default:
+
100 break;
+
101 }
+
102 break;
+
103 }
+
104 case tok_ellipsis: // { ...
+
105 return parseExprLambda();
+
106 default:
+
107 break;
+
108 }
+
109 break;
+
110 } // case tok_l_curly
+
111 case tok_kw_if:
+
112 return parseExprIf();
+
113 case tok_kw_assert:
+
114 return parseExprAssert();
+
115 case tok_kw_let:
+
116 if (peek(1).kind() != tok_l_curly)
+
117 return parseExprLet();
+
118 break;
+
119 case tok_kw_with:
+
120 return parseExprWith();
+
121 default:
+
122 break;
+
123 }
+
124
+
125 return parseExprOp();
+
126}
+
+
127
+
+
128std::shared_ptr<ExprIf> Parser::parseExprIf() {
+
129 LexerCursor LCur = lCur(); // if
+
130 Token TokIf = peek();
+
131 assert(TokIf.kind() == tok_kw_if && "parseExprIf should start with `if`");
+
132 consume(); // if
+
133 assert(LastToken && "LastToken should be set after consume()");
+
134
+
135 auto SyncThen = withSync(tok_kw_then);
+
136 auto SyncElse = withSync(tok_kw_else);
+
137
+
138 auto Cond = parseExpr();
+
139 if (!Cond) {
+
140 Diagnostic &D = diagNullExpr(Diags, LastToken->rCur(), "condition");
+
141 D.fix("remove `if` keyword").edit(TextEdit::mkRemoval(TokIf.range()));
+
142 D.fix("insert dummy condition")
+
143 .edit(TextEdit::mkInsertion(TokIf.rCur(), "true"));
+
144
+
145 if (peek().kind() != tok_kw_then)
+
146 return std::make_shared<ExprIf>(LexerCursorRange{LCur, LastToken->rCur()},
+
147 std::move(Cond), /*Then=*/nullptr,
+
148 /*Else=*/nullptr);
+
149 }
+
150
+
151 ExpectResult ExpKwThen = expect(tok_kw_then);
+
152 if (!ExpKwThen.ok()) {
+
153 Diagnostic &D = ExpKwThen.diag();
+
154 Note &N = D.note(Note::NK_ToMachThis, TokIf.range());
+
155 N << std::string(tok::spelling(tok_kw_if));
+
156 return std::make_shared<ExprIf>(LexerCursorRange{LCur, LastToken->rCur()},
+
157 std::move(Cond), /*Then=*/nullptr,
+
158 /*Else=*/nullptr);
+
159 }
+
160
+
161 consume(); // then
+
162
+
163 auto Then = parseExpr();
+
164 if (!Then) {
+
165 Diagnostic &D = diagNullExpr(Diags, LastToken->rCur(), "then");
+
166 Note &N = D.note(Note::NK_ToMachThis, TokIf.range());
+
167 N << std::string(tok::spelling(tok_kw_if));
+
168
+
169 if (peek().kind() != tok_kw_else)
+
170 return std::make_shared<ExprIf>(LexerCursorRange{LCur, LastToken->rCur()},
+
171 std::move(Cond), std::move(Then),
+
172 /*Else=*/nullptr);
+
173 }
+
174
+
175 ExpectResult ExpKwElse = expect(tok_kw_else);
+
176 if (!ExpKwElse.ok())
+
177 return std::make_shared<ExprIf>(LexerCursorRange{LCur, LastToken->rCur()},
+
178 std::move(Cond), std::move(Then),
+
179 /*Else=*/nullptr);
+
180
+
181 consume(); // else
+
182
+
183 auto Else = parseExpr();
+
184 if (!Else) {
+
185 Diagnostic &D = diagNullExpr(Diags, LastToken->rCur(), "else");
+
186 Note &N = D.note(Note::NK_ToMachThis, TokIf.range());
+
187 N << std::string(tok::spelling(tok_kw_if));
+
188 }
+
189
+
190 return std::make_shared<ExprIf>(LexerCursorRange{LCur, LastToken->rCur()},
+
191 std::move(Cond), std::move(Then),
+
192 std::move(Else));
+
193}
+
+
194
+
+
195std::shared_ptr<ExprAssert> Parser::parseExprAssert() {
+
196 LexerCursor LCur = lCur();
+
197 Token TokAssert = peek();
+
198 assert(TokAssert.kind() == tok_kw_assert && "should be tok_kw_assert");
+
199 consume(); // assert
+
200 assert(LastToken && "LastToken should be set after consume()");
+
201
+
202 auto SyncSemi = withSync(tok_semi_colon);
+
203
+
204 auto Cond = parseExpr();
+
205 if (!Cond) {
+
206 Diagnostic &D = diagNullExpr(Diags, LastToken->rCur(), "condition");
+
207 D.fix("remove `assert` keyword")
+
208 .edit(TextEdit::mkRemoval(TokAssert.range()));
+
209
+
210 if (peek().kind() != tok_colon)
+
211 return std::make_shared<ExprAssert>(
+
212 LexerCursorRange{LCur, LastToken->rCur()}, std::move(Cond),
+
213 /*Value=*/nullptr);
+
214 }
+
215
+
216 ExpectResult ExpSemi = expect(tok_semi_colon);
+
217 if (!ExpSemi.ok()) {
+
218 // missing ';'
+
219 Diagnostic &D = ExpSemi.diag();
+
220 Note &N = D.note(Note::NK_ToMachThis, TokAssert.range());
+
221 N << std::string(tok::spelling(tok_kw_assert));
+
222 return std::make_shared<ExprAssert>(
+
223 LexerCursorRange{LCur, LastToken->rCur()}, std::move(Cond),
+
224 /*Value=*/nullptr);
+
225 }
+
226
+
227 consume(); // ;
+
228
+
229 auto Value = parseExpr();
+
230
+
231 if (!Value)
+
232 diagNullExpr(Diags, LastToken->rCur(), "assert value");
+
233
+
234 return std::make_shared<ExprAssert>(LexerCursorRange{LCur, LastToken->rCur()},
+
235 std::move(Cond), std::move(Value));
+
236}
+
+
237
+
+
238std::shared_ptr<ExprLet> Parser::parseExprLet() {
+
239 LexerCursor LCur = lCur();
+
240 Token TokLet = peek();
+
241 assert(TokLet.kind() == tok_kw_let &&
+
242 "first token should be tok_kw_let in parseExprLet()");
+
243
+
244 auto Let = std::make_shared<Misc>(TokLet.range());
+
245
+
246 consume(); // 'let'
+
247
+
248 auto SyncIn = withSync(tok_kw_in);
+
249
+
250 assert(LastToken && "LastToken should be set after consume()");
+
251
+
252 auto Binds = parseBinds();
+
253
+
254 ExpectResult ExpKwIn = expect(tok_kw_in);
+
255
+
256 if (!ExpKwIn.ok())
+
257 // missing 'in'
+
258 return std::make_shared<ExprLet>(LexerCursorRange{LCur, LastToken->rCur()},
+
259 std::move(Let), std::move(Binds),
+
260 /*KwIn=*/nullptr,
+
261 /*E=*/nullptr);
+
262
+
263 auto In = std::make_shared<Misc>(ExpKwIn.tok().range());
+
264
+
265 consume(); // 'in'
+
266
+
267 auto E = parseExpr();
+
268 if (!E)
+
269 diagNullExpr(Diags, LastToken->rCur(), "let ... in");
+
270
+
271 return std::make_shared<ExprLet>(LexerCursorRange{LCur, LastToken->rCur()},
+
272 std::move(Let), std::move(Binds),
+
273 std::move(In), std::move(E));
+
274}
+
+
275
+
+
276std::shared_ptr<ExprWith> Parser::parseExprWith() {
+
277 LexerCursor LCur = lCur();
+
278 Token TokWith = peek();
+
279 assert(TokWith.kind() == tok_kw_with && "token should be tok_kw_with");
+
280
+
281 consume(); // with
+
282 assert(LastToken && "LastToken should be set after consume()");
+
283
+
284 auto SyncSemi = withSync(tok_semi_colon);
+
285
+
286 auto With = parseExpr();
+
287
+
288 if (!With)
+
289 diagNullExpr(Diags, LastToken->rCur(), "with expression");
+
290
+
291 ExpectResult ExpSemi = expect(tok_semi_colon);
+
292 if (!ExpSemi.ok()) {
+
293 ExpSemi.diag().note(Note::NK_ToMachThis, TokWith.range())
+
294 << std::string(tok::spelling(tok_kw_with));
+
295 return std::make_shared<ExprWith>(LexerCursorRange{LCur, LastToken->rCur()},
+
296 std::move(With), /*E=*/nullptr);
+
297 }
+
298
+
299 consume(); // ;
+
300
+
301 auto E = parseExpr();
+
302
+
303 if (!E)
+
304 diagNullExpr(Diags, LastToken->rCur(), "with body");
+
305
+
306 return std::make_shared<ExprWith>(LexerCursorRange{LCur, LastToken->rCur()},
+
307 std::move(With), std::move(E));
+
308}
+
+
309
+
310} // namespace nixf
+ + +
Note & note(Note::NoteKind Kind, LexerCursorRange Range)
Definition Diagnostic.h:187
+
Fix & fix(std::string Message)
Definition Diagnostic.h:193
+ +
Fix & edit(TextEdit Edit)
Definition Diagnostic.h:66
+ +
LexerCursor lCur() const
Definition Range.h:116
+
A point in the source file.
Definition Range.h:57
+
LexerCursor lCur() const
Definition Basic.h:37
+ +
std::shared_ptr< Expr > parseExprSimple()
+
std::shared_ptr< Expr > parseExpr()
Definition ParseExpr.cpp:74
+
std::shared_ptr< ExprIf > parseExprIf()
+
std::shared_ptr< Expr > parseExprOp()
Parse binary/unary operators.
+
std::shared_ptr< Expr > parseExprSelect()
Definition ParseExpr.cpp:7
+
std::shared_ptr< Expr > parseExprApp(int Limit=INT_MAX)
Definition ParseExpr.cpp:53
+
std::shared_ptr< ExprAssert > parseExprAssert()
+
std::shared_ptr< Binds > parseBinds()
+
std::shared_ptr< AttrPath > parseAttrPath()
+
std::shared_ptr< ExprWith > parseExprWith()
+
std::shared_ptr< ExprLet > parseExprLet()
+
std::shared_ptr< ExprLambda > parseExprLambda()
+
static TextEdit mkRemoval(LexerCursorRange RemovingRange)
Definition Diagnostic.h:40
+
static TextEdit mkInsertion(LexerCursor P, std::string NewText)
Definition Diagnostic.h:36
+
A token. With it's kind, and the range in source code.
Definition Token.h:56
+
tok::TokenKind kind() const
Definition Token.h:66
+
LexerCursorRange range() const
Definition Token.h:67
+
LexerCursor rCur() const
Definition Token.h:65
+
Diagnostic & diagNullExpr(std::vector< Diagnostic > &Diags, LexerCursor Loc, std::string As)
+
constexpr std::string_view spelling(TokenKind Kind)
Definition Token.h:14
+ +
Parser for the Nix expression language.
+
+ + + + diff --git a/ParseLambda_8cpp.html b/ParseLambda_8cpp.html new file mode 100644 index 000000000..6c2a2b51f --- /dev/null +++ b/ParseLambda_8cpp.html @@ -0,0 +1,98 @@ + + + + + + + +nixd: ParseLambda.cpp File Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
ParseLambda.cpp File Reference
+
+
+
#include "Parser.h"
+
+

Go to the source code of this file.

+ + + + +

+Namespaces

namespace  nixf
 
+
+ + + + diff --git a/ParseLambda_8cpp_source.html b/ParseLambda_8cpp_source.html new file mode 100644 index 000000000..b1edc9660 --- /dev/null +++ b/ParseLambda_8cpp_source.html @@ -0,0 +1,276 @@ + + + + + + + +nixd: ParseLambda.cpp Source File + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
ParseLambda.cpp
+
+
+Go to the documentation of this file.
1#include "Parser.h"
+
2
+
3namespace nixf {
+
4
+
5using namespace detail;
+
6
+
+
7std::shared_ptr<Formal> Parser::parseFormal() {
+
8 // formal : ,? ID
+
9 // | ,? ID '?' expr
+
10 // | ,? ...
+
11
+
12 LexerCursor LCur = lCur();
+
13 std::shared_ptr<Misc> Comma = nullptr;
+
14 if (Token Tok = peek(); Tok.kind() == tok_comma) {
+
15 consume();
+
16 Comma = std::make_shared<Misc>(Tok.range());
+
17 }
+
18 if (Token Tok = peek(); Tok.kind() == tok_id) {
+
19 consume(); // ID
+
20 assert(LastToken && "LastToken should be set after consume()");
+
21 auto ID =
+
22 std::make_shared<Identifier>(Tok.range(), std::string(Tok.view()));
+
23 if (peek().kind() != tok_question)
+
24 return std::make_shared<Formal>(LexerCursorRange{LCur, LastToken->rCur()},
+
25 std::move(Comma), std::move(ID), nullptr);
+
26 consume(); // ?
+
27 std::shared_ptr<Expr> Default = parseExpr();
+
28 if (!Default)
+
29 diagNullExpr(Diags, LastToken->rCur(), "default value");
+
30 return std::make_shared<Formal>(LexerCursorRange{LCur, LastToken->rCur()},
+
31 std::move(Comma), std::move(ID),
+
32 std::move(Default));
+
33 }
+
34 if (Token Tok = peek(); Tok.kind() == tok_ellipsis) {
+
35 consume(); // ...
+
36 assert(LastToken && "LastToken should be set after consume()");
+
37 std::shared_ptr<Misc> Ellipsis = std::make_shared<Misc>(Tok.range());
+
38 return std::make_shared<Formal>(LexerCursorRange{LCur, LastToken->rCur()},
+
39 std::move(Comma), std::move(Ellipsis));
+
40 }
+
41
+
42 if (Comma) {
+
43 assert(LastToken && "LastToken should be set after consume()");
+
44 return std::make_shared<Formal>(LexerCursorRange{LCur, LastToken->rCur()},
+
45 std::move(Comma), /*ID=*/nullptr,
+
46 /*Default=*/nullptr);
+
47 }
+
48 return nullptr;
+
49}
+
+
50
+
+
51std::shared_ptr<Formals> Parser::parseFormals() {
+
52 ExpectResult ER = expect(tok_l_curly);
+
53 if (!ER.ok())
+
54 return nullptr;
+
55 Token TokLCurly = ER.tok();
+
56 consume(); // {
+
57 assert(LastToken && "LastToken should be set after consume()");
+
58 auto SyncRCurly = withSync(tok_r_curly);
+
59 auto SyncComma = withSync(tok_comma);
+
60 auto SyncQuestion = withSync(tok_question);
+
61 auto SyncID = withSync(tok_id);
+
62 LexerCursor LCur = ER.tok().lCur();
+
63 std::vector<std::shared_ptr<Formal>> Members;
+
64 while (true) {
+
65 if (Token Tok = peek(); Tok.kind() == tok_r_curly)
+
66 break;
+
67 std::shared_ptr<Formal> Formal = parseFormal();
+
68 if (Formal) {
+
69 Members.emplace_back(std::move(Formal));
+
70 continue;
+
71 }
+
72 if (removeUnexpected())
+
73 continue;
+
74 break;
+
75 }
+
76 if (ExpectResult ER = expect(tok_r_curly); ER.ok())
+
77 consume();
+
78 else
+
79 ER.diag().note(Note::NK_ToMachThis, TokLCurly.range())
+
80 << std::string(tok::spelling(tok_l_curly));
+
81 return Act.onFormals(LexerCursorRange{LCur, LastToken->rCur()},
+
82 std::move(Members));
+
83}
+
+
84
+
+
85std::shared_ptr<LambdaArg> Parser::parseLambdaArg() {
+
86 LexerCursor LCur = lCur();
+
87 if (Token TokID = peek(); TokID.kind() == tok_id) {
+
88 consume(); // ID
+
89 assert(LastToken && "LastToken should be set after consume()");
+
90 auto ID =
+
91 std::make_shared<Identifier>(TokID.range(), std::string(TokID.view()));
+
92 if (peek().kind() != tok_at)
+
93 return std::make_shared<LambdaArg>(
+
94 LexerCursorRange{LCur, LastToken->rCur()}, std::move(ID), nullptr);
+
95
+
96 consume(); // @
+
97 std::shared_ptr<Formals> Formals = parseFormals();
+
98 if (!Formals) {
+
99 // extra "@", consider remove it.
+
100 Diagnostic &D =
+
101 Diags.emplace_back(Diagnostic::DK_LambdaArgExtraAt, TokID.range());
+
102 D.fix("remove extra @").edit(TextEdit::mkRemoval(TokID.range()));
+
103 D.fix("insert dummy formals")
+
104 .edit(TextEdit::mkInsertion(TokID.rCur(), R"({})"));
+
105 }
+
106 return std::make_shared<LambdaArg>(
+
107 LexerCursorRange{LCur, LastToken->rCur()}, std::move(ID),
+
108 std::move(Formals));
+
109 }
+
110
+
111 std::shared_ptr<Formals> Formals = parseFormals();
+
112 if (!Formals)
+
113 return nullptr;
+
114 assert(LastToken && "LastToken should be set after valid formals");
+
115 Token TokAt = peek();
+
116 if (TokAt.kind() != tok_at)
+
117 return std::make_shared<LambdaArg>(
+
118 LexerCursorRange{LCur, LastToken->rCur()}, nullptr, std::move(Formals));
+
119 consume(); // @
+
120 ExpectResult ER = expect(tok_id);
+
121 if (!ER.ok()) {
+
122 ER.diag().note(Note::NK_ToMachThis, TokAt.range())
+
123 << std::string(tok::spelling(tok_at));
+
124 return std::make_shared<LambdaArg>(
+
125 LexerCursorRange{LCur, LastToken->rCur()}, nullptr, std::move(Formals));
+
126 }
+
127 consume(); // ID
+
128 auto ID = std::make_shared<Identifier>(ER.tok().range(),
+
129 std::string(ER.tok().view()));
+
130 return std::make_shared<LambdaArg>(LexerCursorRange{LCur, LastToken->rCur()},
+
131 std::move(ID), std::move(Formals));
+
132}
+
+
133
+
+
134std::shared_ptr<ExprLambda> Parser::parseExprLambda() {
+
135 // expr_lambda : lambda_arg ':' expr
+
136 LexerCursor LCur = lCur();
+
137 std::shared_ptr<LambdaArg> Arg = parseLambdaArg();
+
138 assert(LastToken && "LastToken should be set after parseLambdaArg");
+
139 if (!Arg)
+
140 return nullptr;
+
141 if (ExpectResult ER = expect(tok_colon); ER.ok())
+
142 consume();
+
143
+
144 std::shared_ptr<Expr> Body = parseExpr();
+
145 if (!Body)
+
146 diagNullExpr(Diags, LastToken->rCur(), "lambda body");
+
147 return std::make_shared<ExprLambda>(LexerCursorRange{LCur, LastToken->rCur()},
+
148 std::move(Arg), std::move(Body));
+
149}
+
+
150
+
151} // namespace nixf
+ +
Note & note(Note::NoteKind Kind, LexerCursorRange Range)
Definition Diagnostic.h:187
+
Fix & fix(std::string Message)
Definition Diagnostic.h:193
+
Fix & edit(TextEdit Edit)
Definition Diagnostic.h:66
+ +
Lambda formal arguments.
Definition Lambda.h:58
+ +
A point in the source file.
Definition Range.h:57
+
std::shared_ptr< Formal > parseFormal()
+
std::shared_ptr< Expr > parseExpr()
Definition ParseExpr.cpp:74
+
std::shared_ptr< Formals > parseFormals()
+
std::shared_ptr< LambdaArg > parseLambdaArg()
+
std::shared_ptr< ExprLambda > parseExprLambda()
+
std::shared_ptr< Formals > onFormals(LexerCursorRange Range, FormalVector FV)
+
static TextEdit mkRemoval(LexerCursorRange RemovingRange)
Definition Diagnostic.h:40
+
static TextEdit mkInsertion(LexerCursor P, std::string NewText)
Definition Diagnostic.h:36
+
A token. With it's kind, and the range in source code.
Definition Token.h:56
+
LexerCursor lCur() const
Definition Token.h:64
+
tok::TokenKind kind() const
Definition Token.h:66
+
LexerCursorRange range() const
Definition Token.h:67
+
std::string_view view() const
Definition Token.h:68
+
Diagnostic & diagNullExpr(std::vector< Diagnostic > &Diags, LexerCursor Loc, std::string As)
+
constexpr std::string_view spelling(TokenKind Kind)
Definition Token.h:14
+ +
Parser for the Nix expression language.
+
+ + + + diff --git a/ParseOp_8cpp.html b/ParseOp_8cpp.html new file mode 100644 index 000000000..50607842c --- /dev/null +++ b/ParseOp_8cpp.html @@ -0,0 +1,132 @@ + + + + + + + +nixd: ParseOp.cpp File Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
ParseOp.cpp File Reference
+
+
+ +

This file implements parsing of operators. +More...

+
#include "Parser.h"
+#include "nixf/Basic/Nodes/Op.h"
+#include <cassert>
+#include "nixf/Basic/TokenKinds.inc"
+
+

Go to the source code of this file.

+ + + + +

+Namespaces

namespace  nixf
 
+ + + +

+Macros

#define TOK_BIN_OP(NAME)   case tok_op_##NAME:
 
+

Detailed Description

+

This file implements parsing of operators.

+ +

Definition in file ParseOp.cpp.

+

Macro Definition Documentation

+ +

◆ TOK_BIN_OP

+ +
+
+ + + + + + + +
#define TOK_BIN_OP( NAME)   case tok_op_##NAME:
+
+ +
+
+
+ + + + diff --git a/ParseOp_8cpp_source.html b/ParseOp_8cpp_source.html new file mode 100644 index 000000000..3a4b7b9da --- /dev/null +++ b/ParseOp_8cpp_source.html @@ -0,0 +1,262 @@ + + + + + + + +nixd: ParseOp.cpp Source File + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
ParseOp.cpp
+
+
+Go to the documentation of this file.
1/// \file
+
2/// \brief This file implements parsing of operators.
+
3
+
4#include "Parser.h"
+
5
+ +
7
+
8#include <cassert>
+
9
+
10using namespace nixf::tok;
+
11using namespace nixf::detail;
+
12
+
13/// Operators.
+
14namespace {
+
15
+
16/// Binary operators:
+
17///
+
18/// %right ->
+
19/// %left ||
+
20/// %left &&
+
21/// %nonassoc == !=
+
22/// %nonassoc < > <= >=
+
23/// %right //
+
24/// %left NOT
+
25/// %left + -
+
26/// %left * /
+
27/// %right ++
+
28/// %nonassoc '?'
+
29/// %nonassoc NEGATE
+
30std::pair<unsigned, unsigned> getBP(TokenKind Kind) {
+
31 switch (Kind) {
+
32 case tok_op_impl: // %right ->
+
33 return {2, 1};
+
34 case tok_op_or: // %left ||
+
35 return {3, 4};
+
36 case tok_op_and: // %left &&
+
37 return {5, 6};
+
38 case tok_op_eq: // %nonassoc == !=
+
39 case tok_op_neq:
+
40 return {7, 7};
+
41 case tok_op_lt: // %nonassoc < > <= >=
+
42 case tok_op_le:
+
43 case tok_op_ge:
+
44 case tok_op_gt:
+
45 return {8, 8};
+
46 case tok_op_update: // %right //
+
47 return {10, 9};
+
48 // %left NOT - 11
+
49 case tok_op_add: // %left + -
+
50 case tok_op_negate:
+
51 return {12, 13};
+
52 case tok_op_mul: // %left * /
+
53 return {14, 15};
+
54 case tok_op_div:
+
55 case tok_op_concat: // %right ++
+
56 return {17, 16};
+
57 // % op_negate
+
58 default:
+
59 __builtin_unreachable();
+
60 }
+
61}
+
62
+
63unsigned getUnaryBP(TokenKind Kind) {
+
64 switch (Kind) {
+
65 case tok_op_not:
+
66 return 11;
+
67 case tok_op_negate:
+
68 return 100;
+
69 default:
+
70 __builtin_unreachable();
+
71 }
+
72}
+
73
+
74} // namespace
+
75
+
76namespace nixf {
+
77
+
78std::shared_ptr<Expr> Parser::parseExprOpBP(unsigned LeftRBP) {
+
79 std::shared_ptr<Expr> Prefix;
+
80 LexerCursor LCur = lCur();
+
81 switch (Token Tok = peek(); Tok.kind()) {
+
82 case tok_op_not:
+
83 case tok_op_negate: {
+
84 consume();
+
85 assert(LastToken && "consume() should have set LastToken");
+
86 auto O = std::make_shared<Op>(Tok.range(), Tok.kind());
+
87 auto Expr = parseExprOpBP(getUnaryBP(Tok.kind()));
+
88 if (!Expr)
+
89 diagNullExpr(Diags, LastToken->rCur(),
+
90 "unary operator " + std::string(tok::spelling(Tok.kind())));
+
91 Prefix =
+
92 std::make_shared<ExprUnaryOp>(LexerCursorRange{LCur, LastToken->rCur()},
+
93 std::move(O), std::move(Expr));
+
94 break;
+
95 }
+
96 default:
+
97 Prefix = parseExprApp();
+
98 }
+
99
+
100 if (!Prefix)
+
101 return nullptr;
+
102
+
103 for (;;) {
+
104 switch (Token Tok = peek(); Tok.kind()) {
+
105#define TOK_BIN_OP(NAME) case tok_op_##NAME:
+ +
107#undef TOK_BIN_OP
+
108 {
+
109 // For all binary ops:
+
110 //
+
111 // expr_op OP expr_op OP expr_op
+
112 // ^LeftRBP ^ LBP
+
113 // |
+
114 // | we are here
+
115 auto [LBP, RBP] = getBP(Tok.kind());
+
116 if (LeftRBP > LBP)
+
117 return Prefix;
+
118 if (LeftRBP == LBP) {
+
119 // TODO: noassoc
+
120 }
+
121 consume();
+
122 assert(LastToken && "consume() should have set LastToken");
+
123 auto O = std::make_shared<Op>(Tok.range(), Tok.kind());
+
124 auto RHS = parseExprOpBP(RBP);
+
125 if (!RHS) {
+
126 diagNullExpr(Diags, LastToken->rCur(), "binary op RHS");
+
127 continue;
+
128 }
+
129 LexerCursorRange Range{Prefix->lCur(), RHS->rCur()};
+
130 Prefix = std::make_shared<ExprBinOp>(Range, std::move(O),
+
131 std::move(Prefix), std::move(RHS));
+
132 break;
+
133 }
+
134 case tok_question: {
+
135 // expr_op '?' attrpath
+
136 consume();
+
137 assert(LastToken && "consume() should have set LastToken");
+
138 auto O = std::make_shared<Op>(Tok.range(), Tok.kind());
+
139
+
140 std::shared_ptr<AttrPath> Path = parseAttrPath();
+
141 LexerCursorRange Range{Prefix->lCur(), LastToken->rCur()};
+
142 Prefix = std::make_shared<ExprOpHasAttr>(
+
143 Range, std::move(O), std::move(Prefix), std::move(Path));
+
144 break;
+
145 }
+
146 default:
+
147 return Prefix;
+
148 }
+
149 }
+
150}
+
151
+
152} // namespace nixf
+ + + + +
LexerCursor lCur() const
Definition Range.h:116
+
A point in the source file.
Definition Range.h:57
+
std::shared_ptr< Expr > parseExprApp(int Limit=INT_MAX)
Definition ParseExpr.cpp:53
+
std::shared_ptr< AttrPath > parseAttrPath()
+
A token. With it's kind, and the range in source code.
Definition Token.h:56
+
tok::TokenKind kind() const
Definition Token.h:66
+
std::string Path
Definition Path.h:24
+ +
Diagnostic & diagNullExpr(std::vector< Diagnostic > &Diags, LexerCursor Loc, std::string As)
+ +
constexpr std::string_view spelling(TokenKind Kind)
Definition Token.h:14
+ + +
Parser for the Nix expression language.
+
+ + + + diff --git a/ParseSimple_8cpp.html b/ParseSimple_8cpp.html new file mode 100644 index 000000000..1e3a9f056 --- /dev/null +++ b/ParseSimple_8cpp.html @@ -0,0 +1,99 @@ + + + + + + + +nixd: ParseSimple.cpp File Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
ParseSimple.cpp File Reference
+
+
+
#include "Parser.h"
+#include <charconv>
+
+

Go to the source code of this file.

+ + + + +

+Namespaces

namespace  nixf
 
+
+ + + + diff --git a/ParseSimple_8cpp_source.html b/ParseSimple_8cpp_source.html new file mode 100644 index 000000000..6fd185bf5 --- /dev/null +++ b/ParseSimple_8cpp_source.html @@ -0,0 +1,222 @@ + + + + + + + +nixd: ParseSimple.cpp Source File + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
ParseSimple.cpp
+
+
+Go to the documentation of this file.
1#include "Parser.h"
+
2
+
3#include <charconv>
+
4
+
5namespace nixf {
+
6
+
7using namespace detail;
+
8
+
+
9std::shared_ptr<ExprParen> Parser::parseExprParen() {
+
10 Token L = peek();
+
11 auto LParen = std::make_shared<Misc>(L.range());
+
12 assert(L.kind() == tok_l_paren);
+
13 consume(); // (
+
14 auto Sync = withSync(tok_r_paren);
+
15 assert(LastToken && "LastToken should be set after consume()");
+
16 auto Expr = parseExpr();
+
17 if (!Expr)
+
18 diagNullExpr(Diags, LastToken->rCur(), "parenthesized");
+
19 if (ExpectResult ER = expect(tok_r_paren); ER.ok()) {
+
20 consume(); // )
+
21 auto RParen = std::make_shared<Misc>(ER.tok().range());
+
22 return std::make_shared<ExprParen>(
+
23 LexerCursorRange{L.lCur(), ER.tok().rCur()}, std::move(Expr),
+
24 std::move(LParen), std::move(RParen));
+
25 } else { // NOLINT(readability-else-after-return)
+
26 ER.diag().note(Note::NK_ToMachThis, L.range())
+
27 << std::string(tok::spelling(tok_l_paren));
+
28 return std::make_shared<ExprParen>(
+
29 LexerCursorRange{L.lCur(), LastToken->rCur()}, std::move(Expr),
+
30 std::move(LParen),
+
31 /*RParen=*/nullptr);
+
32 }
+
33}
+
+
34
+
+
35std::shared_ptr<ExprList> Parser::parseExprList() {
+
36 Token Tok = peek();
+
37 if (Tok.kind() != tok_l_bracket)
+
38 return nullptr;
+
39 consume(); // [
+
40 auto Sync = withSync(tok_r_bracket);
+
41 assert(LastToken && "LastToken should be set after consume()");
+
42 LexerCursor Begin = Tok.lCur();
+
43 std::vector<std::shared_ptr<Expr>> Exprs;
+
44 while (true) {
+
45 if (Token Tok = peek(); Tok.kind() == tok_r_bracket)
+
46 break;
+
47 std::shared_ptr<Expr> Expr = parseExprSelect();
+
48 if (!Expr)
+
49 break;
+
50 Exprs.emplace_back(std::move(Expr));
+
51 }
+
52 if (ExpectResult ER = expect(tok_r_bracket); ER.ok())
+
53 consume();
+
54 else
+
55 ER.diag().note(Note::NK_ToMachThis, Tok.range())
+
56 << std::string(tok::spelling(tok_l_bracket));
+
57 return std::make_shared<ExprList>(LexerCursorRange{Begin, LastToken->rCur()},
+
58 std::move(Exprs));
+
59}
+
+
60
+
+
61std::shared_ptr<Expr> Parser::parseExprSimple() {
+
62 Token Tok = peek();
+
63 switch (Tok.kind()) {
+
64 case tok_id: {
+
65 consume();
+
66 auto ID =
+
67 std::make_shared<Identifier>(Tok.range(), std::string(Tok.view()));
+
68 return std::make_shared<ExprVar>(Tok.range(), std::move(ID));
+
69 }
+
70 case tok_int: {
+
71 consume();
+
72 NixInt N;
+
73 std::from_chars_result Result [[maybe_unused]] =
+
74 std::from_chars(Tok.view().begin(), Tok.view().end(), N);
+
75 assert(Result.ec == std::errc() && "should be a valid integer");
+
76 return std::make_shared<ExprInt>(Tok.range(), N);
+
77 }
+
78 case tok_float: {
+
79 consume();
+
80 // libc++ doesn't support std::from_chars for floating point numbers.
+
81 NixFloat N = std::strtof(std::string(Tok.view()).c_str(), nullptr);
+
82 return std::make_shared<ExprFloat>(Tok.range(), N);
+
83 }
+
84 case tok_dquote: // " - normal strings
+
85 return parseString(/*IsIndented=*/false);
+
86 case tok_quote2: // '' - indented strings
+
87 return parseString(/*IsIndented=*/true);
+
88 case tok_path_fragment:
+
89 return parseExprPath();
+
90 case tok_l_paren:
+
91 return parseExprParen();
+
92 case tok_kw_rec:
+
93 case tok_l_curly:
+
94 return parseExprAttrs();
+
95 case tok_l_bracket:
+
96 return parseExprList();
+
97 default:
+
98 return nullptr;
+
99 }
+
100}
+
+
101
+
102} // namespace nixf
+ + +
A point in the source file.
Definition Range.h:57
+
std::shared_ptr< Expr > parseExprSimple()
+
std::shared_ptr< Expr > parseExpr()
Definition ParseExpr.cpp:74
+
std::shared_ptr< Expr > parseExprPath()
Parse paths.
+
std::shared_ptr< Expr > parseExprSelect()
Definition ParseExpr.cpp:7
+
std::shared_ptr< ExprAttrs > parseExprAttrs()
+
std::shared_ptr< ExprParen > parseExprParen()
+
std::shared_ptr< ExprString > parseString(bool IsIndented)
+
std::shared_ptr< ExprList > parseExprList()
+
A token. With it's kind, and the range in source code.
Definition Token.h:56
+
LexerCursor lCur() const
Definition Token.h:64
+
tok::TokenKind kind() const
Definition Token.h:66
+
LexerCursorRange range() const
Definition Token.h:67
+
std::string_view view() const
Definition Token.h:68
+
int64_t NixInt
Definition Type.h:7
+
double NixFloat
Definition Type.h:8
+
Diagnostic & diagNullExpr(std::vector< Diagnostic > &Diags, LexerCursor Loc, std::string As)
+
constexpr std::string_view spelling(TokenKind Kind)
Definition Token.h:14
+ +
Parser for the Nix expression language.
+
+ + + + diff --git a/ParseStrings_8cpp.html b/ParseStrings_8cpp.html new file mode 100644 index 000000000..53349d254 --- /dev/null +++ b/ParseStrings_8cpp.html @@ -0,0 +1,98 @@ + + + + + + + +nixd: ParseStrings.cpp File Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
ParseStrings.cpp File Reference
+
+
+
#include "Parser.h"
+
+

Go to the source code of this file.

+ + + + +

+Namespaces

namespace  nixf
 
+
+ + + + diff --git a/ParseStrings_8cpp_source.html b/ParseStrings_8cpp_source.html new file mode 100644 index 000000000..5f46e8ac9 --- /dev/null +++ b/ParseStrings_8cpp_source.html @@ -0,0 +1,237 @@ + + + + + + + +nixd: ParseStrings.cpp Source File + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
ParseStrings.cpp
+
+
+Go to the documentation of this file.
1#include "Parser.h"
+
2
+
3namespace nixf {
+
4
+
5using namespace detail;
+
6
+
+
7std::shared_ptr<Interpolation> Parser::parseInterpolation() {
+
8 Token TokDollarCurly = peek();
+
9 assert(TokDollarCurly.kind() == tok_dollar_curly);
+
10 consume(); // ${
+
11 auto Sync = withSync(tok_r_curly);
+
12 assert(LastToken);
+
13 /* with(PS_Expr) */ {
+
14 auto ExprState = withState(PS_Expr);
+
15 auto Expr = parseExpr();
+
16 if (!Expr)
+
17 diagNullExpr(Diags, LastToken->rCur(), "interpolation");
+
18 if (ExpectResult ER = expect(tok_r_curly); ER.ok()) {
+
19 consume(); // }
+
20 } else {
+
21 ER.diag().note(Note::NK_ToMachThis, TokDollarCurly.range())
+
22 << std::string(tok::spelling(tok_dollar_curly));
+
23 }
+
24 return std::make_shared<Interpolation>(
+
25 LexerCursorRange{TokDollarCurly.lCur(), LastToken->rCur()},
+
26 std::move(Expr));
+
27 } // with(PS_Expr)
+
28}
+
+
29
+
+
30std::shared_ptr<Expr> Parser::parseExprPath() {
+
31 Token Begin = peek();
+
32 std::vector<InterpolablePart> Fragments;
+
33 assert(Begin.kind() == tok_path_fragment);
+
34 LexerCursor End;
+
35 /* with(PS_Path) */ {
+
36 auto PathState = withState(PS_Path);
+
37 do {
+
38 Token Current = peek();
+
39 Fragments.emplace_back(std::string(Current.view()));
+
40 consume();
+
41 End = Current.rCur();
+
42 Token Next = peek();
+
43 if (Next.kind() == tok_path_end)
+
44 break;
+
45 if (Next.kind() == tok_dollar_curly) {
+
46 if (auto Expr = parseInterpolation())
+
47 Fragments.emplace_back(std::move(Expr));
+
48 continue;
+
49 }
+
50 assert(false && "should be path_end or ${");
+
51 } while (true);
+
52 }
+
53 auto Parts = std::make_shared<InterpolatedParts>(
+
54 LexerCursorRange{Begin.lCur(), End}, std::move(Fragments));
+
55 return std::make_shared<ExprPath>(LexerCursorRange{Begin.lCur(), End},
+
56 std::move(Parts));
+
57}
+
+
58
+
+
59std::shared_ptr<InterpolatedParts> Parser::parseStringParts() {
+
60 std::vector<InterpolablePart> Parts;
+
61 LexerCursor PartsBegin = peek().lCur();
+
62 while (true) {
+
63 switch (Token Tok = peek(0); Tok.kind()) {
+
64 case tok_dollar_curly: {
+
65 if (auto Expr = parseInterpolation())
+
66 Parts.emplace_back(std::move(Expr));
+
67 continue;
+
68 }
+
69 case tok_string_part: {
+
70 // If this is a part of string, just push it.
+
71 Parts.emplace_back(std::string(Tok.view()));
+
72 consume();
+
73 continue;
+
74 }
+
75 case tok_string_escape:
+
76 // If this is a part of string, just push it.
+
77 consume();
+
78 // TODO: escape and emplace_back
+
79 continue;
+
80 default:
+
81 assert(LastToken && "LastToken should be set in `parseString`");
+
82 return std::make_shared<InterpolatedParts>(
+
83 LexerCursorRange{PartsBegin, LastToken->rCur()},
+
84 std::move(Parts)); // TODO!
+
85 }
+
86 }
+
87}
+
+
88
+
+
89std::shared_ptr<ExprString> Parser::parseString(bool IsIndented) {
+
90 Token Quote = peek();
+
91 TokenKind QuoteKind = IsIndented ? tok_quote2 : tok_dquote;
+
92 std::string QuoteSpel(tok::spelling(QuoteKind));
+
93 assert(Quote.kind() == QuoteKind && "should be a quote");
+
94 // Consume the quote and so make the look-ahead buf empty.
+
95 consume();
+
96 auto Sync = withSync(QuoteKind);
+
97 assert(LastToken && "LastToken should be set after consume()");
+
98 /* with(PS_String / PS_IndString) */ {
+
99 auto StringState = withState(IsIndented ? PS_IndString : PS_String);
+
100 std::shared_ptr<InterpolatedParts> Parts = parseStringParts();
+
101 if (ExpectResult ER = expect(QuoteKind); ER.ok()) {
+
102 consume();
+
103 return std::make_shared<ExprString>(
+
104 LexerCursorRange{Quote.lCur(), ER.tok().rCur()}, std::move(Parts));
+
105 } else { // NOLINT(readability-else-after-return)
+
106 ER.diag().note(Note::NK_ToMachThis, Quote.range()) << QuoteSpel;
+
107 return std::make_shared<ExprString>(
+
108 LexerCursorRange{Quote.lCur(), Parts->rCur()}, std::move(Parts));
+
109 }
+
110
+
111 } // with(PS_String / PS_IndString)
+
112}
+
+
113
+
114} // namespace nixf
+ + +
A point in the source file.
Definition Range.h:57
+
std::shared_ptr< Expr > parseExpr()
Definition ParseExpr.cpp:74
+
std::shared_ptr< Expr > parseExprPath()
Parse paths.
+ + + + +
std::shared_ptr< InterpolatedParts > parseStringParts()
+
std::shared_ptr< Interpolation > parseInterpolation()
Parse interpolations.
+
std::shared_ptr< ExprString > parseString(bool IsIndented)
+
A token. With it's kind, and the range in source code.
Definition Token.h:56
+
LexerCursor lCur() const
Definition Token.h:64
+
tok::TokenKind kind() const
Definition Token.h:66
+
LexerCursorRange range() const
Definition Token.h:67
+
LexerCursor rCur() const
Definition Token.h:65
+
std::string_view view() const
Definition Token.h:68
+
Diagnostic & diagNullExpr(std::vector< Diagnostic > &Diags, LexerCursor Loc, std::string As)
+
constexpr std::string_view spelling(TokenKind Kind)
Definition Token.h:14
+ + +
Parser for the Nix expression language.
+
+ + + + diff --git a/ParseSupport_8cpp.html b/ParseSupport_8cpp.html new file mode 100644 index 000000000..e10d7d93d --- /dev/null +++ b/ParseSupport_8cpp.html @@ -0,0 +1,116 @@ + + + + + + + +nixd: ParseSupport.cpp File Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
ParseSupport.cpp File Reference
+
+
+ +

Basic supporting functions for parsing. +More...

+
#include "Parser.h"
+
+

Go to the source code of this file.

+ + + + + + +

+Namespaces

namespace  nixf
 
namespace  nixf::detail
 
+ + + + + + +

+Functions

Diagnosticnixf::detail::diagNullExpr (std::vector< Diagnostic > &Diags, LexerCursor Loc, std::string As)
 
std::shared_ptr< Nodenixf::parse (std::string_view Src, std::vector< Diagnostic > &Diags)
 Parse a string.
 
+

Detailed Description

+

Basic supporting functions for parsing.

+ +

Definition in file ParseSupport.cpp.

+
+ + + + diff --git a/ParseSupport_8cpp_source.html b/ParseSupport_8cpp_source.html new file mode 100644 index 000000000..e1dd90d4d --- /dev/null +++ b/ParseSupport_8cpp_source.html @@ -0,0 +1,234 @@ + + + + + + + +nixd: ParseSupport.cpp Source File + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
ParseSupport.cpp
+
+
+Go to the documentation of this file.
1/// \file
+
2/// \brief Basic supporting functions for parsing.
+
3
+
4#include "Parser.h"
+
5
+
6namespace nixf {
+
7
+
8namespace detail {
+
9
+
+
10Diagnostic &diagNullExpr(std::vector<Diagnostic> &Diags, LexerCursor Loc,
+
11 std::string As) {
+
12 Diagnostic &D =
+
13 Diags.emplace_back(Diagnostic::DK_Expected, LexerCursorRange(Loc));
+
14 D << std::move(As) + " expression";
+
15 D.fix("insert dummy expression").edit(TextEdit::mkInsertion(Loc, " expr"));
+
16 return D;
+
17}
+
+
18
+
19} // namespace detail
+
20
+
21void Parser::pushState(ParserState NewState) {
+
22 resetLookAheadBuf();
+
23 State.push(NewState);
+
24}
+
25
+
26void Parser::popState() {
+
27 resetLookAheadBuf();
+
28 State.pop();
+
29}
+
30
+
31Parser::StateRAII Parser::withState(ParserState NewState) {
+
32 pushState(NewState);
+
33 return {*this};
+
34}
+
35
+
36Parser::SyncRAII Parser::withSync(TokenKind Kind) { return {*this, Kind}; }
+
37
+
+
38std::shared_ptr<Node> parse(std::string_view Src,
+
39 std::vector<Diagnostic> &Diags) {
+
40 Parser P(Src, Diags);
+
41 return P.parse();
+
42}
+
+
43
+
44void Parser::resetLookAheadBuf() {
+
45 if (!LookAheadBuf.empty()) {
+
46 Token Tok = LookAheadBuf.front();
+
47
+
48 // Reset the lexer cursor at the beginning of the token.
+
49 Lex.setCur(Tok.lCur());
+
50 LookAheadBuf.clear();
+
51 }
+
52}
+
53
+
54Token Parser::peek(std::size_t N) {
+
55 while (N >= LookAheadBuf.size()) {
+
56 switch (State.top()) {
+
57 case PS_Expr:
+
58 LookAheadBuf.emplace_back(Lex.lex());
+
59 break;
+
60 case PS_String:
+
61 LookAheadBuf.emplace_back(Lex.lexString());
+
62 break;
+
63 case PS_IndString:
+
64 LookAheadBuf.emplace_back(Lex.lexIndString());
+
65 break;
+
66 case PS_Path:
+
67 LookAheadBuf.emplace_back(Lex.lexPath());
+
68 break;
+
69 }
+
70 }
+
71 return LookAheadBuf[N];
+
72}
+
73
+
74std::optional<LexerCursorRange> Parser::consumeAsUnknown() {
+
75 LexerCursor Begin = peek().lCur();
+
76 bool Consumed = false;
+
77 for (Token Tok = peek(); Tok.kind() != tok_eof; Tok = peek()) {
+
78 if (SyncTokens.contains(Tok.kind()))
+
79 break;
+
80 Consumed = true;
+
81 consume();
+
82 }
+
83 if (!Consumed)
+
84 return std::nullopt;
+
85 assert(LastToken && "LastToken should be set after consume()");
+
86 return LexerCursorRange{Begin, LastToken->rCur()};
+
87}
+
88
+
89Parser::ExpectResult Parser::expect(TokenKind Kind) {
+
90 auto Sync = withSync(Kind);
+
91 if (Token Tok = peek(); Tok.kind() == Kind) {
+
92 return Tok;
+
93 }
+
94 // UNKNOWN ?
+
95 // ~~~~~~~ consider remove unexpected text
+
96 if (removeUnexpected()) {
+
97 if (Token Tok = peek(); Tok.kind() == Kind) {
+
98 return Tok;
+
99 }
+
100 // If the next token is not the expected one, then insert it.
+
101 // (we have two errors now).
+
102 }
+
103 // expected Kind
+
104 LexerCursor Insert = LastToken ? LastToken->rCur() : peek().lCur();
+
105 Diagnostic &D =
+
106 Diags.emplace_back(Diagnostic::DK_Expected, LexerCursorRange(Insert));
+
107 D << std::string(tok::spelling(Kind));
+
108 D.fix("insert " + std::string(tok::spelling(Kind)))
+
109 .edit(TextEdit::mkInsertion(Insert, std::string(tok::spelling(Kind))));
+
110 return {&D};
+
111}
+
112
+
113} // namespace nixf
+ +
Fix & fix(std::string Message)
Definition Diagnostic.h:193
+
Fix & edit(TextEdit Edit)
Definition Diagnostic.h:66
+ +
A point in the source file.
Definition Range.h:57
+
Token lex()
Definition Lexer.cpp:405
+
Token lexPath()
Definition Lexer.cpp:293
+
Token lexString()
Definition Lexer.cpp:323
+
void setCur(const LexerCursor &NewCur)
Reset the cursor at source offset (zero-based indexing)
Definition Lexer.h:126
+
Token lexIndString()
Definition Lexer.cpp:371
+ +
std::shared_ptr< Expr > parse()
+ + + + +
static TextEdit mkInsertion(LexerCursor P, std::string NewText)
Definition Diagnostic.h:36
+
LexerCursor lCur() const
Definition Token.h:64
+
tok::TokenKind kind() const
Definition Token.h:66
+
Diagnostic & diagNullExpr(std::vector< Diagnostic > &Diags, LexerCursor Loc, std::string As)
+
constexpr std::string_view spelling(TokenKind Kind)
Definition Token.h:14
+ + +
std::shared_ptr< Node > parse(std::string_view Src, std::vector< Diagnostic > &Diags)
Parse a string.
+
Parser for the Nix expression language.
+
+ + + + diff --git a/Path_8h.html b/Path_8h.html new file mode 100644 index 000000000..792b9f8ad --- /dev/null +++ b/Path_8h.html @@ -0,0 +1,121 @@ + + + + + + + +nixd: Path.h File Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
Path.h File Reference
+
+
+
#include "llvm/ADT/StringRef.h"
+#include "llvm/Support/Path.h"
+#include <string>
+
+

Go to the source code of this file.

+ + + + + +

+Namespaces

namespace  lspserver
 Whether current platform treats paths case insensitively.
 
+ + + + + +

+Typedefs

using lspserver::Path = std::string
 
using lspserver::PathRef = llvm::StringRef
 
+ + + + + + + + + +

+Functions

std::string lspserver::maybeCaseFoldPath (PathRef Path)
 
bool lspserver::pathEqual (PathRef, PathRef)
 
bool lspserver::pathStartsWith (PathRef Ancestor, PathRef Path, llvm::sys::path::Style Style=llvm::sys::path::Style::native)
 
PathRef lspserver::absoluteParent (PathRef Path)
 
+
+ + + + diff --git a/Path_8h_source.html b/Path_8h_source.html new file mode 100644 index 000000000..e000f109f --- /dev/null +++ b/Path_8h_source.html @@ -0,0 +1,144 @@ + + + + + + + +nixd: Path.h Source File + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Path.h
+
+
+Go to the documentation of this file.
1//===--- Path.h - Helper typedefs --------------------------------*- C++-*-===//
+
2//
+
3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+
4// See https://llvm.org/LICENSE.txt for license information.
+
5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+
6//
+
7//===----------------------------------------------------------------------===//
+
8
+
9#pragma once
+
10
+
11#include "llvm/ADT/StringRef.h"
+
12#include "llvm/Support/Path.h"
+
13#include <string>
+
14
+
15/// Whether current platform treats paths case insensitively.
+
16#if defined(_WIN32) || defined(__APPLE__)
+
17#define CLANGD_PATH_CASE_INSENSITIVE
+
18#endif
+
19
+
20namespace lspserver {
+
21
+
22/// A typedef to represent a file path. Used solely for more descriptive
+
23/// signatures.
+
24using Path = std::string;
+
25/// A typedef to represent a ref to file path. Used solely for more descriptive
+
26/// signatures.
+
27using PathRef = llvm::StringRef;
+
28
+
29// For platforms where paths are case-insensitive (but case-preserving),
+
30// we need to do case-insensitive comparisons and use lowercase keys.
+
31// FIXME: Make Path a real class with desired semantics instead.
+ + +
34
+
35/// Checks if \p Ancestor is a proper ancestor of \p Path. This is just a
+
36/// smarter lexical prefix match, e.g: foo/bar/baz doesn't start with foo/./bar.
+
37/// Both \p Ancestor and \p Path must be absolute.
+ +
39 PathRef Ancestor, PathRef Path,
+
40 llvm::sys::path::Style Style = llvm::sys::path::Style::native);
+
41
+
42/// Variant of parent_path that operates only on absolute paths.
+
43/// Unlike parent_path doesn't consider C: a parent of C:\.
+ +
45} // namespace lspserver
+
Whether current platform treats paths case insensitively.
Definition Connection.h:11
+
std::string Path
Definition Path.h:24
+
PathRef absoluteParent(PathRef Path)
+
bool pathEqual(PathRef, PathRef)
+
std::string maybeCaseFoldPath(PathRef Path)
+
llvm::StringRef PathRef
Definition Path.h:27
+
bool pathStartsWith(PathRef Ancestor, PathRef Path, llvm::sys::path::Style Style=llvm::sys::path::Style::native)
+
+ + + + diff --git a/PipedProc_8h.html b/PipedProc_8h.html new file mode 100644 index 000000000..dde4dc30b --- /dev/null +++ b/PipedProc_8h.html @@ -0,0 +1,107 @@ + + + + + + + +nixd: PipedProc.h File Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
PipedProc.h File Reference
+
+
+
#include "AutoCloseFD.h"
+#include "AutoHUPPID.h"
+
+

Go to the source code of this file.

+ + + + +

+Classes

struct  nixd::util::PipedProc
 
+ + + + + +

+Namespaces

namespace  nixd
 
namespace  nixd::util
 
+
+ + + + diff --git a/PipedProc_8h_source.html b/PipedProc_8h_source.html new file mode 100644 index 000000000..bbcd58890 --- /dev/null +++ b/PipedProc_8h_source.html @@ -0,0 +1,121 @@ + + + + + + + +nixd: PipedProc.h Source File + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
PipedProc.h
+
+
+Go to the documentation of this file.
1#pragma once
+
2
+
3#include "AutoCloseFD.h"
+
4#include "AutoHUPPID.h"
+
5
+
6namespace nixd::util {
+
7
+
+
8struct PipedProc {
+ +
10
+
11 // Piped descriptors
+ + + +
15};
+
+
16
+
17} // namespace nixd::util
+ + +
File Descriptor RAII wrapper.
Definition AutoCloseFD.h:9
+ + + +
AutoCloseFD Stderr
Definition PipedProc.h:14
+ +
AutoCloseFD Stdout
Definition PipedProc.h:13
+
AutoCloseFD Stdin
Definition PipedProc.h:12
+
+ + + + diff --git a/PtrPool_8h.html b/PtrPool_8h.html new file mode 100644 index 000000000..4fa605f78 --- /dev/null +++ b/PtrPool_8h.html @@ -0,0 +1,114 @@ + + + + + + + +nixd: PtrPool.h File Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
PtrPool.h File Reference
+
+
+ +

Pointer pool, for RAII memory management. +More...

+
#include <memory>
+#include <vector>
+
+

Go to the source code of this file.

+ + + + + +

+Classes

struct  nixt::PtrPool< T >
 A simple pointer pool, a vector of unique_ptrs. More...
 
+ + + + +

+Namespaces

namespace  nixt
 Access ParseCache in nix::EvalState.
 
+

Detailed Description

+

Pointer pool, for RAII memory management.

+ +

Definition in file PtrPool.h.

+
+ + + + diff --git a/PtrPool_8h_source.html b/PtrPool_8h_source.html new file mode 100644 index 000000000..c0d606af6 --- /dev/null +++ b/PtrPool_8h_source.html @@ -0,0 +1,144 @@ + + + + + + + +nixd: PtrPool.h Source File + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
PtrPool.h
+
+
+Go to the documentation of this file.
1/// \file
+
2/// \brief Pointer pool, for RAII memory management.
+
3
+
4// TODO: This file is trivial and shared among many libraries, maybe should move
+
5// this in a standalone public header.
+
6
+
7#pragma once
+
8
+
9#include <memory>
+
10#include <vector>
+
11
+
12namespace nixt {
+
13
+
14/// \brief A simple pointer pool, a vector of `unique_ptr`s.
+
15///
+
16/// It is used for "owning" nodes. Other classes can use weak/raw pointers to
+
17/// the nodes, to avoid cyclic references.
+
18///
+
19/// Also in nix AST, the nodes are not owned by it's parent because in bison
+
20/// algorithm nodes should be copyable while performing shift-reduce. So in our
+
21/// implementation nodes are owned in this structure.
+
+
22template <class T> struct PtrPool {
+
23 std::vector<std::unique_ptr<T>> Nodes;
+
24
+
25 /// \brief Takes ownership of a node, add it to the pool.
+
+
26 template <class U> U *add(std::unique_ptr<U> Node) {
+
27 Nodes.push_back(std::move(Node));
+
28 return dynamic_cast<U *>(Nodes.back().get());
+
29 }
+
+
30
+
31 /// \brief Takes ownership from a raw pointer.
+
32 ///
+
33 /// \note This should only be used when it is allocated by "malloc", and not
+
34 /// owned by other objects (otherwise it will cause double free).
+
+
35 template <class U> U *record(U *Node) {
+
36 Nodes.emplace_back(std::unique_ptr<U>(Node));
+
37 return Node;
+
38 }
+
+
39};
+
+
40
+
41} // namespace nixt
+
Access ParseCache in nix::EvalState.
Definition ArrayRef.h:7
+
A simple pointer pool, a vector of unique_ptrs.
Definition PtrPool.h:22
+
std::vector< std::unique_ptr< T > > Nodes
Definition PtrPool.h:23
+
U * add(std::unique_ptr< U > Node)
Takes ownership of a node, add it to the pool.
Definition PtrPool.h:26
+
U * record(U *Node)
Takes ownership from a raw pointer.
Definition PtrPool.h:35
+
+ + + + diff --git a/README_8md.html b/README_8md.html new file mode 100644 index 000000000..ccd272335 --- /dev/null +++ b/README_8md.html @@ -0,0 +1,83 @@ + + + + + + + +nixd: README.md File Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
+
README.md File Reference
+
+
+
+ + + + diff --git a/Range_8h.html b/Range_8h.html new file mode 100644 index 000000000..3fe6cc608 --- /dev/null +++ b/Range_8h.html @@ -0,0 +1,112 @@ + + + + + + + +nixd: Range.h File Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
Range.h File Reference
+
+
+
#include <cstdint>
+#include <string_view>
+
+

Go to the source code of this file.

+ + + + + + + + + + + +

+Classes

class  nixf::Position
 
class  nixf::PositionRange
 
class  nixf::LexerCursor
 A point in the source file. More...
 
class  nixf::LexerCursorRange
 
+ + + +

+Namespaces

namespace  nixf
 
+
+ + + + diff --git a/Range_8h_source.html b/Range_8h_source.html new file mode 100644 index 000000000..1cedc7630 --- /dev/null +++ b/Range_8h_source.html @@ -0,0 +1,285 @@ + + + + + + + +nixd: Range.h Source File + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Range.h
+
+
+Go to the documentation of this file.
1#pragma once
+
2
+
3#include <cstdint>
+
4#include <string_view>
+
5
+
6namespace nixf {
+
7
+
+
8class Position {
+
9 int64_t Line;
+
10 int64_t Column;
+
11
+
12public:
+
13 Position() = default;
+
14 Position(int64_t Line, int64_t Column) : Line(Line), Column(Column) {}
+
15
+
16 [[nodiscard]] int64_t line() const { return Line; }
+
17 [[nodiscard]] int64_t column() const { return Column; }
+
18
+
+
19 friend bool operator==(const Position &LHS, const Position &RHS) {
+
20 return LHS.Line == RHS.Line && LHS.Column == RHS.Column;
+
21 }
+
+
22
+
+
23 friend bool operator<(const Position &LHS, const Position &RHS) {
+
24 return LHS.Line < RHS.Line ||
+
25 (LHS.Line == RHS.Line && LHS.Column < RHS.Column);
+
26 }
+
+
27
+
+
28 friend bool operator<=(const Position &LHS, const Position &RHS) {
+
29 return LHS < RHS || LHS == RHS;
+
30 }
+
+
31};
+
+
32
+
+ +
34 Position Begin;
+
35 Position End;
+
36
+
37public:
+
38 PositionRange() = default;
+
39
+
40 PositionRange(Position Begin, Position End) : Begin(Begin), End(End) {}
+
41 explicit PositionRange(Position Pos) : Begin(Pos), End(Pos) {}
+
42
+
43 [[nodiscard]] Position begin() const { return Begin; }
+
44 [[nodiscard]] Position end() const { return End; }
+
45
+
46 /// \brief Check if the range contains another range.
+
+
47 [[nodiscard]] bool contains(const PositionRange &Pos) const {
+
48 return Begin <= Pos.Begin && Pos.End <= End;
+
49 }
+
+
50};
+
+
51
+
52/// \brief A point in the source file.
+
53///
+
54/// This class is used to represent a point in the source file. And it shall be
+
55/// constructed by Lexer, to keep Line & Column information correct.
+
56/// \see Lexer::consume(std::size_t)
+
+ +
58 int64_t Line;
+
59 int64_t Column;
+
60 std::size_t Offset;
+
61 friend class Lexer;
+
62 LexerCursor(int64_t Line, int64_t Column, std::size_t Offset)
+
63 : Line(Line), Column(Column), Offset(Offset) {}
+
64
+
65public:
+
+
66 friend bool operator==(const LexerCursor &LHS, const LexerCursor &RHS) {
+
67 return LHS.Line == RHS.Line && LHS.Column == RHS.Column &&
+
68 LHS.Offset == RHS.Offset;
+
69 }
+
+
70 LexerCursor() = default;
+
71
+
72 /// \brief Create a cursor at the given position. (Line, Column, Offset)
+
73 /// \note This function does not guarantee the correctness of Line & Column.
+
+
74 [[nodiscard]] static LexerCursor unsafeCreate(int64_t Line, int64_t Column,
+
75 std::size_t Offset) {
+
76 return {Line, Column, Offset};
+
77 }
+
+
78
+
79 LexerCursor(const LexerCursor &) = default;
+
80 LexerCursor &operator=(const LexerCursor &) = default;
+
81 LexerCursor(LexerCursor &&) = default;
+
82
+
83 /// \brief Check if the point is at the given position.
+
+
84 [[nodiscard]] bool isAt(int64_t Line, int64_t Column,
+
85 std::size_t Offset) const {
+
86 return this->line() == Line && this->column() == Column &&
+
87 this->Offset == Offset;
+
88 }
+
+
89
+
90 /// \brief Line number, starting from 0.
+
91 ///
+
92 /// Currently we only accept LF as the line terminator.
+
93 [[nodiscard]] int64_t line() const { return Line; }
+
94
+
95 /// \brief Column number, starting from 0.
+
96 [[nodiscard]] int64_t column() const { return Column; }
+
97
+
98 /// \brief Position in the source file. (`Line` + `Column`)
+
99 [[nodiscard]] Position position() const { return {Line, Column}; }
+
100
+
101 /// \brief Offset in the source file, starting from 0.
+
102 [[nodiscard]] std::size_t offset() const { return Offset; }
+
103};
+
+
104
+
+ +
106 LexerCursor LCur;
+
107 LexerCursor RCur;
+
108
+
109public:
+
110 LexerCursorRange() = default;
+
111
+
+ +
113 : LCur(LCur), RCur(RCur) {}
+
+
114 explicit LexerCursorRange(LexerCursor Pos) : LCur(Pos), RCur(Pos) {}
+
115
+
116 [[nodiscard]] LexerCursor lCur() const { return LCur; }
+
117 [[nodiscard]] LexerCursor rCur() const { return RCur; }
+
118
+
+
119 [[nodiscard]] bool contains(const LexerCursorRange &Pos) const {
+
120 return range().contains(Pos.range());
+
121 }
+
+
122
+
+
123 [[nodiscard]] PositionRange range() const {
+
124 return {LCur.position(), RCur.position()};
+
125 }
+
+
126};
+
+
127
+
128} // namespace nixf
+ + +
LexerCursorRange(LexerCursor Pos)
Definition Range.h:114
+
LexerCursorRange(LexerCursor LCur, LexerCursor RCur)
Definition Range.h:112
+
PositionRange range() const
Definition Range.h:123
+
LexerCursor lCur() const
Definition Range.h:116
+
LexerCursor rCur() const
Definition Range.h:117
+
bool contains(const LexerCursorRange &Pos) const
Definition Range.h:119
+
A point in the source file.
Definition Range.h:57
+
friend bool operator==(const LexerCursor &LHS, const LexerCursor &RHS)
Definition Range.h:66
+
int64_t column() const
Column number, starting from 0.
Definition Range.h:96
+
LexerCursor & operator=(const LexerCursor &)=default
+
std::size_t offset() const
Offset in the source file, starting from 0.
Definition Range.h:102
+
static LexerCursor unsafeCreate(int64_t Line, int64_t Column, std::size_t Offset)
Create a cursor at the given position. (Line, Column, Offset)
Definition Range.h:74
+
LexerCursor(LexerCursor &&)=default
+
bool isAt(int64_t Line, int64_t Column, std::size_t Offset) const
Check if the point is at the given position.
Definition Range.h:84
+
Position position() const
Position in the source file. (Line + Column)
Definition Range.h:99
+
int64_t line() const
Line number, starting from 0.
Definition Range.h:93
+
LexerCursor(const LexerCursor &)=default
+
LexerCursor()=default
+ + +
bool contains(const PositionRange &Pos) const
Check if the range contains another range.
Definition Range.h:47
+
Position begin() const
Definition Range.h:43
+
PositionRange(Position Begin, Position End)
Definition Range.h:40
+
Position end() const
Definition Range.h:44
+
PositionRange(Position Pos)
Definition Range.h:41
+
PositionRange()=default
+ +
friend bool operator==(const Position &LHS, const Position &RHS)
Definition Range.h:19
+
int64_t column() const
Definition Range.h:17
+
friend bool operator<=(const Position &LHS, const Position &RHS)
Definition Range.h:28
+
Position()=default
+
int64_t line() const
Definition Range.h:16
+
friend bool operator<(const Position &LHS, const Position &RHS)
Definition Range.h:23
+
Position(int64_t Line, int64_t Column)
Definition Range.h:14
+ +
+ + + + diff --git a/Read_8cpp.html b/Read_8cpp.html new file mode 100644 index 000000000..bd83868a4 --- /dev/null +++ b/Read_8cpp.html @@ -0,0 +1,105 @@ + + + + + + + +nixd: Read.cpp File Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
Read.cpp File Reference
+
+
+
#include "bc/Read.h"
+
+

Go to the source code of this file.

+ + + + +

+Namespaces

namespace  bc
 
+ + + + +

+Functions

template<>
void bc::readBytecode< std::string > (std::string_view &Data, std::string &Obj)
 
+
+ + + + diff --git a/Read_8cpp_source.html b/Read_8cpp_source.html new file mode 100644 index 000000000..8884ae63e --- /dev/null +++ b/Read_8cpp_source.html @@ -0,0 +1,112 @@ + + + + + + + +nixd: Read.cpp Source File + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Read.cpp
+
+
+Go to the documentation of this file.
1#include "bc/Read.h"
+
2
+
3namespace bc {
+
4
+
5template <>
+
+
6void readBytecode<std::string>(std::string_view &Data, std::string &Obj) {
+
7 size_t Size;
+
8 readBytecode(Data, Size);
+
9 Obj.resize(Size);
+
10 std::memcpy(Obj.data(), Data.data(), Size);
+
11 Data = Data.substr(Size);
+
12}
+
+
13
+
14} // namespace bc
+ +
Definition Read.h:10
+
void readBytecode(std::string_view &Data, T &Obj)
Definition Read.h:12
+
void readBytecode< std::string >(std::string_view &Data, std::string &Obj)
Definition Read.cpp:6
+
+ + + + diff --git a/Read_8h.html b/Read_8h.html new file mode 100644 index 000000000..ce393a21e --- /dev/null +++ b/Read_8h.html @@ -0,0 +1,124 @@ + + + + + + + +nixd: Read.h File Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
Read.h File Reference
+
+
+
#include <cassert>
+#include <cstring>
+#include <string>
+#include <string_view>
+#include <type_traits>
+#include <vector>
+
+

Go to the source code of this file.

+ + + + +

+Namespaces

namespace  bc
 
+ + + + + + + + + + + + + + + + + +

+Functions

template<class T >
void bc::readBytecode (std::string_view &Data, T &Obj)
 
template<class T >
+requires std::is_standard_layout_v<T> && std::is_trivial_v<T>
void bc::readBytecode (std::string_view &Data, T &Obj)
 Basic primitives. Deocde from bytes by memcpy.
 
template<class T >
void bc::readBytecode (std::string_view &Data, std::vector< T > &Obj)
 
template<>
void bc::readBytecode< std::string > (std::string_view &Data, std::string &Obj)
 
template<class T >
bc::eat (std::string_view &Data)
 
+
+ + + + diff --git a/Read_8h_source.html b/Read_8h_source.html new file mode 100644 index 000000000..99ee04631 --- /dev/null +++ b/Read_8h_source.html @@ -0,0 +1,150 @@ + + + + + + + +nixd: Read.h Source File + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Read.h
+
+
+Go to the documentation of this file.
1#pragma once
+
2
+
3#include <cassert>
+
4#include <cstring>
+
5#include <string>
+
6#include <string_view>
+
7#include <type_traits>
+
8#include <vector>
+
9
+
+
10namespace bc {
+
11
+
+
12template <class T> void readBytecode(std::string_view &Data, T &Obj) {
+
13 static_assert(!std::is_same_v<T, T>,
+
14 "No readBytecode implementation for this type");
+
15}
+
+
16
+
17/// \brief Basic primitives. Deocde from bytes by `memcpy`.
+
18template <class T>
+
19 requires std::is_standard_layout_v<T> && std::is_trivial_v<T>
+
+
20void readBytecode(std::string_view &Data, T &Obj) {
+
21 assert(Data.size() >= sizeof(T));
+
22 std::memcpy(&Obj, Data.begin(), sizeof(T));
+
23 Data = Data.substr(sizeof(T));
+
24}
+
+
25
+
26template <class T>
+
+
27void readBytecode(std::string_view &Data, std::vector<T> &Obj) {
+
28 size_t Size;
+
29 readBytecode(Data, Size);
+
30 Obj.resize(Size);
+
31 for (auto &E : Obj)
+
32 readBytecode(Data, E);
+
33}
+
+
34
+
35template <>
+
36void readBytecode<std::string>(std::string_view &Data, std::string &Obj);
+
37
+
+
38template <class T> T eat(std::string_view &Data) {
+
39 T Obj;
+
40 readBytecode(Data, Obj);
+
41 return Obj;
+
42}
+
+
43
+
44} // namespace bc
+
+
Definition Read.h:10
+
void readBytecode(std::string_view &Data, T &Obj)
Definition Read.h:12
+
void readBytecode< std::string >(std::string_view &Data, std::string &Obj)
Definition Read.cpp:6
+
T eat(std::string_view &Data)
Definition Read.h:38
+
+ + + + diff --git a/SemaActions_8cpp.html b/SemaActions_8cpp.html new file mode 100644 index 000000000..c40c1bbfa --- /dev/null +++ b/SemaActions_8cpp.html @@ -0,0 +1,110 @@ + + + + + + + +nixd: SemaActions.cpp File Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
SemaActions.cpp File Reference
+
+
+ +

Semantic Actions of AST nodes. +More...

+
#include <memory>
+#include "nixf/Basic/Diagnostic.h"
+#include "nixf/Basic/Nodes/Attrs.h"
+#include "nixf/Basic/Nodes/Expr.h"
+#include "nixf/Sema/SemaActions.h"
+
+

Go to the source code of this file.

+ + + + +

+Namespaces

namespace  nixf
 
+

Detailed Description

+

Semantic Actions of AST nodes.

+

This file implements semantic actions for AST nodes.

+ +

Definition in file SemaActions.cpp.

+
+ + + + diff --git a/SemaActions_8cpp_source.html b/SemaActions_8cpp_source.html new file mode 100644 index 000000000..1d1e0b608 --- /dev/null +++ b/SemaActions_8cpp_source.html @@ -0,0 +1,529 @@ + + + + + + + +nixd: SemaActions.cpp Source File + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
SemaActions.cpp
+
+
+Go to the documentation of this file.
1/// \file
+
2/// \brief Semantic Actions of AST nodes.
+
3///
+
4/// This file implements semantic actions for AST nodes.
+
5
+
6#include <memory>
+
7
+ + + + +
12
+
13namespace nixf {
+
14
+
+
15void Sema::dupAttr(std::string Name, LexerCursorRange Range,
+
16 LexerCursorRange Prev) {
+
17 auto &Diag = Diags.emplace_back(Diagnostic::DK_DuplicatedAttrName, Range);
+
18 Diag << std::move(Name);
+
19 Diag.note(Note::NK_PrevDeclared, Prev);
+
20}
+
+
21
+
+ +
23 const ExprAttrs &YAttrs) {
+
24 bool XAttrsRec = XAttrs.isRecursive();
+
25 bool YAttrsRec = YAttrs.isRecursive();
+
26 if (XAttrsRec == YAttrsRec)
+
27 return;
+
28
+
29 // Different "rec" modifier!
+
30 const Misc *Pointer = XAttrsRec ? XAttrs.rec() : YAttrs.rec();
+
31 auto &D = Diags.emplace_back(Diagnostic::DK_MergeDiffRec, Pointer->range());
+
32
+
33 auto XRange = XAttrsRec ? XAttrs.rec()->range() : XAttrs.range();
+
34 D.note(Note::NK_ThisRecursive, XRange) << (XAttrsRec ? "" : "non-");
+
35
+
36 auto YRange = YAttrsRec ? YAttrs.rec()->range() : YAttrs.range();
+
37 D.note(Note::NK_RecConsider, YRange)
+
38 << /* Marked as ?recursive */ (YAttrsRec ? "" : "non-")
+
39 << /* Considered as ?recursive */ (XAttrsRec ? "" : "non-");
+
40}
+
+
41
+
+
42void Sema::mergeAttrSets(SemaAttrs &XAttrs, const SemaAttrs &YAttrs) {
+
43 for (const auto &[K, V] : YAttrs.Static) {
+
44 if (XAttrs.Static.contains(K)) {
+
45 // Don't perform recursively merging
+
46 // e.g.
+
47 /*
+
48
+
49 {
+
50 p = { x = { y = 1; }; };
+
51 ^<---------------------- this is duplicated!
+
52 p = { x = { z = 1; }; };
+
53 ^~~~~~~~<----------- don't merge nested attrs recursively.
+
54 }
+
55
+
56 */
+
57 dupAttr(K, V.key()->range(), XAttrs.Static.at(K).key()->range());
+
58 continue;
+
59 }
+
60 XAttrs.Static.insert({K, V});
+
61 }
+
62 for (const auto &DAttr : YAttrs.Dynamic) {
+
63 XAttrs.Dynamic.emplace_back(DAttr);
+
64 }
+
65}
+
+
66
+
+
67void Sema::insertAttr(SemaAttrs &SA, std::shared_ptr<AttrName> Name,
+
68 std::shared_ptr<Expr> E, bool IsInherit) {
+
69 // In this function we accept nullptr "E".
+
70 //
+
71 // e.g. { a = ; }
+
72 // ^ nullptr
+
73 //
+
74 // Duplicate checking will be performed on this in-complete attrset,
+
75 // however it will not be placed in the final Sema node.
+
76 assert(Name);
+
77 if (!Name->isStatic() && E) {
+
78 SA.Dynamic.emplace_back(std::move(Name), std::move(E), IsInherit);
+
79 return;
+
80 }
+
81 auto &Attrs = SA.Static;
+
82 std::string StaticName = Name->staticName();
+
83 if (auto Nested = Attrs.find(StaticName); Nested != Attrs.end()) {
+
84 const auto &[K, V] = *Nested;
+
85 if (V.value() && V.value()->kind() == Node::NK_ExprAttrs && E &&
+
86 E->kind() == Node::NK_ExprAttrs) {
+
87 // If this is also an attrset, we want to merge them.
+
88 auto *XAttrSet = static_cast<ExprAttrs *>(V.value().get());
+
89 auto *YAttrSet = static_cast<ExprAttrs *>(E.get());
+
90 checkAttrRecursiveForMerge(*XAttrSet, *YAttrSet);
+
91 mergeAttrSets(XAttrSet->SA, YAttrSet->SA);
+
92 return;
+
93 }
+
94 dupAttr(StaticName, Name->range(), V.key()->range());
+
95 return;
+
96 }
+
97 if (!E)
+
98 return;
+
99 Attrs[StaticName] = Attribute(std::move(Name), std::move(E), IsInherit);
+
100}
+
+
101
+
102SemaAttrs *
+
+ +
104 const std::vector<std::shared_ptr<AttrName>> &Path) {
+
105 assert(!Path.empty() && "AttrPath has at least 1 name");
+
106 SemaAttrs *Inner = &SA;
+
107 // Firstly perform a lookup to see if the attribute already exists.
+
108 // And do selection if it exists.
+
109 for (std::size_t I = 0; I + 1 < Path.size(); I++) {
+
110 const auto &Name = Path[I];
+
111 assert(Inner && "Attr is not null");
+
112 // Name might be nullptr, e.g.
+
113 // { a..b = 1; }
+
114 if (!Name)
+
115 continue;
+
116 if (Name->isStatic()) {
+
117 std::map<std::string, Attribute> &StaticAttrs = Inner->Static;
+
118 const std::string &StaticName = Name->staticName();
+
119 if (auto Nested = StaticAttrs.find(StaticName);
+
120 Nested != StaticAttrs.end()) {
+
121 // Find another attr, with the same name.
+
122 const auto &[K, V] = *Nested;
+
123 if (V.fromInherit() || !V.value() ||
+
124 V.value()->kind() != Node::NK_ExprAttrs) {
+
125 dupAttr(StaticName, Name->range(), V.key()->range());
+
126 return nullptr;
+
127 }
+
128 Inner = &static_cast<ExprAttrs *>(V.value().get())->SA;
+
129 } else {
+
130 // There is no existing one, let's create a new attribute.
+
131 // These attributes are implicitly created, and to match default ctor
+
132 // in C++ nix implementation, they are all non-recursive.
+
133 auto NewNested = std::make_shared<ExprAttrs>(
+
134 Name->range(), nullptr, nullptr, SemaAttrs(/*Recursive=*/nullptr));
+
135 Inner = &NewNested->SA;
+
136 StaticAttrs[StaticName] =
+
137 Attribute(Name, std::move(NewNested), /*FromInherit=*/false);
+
138 }
+
139 } else {
+
140 // Create a dynamic attribute.
+
141 std::vector<Attribute> &DynamicAttrs = Inner->Dynamic;
+
142 auto NewNested = std::make_shared<ExprAttrs>(
+
143 Name->range(), nullptr, nullptr, SemaAttrs(/*Recursive=*/nullptr));
+
144 Inner = &NewNested->SA;
+
145 DynamicAttrs.emplace_back(Name,
+
146 std::shared_ptr<Expr>(std::move(NewNested)),
+
147 /*FromInherit=*/false);
+
148 }
+
149 }
+
150 return Inner;
+
151}
+
+
152
+
+
153void Sema::addAttr(SemaAttrs &Attr, const AttrPath &Path,
+
154 std::shared_ptr<Expr> E) {
+
155 // Select until the inner-most attr.
+
156 SemaAttrs *Inner = selectOrCreate(Attr, Path.names());
+
157 if (!Inner)
+
158 return;
+
159
+
160 // Insert the attribute.
+
161 std::shared_ptr<AttrName> Name = Path.names().back();
+
162 if (!Name)
+
163 return;
+
164 insertAttr(*Inner, std::move(Name), std::move(E), false);
+
165}
+
+
166
+
+
167void Sema::removeFormal(Fix &F, const FormalVector::const_iterator &Rm,
+
168 const FormalVector &FV) {
+
169 const Formal &Fm = **Rm;
+ +
171 // If it is the first formal, remove second formal's comma.
+
172 // { ..., foo } -> { foo, ... }
+
173 if (Rm != FV.begin() || Rm + 1 == FV.end())
+
174 return;
+
175
+
176 Formal &SecondF = **(Rm + 1);
+
177 if (SecondF.comma())
+
178 F.edit(TextEdit::mkRemoval(SecondF.comma()->range()));
+
179}
+
+
180
+
+ +
182 if (FV.empty())
+
183 return;
+
184
+
185 Formal &LastF = *FV.back().get(); // Last Formal
+
186
+
187 for (auto It = FV.begin(); It + 1 != FV.end(); It++) {
+
188 Formal &CurF = **It; // Current Formal
+
189 if (!CurF.isEllipsis())
+
190 continue;
+
191
+
192 if (LastF.isEllipsis()) {
+
193 // extra "formal", suggest remove it.
+
194 Diagnostic &D =
+
195 Diags.emplace_back(Diagnostic::DK_FormalExtraEllipsis, CurF.range());
+
196 removeFormal(D.fix("remove `...`"), It, FV);
+
197 } else {
+
198 Diagnostic &D = Diags.emplace_back(Diagnostic::DK_FormalMisplacedEllipsis,
+
199 CurF.range());
+
200 Fix &Fx = D.fix("move ellipsis to the tail");
+
201 removeFormal(Fx, It, FV);
+
202 std::string NewText(CurF.src(Src));
+
203 // If current formal does not contain the seperator ", "
+
204 // Insert a new comma to seperate it from the last formal
+
205 if (!CurF.comma())
+
206 NewText = std::string(", ").append(NewText);
+
207 Fx.edit(TextEdit::mkInsertion(LastF.rCur(), std::move(NewText)));
+
208 }
+
209 }
+
210}
+
+
211
+
+ +
213 if (FV.empty())
+
214 return;
+
215 for (auto It = FV.begin(); It != FV.end(); It++) {
+
216 const Formal &F = **It;
+
217 // All formals must begins with "," except the first.
+
218 if (It != FV.begin() && !F.comma()) {
+
219 Diagnostic &D =
+
220 Diags.emplace_back(Diagnostic::DK_FormalMissingComma, F.range());
+
221 D.fix("insert ,").edit(TextEdit::mkInsertion(F.lCur(), ","));
+
222 }
+
223 }
+
224}
+
+
225
+
+ +
227 for (const std::shared_ptr<Formal> &FPtr : FV) {
+
228 const Formal &F = *FPtr;
+
229 // Check if the formal is emtpy, e.g.
+
230 // { , }
+
231 // ^ empty formal
+
232 if (F.comma() && !F.id() && !F.isEllipsis()) {
+
233 Diagnostic &D = Diags.emplace_back(Diagnostic::DK_EmptyFormal, F.range());
+
234 D.fix("remove empty formal").edit(TextEdit::mkRemoval(F.range()));
+ +
236 continue;
+
237 }
+
238 }
+
239}
+
+
240
+
+
241void Sema::dedupFormal(std::map<std::string, const Formal *> &Dedup,
+
242 const FormalVector &FV) {
+
243 for (const std::shared_ptr<Formal> &FPtr : FV) {
+
244 const Formal &F = *FPtr;
+
245 if (!F.id())
+
246 continue;
+
247 const Identifier &ID = *F.id();
+
248 if (Dedup.contains(ID.name())) {
+
249 // Report duplicated formals.
+
250 // All warning ranges should be placed at "Identifiers".
+
251 const Formal &DupF = *Dedup[ID.name()];
+
252 Identifier &DupID = *DupF.id();
+
253 Diagnostic &D =
+
254 Diags.emplace_back(Diagnostic::DK_DuplicatedFormal, ID.range());
+
255 D.note(Note::NK_DuplicateFormal, DupID.range());
+
256 } else {
+
257 Dedup[ID.name()] = &F;
+
258 }
+
259 }
+
260}
+
+
261
+
+
262std::shared_ptr<Formals> Sema::onFormals(LexerCursorRange Range,
+
263 FormalVector FV) {
+
264 std::map<std::string, const Formal *> Dedup;
+
265 checkFormalSep(FV);
+ + +
268 dedupFormal(Dedup, FV);
+
269 return std::make_shared<Formals>(Range, std::move(FV), std::move(Dedup));
+
270}
+
+
271
+
+
272void Sema::lowerInheritName(SemaAttrs &SA, std::shared_ptr<AttrName> Name,
+
273 std::shared_ptr<Expr> E) {
+
274 if (!Name)
+
275 return;
+
276 if (!Name->isStatic()) {
+
277 // Not allowed to have dynamic attrname in inherit.
+
278 Diagnostic &D =
+
279 Diags.emplace_back(Diagnostic::DK_DynamicInherit, Name->range());
+
280 D.fix("remove dynamic attrname").edit(TextEdit::mkRemoval(Name->range()));
+ +
282 return;
+
283 }
+
284 // Check duplicated attrname.
+
285 if (SA.Static.contains(Name->staticName())) {
+
286 dupAttr(Name->staticName(), Name->range(),
+
287 SA.Static[Name->staticName()].key()->range());
+
288 return;
+
289 }
+
290 // Insert the attr.
+
291 std::string StaticName = Name->staticName();
+
292 SA.Static[StaticName] =
+
293 Attribute(std::move(Name), std::move(E), /*FromInherit=*/true);
+
294}
+
+
295
+
+ +
297 for (const std::shared_ptr<AttrName> &Name : Inherit.names()) {
+
298 assert(Name);
+
299 std::shared_ptr<Expr> Desugar = desugarInheritExpr(Name, Inherit.expr());
+
300 lowerInheritName(Attr, Name, std::move(Desugar));
+
301 }
+
302}
+
+
303
+
+
304void Sema::lowerBinds(SemaAttrs &SA, const Binds &B) {
+
305 for (const std::shared_ptr<Node> &Bind : B.bindings()) {
+
306 assert(Bind && "Bind is not null");
+
307 switch (Bind->kind()) {
+
308 case Node::NK_Inherit: {
+
309 auto *N = static_cast<Inherit *>(Bind.get());
+
310 lowerInherit(SA, *N);
+
311 break;
+
312 }
+
313 case Node::NK_Binding: {
+
314 auto *B = static_cast<Binding *>(Bind.get());
+
315 addAttr(SA, B->path(), B->value());
+
316 break;
+
317 }
+
318 default:
+
319 assert(false && "Bind should be either Inherit or Binding");
+
320 }
+
321 }
+
322}
+
+
323
+
+
324std::shared_ptr<Expr> Sema::desugarInheritExpr(std::shared_ptr<AttrName> Name,
+
325 std::shared_ptr<Expr> E) {
+
326 auto Range = Name->range();
+
327 if (!E)
+
328 return std::make_shared<ExprVar>(Range, Name->id());
+
329
+
330 auto Path = std::make_shared<AttrPath>(
+
331 Range, std::vector<std::shared_ptr<AttrName>>{std::move(Name)});
+
332 return std::make_shared<ExprSelect>(Range, std::move(E), std::move(Path),
+
333 nullptr);
+
334}
+
+
335
+
+
336std::shared_ptr<ExprAttrs> Sema::onExprAttrs(LexerCursorRange Range,
+
337 std::shared_ptr<Binds> Binds,
+
338 std::shared_ptr<Misc> Rec) {
+
339 SemaAttrs ESA(Rec.get());
+
340 if (Binds)
+
341 lowerBinds(ESA, *Binds);
+
342 return std::make_shared<ExprAttrs>(Range, std::move(Binds), std::move(Rec),
+
343 std::move(ESA));
+
344}
+
+
345
+
346} // namespace nixf
+ + + +
Semantic Actions while building the AST.
+ + + + +
const std::vector< std::shared_ptr< Node > > & bindings() const
Definition Attrs.h:181
+ +
Note & note(Note::NoteKind Kind, LexerCursorRange Range)
Definition Diagnostic.h:187
+
Fix & fix(std::string Message)
Definition Diagnostic.h:193
+ +
bool isRecursive() const
Definition Attrs.h:276
+
const Misc * rec() const
Definition Attrs.h:274
+ +
Fix & edit(TextEdit Edit)
Definition Diagnostic.h:66
+ +
Misc * comma() const
Definition Lambda.h:39
+
bool isEllipsis() const
Definition Lambda.h:35
+
Identifier * id() const
Definition Lambda.h:37
+
Identifier. Variable names, attribute names, etc.
Definition Basic.h:114
+
const std::string & name() const
Definition Basic.h:120
+ +
std::shared_ptr< Expr > & expr()
Definition Attrs.h:159
+
const std::vector< std::shared_ptr< AttrName > > & names() const
Definition Attrs.h:153
+ +
Misc node, used for parentheses, keywords, etc.
Definition Basic.h:106
+
LexerCursor lCur() const
Definition Basic.h:37
+
std::string_view src(std::string_view Src) const
Definition Basic.h:63
+
LexerCursor rCur() const
Definition Basic.h:38
+
LexerCursorRange range() const
Definition Basic.h:35
+
void tag(DiagnosticTag Tag)
Definition Diagnostic.h:97
+
Attribute set after deduplication.
Definition Attrs.h:227
+
SemaAttrs * selectOrCreate(SemaAttrs &SA, const std::vector< std::shared_ptr< AttrName > > &Path)
+
void lowerInherit(SemaAttrs &Attr, const Inherit &Inherit)
+
std::shared_ptr< ExprAttrs > onExprAttrs(LexerCursorRange Range, std::shared_ptr< Binds > Binds, std::shared_ptr< Misc > Rec)
+
void dedupFormal(std::map< std::string, const Formal * > &Dedup, const FormalVector &FV)
Deduplicate formals.
+
void mergeAttrSets(SemaAttrs &XAttrs, const SemaAttrs &YAttrs)
Perform attrsets merging while duplicated fields are both attrsets.
+
void checkFormalEllipsis(const FormalVector &FV)
Check if ellipsis "...".
+
void lowerBinds(SemaAttrs &SA, const Binds &B)
+
void addAttr(SemaAttrs &Attr, const AttrPath &Path, std::shared_ptr< Expr > E)
Insert the binding: AttrPath = E; into Attr.
+
static std::shared_ptr< Expr > desugarInheritExpr(std::shared_ptr< AttrName > Name, std::shared_ptr< Expr > E)
Desugar inherit (expr) a, inherit a, into select, or variable.
+
void checkFormalSep(const FormalVector &FV)
Check if there is a seperator "," between formals.
+
void dupAttr(std::string Name, LexerCursorRange Range, LexerCursorRange Prev)
+
void insertAttr(SemaAttrs &SA, std::shared_ptr< AttrName > Name, std::shared_ptr< Expr > E, bool IsInherit)
+
Formals::FormalVector FormalVector
Definition SemaActions.h:24
+
void checkAttrRecursiveForMerge(const ExprAttrs &XAttrs, const ExprAttrs &YAttrs)
Check if these two attrsets has the same "recursive" modifier.
+
void checkFormalEmpty(const FormalVector &FV)
Diagnose empty formal i.e. single comma.
+
void lowerInheritName(SemaAttrs &SA, std::shared_ptr< AttrName > Name, std::shared_ptr< Expr > E)
+
std::shared_ptr< Formals > onFormals(LexerCursorRange Range, FormalVector FV)
+
static void removeFormal(Fix &F, const FormalVector::const_iterator &Rm, const FormalVector &FV)
Make text edits to remove a formal.
+
static TextEdit mkRemoval(LexerCursorRange RemovingRange)
Definition Diagnostic.h:40
+
static TextEdit mkInsertion(LexerCursor P, std::string NewText)
Definition Diagnostic.h:36
+ + + +
+ + + + diff --git a/SemaActions_8h.html b/SemaActions_8h.html new file mode 100644 index 000000000..eb96836fe --- /dev/null +++ b/SemaActions_8h.html @@ -0,0 +1,117 @@ + + + + + + + +nixd: SemaActions.h File Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
SemaActions.h File Reference
+
+
+ +

Semantic Actions while building the AST. +More...

+
#include "nixf/Basic/Diagnostic.h"
+#include "nixf/Basic/Nodes/Attrs.h"
+#include "nixf/Basic/Nodes/Basic.h"
+#include "nixf/Basic/Nodes/Lambda.h"
+#include "nixf/Basic/Range.h"
+#include <map>
+
+

Go to the source code of this file.

+ + + + +

+Classes

class  nixf::Sema
 
+ + + +

+Namespaces

namespace  nixf
 
+

Detailed Description

+

Semantic Actions while building the AST.

+

Non grammatical errors (e.g. duplicating) are detected here.

+ +

Definition in file SemaActions.h.

+
+ + + + diff --git a/SemaActions_8h_source.html b/SemaActions_8h_source.html new file mode 100644 index 000000000..74b20913b --- /dev/null +++ b/SemaActions_8h_source.html @@ -0,0 +1,229 @@ + + + + + + + +nixd: SemaActions.h Source File + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
SemaActions.h
+
+
+Go to the documentation of this file.
1/// \file
+
2/// \brief Semantic Actions while building the AST
+
3///
+
4/// Non grammatical errors (e.g. duplicating) are detected here.
+
5
+ + + + +
10#include "nixf/Basic/Range.h"
+
11
+
12#include <map>
+
13
+
14namespace nixf {
+
15
+
+
16class Sema {
+
17 std::string_view Src;
+
18 std::vector<Diagnostic> &Diags;
+
19
+
20public:
+
+
21 Sema(std::string_view Src, std::vector<Diagnostic> &Diags)
+
22 : Src(Src), Diags(Diags) {}
+
+
23
+ +
25
+
26 /// \brief Make text edits to remove a formal
+
27 static void removeFormal(Fix &F, const FormalVector::const_iterator &Rm,
+
28 const FormalVector &FV);
+
29
+
30 /// \brief Check if there is a seperator "," between formals
+
31 void checkFormalSep(const FormalVector &FV);
+
32
+
33 /// \brief Check if ellipsis "..."
+
34 void checkFormalEllipsis(const FormalVector &FV);
+
35
+
36 /// \brief Diagnose empty formal i.e. single comma
+
37 //
+
38 // e.g. `{ , } : 1`
+
39 void checkFormalEmpty(const FormalVector &FV);
+
40
+
41 /// \brief Deduplicate formals.
+
42 void dedupFormal(std::map<std::string, const Formal *> &Dedup,
+
43 const FormalVector &FV);
+
44
+
45 std::shared_ptr<Formals> onFormals(LexerCursorRange Range, FormalVector FV);
+
46
+
47 /// \brief Desugar inherit (expr) a, inherit a, into select, or variable.
+
48 static std::shared_ptr<Expr>
+
49 desugarInheritExpr(std::shared_ptr<AttrName> Name, std::shared_ptr<Expr> E);
+
50
+
51 void dupAttr(std::string Name, LexerCursorRange Range, LexerCursorRange Prev);
+
52
+
53 /// \brief Check if these two attrsets has the same "recursive" modifier.
+
54 ///
+
55 /// Official nix implementation implicitly discards the second modifier, this
+
56 /// is somehow error-prone, let's detect it.
+
57 void checkAttrRecursiveForMerge(const ExprAttrs &XAttrs,
+
58 const ExprAttrs &YAttrs);
+
59
+
60 /// \brief Perform attrsets merging while duplicated fields are both attrsets.
+
61 ///
+
62 /// e.g.
+
63 /// \code{nix}
+
64 /// {
+
65 /// a = { x = 1; };
+
66 /// a = { y = 1; };
+
67 /// }
+
68 /// \endcode
+
69 /// We may want to merge both "a = " attrsets into a single one, instead of
+
70 /// report duplicating attrs.
+
71 void mergeAttrSets(SemaAttrs &XAttrs, const SemaAttrs &YAttrs);
+
72
+
73 /// \note Name must not be null
+
74 void insertAttr(SemaAttrs &SA, std::shared_ptr<AttrName> Name,
+
75 std::shared_ptr<Expr> E, bool IsInherit);
+
76
+
77 /// Select into \p Attr the attribute specified by \p Path, or create one if
+
78 /// not exists, until reached the inner-most attr. Similar to `mkdir -p`.
+
79 ///
+
80 /// \return The selected or created attribute.
+ +
82 const std::vector<std::shared_ptr<AttrName>> &Path);
+
83
+
84 /// Insert the binding: `AttrPath = E;` into \p Attr
+
85 void addAttr(SemaAttrs &Attr, const AttrPath &Path, std::shared_ptr<Expr> E);
+
86
+
87 void lowerInheritName(SemaAttrs &SA, std::shared_ptr<AttrName> Name,
+
88 std::shared_ptr<Expr> E);
+
89
+
90 void lowerInherit(SemaAttrs &Attr, const Inherit &Inherit);
+
91
+
92 void lowerBinds(SemaAttrs &SA, const Binds &B);
+
93
+
94 std::shared_ptr<ExprAttrs> onExprAttrs(LexerCursorRange Range,
+
95 std::shared_ptr<Binds> Binds,
+
96 std::shared_ptr<Misc> Rec);
+
97};
+
+
98
+
99} // namespace nixf
+ + + + + + + + + +
std::vector< std::shared_ptr< Formal > > FormalVector
Definition Lambda.h:65
+ + +
Attribute set after deduplication.
Definition Attrs.h:227
+ +
SemaAttrs * selectOrCreate(SemaAttrs &SA, const std::vector< std::shared_ptr< AttrName > > &Path)
+
void lowerInherit(SemaAttrs &Attr, const Inherit &Inherit)
+
std::shared_ptr< ExprAttrs > onExprAttrs(LexerCursorRange Range, std::shared_ptr< Binds > Binds, std::shared_ptr< Misc > Rec)
+
void dedupFormal(std::map< std::string, const Formal * > &Dedup, const FormalVector &FV)
Deduplicate formals.
+
void mergeAttrSets(SemaAttrs &XAttrs, const SemaAttrs &YAttrs)
Perform attrsets merging while duplicated fields are both attrsets.
+
void checkFormalEllipsis(const FormalVector &FV)
Check if ellipsis "...".
+
void lowerBinds(SemaAttrs &SA, const Binds &B)
+
void addAttr(SemaAttrs &Attr, const AttrPath &Path, std::shared_ptr< Expr > E)
Insert the binding: AttrPath = E; into Attr.
+
static std::shared_ptr< Expr > desugarInheritExpr(std::shared_ptr< AttrName > Name, std::shared_ptr< Expr > E)
Desugar inherit (expr) a, inherit a, into select, or variable.
+
void checkFormalSep(const FormalVector &FV)
Check if there is a seperator "," between formals.
+
void dupAttr(std::string Name, LexerCursorRange Range, LexerCursorRange Prev)
+
void insertAttr(SemaAttrs &SA, std::shared_ptr< AttrName > Name, std::shared_ptr< Expr > E, bool IsInherit)
+
Formals::FormalVector FormalVector
Definition SemaActions.h:24
+
void checkAttrRecursiveForMerge(const ExprAttrs &XAttrs, const ExprAttrs &YAttrs)
Check if these two attrsets has the same "recursive" modifier.
+
void checkFormalEmpty(const FormalVector &FV)
Diagnose empty formal i.e. single comma.
+
void lowerInheritName(SemaAttrs &SA, std::shared_ptr< AttrName > Name, std::shared_ptr< Expr > E)
+
std::shared_ptr< Formals > onFormals(LexerCursorRange Range, FormalVector FV)
+
static void removeFormal(Fix &F, const FormalVector::const_iterator &Rm, const FormalVector &FV)
Make text edits to remove a formal.
+
Sema(std::string_view Src, std::vector< Diagnostic > &Diags)
Definition SemaActions.h:21
+ +
+ + + + diff --git a/Serialize_8h.html b/Serialize_8h.html new file mode 100644 index 000000000..32f9eaa05 --- /dev/null +++ b/Serialize_8h.html @@ -0,0 +1,183 @@ + + + + + + + +nixd: Serialize.h File Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
Serialize.h File Reference
+
+
+ +

Serialize nix::Expr to bytes & deserialize from bytes. +More...

+
#include "nixt/ArrayRef.h"
+#include "nixt/PtrPool.h"
+#include <nixbc/Type.h>
+#include <nix/nixexpr.hh>
+#include "Nodes.inc"
+
+

Go to the source code of this file.

+ + + + + +

+Classes

struct  nixt::ASTHeader
 Header of serialized AST. More...
 
+ + + + +

+Namespaces

namespace  nixt
 Access ParseCache in nix::EvalState.
 
+ + + +

+Macros

#define NIX_EXPR(EXPR)   EXPR,
 
+ + + +

+Enumerations

enum class  nixt::EncodeKind : uint32_t { nixt::NIX_EXPR +, nixt::AttrNameSymbol + }
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

template<class T >
+requires std::is_standard_layout_v<T> && std::is_trivial_v<T>
std::size_t nixt::encode (std::ostream &OS, const T &Data)
 Basic primitives. Trivial data types are just written to a stream.
 
std::size_t nixt::encode (std::ostream &OS, const std::string &Data)
 Encode string to bytes.
 
std::size_t nixt::encode (std::ostream &OS, const nix::Pos::Origin &Origin)
 Encode string to bytes.
 
void nixt::encodeAST (std::ostream &OS, const nix::SymbolTable &STable, const nix::PosTable &PTable, const nix::Pos::Origin &Origin, const nix::Expr *E)
 Encode an AST. E is the root of the AST.
 
template<class T >
+requires std::is_standard_layout_v<T> && std::is_trivial_v<T>
std::size_t nixt::decode (BytesRef Data, T &Obj)
 Basic primitives. Deocde from bytes by memcpy.
 
std::size_t nixt::decode (BytesRef Data, std::string &Str)
 Decode string from bytes.
 
template<class T >
nixt::consume (BytesRef &Data)
 Consume bytes from Data and construct an object of type T.
 
nix::Expr * nixt::consumeAST (BytesRef &Data, PtrPool< nix::Expr > &Pool, nix::PosTable &PTable, nix::SymbolTable &STable)
 
+

Detailed Description

+

Serialize nix::Expr to bytes & deserialize from bytes.

+ +

Definition in file Serialize.h.

+

Macro Definition Documentation

+ +

◆ NIX_EXPR

+ +
+
+ + + + + + + +
#define NIX_EXPR( EXPR)   EXPR,
+
+ +

Definition at line 20 of file Serialize.h.

+ +
+
+
+ + + + diff --git a/Serialize_8h_source.html b/Serialize_8h_source.html new file mode 100644 index 000000000..c9e66e99f --- /dev/null +++ b/Serialize_8h_source.html @@ -0,0 +1,216 @@ + + + + + + + +nixd: Serialize.h Source File + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Serialize.h
+
+
+Go to the documentation of this file.
1/// \file
+
2/// \brief Serialize nix::Expr to bytes & deserialize from bytes.
+
3
+
4#pragma once
+
5
+
6#include "nixt/ArrayRef.h"
+
7#include "nixt/PtrPool.h"
+
8
+
9#include <nixbc/Type.h>
+
10
+
11#include <nix/nixexpr.hh>
+
12
+
13namespace nixt {
+
14
+
15//===----------------------------------------------------------------------===//
+
16// Shared type definitions & constants
+
17//===----------------------------------------------------------------------===//
+
18
+
+
19enum class EncodeKind : uint32_t {
+
20#define NIX_EXPR(EXPR) EXPR,
+
21#include "Nodes.inc"
+
22#undef NIX_EXPR
+
23
+
24 // Special discriminator for nix::AttrName.
+
25 // struct AttrName
+
26 // {
+
27 // Symbol symbol;
+
28 // Expr * expr;
+
29 // AttrName(Symbol s) : symbol(s) {};
+
30 // AttrName(Expr * e) : expr(e) {};
+
31 // };
+ +
33};
+
+
34
+
35/// \brief Header of serialized AST.
+
+
36struct ASTHeader {
+
37 char Magic[8];
+
38 uint32_t Version;
+
39};
+
+
40
+
41//===----------------------------------------------------------------------===//
+
42// Encoder
+
43//===----------------------------------------------------------------------===//
+
44
+
45/// \brief Basic primitives. Trivial data types are just written to a stream.
+
46/// \returns The beginning offset of the data in the stream.
+
47template <class T>
+
48 requires std::is_standard_layout_v<T> && std::is_trivial_v<T>
+
+
49std::size_t encode(std::ostream &OS, const T &Data) {
+
50 std::size_t Ret = OS.tellp();
+
51 OS.write(reinterpret_cast<const char *>(&Data), sizeof(Data));
+
52 return Ret;
+
53}
+
+
54
+
55/// \brief Encode string to bytes.
+
56std::size_t encode(std::ostream &OS, const std::string &Data);
+
57
+
58/// \brief Encode string to bytes.
+
59std::size_t encode(std::ostream &OS, const nix::Pos::Origin &Origin);
+
60
+
61/// \brief Encode an AST. \p E is the root of the AST.
+
62void encodeAST(std::ostream &OS, const nix::SymbolTable &STable,
+
63 const nix::PosTable &PTable, const nix::Pos::Origin &Origin,
+
64 const nix::Expr *E);
+
65
+
66//===----------------------------------------------------------------------===//
+
67// Decoder
+
68//===----------------------------------------------------------------------===//
+
69
+
70/// \brief Basic primitives. Deocde from bytes by `memcpy`.
+
71/// \returns Size of bytes consumed.
+
72template <class T>
+
73 requires std::is_standard_layout_v<T> && std::is_trivial_v<T>
+
+
74std::size_t decode(BytesRef Data, T &Obj) {
+
75 assert(lengthof(Data) >= sizeof(T));
+
76 std::memcpy(&Obj, begin(Data), sizeof(T));
+
77 return sizeof(T);
+
78}
+
+
79
+
80/// \brief Decode string from bytes.
+
81std::size_t decode(BytesRef Data, std::string &Str);
+
82
+
83/// \brief Consume bytes from \p Data and construct an object of type \p T.
+
+
84template <class T> T consume(BytesRef &Data) {
+
85 T Obj;
+
86 Data = advance(Data, decode(Data, Obj));
+
87 return Obj;
+
88}
+
+
89
+
90nix::Expr *consumeAST(BytesRef &Data, PtrPool<nix::Expr> &Pool,
+
91 nix::PosTable &PTable, nix::SymbolTable &STable);
+
92
+
93} // namespace nixt
+
ArrayRef, BytesRef, and related functions.
+ +
Pointer pool, for RAII memory management.
+ + +
Access ParseCache in nix::EvalState.
Definition ArrayRef.h:7
+
std::size_t encode(std::ostream &OS, const T &Data)
Basic primitives. Trivial data types are just written to a stream.
Definition Serialize.h:49
+
const T * begin(ArrayRef< T > B)
Iterator begin. Used for range-based-for
Definition ArrayRef.h:19
+
std::size_t decode(BytesRef Data, T &Obj)
Basic primitives. Deocde from bytes by memcpy.
Definition Serialize.h:74
+
EncodeKind
Definition Serialize.h:19
+ +
ArrayRef< T > advance(ArrayRef< T > B, long Offset)
Advance the beginning pointer of bytes array.
Definition ArrayRef.h:27
+
void encodeAST(std::ostream &OS, const nix::SymbolTable &STable, const nix::PosTable &PTable, const nix::Pos::Origin &Origin, const nix::Expr *E)
Encode an AST. E is the root of the AST.
+
std::size_t lengthof(ArrayRef< T > B)
Get length of this array.
Definition ArrayRef.h:31
+
T consume(BytesRef &Data)
Consume bytes from Data and construct an object of type T.
Definition Serialize.h:84
+
nix::Expr * consumeAST(BytesRef &Data, PtrPool< nix::Expr > &Pool, nix::PosTable &PTable, nix::SymbolTable &STable)
+
Header of serialized AST.
Definition Serialize.h:36
+
uint32_t Version
Definition Serialize.h:38
+
char Magic[8]
Definition Serialize.h:37
+
Weak reference to an array, with begin and end pointers.
Definition ArrayRef.h:11
+
A simple pointer pool, a vector of unique_ptrs.
Definition PtrPool.h:22
+
+ + + + diff --git a/Simple_8h.html b/Simple_8h.html new file mode 100644 index 000000000..b4eb25497 --- /dev/null +++ b/Simple_8h.html @@ -0,0 +1,132 @@ + + + + + + + +nixd: Simple.h File Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
Simple.h File Reference
+
+
+
#include "Basic.h"
+#include <boost/container/small_vector.hpp>
+#include <memory>
+#include <vector>
+
+

Go to the source code of this file.

+ + + + + + + + + + + + + + + + + + + + + +

+Classes

class  nixf::ExprInt
 
class  nixf::ExprFloat
 
class  nixf::Interpolation
 ${expr} construct More...
 
class  nixf::InterpolablePart
 
class  nixf::InterpolatedParts
 
class  nixf::ExprString
 
class  nixf::ExprPath
 
class  nixf::ExprParen
 
class  nixf::ExprVar
 
+ + + +

+Namespaces

namespace  nixf
 
+ + + + + +

+Typedefs

using nixf::NixInt = int64_t
 
using nixf::NixFloat = double
 
+
+ + + + diff --git a/Simple_8h_source.html b/Simple_8h_source.html new file mode 100644 index 000000000..42ab55969 --- /dev/null +++ b/Simple_8h_source.html @@ -0,0 +1,398 @@ + + + + + + + +nixd: Simple.h Source File + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Simple.h
+
+
+Go to the documentation of this file.
1#pragma once
+
2
+
3#include "Basic.h"
+
4
+
5#include <boost/container/small_vector.hpp>
+
6
+
7#include <memory>
+
8#include <vector>
+
9
+
10namespace nixf {
+
11
+
12using NixInt = int64_t;
+
13using NixFloat = double;
+
14
+
+
15class ExprInt : public Expr {
+
16 NixInt Value;
+
17
+
18public:
+
+ +
20 : Expr(NK_ExprInt, Range), Value(Value) {}
+
+
21 [[nodiscard]] NixInt value() const { return Value; }
+
22
+
23 [[nodiscard]] ChildVector children() const override { return {}; }
+
24};
+
+
25
+
+
26class ExprFloat : public Expr {
+
27 NixFloat Value;
+
28
+
29public:
+
+ +
31 : Expr(NK_ExprFloat, Range), Value(Value) {}
+
+
32 [[nodiscard]] NixFloat value() const { return Value; }
+
33
+
34 [[nodiscard]] ChildVector children() const override { return {}; }
+
35};
+
+
36
+
37/// \brief `${expr}` construct
+
+
38class Interpolation : public Node {
+
39 std::shared_ptr<Expr> E;
+
40
+
41public:
+
+
42 Interpolation(LexerCursorRange Range, std::shared_ptr<Expr> E)
+
43 : Node(NK_Interpolation, Range), E(std::move(E)) {}
+
+
44
+
45 [[nodiscard]] Expr *expr() const { return E.get(); }
+
46
+
47 [[nodiscard]] ChildVector children() const override { return {E.get()}; }
+
48};
+
+
49
+
+ +
51public:
+ +
56
+
57private:
+ +
59 std::string Escaped;
+
60 std::shared_ptr<Interpolation> Interp;
+
61
+
62public:
+
+
63 explicit InterpolablePart(std::string Escaped)
+
64 : Kind(SPK_Escaped), Escaped(std::move(Escaped)), Interp(nullptr) {}
+
+
65
+
+
66 explicit InterpolablePart(std::shared_ptr<Interpolation> Interp)
+
67 : Kind(SPK_Interpolation), Interp(std::move(Interp)) {
+
68 assert(this->Interp && "interpolation must not be null");
+
69 }
+
+
70
+
71 [[nodiscard]] InterpolablePartKind kind() const { return Kind; }
+
72
+
+
73 [[nodiscard]] const std::string &escaped() const {
+
74 assert(Kind == SPK_Escaped);
+
75 return Escaped;
+
76 }
+
+
77
+
+
78 [[nodiscard]] Interpolation &interpolation() const {
+
79 assert(Kind == SPK_Interpolation);
+
80 assert(Interp && "interpolation must not be null");
+
81 return *Interp;
+
82 }
+
+
83};
+
+
84
+
+
85class InterpolatedParts : public Node {
+
86 std::vector<InterpolablePart> Fragments;
+
87
+
88public:
+ +
90 std::vector<InterpolablePart> Fragments);
+
91
+
+
92 [[nodiscard]] const std::vector<InterpolablePart> &fragments() const {
+
93 return Fragments;
+
94 };
+
+
95
+
+
96 [[nodiscard]] bool isLiteral() const {
+
97 return Fragments.size() == 1 &&
+
98 Fragments[0].kind() == InterpolablePart::SPK_Escaped;
+
99 }
+
+
100
+
+
101 [[nodiscard]] const std::string &literal() const {
+
102 assert(isLiteral() && "must be a literal");
+
103 return Fragments[0].escaped();
+
104 }
+
+
105
+
106 [[nodiscard]] ChildVector children() const override { return {}; }
+
107};
+
+
108
+
+
109class ExprString : public Expr {
+
110 std::shared_ptr<InterpolatedParts> Parts;
+
111
+
112public:
+
+
113 ExprString(LexerCursorRange Range, std::shared_ptr<InterpolatedParts> Parts)
+
114 : Expr(NK_ExprString, Range), Parts(std::move(Parts)) {
+
115 assert(this->Parts && "parts must not be null");
+
116 }
+
+
117
+
+
118 [[nodiscard]] const InterpolatedParts &parts() const {
+
119 assert(Parts && "parts must not be null");
+
120 return *Parts;
+
121 }
+
+
122
+
+
123 [[nodiscard]] bool isLiteral() const {
+
124 assert(Parts && "parts must not be null");
+
125 return Parts->isLiteral();
+
126 }
+
+
127
+
+
128 [[nodiscard]] const std::string &literal() const {
+
129 assert(Parts && "parts must not be null");
+
130 return Parts->literal();
+
131 }
+
+
132
+
133 [[nodiscard]] ChildVector children() const override { return {}; }
+
134};
+
+
135
+
+
136class ExprPath : public Expr {
+
137 std::shared_ptr<InterpolatedParts> Parts;
+
138
+
139public:
+
+
140 ExprPath(LexerCursorRange Range, std::shared_ptr<InterpolatedParts> Parts)
+
141 : Expr(NK_ExprPath, Range), Parts(std::move(Parts)) {
+
142 assert(this->Parts && "parts must not be null");
+
143 }
+
+
144
+
+
145 [[nodiscard]] const InterpolatedParts &parts() const {
+
146 assert(Parts && "parts must not be null");
+
147 return *Parts;
+
148 }
+
+
149
+
150 [[nodiscard]] ChildVector children() const override { return {}; }
+
151};
+
+
152
+
+
153class ExprParen : public Expr {
+
154 std::shared_ptr<Expr> E;
+
155 std::shared_ptr<Misc> LParen;
+
156 std::shared_ptr<Misc> RParen;
+
157
+
158public:
+
+
159 ExprParen(LexerCursorRange Range, std::shared_ptr<Expr> E,
+
160 std::shared_ptr<Misc> LParen, std::shared_ptr<Misc> RParen)
+
161 : Expr(NK_ExprParen, Range), E(std::move(E)), LParen(std::move(LParen)),
+
162 RParen(std::move(RParen)) {}
+
+
163
+
164 [[nodiscard]] const Expr *expr() const { return E.get(); }
+
165 [[nodiscard]] const Misc *lparen() const { return LParen.get(); }
+
166 [[nodiscard]] const Misc *rparen() const { return RParen.get(); }
+
167
+
+
168 [[nodiscard]] ChildVector children() const override {
+
169 return {E.get(), LParen.get(), RParen.get()};
+
170 }
+
+
171};
+
+
172
+
+
173class ExprVar : public Expr {
+
174 std::shared_ptr<Identifier> ID;
+
175
+
176public:
+
+
177 ExprVar(LexerCursorRange Range, std::shared_ptr<Identifier> ID)
+
178 : Expr(NK_ExprVar, Range), ID(std::move(ID)) {
+
179 assert(this->ID && "ID must not be null");
+
180 }
+
+
+
181 [[nodiscard]] const Identifier &id() const {
+
182 assert(ID && "ID must not be null");
+
183 return *ID;
+
184 }
+
+
185
+
186 [[nodiscard]] ChildVector children() const override { return {ID.get()}; }
+
187};
+
+
188
+
189} // namespace nixf
+ + +
ExprFloat(LexerCursorRange Range, NixFloat Value)
Definition Simple.h:30
+
NixFloat value() const
Definition Simple.h:32
+
ChildVector children() const override
Definition Simple.h:34
+ +
ChildVector children() const override
Definition Simple.h:23
+
NixInt value() const
Definition Simple.h:21
+
ExprInt(LexerCursorRange Range, NixInt Value)
Definition Simple.h:19
+ +
const Expr * expr() const
Definition Simple.h:164
+
const Misc * rparen() const
Definition Simple.h:166
+
ChildVector children() const override
Definition Simple.h:168
+
ExprParen(LexerCursorRange Range, std::shared_ptr< Expr > E, std::shared_ptr< Misc > LParen, std::shared_ptr< Misc > RParen)
Definition Simple.h:159
+
const Misc * lparen() const
Definition Simple.h:165
+ +
ChildVector children() const override
Definition Simple.h:150
+
ExprPath(LexerCursorRange Range, std::shared_ptr< InterpolatedParts > Parts)
Definition Simple.h:140
+
const InterpolatedParts & parts() const
Definition Simple.h:145
+ +
bool isLiteral() const
Definition Simple.h:123
+
ChildVector children() const override
Definition Simple.h:133
+
const std::string & literal() const
Definition Simple.h:128
+
const InterpolatedParts & parts() const
Definition Simple.h:118
+
ExprString(LexerCursorRange Range, std::shared_ptr< InterpolatedParts > Parts)
Definition Simple.h:113
+ +
ChildVector children() const override
Definition Simple.h:186
+
const Identifier & id() const
Definition Simple.h:181
+
ExprVar(LexerCursorRange Range, std::shared_ptr< Identifier > ID)
Definition Simple.h:177
+ +
Identifier. Variable names, attribute names, etc.
Definition Basic.h:114
+ +
InterpolablePart(std::string Escaped)
Definition Simple.h:63
+
InterpolablePartKind kind() const
Definition Simple.h:71
+
const std::string & escaped() const
Definition Simple.h:73
+ + + +
InterpolablePart(std::shared_ptr< Interpolation > Interp)
Definition Simple.h:66
+
Interpolation & interpolation() const
Definition Simple.h:78
+ +
ChildVector children() const override
Definition Simple.h:106
+
const std::string & literal() const
Definition Simple.h:101
+
bool isLiteral() const
Definition Simple.h:96
+
const std::vector< InterpolablePart > & fragments() const
Definition Simple.h:92
+
InterpolatedParts(LexerCursorRange Range, std::vector< InterpolablePart > Fragments)
Definition Nodes.cpp:23
+
${expr} construct
Definition Simple.h:38
+
ChildVector children() const override
Definition Simple.h:47
+
Interpolation(LexerCursorRange Range, std::shared_ptr< Expr > E)
Definition Simple.h:42
+
Expr * expr() const
Definition Simple.h:45
+ +
Misc node, used for parentheses, keywords, etc.
Definition Basic.h:106
+ +
boost::container::small_vector< Node *, 8 > ChildVector
Definition Basic.h:42
+
int64_t NixInt
Definition Type.h:7
+
double NixFloat
Definition Type.h:8
+ +
+ + + + diff --git a/SourceCode_8cpp.html b/SourceCode_8cpp.html new file mode 100644 index 000000000..677273daf --- /dev/null +++ b/SourceCode_8cpp.html @@ -0,0 +1,114 @@ + + + + + + + +nixd: SourceCode.cpp File Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
SourceCode.cpp File Reference
+
+
+
#include "lspserver/SourceCode.h"
+#include "lspserver/Logger.h"
+#include <llvm/Support/Errc.h>
+
+

Go to the source code of this file.

+ + + + + +

+Namespaces

namespace  lspserver
 Whether current platform treats paths case insensitively.
 
+ + + + + + + + + + +

+Functions

size_t lspserver::lspLength (llvm::StringRef Code)
 
llvm::Expected< size_t > lspserver::positionToOffset (llvm::StringRef Code, Position P, bool AllowColumnsBeyondLineLength=true)
 
Position lspserver::offsetToPosition (llvm::StringRef Code, size_t Offset)
 
llvm::Error lspserver::applyChange (std::string &Contents, const TextDocumentContentChangeEvent &Change)
 Apply an incremental update to a text document.
 
+
+ + + + diff --git a/SourceCode_8cpp_source.html b/SourceCode_8cpp_source.html new file mode 100644 index 000000000..2242afbd6 --- /dev/null +++ b/SourceCode_8cpp_source.html @@ -0,0 +1,357 @@ + + + + + + + +nixd: SourceCode.cpp Source File + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
SourceCode.cpp
+
+
+Go to the documentation of this file.
+
2#include "lspserver/Logger.h"
+
3#include <llvm/Support/Errc.h>
+
4
+
5namespace lspserver {
+
6
+
7/// TODO: support more encodings (from clangd, using Context)
+
8static OffsetEncoding lspEncoding() { return OffsetEncoding::UTF16; }
+
9
+
10template <typename Callback>
+
11static bool iterateCodepoints(llvm::StringRef U8, const Callback &CB) {
+
12 bool LoggedInvalid = false;
+
13 // A codepoint takes two UTF-16 code unit if it's astral (outside BMP).
+
14 // Astral codepoints are encoded as 4 bytes in UTF-8, starting with 11110xxx.
+
15 for (size_t I = 0; I < U8.size();) {
+
16 unsigned char C = static_cast<unsigned char>(U8[I]);
+
17 if (LLVM_LIKELY(!(C & 0x80))) { // ASCII character.
+
18 if (CB(1, 1))
+
19 return true;
+
20 ++I;
+
21 continue;
+
22 }
+
23 // This convenient property of UTF-8 holds for all non-ASCII characters.
+
24 size_t UTF8Length = llvm::countl_one(C);
+
25 // 0xxx is ASCII, handled above. 10xxx is a trailing byte, invalid here.
+
26 // 11111xxx is not valid UTF-8 at all, maybe some ISO-8859-*.
+
27 if (LLVM_UNLIKELY(UTF8Length < 2 || UTF8Length > 4)) {
+
28 if (!LoggedInvalid) {
+
29 elog("File has invalid UTF-8 near offset {0}: {1}", I, llvm::toHex(U8));
+
30 LoggedInvalid = true;
+
31 }
+
32 // We can't give a correct result, but avoid returning something wild.
+
33 // Pretend this is a valid ASCII byte, for lack of better options.
+
34 // (Too late to get ISO-8859-* right, we've skipped some bytes already).
+
35 if (CB(1, 1))
+
36 return true;
+
37 ++I;
+
38 continue;
+
39 }
+
40 I += UTF8Length; // Skip over all trailing bytes.
+
41 // A codepoint takes two UTF-16 code unit if it's astral (outside BMP).
+
42 // Astral codepoints are encoded as 4 bytes in UTF-8 (11110xxx ...)
+
43 if (CB(UTF8Length, UTF8Length == 4 ? 2 : 1))
+
44 return true;
+
45 }
+
46 return false;
+
47}
+
48
+
49// Like most strings in clangd, the input is UTF-8 encoded.
+
+
50size_t lspLength(llvm::StringRef Code) {
+
51 size_t Count = 0;
+
52 switch (lspEncoding()) {
+ +
54 Count = Code.size();
+
55 break;
+ +
57 iterateCodepoints(Code, [&](int U8Len, int U16Len) {
+
58 Count += U16Len;
+
59 return false;
+
60 });
+
61 break;
+ +
63 iterateCodepoints(Code, [&](int U8Len, int U16Len) {
+
64 ++Count;
+
65 return false;
+
66 });
+
67 break;
+ +
69 llvm_unreachable("unsupported encoding");
+
70 }
+
71 return Count;
+
72}
+
+
73
+
74// Returns the byte offset into the string that is an offset of \p Units in
+
75// the specified encoding.
+
76// Conceptually, this converts to the encoding, truncates to CodeUnits,
+
77// converts back to UTF-8, and returns the length in bytes.
+
78static size_t measureUnits(llvm::StringRef U8, int Units, OffsetEncoding Enc,
+
79 bool &Valid) {
+
80 Valid = Units >= 0;
+
81 if (Units <= 0)
+
82 return 0;
+
83 size_t Result = 0;
+
84 switch (Enc) {
+ +
86 Result = Units;
+
87 break;
+ +
89 Valid = iterateCodepoints(U8, [&](int U8Len, int U16Len) {
+
90 Result += U8Len;
+
91 Units -= U16Len;
+
92 return Units <= 0;
+
93 });
+
94 if (Units < 0) // Offset in the middle of a surrogate pair.
+
95 Valid = false;
+
96 break;
+ +
98 Valid = iterateCodepoints(U8, [&](int U8Len, int U16Len) {
+
99 Result += U8Len;
+
100 Units--;
+
101 return Units <= 0;
+
102 });
+
103 break;
+ +
105 llvm_unreachable("unsupported encoding");
+
106 }
+
107 // Don't return an out-of-range index if we overran.
+
108 if (Result > U8.size()) {
+
109 Valid = false;
+
110 return U8.size();
+
111 }
+
112 return Result;
+
113}
+
114
+
+
115llvm::Expected<size_t> positionToOffset(llvm::StringRef Code, Position P,
+
116 bool AllowColumnsBeyondLineLength) {
+
117 if (P.line < 0)
+
118 return error(llvm::errc::invalid_argument,
+
119 "Line value can't be negative ({0})", P.line);
+
120 if (P.character < 0)
+
121 return error(llvm::errc::invalid_argument,
+
122 "Character value can't be negative ({0})", P.character);
+
123 size_t StartOfLine = 0;
+
124 for (int I = 0; I != P.line; ++I) {
+
125 size_t NextNL = Code.find('\n', StartOfLine);
+
126 if (NextNL == llvm::StringRef::npos)
+
127 return error(llvm::errc::invalid_argument,
+
128 "Line value is out of range ({0})", P.line);
+
129 StartOfLine = NextNL + 1;
+
130 }
+
131 llvm::StringRef Line =
+
132 Code.substr(StartOfLine).take_until([](char C) { return C == '\n'; });
+
133
+
134 // P.character may be in UTF-16, transcode if necessary.
+
135 bool Valid;
+
136 size_t ByteInLine = measureUnits(Line, P.character, lspEncoding(), Valid);
+
137 if (!Valid && !AllowColumnsBeyondLineLength)
+
138 return error(llvm::errc::invalid_argument,
+
139 "{0} offset {1} is invalid for line {2}", lspEncoding(),
+
140 P.character, P.line);
+
141 return StartOfLine + ByteInLine;
+
142}
+
+
143
+
+
144Position offsetToPosition(llvm::StringRef Code, size_t Offset) {
+
145 Offset = std::min(Code.size(), Offset);
+
146 llvm::StringRef Before = Code.substr(0, Offset);
+
147 int Lines = Before.count('\n');
+
148 size_t PrevNL = Before.rfind('\n');
+
149 size_t StartOfLine = (PrevNL == llvm::StringRef::npos) ? 0 : (PrevNL + 1);
+
150 Position Pos;
+
151 Pos.line = Lines;
+
152 Pos.character = lspLength(Before.substr(StartOfLine));
+
153 return Pos;
+
154}
+
+
155
+
156// Workaround for editors that have buggy handling of newlines at end of file.
+
157//
+
158// The editor is supposed to expose document contents over LSP as an exact
+
159// string, with whitespace and newlines well-defined. But internally many
+
160// editors treat text as an array of lines, and there can be ambiguity over
+
161// whether the last line ends with a newline or not.
+
162//
+
163// This confusion can lead to incorrect edits being sent. Failing to apply them
+
164// is catastrophic: we're desynced, LSP has no mechanism to get back in sync.
+
165// We apply a heuristic to avoid this state.
+
166//
+
167// If our current view of an N-line file does *not* end in a newline, but the
+
168// editor refers to the start of the next line (an impossible location), then
+
169// we silently add a newline to make this valid.
+
170// We will still validate that the rangeLength is correct, *including* the
+
171// inferred newline.
+
172//
+
173// See https://github.com/neovim/neovim/issues/17085
+
174static void inferFinalNewline(llvm::Expected<size_t> &Err,
+
175 std::string &Contents, const Position &Pos) {
+
176 if (Err)
+
177 return;
+
178 if (!Contents.empty() && Contents.back() == '\n')
+
179 return;
+
180 if (Pos.character != 0)
+
181 return;
+
182 if (Pos.line != llvm::count(Contents, '\n') + 1)
+
183 return;
+
184 log("Editor sent invalid change coordinates, inferring newline at EOF");
+
185 Contents.push_back('\n');
+
186 consumeError(Err.takeError());
+
187 Err = Contents.size();
+
188}
+
189
+
+
190llvm::Error applyChange(std::string &Contents,
+
191 const TextDocumentContentChangeEvent &Change) {
+
192 if (!Change.range) {
+
193 Contents = Change.text;
+
194 return llvm::Error::success();
+
195 }
+
196
+
197 const Position &Start = Change.range->start;
+
198 llvm::Expected<size_t> StartIndex = positionToOffset(Contents, Start, false);
+
199 inferFinalNewline(StartIndex, Contents, Start);
+
200 if (!StartIndex)
+
201 return StartIndex.takeError();
+
202
+
203 const Position &End = Change.range->end;
+
204 llvm::Expected<size_t> EndIndex = positionToOffset(Contents, End, false);
+
205 inferFinalNewline(EndIndex, Contents, End);
+
206 if (!EndIndex)
+
207 return EndIndex.takeError();
+
208
+
209 if (*EndIndex < *StartIndex)
+
210 return error(llvm::errc::invalid_argument,
+
211 "Range's end position ({0}) is before start position ({1})",
+
212 End, Start);
+
213
+
214 // Since the range length between two LSP positions is dependent on the
+
215 // contents of the buffer we compute the range length between the start and
+
216 // end position ourselves and compare it to the range length of the LSP
+
217 // message to verify the buffers of the client and server are in sync.
+
218
+
219 // EndIndex and StartIndex are in bytes, but Change.rangeLength is in UTF-16
+
220 // code units.
+
221 ssize_t ComputedRangeLength =
+
222 lspLength(Contents.substr(*StartIndex, *EndIndex - *StartIndex));
+
223
+
224 if (Change.rangeLength && ComputedRangeLength != *Change.rangeLength)
+
225 return error(llvm::errc::invalid_argument,
+
226 "Change's rangeLength ({0}) doesn't match the "
+
227 "computed range length ({1}).",
+
228 *Change.rangeLength, ComputedRangeLength);
+
229
+
230 Contents.replace(*StartIndex, *EndIndex - *StartIndex, Change.text);
+
231
+
232 return llvm::Error::success();
+
233}
+
+
234} // namespace lspserver
+ + +
Whether current platform treats paths case insensitively.
Definition Connection.h:11
+
llvm::unique_function< void(llvm::Expected< T >)> Callback
Definition Function.h:14
+
llvm::Error error(std::error_code EC, const char *Fmt, Ts &&...Vals)
Definition Logger.h:70
+
llvm::Error applyChange(std::string &Contents, const TextDocumentContentChangeEvent &Change)
Apply an incremental update to a text document.
+ + + + + +
size_t lspLength(llvm::StringRef Code)
+
void elog(const char *Fmt, Ts &&...Vals)
Definition Logger.h:52
+
Position offsetToPosition(llvm::StringRef Code, size_t Offset)
+
llvm::Expected< size_t > positionToOffset(llvm::StringRef Code, Position P, bool AllowColumnsBeyondLineLength=true)
+
void log(const char *Fmt, Ts &&...Vals)
Definition Logger.h:58
+ +
int line
Line position in a document (zero-based).
+ + +
std::string text
The new text of the range/document.
+
std::optional< Range > range
The range of the document that changed.
+
std::optional< int > rangeLength
The length of the range that got replaced.
+
+ + + + diff --git a/SourceCode_8h.html b/SourceCode_8h.html new file mode 100644 index 000000000..04482723e --- /dev/null +++ b/SourceCode_8h.html @@ -0,0 +1,133 @@ + + + + + + + +nixd: SourceCode.h File Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
SourceCode.h File Reference
+
+
+
#include "Protocol.h"
+#include "llvm/ADT/StringRef.h"
+#include "llvm/ADT/StringSet.h"
+#include "llvm/Support/Error.h"
+#include <optional>
+#include <string>
+
+

Go to the source code of this file.

+ + + + +

+Classes

class  lspserver::Key< Type >
 
+ + + + +

+Namespaces

namespace  lspserver
 Whether current platform treats paths case insensitively.
 
+ + + + + + + + + + + + + + +

+Functions

size_t lspserver::lspLength (llvm::StringRef Code)
 
llvm::Expected< size_t > lspserver::positionToOffset (llvm::StringRef Code, Position P, bool AllowColumnsBeyondLineLength=true)
 
Position lspserver::offsetToPosition (llvm::StringRef Code, size_t Offset)
 
void lspserver::unionRanges (Range &A, Range B)
 
llvm::Error lspserver::applyChange (std::string &Contents, const TextDocumentContentChangeEvent &Change)
 Apply an incremental update to a text document.
 
llvm::StringSet lspserver::collectWords (llvm::StringRef Content)
 
+ + + +

+Variables

Key< OffsetEncodinglspserver::kCurrentOffsetEncoding
 
+
+ + + + diff --git a/SourceCode_8h_source.html b/SourceCode_8h_source.html new file mode 100644 index 000000000..159a34dd7 --- /dev/null +++ b/SourceCode_8h_source.html @@ -0,0 +1,188 @@ + + + + + + + +nixd: SourceCode.h Source File + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
SourceCode.h
+
+
+Go to the documentation of this file.
1//===--- SourceCode.h - Manipulating source code as strings -----*- C++ -*-===//
+
2//
+
3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+
4// See https://llvm.org/LICENSE.txt for license information.
+
5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+
6//
+
7//===----------------------------------------------------------------------===//
+
8//
+
9// Various code that examines C++ source code without using heavy AST machinery
+
10// (and often not even the lexer). To be used sparingly!
+
11//
+
12//===----------------------------------------------------------------------===//
+
13#pragma once
+
14
+
15#include "Protocol.h"
+
16#include "llvm/ADT/StringRef.h"
+
17#include "llvm/ADT/StringSet.h"
+
18#include "llvm/Support/Error.h"
+
19#include <optional>
+
20#include <string>
+
21
+
22namespace lspserver {
+
23
+
+
24template <class Type> class Key {
+
25public:
+
26 static_assert(!std::is_reference_v<Type>,
+
27 "Reference arguments to Key<> are not allowed");
+
28
+
29 constexpr Key() = default;
+
30
+
31 Key(Key const &) = delete;
+
32 Key &operator=(Key const &) = delete;
+
33 Key(Key &&) = delete;
+
34 Key &operator=(Key &&) = delete;
+
35};
+
+
36
+
37// This context variable controls the behavior of functions in this file
+
38// that convert between LSP offsets and native clang byte offsets.
+
39// If not set, defaults to UTF-16 for backwards-compatibility.
+ +
41
+
42// Counts the number of UTF-16 code units needed to represent a string (LSP
+
43// specifies string lengths in UTF-16 code units).
+
44// Use of UTF-16 may be overridden by kCurrentOffsetEncoding.
+
45size_t lspLength(llvm::StringRef Code);
+
46
+
47/// Turn a [line, column] pair into an offset in Code.
+
48///
+
49/// If P.character exceeds the line length, returns the offset at end-of-line.
+
50/// (If !AllowColumnsBeyondLineLength, then returns an error instead).
+
51/// If the line number is out of range, returns an error.
+
52///
+
53/// The returned value is in the range [0, Code.size()].
+
54llvm::Expected<size_t>
+
55positionToOffset(llvm::StringRef Code, Position P,
+
56 bool AllowColumnsBeyondLineLength = true);
+
57
+
58/// Turn an offset in Code into a [line, column] pair.
+
59/// The offset must be in range [0, Code.size()].
+
60Position offsetToPosition(llvm::StringRef Code, size_t Offset);
+
61
+
62// Expand range `A` to also contain `B`.
+ +
64
+
65/// Apply an incremental update to a text document.
+
66llvm::Error applyChange(std::string &Contents,
+
67 const TextDocumentContentChangeEvent &Change);
+
68
+
69/// Collects words from the source code.
+
70/// Unlike collectIdentifiers:
+
71/// - also finds text in comments:
+
72/// - splits text into words
+
73/// - drops stopwords like "get" and "for"
+
74llvm::StringSet<> collectWords(llvm::StringRef Content);
+
75
+
76} // namespace lspserver
+ +
constexpr Key()=default
+
Key(Key &&)=delete
+
Key & operator=(Key const &)=delete
+
Key(Key const &)=delete
+
Key & operator=(Key &&)=delete
+ +
Whether current platform treats paths case insensitively.
Definition Connection.h:11
+
void unionRanges(Range &A, Range B)
+
llvm::Error applyChange(std::string &Contents, const TextDocumentContentChangeEvent &Change)
Apply an incremental update to a text document.
+
size_t lspLength(llvm::StringRef Code)
+
llvm::StringSet collectWords(llvm::StringRef Content)
+
Position offsetToPosition(llvm::StringRef Code, size_t Offset)
+
llvm::Expected< size_t > positionToOffset(llvm::StringRef Code, Position P, bool AllowColumnsBeyondLineLength=true)
+
Key< OffsetEncoding > kCurrentOffsetEncoding
+ + + +
+ + + + diff --git a/Support_8cpp.html b/Support_8cpp.html new file mode 100644 index 000000000..00f2b3292 --- /dev/null +++ b/Support_8cpp.html @@ -0,0 +1,103 @@ + + + + + + + +nixd: Support.cpp File Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
Support.cpp File Reference
+
+
+
#include "Controller.h"
+#include "nixd/rpc/Protocol.h"
+#include "nixd/util/OwnedRegion.h"
+#include "nixf/Basic/Diagnostic.h"
+#include "nixf/Bytecode/Write.h"
+#include "nixf/Parse/Parser.h"
+
+

Go to the source code of this file.

+ + + + +

+Namespaces

namespace  nixd
 
+
+ + + + diff --git a/Support_8cpp_source.html b/Support_8cpp_source.html new file mode 100644 index 000000000..8bf567787 --- /dev/null +++ b/Support_8cpp_source.html @@ -0,0 +1,214 @@ + + + + + + + +nixd: Support.cpp Source File + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Support.cpp
+
+
+Go to the documentation of this file.
1#include "Controller.h"
+
2
+
3#include "nixd/rpc/Protocol.h"
+ +
5
+ + +
8#include "nixf/Parse/Parser.h"
+
9
+
10using namespace lspserver;
+
11using namespace nixd;
+
12
+
13namespace bipc = boost::interprocess;
+
14
+
15namespace {
+
16
+
17std::string getShmName(std::string_view File) {
+
18 std::stringstream SS;
+
19 SS << "nixd-tu-" << getpid() << "-"
+
20 << reinterpret_cast<std::uintptr_t>(File.data());
+
21 return SS.str();
+
22}
+
23
+
24} // namespace
+
25
+
26namespace nixd {
+
27
+
28void Controller::actOnDocumentAdd(PathRef File,
+
29 std::optional<int64_t> Version) {
+
30 auto Draft = Store.getDraft(File);
+
31 assert(Draft && "Added document is not in the store?");
+
32
+
33 std::vector<nixf::Diagnostic> Diagnostics;
+
34 std::shared_ptr<nixf::Node> AST = nixf::parse(*Draft->Contents, Diagnostics);
+
35 publishDiagnostics(File, Version, Diagnostics);
+
36
+
37 if (!AST) {
+
38 TUs[File] = NixTU(std::move(Diagnostics), std::move(AST), std::nullopt);
+
39 return;
+
40 }
+
41
+
42 // Serialize the AST into shared memory. Prepare for evaluation.
+
43 std::stringstream OS;
+
44 nixf::writeBytecode(OS, *AST);
+
45 std::string Buf = OS.str();
+
46 if (Buf.empty()) {
+
47 lspserver::log("empty AST for {0}", File);
+
48 TUs[File] = NixTU(std::move(Diagnostics), std::move(AST), std::nullopt);
+
49 return;
+
50 }
+
51
+
52 // Create an mmap()-ed region, and write AST byte code there.
+
53 std::string ShmName = getShmName(File);
+
54
+
55 auto Shm = std::make_unique<util::AutoRemoveShm>(
+
56 ShmName, static_cast<bipc::offset_t>(Buf.size()));
+
57
+
58 auto Region =
+
59 std::make_unique<bipc::mapped_region>(Shm->get(), bipc::read_write);
+
60
+
61 std::memcpy(Region->get_address(), Buf.data(), Buf.size());
+
62
+
63 lspserver::log("serialized AST {0} to {1}, size: {2}", File, ShmName,
+
64 Buf.size());
+
65
+
66 TUs[File] = NixTU(std::move(Diagnostics), std::move(AST),
+
67 util::OwnedRegion{std::move(Shm), std::move(Region)});
+
68
+
69 if (Eval) {
+
70 Eval->RegisterBC(rpc::RegisterBCParams{
+
71 ShmName, ".", ".", static_cast<std::int64_t>(Buf.size())});
+
72 }
+
73}
+
74
+
+
75Controller::Controller(std::unique_ptr<lspserver::InboundPort> In,
+
76 std::unique_ptr<lspserver::OutboundPort> Out)
+
77 : LSPServer(std::move(In), std::move(Out)) {
+
78
+
79 // Life Cycle
+
80 Registry.addMethod("initialize", this, &Controller::onInitialize);
+
81 Registry.addNotification("initialized", this, &Controller::onInitialized);
+
82
+
83 // Text Document Synchronization
+
84 Registry.addNotification("textDocument/didOpen", this,
+
85 &Controller::onDocumentDidOpen);
+
86 Registry.addNotification("textDocument/didChange", this,
+
87 &Controller::onDocumentDidChange);
+
88
+
89 Registry.addNotification("textDocument/didClose", this,
+
90 &Controller::onDocumentDidClose);
+
91
+
92 // Language Features
+
93 Registry.addMethod("textDocument/codeAction", this,
+
94 &Controller::onCodeAction);
+
95 Registry.addMethod("textDocument/hover", this, &Controller::onHover);
+
96}
+
+
97
+
98} // namespace nixd
+ + + +
std::optional< Draft > getDraft(PathRef File) const
+ +
HandlerRegistry Registry
Definition LSPServer.h:55
+
Controller(std::unique_ptr< lspserver::InboundPort > In, std::unique_ptr< lspserver::OutboundPort > Out)
Definition Support.cpp:75
+
Holds analyzed information about a document.
Definition NixTU.h:13
+
Parser interface.
+
Serialization of nixf nodes.
+
Whether current platform treats paths case insensitively.
Definition Connection.h:11
+ +
llvm::StringRef PathRef
Definition Path.h:27
+
void log(const char *Fmt, Ts &&...Vals)
Definition Logger.h:58
+
void writeBytecode(std::ostream &OS, const Origin &O)
Definition Origin.cpp:9
+ +
std::shared_ptr< Node > parse(std::string_view Src, std::vector< Diagnostic > &Diags)
Parse a string.
+ +
void addNotification(llvm::StringLiteral Method, ThisT *This, void(ThisT::*Handler)(const Param &))
Definition LSPBinder.h:104
+
void addMethod(llvm::StringLiteral Method, ThisT *This, void(ThisT::*Handler)(const Param &, Callback< Result >))
Definition LSPBinder.h:88
+ + +
+ + + + diff --git a/SyntaxKinds_8inc.html b/SyntaxKinds_8inc.html new file mode 100644 index 000000000..0b22179a8 --- /dev/null +++ b/SyntaxKinds_8inc.html @@ -0,0 +1,89 @@ + + + + + + + +nixd: SyntaxKinds.inc File Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
SyntaxKinds.inc File Reference
+
+
+ +

Go to the source code of this file.

+
+ + + + diff --git a/SyntaxKinds_8inc_source.html b/SyntaxKinds_8inc_source.html new file mode 100644 index 000000000..b3569e78c --- /dev/null +++ b/SyntaxKinds_8inc_source.html @@ -0,0 +1,147 @@ + + + + + + + +nixd: SyntaxKinds.inc Source File + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
SyntaxKinds.inc
+
+
+Go to the documentation of this file.
1/// SyntaxKinds.inc, declares syntax names.
+
2
+
3/// provides: EXPR(Name) - expressions. They can be evaluated.
+
4/// provides: NODE(Name) - simple node. They cannot be evaluated.
+
5
+
6// Expressions.
+
7#ifdef EXPR
+
8EXPR(Assert)
+
9EXPR(AttrSet)
+
10EXPR(Call)
+
11EXPR(Float)
+
12EXPR(Int)
+
13EXPR(If)
+
14EXPR(Lambda)
+
15EXPR(Let)
+
16EXPR(List)
+
17EXPR(OpNegate)
+
18EXPR(OpNot)
+
19EXPR(OpHasAttr)
+
20EXPR(OpAnd)
+
21EXPR(OpBinary)
+
22EXPR(Path)
+
23EXPR(Select)
+
24EXPR(String)
+
25EXPR(IndString)
+
26EXPR(Var)
+
27EXPR(With)
+
28EXPR(Paren)
+
29// let { ..., .body }, desugared to rec { ..., .body }.body
+
30EXPR(LegacyLet)
+
31#endif // EXPR
+
32
+
33#ifdef NODE
+
34NODE(Token)
+
35NODE(TriviaPiece)
+
36NODE(Trivia)
+
37NODE(ID)
+
38NODE(Formals)
+
39NODE(Formal)
+
40NODE(IndStringParts)
+
41NODE(StringParts)
+
42NODE(Interpolation)
+
43NODE(AttrPath)
+
44NODE(Inherit)
+
45NODE(Binds)
+
46NODE(Binding)
+
47NODE(ListBody)
+
48NODE(LambdaArg)
+
49NODE(BracedFormals)
+
50NODE(Unknown)
+
51NODE(Root)
+
52NODE(EOF)
+
53#endif // NODE
+
#define EXPR(NAME)
Definition Basic.h:19
+
#define NODE(NAME)
Definition Basic.h:15
+
+ + + + diff --git a/TextDocumentSync_8cpp.html b/TextDocumentSync_8cpp.html new file mode 100644 index 000000000..bb0ba0ac0 --- /dev/null +++ b/TextDocumentSync_8cpp.html @@ -0,0 +1,106 @@ + + + + + + + +nixd: TextDocumentSync.cpp File Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
TextDocumentSync.cpp File Reference
+
+
+ +

Implementation of the text document sync. +More...

+
#include "Controller.h"
+#include "lspserver/SourceCode.h"
+
+

Go to the source code of this file.

+ + + + +

+Namespaces

namespace  nixd
 
+

Detailed Description

+

Implementation of the text document sync.

+ +

Definition in file TextDocumentSync.cpp.

+
+ + + + diff --git a/TextDocumentSync_8cpp_source.html b/TextDocumentSync_8cpp_source.html new file mode 100644 index 000000000..32052844d --- /dev/null +++ b/TextDocumentSync_8cpp_source.html @@ -0,0 +1,167 @@ + + + + + + + +nixd: TextDocumentSync.cpp Source File + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
TextDocumentSync.cpp
+
+
+Go to the documentation of this file.
1/// \file
+
2/// \brief Implementation of the [text document
+
3/// sync](https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#textDocument_synchronization).
+
4#include "Controller.h"
+
5
+ +
7
+
8namespace nixd {
+
9
+
10using namespace llvm::json;
+
11using namespace lspserver;
+
12
+
13void Controller::onDocumentDidOpen(
+ +
15 PathRef File = Params.textDocument.uri.file();
+
16 const std::string &Contents = Params.textDocument.text;
+
17 std::optional<int64_t> Version = Params.textDocument.version;
+
18 Store.addDraft(File, DraftStore::encodeVersion(Version), Contents);
+
19 actOnDocumentAdd(File, Version);
+
20}
+
21
+
22void Controller::onDocumentDidChange(
+
23 const DidChangeTextDocumentParams &Params) {
+
24 PathRef File = Params.textDocument.uri.file();
+
25 auto Code = Store.getDraft(File);
+
26 if (!Code) {
+
27 log("Trying to incrementally change non-added document: {0}", File);
+
28 return;
+
29 }
+
30 std::string NewCode(*Code->Contents);
+
31 for (const auto &Change : Params.contentChanges) {
+
32 if (auto Err = applyChange(NewCode, Change)) {
+
33 // If this fails, we are most likely going to be not in sync anymore
+
34 // with the client. It is better to remove the draft and let further
+
35 // operations fail rather than giving wrong results.
+
36 removeDocument(File);
+
37 elog("Failed to update {0}: {1}", File, std::move(Err));
+
38 return;
+
39 }
+
40 }
+
41 std::optional<int64_t> Version = Params.textDocument.version;
+
42 Store.addDraft(File, DraftStore::encodeVersion(Version), NewCode);
+
43 actOnDocumentAdd(File, Version);
+
44}
+
45
+
46void Controller::onDocumentDidClose(const DidCloseTextDocumentParams &Params) {
+
47 PathRef File = Params.textDocument.uri.file();
+
48 removeDocument(File);
+
49}
+
50
+
51} // namespace nixd
+ + +
static std::string encodeVersion(std::optional< int64_t > LSPVersion)
+
std::optional< Draft > getDraft(PathRef File) const
+
std::string addDraft(PathRef File, llvm::StringRef Version, llvm::StringRef Contents)
+
Whether current platform treats paths case insensitively.
Definition Connection.h:11
+
llvm::Error applyChange(std::string &Contents, const TextDocumentContentChangeEvent &Change)
Apply an incremental update to a text document.
+
void elog(const char *Fmt, Ts &&...Vals)
Definition Logger.h:52
+ +
llvm::StringRef PathRef
Definition Path.h:27
+
void log(const char *Fmt, Ts &&...Vals)
Definition Logger.h:58
+ + + + +
TextDocumentIdentifier textDocument
The document that was closed.
+ +
TextDocumentItem textDocument
The document that was opened.
+ + +
std::string text
The content of the opened text document.
+ +
llvm::StringRef file() const
Retrieves absolute path to the file.
+ +
+ + + + diff --git a/TokenKinds_8h.html b/TokenKinds_8h.html new file mode 100644 index 000000000..60d9f7b1e --- /dev/null +++ b/TokenKinds_8h.html @@ -0,0 +1,132 @@ + + + + + + + +nixd: TokenKinds.h File Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
TokenKinds.h File Reference
+
+
+ +

Go to the source code of this file.

+ + + + + + +

+Namespaces

namespace  nixf
 
namespace  nixf::tok
 
+ + + +

+Macros

#define TOK(NAME)   tok_##NAME,
 
+ + + +

+Enumerations

enum  nixf::tok::TokenKind
 
+

Macro Definition Documentation

+ +

◆ TOK

+ +
+
+ + + + + + + +
#define TOK( NAME)   tok_##NAME,
+
+ +

Definition at line 6 of file TokenKinds.h.

+ +
+
+
+ + + + diff --git a/TokenKinds_8h_source.html b/TokenKinds_8h_source.html new file mode 100644 index 000000000..adf35faee --- /dev/null +++ b/TokenKinds_8h_source.html @@ -0,0 +1,110 @@ + + + + + + + +nixd: TokenKinds.h Source File + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
TokenKinds.h
+
+
+Go to the documentation of this file.
1#pragma once
+
2
+
+
3namespace nixf::tok {
+
4
+
+ +
6#define TOK(NAME) tok_##NAME,
+ +
8#undef TOK
+
9};
+
+
10
+
11} // namespace nixf::tok
+
+ + + +
+ + + + diff --git a/TokenKinds_8inc.html b/TokenKinds_8inc.html new file mode 100644 index 000000000..2aa7c08c7 --- /dev/null +++ b/TokenKinds_8inc.html @@ -0,0 +1,89 @@ + + + + + + + +nixd: TokenKinds.inc File Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
TokenKinds.inc File Reference
+
+
+ +

Go to the source code of this file.

+
+ + + + diff --git a/TokenKinds_8inc_source.html b/TokenKinds_8inc_source.html new file mode 100644 index 000000000..1b244c17f --- /dev/null +++ b/TokenKinds_8inc_source.html @@ -0,0 +1,187 @@ + + + + + + + +nixd: TokenKinds.inc Source File + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
TokenKinds.inc
+
+
+Go to the documentation of this file.
1/// TokenKinds.inc, token names.
+
2
+
3/// provides: TOK(NAME), for all tokens.
+
4
+
5/// note: keyword tokens will be prefixed with kw_ and they are declared in
+
6/// TokenKeywords.inc
+
7
+
8// Keywords goes here, they are special identifiers.
+
9#ifdef TOK_KEYWORD
+
10
+ +
12TOK_KEYWORD(then)
+
13TOK_KEYWORD(else)
+
14TOK_KEYWORD(assert)
+
15TOK_KEYWORD(with)
+
16TOK_KEYWORD(let)
+ +
18TOK_KEYWORD(rec)
+
19TOK_KEYWORD(inherit)
+ +
21
+
22#endif // TOK_KEYWORD
+
23
+
24#ifdef TOK
+
25TOK(eof)
+
26
+
27// Identifier.
+
28TOK(id)
+
29
+
30// Numbers.
+
31TOK(int)
+
32TOK(float)
+
33
+
34// Strings.
+
35TOK(dquote)
+
36TOK(string_part)
+
37TOK(string_escape) // escaped string, e.g. \r \n \x \"
+
38
+
39TOK(quote2) // ''
+
40
+
41// Path.
+
42TOK(path_fragment)
+
43// URI.
+
44TOK(uri)
+
45
+
46// Interpolation.
+
47TOK(r_curly) // {
+
48TOK(dollar_curly) // ${
+
49
+
50TOK(ellipsis) // ...
+
51TOK(comma) // ,
+
52TOK(dot) // .
+
53TOK(semi_colon) // ;
+
54TOK(eq) // =
+
55TOK(l_curly) // {
+
56TOK(l_paren) // (
+
57TOK(r_paren) // )
+
58TOK(l_bracket) // [
+
59TOK(r_bracket) // ]
+
60
+
61TOK(question) // ?
+
62TOK(at) // @
+
63TOK(colon) // :
+
64
+
65TOK(unknown)
+
66
+
67TOK(path_end) // emtpy token, notifies the parser it should exit parsing path.
+
68
+
69TOK(op_not) // !
+
70
+
71#endif // TOK
+
72
+
73// Binary Ops
+
74#ifdef TOK_BIN_OP
+
75
+
76TOK_BIN_OP(impl) // ->
+
77TOK_BIN_OP(or) // ||
+
78TOK_BIN_OP(and) // &&
+
79TOK_BIN_OP(eq) // ==
+
80TOK_BIN_OP(neq) // !=
+
81TOK_BIN_OP(lt) // <
+
82TOK_BIN_OP(gt) // >
+
83TOK_BIN_OP(le) // <=
+
84TOK_BIN_OP(ge) // >=
+
85TOK_BIN_OP(update) // //
+
86TOK_BIN_OP(add) // +
+
87TOK_BIN_OP(negate) // -
+
88TOK_BIN_OP(mul) // *
+
89TOK_BIN_OP(div) // /
+
90TOK_BIN_OP(concat) // ++
+
91
+
92#endif // TOK_BIN_OP
+
#define TOK_KEYWORD(NAME)
+
#define TOK_BIN_OP(NAME)
+
#define TOK(NAME)
Definition TokenKinds.h:6
+
+ + + + diff --git a/Token_8h.html b/Token_8h.html new file mode 100644 index 000000000..7a4668a9e --- /dev/null +++ b/Token_8h.html @@ -0,0 +1,144 @@ + + + + + + + +nixd: Token.h File Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
Token.h File Reference
+
+
+
#include "nixf/Basic/Range.h"
+#include "nixf/Basic/TokenKinds.h"
+#include <cassert>
+#include <string>
+#include <string_view>
+#include "nixf/Basic/TokenKinds.inc"
+
+

Go to the source code of this file.

+ + + + + +

+Classes

class  nixf::Token
 A token. With it's kind, and the range in source code. More...
 
+ + + + + +

+Namespaces

namespace  nixf
 
namespace  nixf::tok
 
+ + + +

+Macros

#define TOK_KEYWORD(NAME)
 
+ + + +

+Functions

constexpr std::string_view nixf::tok::spelling (TokenKind Kind)
 
+

Macro Definition Documentation

+ +

◆ TOK_KEYWORD

+ +
+
+ + + + + + + +
#define TOK_KEYWORD( NAME)
+
+Value:
case tok_kw_##NAME: \
+
return #NAME;
+
+
+
+
+ + + + diff --git a/Token_8h_source.html b/Token_8h_source.html new file mode 100644 index 000000000..b581ea555 --- /dev/null +++ b/Token_8h_source.html @@ -0,0 +1,186 @@ + + + + + + + +nixd: Token.h Source File + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Token.h
+
+
+Go to the documentation of this file.
1#pragma once
+
2
+
3#include "nixf/Basic/Range.h"
+ +
5
+
6#include <cassert>
+
7#include <string>
+
8#include <string_view>
+
9
+
10namespace nixf {
+
11
+
12namespace tok {
+
13
+
+
14constexpr std::string_view spelling(TokenKind Kind) {
+
15 switch (Kind) {
+
16#define TOK_KEYWORD(NAME) \
+
17 case tok_kw_##NAME: \
+
18 return #NAME;
+ +
20#undef TOK_KEYWORD
+
21 case tok_dquote:
+
22 return "\"";
+
23 case tok_quote2:
+
24 return "''";
+
25 case tok_dollar_curly:
+
26 return "${";
+
27 case tok_l_curly:
+
28 return "{";
+
29 case tok_r_curly:
+
30 return "}";
+
31 case tok_l_paren:
+
32 return "(";
+
33 case tok_r_paren:
+
34 return ")";
+
35 case tok_eq:
+
36 return "=";
+
37 case tok_semi_colon:
+
38 return ";";
+
39 case tok_l_bracket:
+
40 return "[";
+
41 case tok_r_bracket:
+
42 return "]";
+
43 case tok_colon:
+
44 return ":";
+
45 default:
+
46 assert(false && "Not yet implemented!");
+
47 }
+
48 __builtin_unreachable();
+
49}
+
+
50
+
51} // namespace tok
+
52
+
53/// \brief A token. With it's kind, and the range in source code.
+
54///
+
55/// This class is trivially copyable.
+
+
56class Token {
+
57 tok::TokenKind Kind;
+
58 LexerCursorRange Range;
+
59 std::string_view View;
+
60
+
61public:
+
+
62 Token(tok::TokenKind Kind, LexerCursorRange Range, std::string_view View)
+
63 : Kind(Kind), Range(Range), View(View) {}
+
+
64 [[nodiscard]] LexerCursor lCur() const { return Range.lCur(); }
+
65 [[nodiscard]] LexerCursor rCur() const { return Range.rCur(); }
+
66 [[nodiscard]] tok::TokenKind kind() const { return Kind; }
+
67 [[nodiscard]] LexerCursorRange range() const { return Range; }
+
68 [[nodiscard]] std::string_view view() const { return View; }
+
69};
+
+
70
+
71} // namespace nixf
+ + + + +
LexerCursor lCur() const
Definition Range.h:116
+
LexerCursor rCur() const
Definition Range.h:117
+
A point in the source file.
Definition Range.h:57
+
A token. With it's kind, and the range in source code.
Definition Token.h:56
+
LexerCursor lCur() const
Definition Token.h:64
+
tok::TokenKind kind() const
Definition Token.h:66
+
LexerCursorRange range() const
Definition Token.h:67
+
Token(tok::TokenKind Kind, LexerCursorRange Range, std::string_view View)
Definition Token.h:62
+
LexerCursor rCur() const
Definition Token.h:65
+
std::string_view view() const
Definition Token.h:68
+
constexpr std::string_view spelling(TokenKind Kind)
Definition Token.h:14
+ + +
+ + + + diff --git a/Tokens_8inc.html b/Tokens_8inc.html new file mode 100644 index 000000000..31376ce6e --- /dev/null +++ b/Tokens_8inc.html @@ -0,0 +1,89 @@ + + + + + + + +nixd: Tokens.inc File Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Tokens.inc File Reference
+
+
+ +

Go to the source code of this file.

+
+ + + + diff --git a/Tokens_8inc_source.html b/Tokens_8inc_source.html new file mode 100644 index 000000000..a1cc8ed5d --- /dev/null +++ b/Tokens_8inc_source.html @@ -0,0 +1,102 @@ + + + + + + + +nixd: Tokens.inc Source File + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Tokens.inc
+
+
+Go to the documentation of this file.
1/// Tokens.inc, merge all tokens under "TOK"
+
2
+
3#ifdef TOK
+
4#define TOK_BIN_OP(NAME) TOK(op_##NAME)
+
5#define TOK_KEYWORD(NAME) TOK(kw_##NAME)
+
6#include "TokenKinds.inc"
+
7#undef TOK_KEYWORD
+
8#undef TOK_BIN_OP
+
9#endif
+ +
+ + + + diff --git a/Traverse_8inc.html b/Traverse_8inc.html new file mode 100644 index 000000000..4e4baf2a5 --- /dev/null +++ b/Traverse_8inc.html @@ -0,0 +1,89 @@ + + + + + + + +nixd: Traverse.inc File Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Traverse.inc File Reference
+
+
+ +

Go to the source code of this file.

+
+ + + + diff --git a/Traverse_8inc_source.html b/Traverse_8inc_source.html new file mode 100644 index 000000000..8521525a7 --- /dev/null +++ b/Traverse_8inc_source.html @@ -0,0 +1,198 @@ + + + + + + + +nixd: Traverse.inc Source File + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Traverse.inc
+
+
+Go to the documentation of this file.
1/// Traverse.inc, the file declares how to traverse nix::Expr
+
2///
+
3/// The file provides: DEF_TRAVERSE_TYPE(Name, Stmt)
+
4/// Stmt defines how to traverse AST nodes (i.e. visit it's subnodes)
+
5/// The subnodes is wrapped around with macro TRY_TO_TRAVERSE.
+
6
+
7#ifdef DEF_TRAVERSE_TYPE
+
8
+
9DEF_TRAVERSE_TYPE(ExprAssert, {
+
10 TRY_TO_TRAVERSE(T->cond);
+
11 TRY_TO_TRAVERSE(T->body);
+
12})
+
13
+
14DEF_TRAVERSE_TYPE(ExprAttrs, {
+
15 for (auto &[_, Elem] : T->attrs)
+
16 TRY_TO_TRAVERSE(Elem.e);
+
17 for (auto &DAD : T->dynamicAttrs) {
+
18 TRY_TO_TRAVERSE(DAD.nameExpr);
+
19 TRY_TO_TRAVERSE(DAD.valueExpr);
+
20 }
+
21})
+
22
+
23DEF_TRAVERSE_TYPE(ExprCall, {
+
24 for (auto &Arg : T->args)
+
25 TRY_TO_TRAVERSE(Arg);
+
26 TRY_TO_TRAVERSE(T->fun);
+
27})
+
28
+
29DEF_TRAVERSE_TYPE(ExprConcatStrings, {
+
30 for (auto &[_, E] : *T->es)
+ +
32})
+
33
+
34DEF_TRAVERSE_TYPE(ExprFloat, {})
+
35
+
36DEF_TRAVERSE_TYPE(ExprIf, {
+
37 TRY_TO_TRAVERSE(T->cond);
+
38 TRY_TO_TRAVERSE(T->then);
+
39 TRY_TO_TRAVERSE(T->else_);
+
40})
+
41
+
42DEF_TRAVERSE_TYPE(ExprInt, {})
+
43
+
44DEF_TRAVERSE_TYPE(ExprLambda, {
+
45 if (T->hasFormals())
+
46 for (auto &F : T->formals->formals)
+
47 TRY_TO_TRAVERSE(F.def);
+
48 TRY_TO_TRAVERSE(T->body);
+
49})
+
50
+
51DEF_TRAVERSE_TYPE(ExprLet, {
+
52 TRY_TO_TRAVERSE(T->attrs);
+
53 TRY_TO_TRAVERSE(T->body);
+
54})
+
55
+
56DEF_TRAVERSE_TYPE(ExprList, {
+
57 for (auto &E : T->elems)
+ +
59})
+
60
+
61#define DEF_TRAVERSE_BINARY_EXPR(BIN_OP) \
+
62 DEF_TRAVERSE_TYPE(BIN_OP, { \
+
63 TRY_TO_TRAVERSE(T->e1); \
+
64 TRY_TO_TRAVERSE(T->e2); \
+
65 })
+
66
+
67DEF_TRAVERSE_BINARY_EXPR(ExprOpAnd)
+
68DEF_TRAVERSE_BINARY_EXPR(ExprOpConcatLists)
+
69DEF_TRAVERSE_BINARY_EXPR(ExprOpEq)
+
70DEF_TRAVERSE_BINARY_EXPR(ExprOpImpl)
+
71DEF_TRAVERSE_BINARY_EXPR(ExprOpNEq)
+
72DEF_TRAVERSE_BINARY_EXPR(ExprOpOr)
+
73DEF_TRAVERSE_BINARY_EXPR(ExprOpUpdate)
+
74
+
75#undef DEF_TRAVERSE_BINARY_EXPR
+
76
+
77DEF_TRAVERSE_TYPE(ExprOpHasAttr, {
+
78 TRY_TO_TRAVERSE(T->e);
+
79 for (auto &E : T->attrPath)
+
80 if (!E.symbol)
+
81 TRY_TO_TRAVERSE(E.expr);
+
82})
+
83
+
84DEF_TRAVERSE_TYPE(ExprOpNot, { TRY_TO_TRAVERSE(T->e); })
+
85
+
86DEF_TRAVERSE_TYPE(ExprPath, {})
+
87DEF_TRAVERSE_TYPE(ExprPos, {})
+
88DEF_TRAVERSE_TYPE(ExprSelect, {
+
89 TRY_TO_TRAVERSE(T->def);
+
90 TRY_TO_TRAVERSE(T->e);
+
91 for (auto &E : T->attrPath) {
+
92 if (!E.symbol)
+
93 TRY_TO_TRAVERSE(E.expr);
+
94 }
+
95})
+
96
+
97DEF_TRAVERSE_TYPE(ExprString, {})
+
98DEF_TRAVERSE_TYPE(ExprVar, {})
+
99DEF_TRAVERSE_TYPE(ExprWith, {
+
100 TRY_TO_TRAVERSE(T->attrs);
+
101 TRY_TO_TRAVERSE(T->body);
+
102})
+
103
+
104#endif // DEF_TRAVERSE_TYPE
+
#define DEF_TRAVERSE_TYPE(TYPE, CODE)
Definition Visitor.h:87
+
#define TRY_TO_TRAVERSE(EXPR)
Definition Visitor.h:85
+
+ + + + diff --git a/Type_8h.html b/Type_8h.html new file mode 100644 index 000000000..13822ed4f --- /dev/null +++ b/Type_8h.html @@ -0,0 +1,108 @@ + + + + + + + +nixd: Type.h File Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
Type.h File Reference
+
+
+
#include <cstdint>
+
+

Go to the source code of this file.

+ + + + +

+Namespaces

namespace  nixbc
 
+ + + + + + + +

+Typedefs

using nixbc::NixInt = int64_t
 
using nixbc::NixFloat = double
 
using nixbc::PosInt = uint32_t
 
+
+ + + + diff --git a/Type_8h_source.html b/Type_8h_source.html new file mode 100644 index 000000000..027e6f456 --- /dev/null +++ b/Type_8h_source.html @@ -0,0 +1,107 @@ + + + + + + + +nixd: Type.h Source File + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Type.h
+
+
+Go to the documentation of this file.
1#pragma once
+
2
+
3#include <cstdint>
+
4
+
5namespace nixbc {
+
6
+
7using NixInt = int64_t;
+
8using NixFloat = double;
+
9using PosInt = uint32_t;
+
10
+
11} // namespace nixbc
+ +
int64_t NixInt
Definition Type.h:7
+
uint32_t PosInt
Definition Type.h:9
+
double NixFloat
Definition Type.h:8
+
+ + + + diff --git a/URI_8cpp.html b/URI_8cpp.html new file mode 100644 index 000000000..60ac24ae8 --- /dev/null +++ b/URI_8cpp.html @@ -0,0 +1,104 @@ + + + + + + + +nixd: URI.cpp File Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
URI.cpp File Reference
+
+
+
#include "lspserver/URI.h"
+#include "lspserver/Logger.h"
+#include <llvm/ADT/StringExtras.h>
+#include <llvm/ADT/Twine.h>
+#include <llvm/Support/Error.h>
+#include <llvm/Support/Path.h>
+
+

Go to the source code of this file.

+ + + + + +

+Namespaces

namespace  lspserver
 Whether current platform treats paths case insensitively.
 
+
+ + + + diff --git a/URI_8cpp_source.html b/URI_8cpp_source.html new file mode 100644 index 000000000..ae258338f --- /dev/null +++ b/URI_8cpp_source.html @@ -0,0 +1,403 @@ + + + + + + + +nixd: URI.cpp Source File + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
URI.cpp
+
+
+Go to the documentation of this file.
1//===---- URI.h - File URIs with schemes -------------------------*- C++-*-===//
+
2//
+
3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+
4// See https://llvm.org/LICENSE.txt for license information.
+
5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+
6//
+
7//===----------------------------------------------------------------------===//
+
8
+
9#include "lspserver/URI.h"
+
10#include "lspserver/Logger.h"
+
11#include <llvm/ADT/StringExtras.h>
+
12#include <llvm/ADT/Twine.h>
+
13#include <llvm/Support/Error.h>
+
14#include <llvm/Support/Path.h>
+
15
+
16LLVM_INSTANTIATE_REGISTRY(lspserver::URISchemeRegistry)
+
17
+
18namespace lspserver {
+
19namespace {
+
20
+
21bool isWindowsPath(llvm::StringRef Path) {
+
22 return Path.size() > 1 && llvm::isAlpha(Path[0]) && Path[1] == ':';
+
23}
+
24
+
25bool isNetworkPath(llvm::StringRef Path) {
+
26 return Path.size() > 2 && Path[0] == Path[1] &&
+
27 llvm::sys::path::is_separator(Path[0]);
+
28}
+
29
+
30/// This manages file paths in the file system. All paths in the scheme
+
31/// are absolute (with leading '/').
+
32/// Note that this scheme is hardcoded into the library and not registered in
+
33/// registry.
+
34class FileSystemScheme : public URIScheme {
+
35public:
+
36 llvm::Expected<std::string>
+
37 getAbsolutePath(llvm::StringRef Authority, llvm::StringRef Body,
+
38 llvm::StringRef /*HintPath*/) const override {
+
39 if (!Body.startswith("/"))
+
40 return error("File scheme: expect body to be an absolute path starting "
+
41 "with '/': {0}",
+
42 Body);
+
43 llvm::SmallString<128> Path;
+
44 if (!Authority.empty()) {
+
45 // Windows UNC paths e.g. file://server/share => \\server\share
+
46 ("//" + Authority).toVector(Path);
+
47 } else if (isWindowsPath(Body.substr(1))) {
+
48 // Windows paths e.g. file:///X:/path => X:\path
+
49 Body.consume_front("/");
+
50 }
+
51 Path.append(Body);
+
52 llvm::sys::path::native(Path);
+
53 return std::string(Path);
+
54 }
+
55
+
56 llvm::Expected<URI>
+
57 uriFromAbsolutePath(llvm::StringRef AbsolutePath) const override {
+
58 std::string Body;
+
59 llvm::StringRef Authority;
+
60 llvm::StringRef Root = llvm::sys::path::root_name(AbsolutePath);
+
61 if (isNetworkPath(Root)) {
+
62 // Windows UNC paths e.g. \\server\share => file://server/share
+
63 Authority = Root.drop_front(2);
+
64 AbsolutePath.consume_front(Root);
+
65 } else if (isWindowsPath(Root)) {
+
66 // Windows paths e.g. X:\path => file:///X:/path
+
67 Body = "/";
+
68 }
+
69 Body += llvm::sys::path::convert_to_slash(AbsolutePath);
+
70 return URI("file", Authority, Body);
+
71 }
+
72};
+
73
+
74llvm::Expected<std::unique_ptr<URIScheme>>
+
75findSchemeByName(llvm::StringRef Scheme) {
+
76 if (Scheme == "file")
+
77 return std::make_unique<FileSystemScheme>();
+
78
+
79 for (const auto &URIScheme : URISchemeRegistry::entries()) {
+
80 if (URIScheme.getName() != Scheme)
+
81 continue;
+
82 return URIScheme.instantiate();
+
83 }
+
84 return error("Can't find scheme: {0}", Scheme);
+
85}
+
86
+
87bool shouldEscape(unsigned char C) {
+
88 // Unreserved characters.
+
89 if ((C >= 'a' && C <= 'z') || (C >= 'A' && C <= 'Z') ||
+
90 (C >= '0' && C <= '9'))
+
91 return false;
+
92 switch (C) {
+
93 case '-':
+
94 case '_':
+
95 case '.':
+
96 case '~':
+
97 case '/': // '/' is only reserved when parsing.
+
98 // ':' is only reserved for relative URI paths, which clangd doesn't produce.
+
99 case ':':
+
100 return false;
+
101 }
+
102 return true;
+
103}
+
104
+
105/// Encodes a string according to percent-encoding.
+
106/// - Unreserved characters are not escaped.
+
107/// - Reserved characters always escaped with exceptions like '/'.
+
108/// - All other characters are escaped.
+
109void percentEncode(llvm::StringRef Content, std::string &Out) {
+
110 for (unsigned char C : Content)
+
111 if (shouldEscape(C)) {
+
112 Out.push_back('%');
+
113 Out.push_back(llvm::hexdigit(C / 16));
+
114 Out.push_back(llvm::hexdigit(C % 16));
+
115 } else {
+
116 Out.push_back(C);
+
117 }
+
118}
+
119
+
120/// Decodes a string according to percent-encoding.
+
121std::string percentDecode(llvm::StringRef Content) {
+
122 std::string Result;
+
123 for (auto I = Content.begin(), E = Content.end(); I != E; ++I) {
+
124 if (*I != '%') {
+
125 Result += *I;
+
126 continue;
+
127 }
+
128 if (*I == '%' && I + 2 < Content.end() && llvm::isHexDigit(*(I + 1)) &&
+
129 llvm::isHexDigit(*(I + 2))) {
+
130 Result.push_back(llvm::hexFromNibbles(*(I + 1), *(I + 2)));
+
131 I += 2;
+
132 } else
+
133 Result.push_back(*I);
+
134 }
+
135 return Result;
+
136}
+
137
+
138bool isValidScheme(llvm::StringRef Scheme) {
+
139 if (Scheme.empty())
+
140 return false;
+
141 if (!llvm::isAlpha(Scheme[0]))
+
142 return false;
+
143 return llvm::all_of(llvm::drop_begin(Scheme), [](char C) {
+
144 return llvm::isAlnum(C) || C == '+' || C == '.' || C == '-';
+
145 });
+
146}
+
147
+
148} // namespace
+
149
+
+
150URI::URI(llvm::StringRef Scheme, llvm::StringRef Authority,
+
151 llvm::StringRef Body)
+
152 : Scheme(Scheme), Authority(Authority), Body(Body) {
+
153 assert(!Scheme.empty());
+
154 assert((Authority.empty() || Body.startswith("/")) &&
+
155 "URI body must start with '/' when authority is present.");
+
156}
+
+
157
+
+
158std::string URI::toString() const {
+
159 std::string Result;
+
160 percentEncode(Scheme, Result);
+
161 Result.push_back(':');
+
162 if (Authority.empty() && Body.empty())
+
163 return Result;
+
164 // If authority if empty, we only print body if it starts with "/"; otherwise,
+
165 // the URI is invalid.
+
166 if (!Authority.empty() || llvm::StringRef(Body).startswith("/")) {
+
167 Result.append("//");
+
168 percentEncode(Authority, Result);
+
169 }
+
170 percentEncode(Body, Result);
+
171 return Result;
+
172}
+
+
173
+
+
174llvm::Expected<URI> URI::parse(llvm::StringRef OrigUri) {
+
175 URI U;
+
176 llvm::StringRef Uri = OrigUri;
+
177
+
178 auto Pos = Uri.find(':');
+
179 if (Pos == llvm::StringRef::npos)
+
180 return error("Scheme must be provided in URI: {0}", OrigUri);
+
181 auto SchemeStr = Uri.substr(0, Pos);
+
182 U.Scheme = percentDecode(SchemeStr);
+
183 if (!isValidScheme(U.Scheme))
+
184 return error("Invalid scheme: {0} (decoded: {1})", SchemeStr, U.Scheme);
+
185 Uri = Uri.substr(Pos + 1);
+
186 if (Uri.consume_front("//")) {
+
187 Pos = Uri.find('/');
+
188 U.Authority = percentDecode(Uri.substr(0, Pos));
+
189 Uri = Uri.substr(Pos);
+
190 }
+
191 U.Body = percentDecode(Uri);
+
192 return U;
+
193}
+
+
194
+
+
195llvm::Expected<std::string> URI::resolve(llvm::StringRef FileURI,
+
196 llvm::StringRef HintPath) {
+
197 auto Uri = URI::parse(FileURI);
+
198 if (!Uri)
+
199 return Uri.takeError();
+
200 auto Path = URI::resolve(*Uri, HintPath);
+
201 if (!Path)
+
202 return Path.takeError();
+
203 return *Path;
+
204}
+
+
205
+
+
206llvm::Expected<URI> URI::create(llvm::StringRef AbsolutePath,
+
207 llvm::StringRef Scheme) {
+
208 if (!llvm::sys::path::is_absolute(AbsolutePath))
+
209 return error("Not a valid absolute path: {0}", AbsolutePath);
+
210 auto S = findSchemeByName(Scheme);
+
211 if (!S)
+
212 return S.takeError();
+
213 return S->get()->uriFromAbsolutePath(AbsolutePath);
+
214}
+
+
215
+
+
216URI URI::create(llvm::StringRef AbsolutePath) {
+
217 if (!llvm::sys::path::is_absolute(AbsolutePath))
+
218 llvm_unreachable(
+
219 ("Not a valid absolute path: " + AbsolutePath).str().c_str());
+
220 for (auto &Entry : URISchemeRegistry::entries()) {
+
221 auto URI = Entry.instantiate()->uriFromAbsolutePath(AbsolutePath);
+
222 // For some paths, conversion to different URI schemes is impossible. These
+
223 // should be just skipped.
+
224 if (!URI) {
+
225 // Ignore the error.
+
226 llvm::consumeError(URI.takeError());
+
227 continue;
+
228 }
+
229 return std::move(*URI);
+
230 }
+
231 // Fallback to file: scheme which should work for any paths.
+
232 return URI::createFile(AbsolutePath);
+
233}
+
+
234
+
+
235URI URI::createFile(llvm::StringRef AbsolutePath) {
+
236 auto U = FileSystemScheme().uriFromAbsolutePath(AbsolutePath);
+
237 if (!U)
+
238 llvm_unreachable(llvm::toString(U.takeError()).c_str());
+
239 return std::move(*U);
+
240}
+
+
241
+
+
242llvm::Expected<std::string> URI::resolve(const URI &Uri,
+
243 llvm::StringRef HintPath) {
+
244 auto S = findSchemeByName(Uri.Scheme);
+
245 if (!S)
+
246 return S.takeError();
+
247 return S->get()->getAbsolutePath(Uri.Authority, Uri.Body, HintPath);
+
248}
+
+
249
+
+
250llvm::Expected<std::string> URI::resolvePath(llvm::StringRef AbsPath,
+
251 llvm::StringRef HintPath) {
+
252 if (!llvm::sys::path::is_absolute(AbsPath))
+
253 llvm_unreachable(("Not a valid absolute path: " + AbsPath).str().c_str());
+
254 for (auto &Entry : URISchemeRegistry::entries()) {
+
255 auto S = Entry.instantiate();
+
256 auto U = S->uriFromAbsolutePath(AbsPath);
+
257 // For some paths, conversion to different URI schemes is impossible. These
+
258 // should be just skipped.
+
259 if (!U) {
+
260 // Ignore the error.
+
261 llvm::consumeError(U.takeError());
+
262 continue;
+
263 }
+
264 return S->getAbsolutePath(U->Authority, U->Body, HintPath);
+
265 }
+
266 // Fallback to file: scheme which doesn't do any canonicalization.
+
267 return std::string(AbsPath);
+
268}
+
+
269
+
+
270llvm::Expected<std::string> URI::includeSpelling(const URI &Uri) {
+
271 auto S = findSchemeByName(Uri.Scheme);
+
272 if (!S)
+
273 return S.takeError();
+
274 return S->get()->getIncludeSpelling(Uri);
+
275}
+
+
276
+
277} // namespace lspserver
+ + + +
static llvm::Expected< std::string > resolve(const URI &U, llvm::StringRef HintPath="")
Definition URI.cpp:242
+
static llvm::Expected< URI > parse(llvm::StringRef Uri)
Definition URI.cpp:174
+
static llvm::Expected< URI > create(llvm::StringRef AbsolutePath, llvm::StringRef Scheme)
Definition URI.cpp:206
+
std::string toString() const
Returns a string URI with all components percent-encoded.
Definition URI.cpp:158
+
static llvm::Expected< std::string > includeSpelling(const URI &U)
Definition URI.cpp:270
+
static URI createFile(llvm::StringRef AbsolutePath)
This creates a file:// URI for AbsolutePath. The path must be absolute.
Definition URI.cpp:235
+
static llvm::Expected< std::string > resolvePath(llvm::StringRef AbsPath, llvm::StringRef HintPath="")
Definition URI.cpp:250
+
Whether current platform treats paths case insensitively.
Definition Connection.h:11
+
std::string Path
Definition Path.h:24
+
llvm::Error error(std::error_code EC, const char *Fmt, Ts &&...Vals)
Definition Logger.h:70
+
llvm::Registry< URIScheme > URISchemeRegistry
Definition URI.h:121
+
+ + + + diff --git a/URI_8h.html b/URI_8h.html new file mode 100644 index 000000000..2dfe99215 --- /dev/null +++ b/URI_8h.html @@ -0,0 +1,115 @@ + + + + + + + +nixd: URI.h File Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
URI.h File Reference
+
+
+
#include <llvm/ADT/StringRef.h>
+#include <llvm/Support/Error.h>
+#include <llvm/Support/Registry.h>
+
+

Go to the source code of this file.

+ + + + + + +

+Classes

class  lspserver::URI
 
class  lspserver::URIScheme
 
+ + + + +

+Namespaces

namespace  lspserver
 Whether current platform treats paths case insensitively.
 
+ + + +

+Typedefs

typedef llvm::Registry< URISchemelspserver::URISchemeRegistry
 
+
+ + + + diff --git a/URI_8h_source.html b/URI_8h_source.html new file mode 100644 index 000000000..12c39f083 --- /dev/null +++ b/URI_8h_source.html @@ -0,0 +1,245 @@ + + + + + + + +nixd: URI.h Source File + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
URI.h
+
+
+Go to the documentation of this file.
1#pragma once
+
2
+
3#include <llvm/ADT/StringRef.h>
+
4#include <llvm/Support/Error.h>
+
5#include <llvm/Support/Registry.h>
+
6
+
7namespace lspserver {
+
8
+
9/// A URI describes the location of a source file.
+
10/// In the simplest case, this is a "file" URI that directly encodes the
+
11/// absolute path to a file. More abstract cases are possible: a shared index
+
12/// service might expose repo:// URIs that are relative to the source control
+
13/// root.
+
14///
+
15/// Clangd handles URIs of the form <scheme>:[//<authority>]<body>. It doesn't
+
16/// further split the authority or body into constituent parts (e.g. query
+
17/// strings is included in the body).
+
+
18class URI {
+
19public:
+
20 URI(llvm::StringRef Scheme, llvm::StringRef Authority, llvm::StringRef Body);
+
21
+
22 /// Returns decoded scheme e.g. "https"
+
23 llvm::StringRef scheme() const { return Scheme; }
+
24 /// Returns decoded authority e.g. "reviews.lvm.org"
+
25 llvm::StringRef authority() const { return Authority; }
+
26 /// Returns decoded body e.g. "/D41946"
+
27 llvm::StringRef body() const { return Body; }
+
28
+
29 /// Returns a string URI with all components percent-encoded.
+
30 std::string toString() const;
+
31
+
32 /// Creates a URI for a file in the given scheme. \p Scheme must be
+
33 /// registered. The URI is percent-encoded.
+
34 static llvm::Expected<URI> create(llvm::StringRef AbsolutePath,
+
35 llvm::StringRef Scheme);
+
36
+
37 // Similar to above except this picks a registered scheme that works. If none
+
38 // works, this falls back to "file" scheme.
+
39 static URI create(llvm::StringRef AbsolutePath);
+
40
+
41 /// This creates a file:// URI for \p AbsolutePath. The path must be absolute.
+
42 static URI createFile(llvm::StringRef AbsolutePath);
+
43
+
44 /// Parse a URI string "<scheme>:[//<authority>/]<path>". Percent-encoded
+
45 /// characters in the URI will be decoded.
+
46 static llvm::Expected<URI> parse(llvm::StringRef Uri);
+
47
+
48 /// Resolves the absolute path of \p U. If there is no matching scheme, or the
+
49 /// URI is invalid in the scheme, this returns an error.
+
50 ///
+
51 /// \p HintPath A related path, such as the current file or working directory,
+
52 /// which can help disambiguate when the same file exists in many workspaces.
+
53 static llvm::Expected<std::string> resolve(const URI &U,
+
54 llvm::StringRef HintPath = "");
+
55
+
56 /// Same as above, in addition it parses the \p FileURI using URI::parse.
+
57 static llvm::Expected<std::string> resolve(llvm::StringRef FileURI,
+
58 llvm::StringRef HintPath = "");
+
59
+
60 /// Resolves \p AbsPath into a canonical path of its URI, by converting
+
61 /// \p AbsPath to URI and resolving the URI to get th canonical path.
+
62 /// This ensures that paths with the same URI are resolved into consistent
+
63 /// file path.
+
64 static llvm::Expected<std::string> resolvePath(llvm::StringRef AbsPath,
+
65 llvm::StringRef HintPath = "");
+
66
+
67 /// Gets the preferred spelling of this file for #include, if there is one,
+
68 /// e.g. <system_header.h>, "path/to/x.h".
+
69 ///
+
70 /// This allows URI schemas to provide their customized include paths.
+
71 ///
+
72 /// Returns an empty string if normal include-shortening based on the absolute
+
73 /// path should be used.
+
74 /// Fails if the URI is not valid in the schema.
+
75 static llvm::Expected<std::string> includeSpelling(const URI &U);
+
76
+
+
77 friend bool operator==(const URI &LHS, const URI &RHS) {
+
78 return std::tie(LHS.Scheme, LHS.Authority, LHS.Body) ==
+
79 std::tie(RHS.Scheme, RHS.Authority, RHS.Body);
+
80 }
+
+
81
+
+
82 friend bool operator<(const URI &LHS, const URI &RHS) {
+
83 return std::tie(LHS.Scheme, LHS.Authority, LHS.Body) <
+
84 std::tie(RHS.Scheme, RHS.Authority, RHS.Body);
+
85 }
+
+
86
+
87private:
+
88 URI() = default;
+
89
+
90 std::string Scheme;
+
91 std::string Authority;
+
92 std::string Body;
+
93};
+
+
94
+
95/// URIScheme is an extension point for teaching clangd to recognize a custom
+
96/// URI scheme. This is expected to be implemented and exposed via the
+
97/// URISchemeRegistry.
+
+
98class URIScheme {
+
99public:
+
100 virtual ~URIScheme() = default;
+
101
+
102 /// Returns the absolute path of the file corresponding to the URI
+
103 /// authority+body in the file system. See URI::resolve for semantics of
+
104 /// \p HintPath.
+
105 virtual llvm::Expected<std::string>
+
106 getAbsolutePath(llvm::StringRef Authority, llvm::StringRef Body,
+
107 llvm::StringRef HintPath) const = 0;
+
108
+
109 virtual llvm::Expected<URI>
+
110 uriFromAbsolutePath(llvm::StringRef AbsolutePath) const = 0;
+
111
+
112 /// Returns the include path of the file (e.g. <path>, "path"), which can be
+
113 /// #included directly. See URI::includeSpelling for details.
+
+
114 virtual llvm::Expected<std::string> getIncludeSpelling(const URI &U) const {
+
115 return ""; // no customized include path for this scheme.
+
116 }
+
+
117};
+
+
118
+
119/// By default, a "file" scheme is supported where URI paths are always absolute
+
120/// in the file system.
+
121typedef llvm::Registry<URIScheme> URISchemeRegistry;
+
122
+
123} // namespace lspserver
+ +
virtual ~URIScheme()=default
+
virtual llvm::Expected< std::string > getAbsolutePath(llvm::StringRef Authority, llvm::StringRef Body, llvm::StringRef HintPath) const =0
+
virtual llvm::Expected< URI > uriFromAbsolutePath(llvm::StringRef AbsolutePath) const =0
+
virtual llvm::Expected< std::string > getIncludeSpelling(const URI &U) const
Definition URI.h:114
+ +
friend bool operator<(const URI &LHS, const URI &RHS)
Definition URI.h:82
+
static llvm::Expected< std::string > resolve(const URI &U, llvm::StringRef HintPath="")
Definition URI.cpp:242
+
static llvm::Expected< URI > parse(llvm::StringRef Uri)
Definition URI.cpp:174
+
static llvm::Expected< URI > create(llvm::StringRef AbsolutePath, llvm::StringRef Scheme)
Definition URI.cpp:206
+
llvm::StringRef authority() const
Returns decoded authority e.g. "reviews.lvm.org".
Definition URI.h:25
+
llvm::StringRef body() const
Returns decoded body e.g. "/D41946".
Definition URI.h:27
+
llvm::StringRef scheme() const
Returns decoded scheme e.g. "https".
Definition URI.h:23
+
std::string toString() const
Returns a string URI with all components percent-encoded.
Definition URI.cpp:158
+
static llvm::Expected< std::string > includeSpelling(const URI &U)
Definition URI.cpp:270
+
friend bool operator==(const URI &LHS, const URI &RHS)
Definition URI.h:77
+
static URI createFile(llvm::StringRef AbsolutePath)
This creates a file:// URI for AbsolutePath. The path must be absolute.
Definition URI.cpp:235
+
static llvm::Expected< std::string > resolvePath(llvm::StringRef AbsPath, llvm::StringRef HintPath="")
Definition URI.cpp:250
+
Whether current platform treats paths case insensitively.
Definition Connection.h:11
+
llvm::Registry< URIScheme > URISchemeRegistry
Definition URI.h:121
+
+ + + + diff --git a/Visitor_8h.html b/Visitor_8h.html new file mode 100644 index 000000000..96c37ae85 --- /dev/null +++ b/Visitor_8h.html @@ -0,0 +1,269 @@ + + + + + + + +nixd: Visitor.h File Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
Visitor.h File Reference
+
+
+ +

Describe how to traverse upon nix::Expr * nodes. +More...

+
#include <nix/nixexpr.hh>
+#include <nix/symbol-table.hh>
+#include "Nodes.inc"
+#include "Traverse.inc"
+
+

Go to the source code of this file.

+ + + + + +

+Classes

struct  nixt::RecursiveASTVisitor< Derived >
 A CRTP base class for traversing nix::Expr * nodes. More...
 
+ + + + +

+Namespaces

namespace  nixt
 Access ParseCache in nix::EvalState.
 
+ + + + + + + + + + + + + +

+Macros

#define NIX_EXPR(EXPR)   bool traverse##EXPR(const nix::EXPR *E);
 
#define NIX_EXPR(EXPR)    bool visit##EXPR(const nix::EXPR *E) { return getDerived().visitExpr(E); }
 
#define NIX_EXPR(EXPR)
 
#define TRY_TO(CALL_EXPR)
 
#define TRY_TO_TRAVERSE(EXPR)   TRY_TO(traverseExpr(EXPR))
 
#define DEF_TRAVERSE_TYPE(TYPE, CODE)
 
+

Detailed Description

+

Describe how to traverse upon nix::Expr * nodes.

+

This file contains a CRTP base class for traversing nix::Expr * nodes.

+ +

Definition in file Visitor.h.

+

Macro Definition Documentation

+ +

◆ DEF_TRAVERSE_TYPE

+ +
+
+ + + + + + + + + + + +
#define DEF_TRAVERSE_TYPE( TYPE,
CODE )
+
+Value:
template <typename Derived> \
+
bool RecursiveASTVisitor<Derived>::traverse##TYPE(const nix::TYPE *T) { \
+
if (!getDerived().shouldTraversePostOrder()) \
+
TRY_TO(visit##TYPE(T)); \
+
{ CODE; } \
+
if (getDerived().shouldTraversePostOrder()) \
+
TRY_TO(visit##TYPE(T)); \
+
return true; \
+
}
+
+

Definition at line 87 of file Visitor.h.

+ +
+
+ +

◆ NIX_EXPR [1/3]

+ +
+
+ + + + + + + +
#define NIX_EXPR( EXPR)   bool traverse##EXPR(const nix::EXPR *E);
+
+ +

Definition at line 54 of file Visitor.h.

+ +
+
+ +

◆ NIX_EXPR [2/3]

+ +
+
+ + + + + + + +
#define NIX_EXPR( EXPR)    bool visit##EXPR(const nix::EXPR *E) { return getDerived().visitExpr(E); }
+
+ +

Definition at line 54 of file Visitor.h.

+ +
+
+ +

◆ NIX_EXPR [3/3]

+ +
+
+ + + + + + + +
#define NIX_EXPR( EXPR)
+
+Value:
if (auto CE = dynamic_cast<const nix::EXPR *>(E)) { \
+
return getDerived().traverse##EXPR(CE); \
+
}
+
#define EXPR(NAME)
Definition Basic.h:19
+
+

Definition at line 54 of file Visitor.h.

+ +
+
+ +

◆ TRY_TO

+ +
+
+ + + + + + + +
#define TRY_TO( CALL_EXPR)
+
+Value:
do { \
+
if (!getDerived().CALL_EXPR) \
+
return false; \
+
} while (false)
+
+

Definition at line 79 of file Visitor.h.

+ +
+
+ +

◆ TRY_TO_TRAVERSE

+ +
+
+ + + + + + + +
#define TRY_TO_TRAVERSE( EXPR)   TRY_TO(traverseExpr(EXPR))
+
+ +

Definition at line 85 of file Visitor.h.

+ +
+
+
+ + + + diff --git a/Visitor_8h_source.html b/Visitor_8h_source.html new file mode 100644 index 000000000..eaf8f3292 --- /dev/null +++ b/Visitor_8h_source.html @@ -0,0 +1,209 @@ + + + + + + + +nixd: Visitor.h Source File + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Visitor.h
+
+
+Go to the documentation of this file.
1/// \file
+
2/// \brief Describe how to traverse upon nix::Expr * nodes.
+
3///
+
4/// This file contains a CRTP base class for traversing nix::Expr * nodes.
+
5
+
6#pragma once
+
7
+
8#include <nix/nixexpr.hh>
+
9#include <nix/symbol-table.hh>
+
10
+
11/// \brief Library for playing with `nix::Expr` nodes.
+
12///
+
13/// This is a library with some utilities playing with nix AST nodes (e.g.
+
14/// traversing, visiting, encoding, decoding, dispatching, printing). It is not
+
15/// a parser, so you should use other libraries to parse nix code.
+
16
+
17namespace nixt {
+
18
+
19/// \brief A
+
20/// [CRTP](https://en.wikipedia.org/wiki/Curiously_recurring_template_pattern)
+
21/// base class for traversing `nix::Expr *` nodes.
+
22///
+
23/// Usage:
+
24///
+
25/// \code{.cpp}
+
26/// struct MyVisitor : public RecursiveASTVisitor<MyVisitor> {
+
27/// // This can be omitted.
+
28/// bool traverseExpr(const nix::Expr *E) {
+
29/// // Do something before/after traversing children.
+
30/// }
+
31///
+
32/// // return `true` to traverse post-order, otherwise pre-order (default).
+
33/// bool shouldTraversePostOrder() { return true; }
+
34///
+
35/// // sreturn `true` if we should continue traversing.
+
36/// bool visitExprInt(const nix::ExprInt *E) { return true; }
+
37/// bool visitExprFloat(const nix::ExprFloat *E) { return true; }
+
38/// } V;
+
39/// V.traverseExpr(Root); // call traverseExpr() on Root.
+
40/// \endcode
+
41///
+
42/// \note This is based on dynamic_cast, so it is not very efficient.
+
43///
+
44/// `visit*()` methods are called once for each node.` traverse*()` methods are
+
45/// automatically generated describing relations between nodes. Usually you
+
46/// should always write custom `visit*()` methods, and only write `traverse*()`
+
47/// methods when you need to do something special.
+
+
48template <class Derived> struct RecursiveASTVisitor {
+
49
+
50 bool shouldTraversePostOrder() { return false; }
+
51
+
52 bool visitExpr(const nix::Expr *) { return true; }
+
53
+
54#define NIX_EXPR(EXPR) bool traverse##EXPR(const nix::EXPR *E);
+
55#include "Nodes.inc"
+
56#undef NIX_EXPR
+
57
+
58#define NIX_EXPR(EXPR) \
+
59 bool visit##EXPR(const nix::EXPR *E) { return getDerived().visitExpr(E); }
+
60#include "Nodes.inc"
+
61#undef NIX_EXPR
+
62
+
63 Derived &getDerived() { return *static_cast<Derived *>(this); }
+
64
+
+
65 bool traverseExpr(const nix::Expr *E) {
+
66 if (!E)
+
67 return true;
+
68#define NIX_EXPR(EXPR) \
+
69 if (auto CE = dynamic_cast<const nix::EXPR *>(E)) { \
+
70 return getDerived().traverse##EXPR(CE); \
+
71 }
+
72#include "Nodes.inc"
+
73#undef NIX_EXPR
+
74 assert(false && "We are missing some nix AST Nodes!");
+
75 return true;
+
76 }
+
+
77};
+
+
78
+
+
79#define TRY_TO(CALL_EXPR) \
+
80 do { \
+
81 if (!getDerived().CALL_EXPR) \
+
82 return false; \
+
83 } while (false)
+
+
84
+
85#define TRY_TO_TRAVERSE(EXPR) TRY_TO(traverseExpr(EXPR))
+
86
+
+
87#define DEF_TRAVERSE_TYPE(TYPE, CODE) \
+
88 template <typename Derived> \
+
89 bool RecursiveASTVisitor<Derived>::traverse##TYPE(const nix::TYPE *T) { \
+
90 if (!getDerived().shouldTraversePostOrder()) \
+
91 TRY_TO(visit##TYPE(T)); \
+
92 { CODE; } \
+
93 if (getDerived().shouldTraversePostOrder()) \
+
94 TRY_TO(visit##TYPE(T)); \
+
95 return true; \
+
96 }
+
+
97#include "Traverse.inc"
+
98#undef DEF_TRAVERSE_TYPE
+
99#undef TRY_TO_TRAVERSE
+
100
+
101} // namespace nixt
+ + +
Access ParseCache in nix::EvalState.
Definition ArrayRef.h:7
+
A CRTP base class for traversing nix::Expr * nodes.
Definition Visitor.h:48
+
bool traverseExpr(const nix::Expr *E)
Definition Visitor.h:65
+
bool visitExpr(const nix::Expr *)
Definition Visitor.h:52
+
Derived & getDerived()
Definition Visitor.h:63
+ +
+ + + + diff --git a/annotated.html b/annotated.html new file mode 100644 index 000000000..095a01ecf --- /dev/null +++ b/annotated.html @@ -0,0 +1,286 @@ + + + + + + + +nixd: Class List + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Class List
+
+
+
Here are the classes, structs, unions and interfaces with brief descriptions:
+
[detail level 1234]
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
 Nllvm
 NlspserverWhether current platform treats paths case insensitively
 Nnixbc
 Nnixd
 Nnixf
 NnixtAccess ParseCache in nix::EvalState
+
+
+ + + + diff --git a/bc_s.png b/bc_s.png new file mode 100644 index 0000000000000000000000000000000000000000..224b29aa9847d5a4b3902efd602b7ddf7d33e6c2 GIT binary patch literal 676 zcmV;V0$crwP)y__>=_9%My z{n931IS})GlGUF8K#6VIbs%684A^L3@%PlP2>_sk`UWPq@f;rU*V%rPy_ekbhXT&s z(GN{DxFv}*vZp`F>S!r||M`I*nOwwKX+BC~3P5N3-)Y{65c;ywYiAh-1*hZcToLHK ztpl1xomJ+Yb}K(cfbJr2=GNOnT!UFA7Vy~fBz8?J>XHsbZoDad^8PxfSa0GDgENZS zuLCEqzb*xWX2CG*b&5IiO#NzrW*;`VC9455M`o1NBh+(k8~`XCEEoC1Ybwf;vr4K3 zg|EB<07?SOqHp9DhLpS&bzgo70I+ghB_#)K7H%AMU3v}xuyQq9&Bm~++VYhF09a+U zl7>n7Jjm$K#b*FONz~fj;I->Bf;ule1prFN9FovcDGBkpg>)O*-}eLnC{6oZHZ$o% zXKW$;0_{8hxHQ>l;_*HATI(`7t#^{$(zLe}h*mqwOc*nRY9=?Sx4OOeVIfI|0V(V2 zBrW#G7Ss9wvzr@>H*`r>zE z+e8bOBgqIgldUJlG(YUDviMB`9+DH8n-s9SXRLyJHO1!=wY^79WYZMTa(wiZ!zP66 zA~!21vmF3H2{ngD;+`6j#~6j;$*f*G_2ZD1E;9(yaw7d-QnSCpK(cR1zU3qU0000< KMNUMnLSTYoA~SLT literal 0 HcmV?d00001 diff --git a/bc_sd.png b/bc_sd.png new file mode 100644 index 0000000000000000000000000000000000000000..31ca888dc71049713b35c351933a8d0f36180bf1 GIT binary patch literal 635 zcmV->0)+jEP)Jwi0r1~gdSq#w{Bu1q z`craw(p2!hu$4C_$Oc3X(sI6e=9QSTwPt{G) z=htT&^~&c~L2~e{r5_5SYe7#Is-$ln>~Kd%$F#tC65?{LvQ}8O`A~RBB0N~`2M+waajO;5>3B&-viHGJeEK2TQOiPRa zfDKyqwMc4wfaEh4jt>H`nW_Zidwk@Bowp`}(VUaj-pSI(-1L>FJVsX}Yl9~JsqgsZ zUD9(rMwf23Gez6KPa|wwInZodP-2}9@fK0Ga_9{8SOjU&4l`pH4@qlQp83>>HT$xW zER^U>)MyV%t(Lu=`d=Y?{k1@}&r7ZGkFQ%z%N+sE9BtYjovzxyxCPxN6&@wLK{soQ zSmkj$aLI}miuE^p@~4}mg9OjDfGEkgY4~^XzLRUBB*O{+&vq<3v(E%+k_i%=`~j%{ Vj14gnt9}3g002ovPDHLkV1n!oC4m3{ literal 0 HcmV?d00001 diff --git a/classes.html b/classes.html new file mode 100644 index 000000000..d157d181f --- /dev/null +++ b/classes.html @@ -0,0 +1,146 @@ + + + + + + + +nixd: Class Index + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Class Index
+
+
+
A | B | C | D | E | F | H | I | K | L | M | N | O | P | R | S | T | U | V | W
+
+
+
A
+
ApplyWorkspaceEditParams (lspserver)
ApplyWorkspaceEditResponse (lspserver)
ArrayRef (nixt)
ASTDeserializer (nixt)
ASTHeader (nixt)
ASTNode (lspserver)
ASTParams (lspserver)
Attribute (nixf)
AttrName (nixf)
AttrPath (nixf)
AutoCloseFD (nixd::util)
AutoHUPPID (nixd::util)
AutoRemoveShm (nixd::util)
+
+
B
+
Binding (nixf)
Binds (nixf)
+
+
C
+
CallHierarchyIncomingCall (lspserver)
CallHierarchyIncomingCallsParams (lspserver)
CallHierarchyItem (lspserver)
CallHierarchyOutgoingCall (lspserver)
CallHierarchyOutgoingCallsParams (lspserver)
CallHierarchyPrepareParams (lspserver)
ChangeAnnotation (lspserver)
ClangdCompileCommand (lspserver)
ClientCapabilities (lspserver)
CodeAction (lspserver)
CodeActionContext (lspserver)
CodeActionParams (lspserver)
CodeDescription (lspserver)
Command (lspserver)
CompletionContext (lspserver)
CompletionItem (lspserver)
CompletionList (lspserver)
CompletionParams (lspserver)
ConfigurationItem (lspserver)
ConfigurationParams (lspserver)
ConfigurationSettings (lspserver)
Controller (nixd)
+
+
D
+
DeserializeContext (nixt)
Diagnostic (lspserver)
Diagnostic (nixf)
DiagnosticRelatedInformation (lspserver)
DidChangeConfigurationParams (lspserver)
DidChangeTextDocumentParams (lspserver)
DidChangeWatchedFilesParams (lspserver)
DidCloseTextDocumentParams (lspserver)
DidOpenTextDocumentParams (lspserver)
DidSaveTextDocumentParams (lspserver)
DocumentFormattingParams (lspserver)
DocumentHighlight (lspserver)
DocumentLink (lspserver)
DocumentLinkParams (lspserver)
DocumentOnTypeFormattingParams (lspserver)
DocumentRangeFormattingParams (lspserver)
DocumentSymbol (lspserver)
DocumentSymbolParams (lspserver)
DraftStore::Draft (lspserver)
DraftStore (lspserver)
+
+
E
+
EvalClient (nixd)
EvalProvider (nixd)
Event (lspserver)
ExecuteCommandParams (lspserver)
Expr (nixf)
ExprAssert (nixf)
ExprAttrs (nixf)
ExprBinOp (nixf)
ExprCall (nixf)
ExprFloat (nixf)
ExprIf (nixf)
ExprInt (nixf)
ExprLambda (nixf)
ExprLet (nixf)
ExprList (nixf)
ExprOp (nixf)
ExprOpHasAttr (nixf)
ExprParen (nixf)
ExprPath (nixf)
ExprSelect (nixf)
ExprString (nixf)
ExprUnaryOp (nixf)
ExprValueParams (nixd::rpc)
ExprValueResponse (nixd::rpc)
ExprVar (nixf)
ExprWith (nixf)
+
+
F
+
RB::F (nixt::detail)
FileEvent (lspserver)
FileHeader (nixbc)
FileStatus (lspserver)
Fix (nixf)
FoldingRange (lspserver)
FoldingRangeParams (lspserver)
Formal (nixf)
Formals (nixf)
format_provider< lspserver::Position > (llvm)
+
+
H
+
HandlerRegistry (lspserver)
Hover (lspserver)
+
+
I
+
Identifier (nixf)
InactiveRegionsParams (lspserver)
InboundPort (lspserver)
Inherit (nixf)
InitializationOptions (lspserver)
InitializeParams (lspserver)
InlayHint (lspserver)
InlayHintsParams (lspserver)
InterpolablePart (nixf)
InterpolatedParts (nixf)
Interpolation (nixf)
+
+
K
+
Key (lspserver)
+
+
L
+
LambdaArg (nixf)
Lexer (nixf)
LexerCursor (nixf)
LexerCursorRange (nixf)
Location (lspserver)
Logger (lspserver)
LoggingSession (lspserver)
LSPDiagnosticCompare (lspserver)
LSPError (lspserver)
LSPServer (lspserver)
+
+
M
+
MarkupContent (lspserver)
MessageHandler (lspserver)
Misc (nixf)
+
+
N
+
NixTU (nixd)
Node (nixf)
NodeHeader (nixbc)
NoParams (lspserver)
Note (nixf)
+
+
O
+
Op (nixf)
Origin (nixbc)
OriginPath (nixbc)
OutboundPort (lspserver)
OwnedEvalClient (nixd)
OwnedRegion (nixd::util)
+
+
P
+
ParameterInformation (lspserver)
ParseCacheF (nixt::detail)
Parser (nixf)
PartialDiagnostic (nixf)
PipedProc (nixd::util)
Position (lspserver)
Position (nixf)
PositionRange (nixf)
ProgressParams (lspserver)
PtrPool (nixt)
PublishDiagnosticsParams (lspserver)
+
+
R
+
R (nixt::detail)
Range (lspserver)
RB (nixt::detail)
RecursiveASTVisitor (nixt)
ReferenceContext (lspserver)
ReferenceLocation (lspserver)
ReferenceParams (lspserver)
RegisterBCParams (nixd::rpc)
RenameParams (lspserver)
TypeHierarchyItem::ResolveParams (lspserver)
ResolveTypeHierarchyItemParams (lspserver)
+
+
S
+
SelectionRange (lspserver)
SelectionRangeParams (lspserver)
Sema (nixf)
SemaAttrs (nixf)
SemanticToken (lspserver)
SemanticTokens (lspserver)
SemanticTokensDeltaParams (lspserver)
SemanticTokensEdit (lspserver)
SemanticTokensOrDelta (lspserver)
SemanticTokensParams (lspserver)
ShowMessageParams (lspserver)
SignatureHelp (lspserver)
SignatureInformation (lspserver)
StreamLogger (lspserver)
Event::Subscription (lspserver)
SymbolInformation (lspserver)
+
+
T
+
TextDocumentContentChangeEvent (lspserver)
TextDocumentEdit (lspserver)
TextDocumentIdentifier (lspserver)
TextDocumentItem (lspserver)
TextDocumentPositionParams (lspserver)
TextEdit (lspserver)
TextEdit (nixf)
Token (nixf)
TweakArgs (lspserver)
TypeHierarchyItem (lspserver)
TypeHierarchyPrepareParams (lspserver)
+
+
U
+
URI (lspserver)
URIForFile (lspserver)
URIScheme (lspserver)
+
+
V
+
VersionedTextDocumentIdentifier (lspserver)
+
+
W
+
WorkDoneProgressBegin (lspserver)
WorkDoneProgressCreateParams (lspserver)
WorkDoneProgressEnd (lspserver)
WorkDoneProgressReport (lspserver)
WorkspaceEdit (lspserver)
WorkspaceSymbolParams (lspserver)
+
+
+ + + + diff --git a/classlspserver_1_1DraftStore-members.html b/classlspserver_1_1DraftStore-members.html new file mode 100644 index 000000000..3eb91b011 --- /dev/null +++ b/classlspserver_1_1DraftStore-members.html @@ -0,0 +1,97 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
lspserver::DraftStore Member List
+
+
+ +

This is the complete list of members for lspserver::DraftStore, including all inherited members.

+ + + + + + + + +
addDraft(PathRef File, llvm::StringRef Version, llvm::StringRef Contents)lspserver::DraftStore
asVFS() constlspserver::DraftStore
decodeVersion(llvm::StringRef Encoded)lspserver::DraftStorestatic
encodeVersion(std::optional< int64_t > LSPVersion)lspserver::DraftStorestatic
getActiveFiles() constlspserver::DraftStore
getDraft(PathRef File) constlspserver::DraftStore
removeDraft(PathRef File)lspserver::DraftStore
+ + + + diff --git a/classlspserver_1_1DraftStore.html b/classlspserver_1_1DraftStore.html new file mode 100644 index 000000000..b3a4f543f --- /dev/null +++ b/classlspserver_1_1DraftStore.html @@ -0,0 +1,304 @@ + + + + + + + +nixd: lspserver::DraftStore Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
lspserver::DraftStore Class Reference
+
+
+ +

#include <DraftStore.h>

+ + + + +

+Classes

struct  Draft
 
+ + + + + + + + + + + + +

+Public Member Functions

std::optional< DraftgetDraft (PathRef File) const
 
std::vector< PathgetActiveFiles () const
 
std::string addDraft (PathRef File, llvm::StringRef Version, llvm::StringRef Contents)
 
void removeDraft (PathRef File)
 Remove the draft from the store.
 
llvm::IntrusiveRefCntPtr< llvm::vfs::FileSystem > asVFS () const
 
+ + + + + +

+Static Public Member Functions

static std::string encodeVersion (std::optional< int64_t > LSPVersion)
 
static std::optional< int64_t > decodeVersion (llvm::StringRef Encoded)
 
+

Detailed Description

+

A thread-safe container for files opened in a workspace, addressed by filenames. The contents are owned by the DraftStore. Each time a draft is updated, it is assigned a version. This can be specified by the caller or incremented from the previous version.

+ +

Definition at line 25 of file DraftStore.h.

+

Member Function Documentation

+ +

◆ addDraft()

+ +
+
+ + + + + + + + + + + + + + + + +
std::string lspserver::DraftStore::addDraft (PathRef File,
llvm::StringRef Version,
llvm::StringRef Contents )
+
+

Replace contents of the draft for File with Contents. If version is empty, one will be automatically assigned. Returns the version.

+ +

Definition at line 88 of file DraftStore.cpp.

+ +

References lspserver::DraftStore::Draft::Contents, lspserver::File, and lspserver::DraftStore::Draft::Version.

+ +
+
+ +

◆ asVFS()

+ +
+
+ + + + + + + +
llvm::IntrusiveRefCntPtr< llvm::vfs::FileSystem > lspserver::DraftStore::asVFS () const
+
+ +

Definition at line 131 of file DraftStore.cpp.

+ +

References lspserver::DraftStore::Draft::Contents.

+ +
+
+ +

◆ decodeVersion()

+ +
+
+ + + + + +
+ + + + + + + +
std::optional< int64_t > lspserver::DraftStore::decodeVersion (llvm::StringRef Encoded)
+
+static
+
+ +

Definition at line 61 of file DraftStore.cpp.

+ +

References lspserver::elog().

+ +
+
+ +

◆ encodeVersion()

+ +
+
+ + + + + +
+ + + + + + + +
std::string lspserver::DraftStore::encodeVersion (std::optional< int64_t > LSPVersion)
+
+static
+
+

LSP defines file versions as numbers that increase. treats them as opaque and therefore uses strings instead.

+ +

Definition at line 84 of file DraftStore.cpp.

+ +
+
+ +

◆ getActiveFiles()

+ +
+
+ + + + + + + +
std::vector< Path > lspserver::DraftStore::getActiveFiles () const
+
+
Returns
List of names of the drafts in this store.
+ +

Definition at line 28 of file DraftStore.cpp.

+ +
+
+ +

◆ getDraft()

+ +
+
+ + + + + + + +
std::optional< DraftStore::Draft > lspserver::DraftStore::getDraft (PathRef File) const
+
+
Returns
Contents of the stored document. For untracked files, a std::nullopt is returned.
+ +

Definition at line 18 of file DraftStore.cpp.

+ +

References lspserver::File.

+ +
+
+ +

◆ removeDraft()

+ +
+
+ + + + + + + +
void lspserver::DraftStore::removeDraft (PathRef File)
+
+ +

Remove the draft from the store.

+ +

Definition at line 99 of file DraftStore.cpp.

+ +

References lspserver::File.

+ +
+
+
The documentation for this class was generated from the following files: +
+ + + + diff --git a/classlspserver_1_1Event-members.html b/classlspserver_1_1Event-members.html new file mode 100644 index 000000000..8f96311cc --- /dev/null +++ b/classlspserver_1_1Event-members.html @@ -0,0 +1,94 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
lspserver::Event< T > Member List
+
+
+ +

This is the complete list of members for lspserver::Event< T >, including all inherited members.

+ + + + + +
broadcast(const T &V)lspserver::Event< T >inline
Listener typedeflspserver::Event< T >
observe(Listener L)lspserver::Event< T >inline
~Event()lspserver::Event< T >inline
+ + + + diff --git a/classlspserver_1_1Event.html b/classlspserver_1_1Event.html new file mode 100644 index 000000000..f517cd2fa --- /dev/null +++ b/classlspserver_1_1Event.html @@ -0,0 +1,233 @@ + + + + + + + +nixd: lspserver::Event< T > Class Template Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
lspserver::Event< T > Class Template Reference
+
+
+ +

An Event<T> allows events of type T to be broadcast to listeners. + More...

+ +

#include <Function.h>

+ + + + +

+Classes

class  Subscription
 
+ + + +

+Public Types

using Listener = std::function<void(const T &)>
 
+ + + + + + + +

+Public Member Functions

Subscription observe (Listener L)
 
void broadcast (const T &V)
 
 ~Event ()
 
+

Detailed Description

+
template<typename T>
+class lspserver::Event< T >

An Event<T> allows events of type T to be broadcast to listeners.

+ +

Definition at line 17 of file Function.h.

+

Member Typedef Documentation

+ +

◆ Listener

+ +
+
+
+template<typename T >
+ + + + +
using lspserver::Event< T >::Listener = std::function<void(const T &)>
+
+ +

Definition at line 20 of file Function.h.

+ +
+
+

Constructor & Destructor Documentation

+ +

◆ ~Event()

+ +
+
+
+template<typename T >
+ + + + + +
+ + + + + + + +
lspserver::Event< T >::~Event ()
+
+inline
+
+ +

Definition at line 76 of file Function.h.

+ +
+
+

Member Function Documentation

+ +

◆ broadcast()

+ +
+
+
+template<typename T >
+ + + + + +
+ + + + + + + +
void lspserver::Event< T >::broadcast (const T & V)
+
+inline
+
+ +

Definition at line 69 of file Function.h.

+ +
+
+ +

◆ observe()

+ +
+
+
+template<typename T >
+ + + + + +
+ + + + + + + +
Subscription lspserver::Event< T >::observe (Listener L)
+
+inline
+
+ +

Definition at line 61 of file Function.h.

+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/classlspserver_1_1Event_1_1Subscription-members.html b/classlspserver_1_1Event_1_1Subscription-members.html new file mode 100644 index 000000000..6fa6355ce --- /dev/null +++ b/classlspserver_1_1Event_1_1Subscription-members.html @@ -0,0 +1,94 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
lspserver::Event< T >::Subscription Member List
+
+
+ +

This is the complete list of members for lspserver::Event< T >::Subscription, including all inherited members.

+ + + + + +
operator=(Subscription &&Other)lspserver::Event< T >::Subscriptioninline
Subscription()lspserver::Event< T >::Subscriptioninline
Subscription(Subscription &&Other)lspserver::Event< T >::Subscriptioninline
~Subscription()lspserver::Event< T >::Subscriptioninline
+ + + + diff --git a/classlspserver_1_1Event_1_1Subscription.html b/classlspserver_1_1Event_1_1Subscription.html new file mode 100644 index 000000000..73a3a1f6e --- /dev/null +++ b/classlspserver_1_1Event_1_1Subscription.html @@ -0,0 +1,229 @@ + + + + + + + +nixd: lspserver::Event< T >::Subscription Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
lspserver::Event< T >::Subscription Class Reference
+
+
+ +

#include <Function.h>

+ + + + + + + + + + +

+Public Member Functions

 Subscription ()
 
 Subscription (Subscription &&Other)
 
Subscriptionoperator= (Subscription &&Other)
 
 ~Subscription ()
 
+

Detailed Description

+
template<typename T>
+class lspserver::Event< T >::Subscription
+

Definition at line 24 of file Function.h.

+

Constructor & Destructor Documentation

+ +

◆ Subscription() [1/2]

+ +
+
+
+template<typename T >
+ + + + + +
+ + + + + + + +
lspserver::Event< T >::Subscription::Subscription ()
+
+inline
+
+ +

Definition at line 33 of file Function.h.

+ +
+
+ +

◆ Subscription() [2/2]

+ +
+
+
+template<typename T >
+ + + + + +
+ + + + + + + +
lspserver::Event< T >::Subscription::Subscription (Subscription && Other)
+
+inline
+
+ +

Definition at line 34 of file Function.h.

+ +
+
+ +

◆ ~Subscription()

+ +
+
+
+template<typename T >
+ + + + + +
+ + + + + + + +
lspserver::Event< T >::Subscription::~Subscription ()
+
+inline
+
+ +

Definition at line 52 of file Function.h.

+ +
+
+

Member Function Documentation

+ +

◆ operator=()

+ +
+
+
+template<typename T >
+ + + + + +
+ + + + + + + +
Subscription & lspserver::Event< T >::Subscription::operator= (Subscription && Other)
+
+inline
+
+ +

Definition at line 37 of file Function.h.

+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/classlspserver_1_1InboundPort-members.html b/classlspserver_1_1InboundPort-members.html new file mode 100644 index 000000000..f8019d844 --- /dev/null +++ b/classlspserver_1_1InboundPort-members.html @@ -0,0 +1,99 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
lspserver::InboundPort Member List
+
+
+ +

This is the complete list of members for lspserver::InboundPort, including all inherited members.

+ + + + + + + + + + +
close()lspserver::InboundPortinline
dispatch(llvm::json::Value Message, MessageHandler &Hanlder)lspserver::InboundPort
Inlspserver::InboundPort
InboundPort(int In=STDIN_FILENO, JSONStreamStyle StreamStyle=JSONStreamStyle::Standard)lspserver::InboundPortinline
loop(MessageHandler &Handler)lspserver::InboundPort
readDelimitedMessage(std::string &JSONString)lspserver::InboundPort
readMessage(std::string &JSONString)lspserver::InboundPort
readStandardMessage(std::string &JSONString)lspserver::InboundPort
StreamStylelspserver::InboundPort
+ + + + diff --git a/classlspserver_1_1InboundPort.html b/classlspserver_1_1InboundPort.html new file mode 100644 index 000000000..2bfa372ee --- /dev/null +++ b/classlspserver_1_1InboundPort.html @@ -0,0 +1,346 @@ + + + + + + + +nixd: lspserver::InboundPort Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
lspserver::InboundPort Class Reference
+
+
+ +

#include <Connection.h>

+ + + + + + + + + + + + + + + + + +

+Public Member Functions

bool readStandardMessage (std::string &JSONString)
 
bool readDelimitedMessage (std::string &JSONString)
 
void close ()
 Notify the inbound port to close the connection.
 
 InboundPort (int In=STDIN_FILENO, JSONStreamStyle StreamStyle=JSONStreamStyle::Standard)
 
bool readMessage (std::string &JSONString)
 
bool dispatch (llvm::json::Value Message, MessageHandler &Hanlder)
 
void loop (MessageHandler &Handler)
 
+ + + + + +

+Public Attributes

int In
 
JSONStreamStyle StreamStyle = JSONStreamStyle::Standard
 
+

Detailed Description

+
+

Definition at line 34 of file Connection.h.

+

Constructor & Destructor Documentation

+ +

◆ InboundPort()

+ +
+
+ + + + + +
+ + + + + + + + + + + +
lspserver::InboundPort::InboundPort (int In = STDIN_FILENO,
JSONStreamStyle StreamStyle = JSONStreamStyle::Standard )
+
+inline
+
+ +

Definition at line 50 of file Connection.h.

+ +
+
+

Member Function Documentation

+ +

◆ close()

+ +
+
+ + + + + +
+ + + + + + + +
void lspserver::InboundPort::close ()
+
+inline
+
+ +

Notify the inbound port to close the connection.

+ +

Definition at line 48 of file Connection.h.

+ +
+
+ +

◆ dispatch()

+ +
+
+ + + + + + + + + + + +
bool lspserver::InboundPort::dispatch (llvm::json::Value Message,
MessageHandler & Hanlder )
+
+

Dispatch messages to on{Notify,Call,Reply} ( Handlers) Return values should be forwarded from Handlers i.e. returns true to keep processing messages, or false to shut down.

+ +

Definition at line 92 of file Connection.cpp.

+ +

References lspserver::decodeError(), lspserver::elog(), lspserver::Method, lspserver::Object, lspserver::MessageHandler::onCall(), lspserver::MessageHandler::onNotify(), and lspserver::MessageHandler::onReply().

+ +

Referenced by loop().

+ +
+
+ +

◆ loop()

+ +
+
+ + + + + + + +
void lspserver::InboundPort::loop (MessageHandler & Handler)
+
+ +

Definition at line 238 of file Connection.cpp.

+ +

References dispatch(), lspserver::elog(), readMessage(), and lspserver::vlog().

+ +
+
+ +

◆ readDelimitedMessage()

+ +
+
+ + + + + + + +
bool lspserver::InboundPort::readDelimitedMessage (std::string & JSONString)
+
+ +

Definition at line 199 of file Connection.cpp.

+ +

References In, and lspserver::readLine().

+ +

Referenced by readMessage().

+ +
+
+ +

◆ readMessage()

+ +
+
+ + + + + + + +
bool lspserver::InboundPort::readMessage (std::string & JSONString)
+
+

Read messages specified in LSP standard, and collect standard json string into JSONString. A Language Server Protocol message starts with a set of HTTP headers, delimited by \r
+, and terminated by an empty line (\r
+).

+ +

Definition at line 225 of file Connection.cpp.

+ +

References lspserver::Delimited, readDelimitedMessage(), readStandardMessage(), lspserver::Standard, and StreamStyle.

+ +

Referenced by loop().

+ +
+
+ +

◆ readStandardMessage()

+ +
+
+ + + + + + + +
bool lspserver::InboundPort::readStandardMessage (std::string & JSONString)
+
+ +

Definition at line 164 of file Connection.cpp.

+ +

References lspserver::elog(), In, lspserver::Read, and lspserver::readLine().

+ +

Referenced by readMessage().

+ +
+
+

Member Data Documentation

+ +

◆ In

+ +
+
+ + + + +
int lspserver::InboundPort::In
+
+ +

Definition at line 39 of file Connection.h.

+ +

Referenced by readDelimitedMessage(), and readStandardMessage().

+ +
+
+ +

◆ StreamStyle

+ +
+
+ + + + +
JSONStreamStyle lspserver::InboundPort::StreamStyle = JSONStreamStyle::Standard
+
+ +

Definition at line 41 of file Connection.h.

+ +

Referenced by readMessage().

+ +
+
+
The documentation for this class was generated from the following files: +
+ + + + diff --git a/classlspserver_1_1Key-members.html b/classlspserver_1_1Key-members.html new file mode 100644 index 000000000..ae0df3a15 --- /dev/null +++ b/classlspserver_1_1Key-members.html @@ -0,0 +1,95 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
lspserver::Key< Type > Member List
+
+
+ +

This is the complete list of members for lspserver::Key< Type >, including all inherited members.

+ + + + + + +
Key()=defaultlspserver::Key< Type >
Key(Key const &)=deletelspserver::Key< Type >
Key(Key &&)=deletelspserver::Key< Type >
operator=(Key const &)=deletelspserver::Key< Type >
operator=(Key &&)=deletelspserver::Key< Type >
+ + + + diff --git a/classlspserver_1_1Key.html b/classlspserver_1_1Key.html new file mode 100644 index 000000000..6e4963ece --- /dev/null +++ b/classlspserver_1_1Key.html @@ -0,0 +1,250 @@ + + + + + + + +nixd: lspserver::Key< Type > Class Template Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
lspserver::Key< Type > Class Template Reference
+
+
+ +

#include <SourceCode.h>

+ + + + + + + + + + + + +

+Public Member Functions

constexpr Key ()=default
 
 Key (Key const &)=delete
 
Keyoperator= (Key const &)=delete
 
 Key (Key &&)=delete
 
Keyoperator= (Key &&)=delete
 
+

Detailed Description

+
template<class Type>
+class lspserver::Key< Type >
+

Definition at line 24 of file SourceCode.h.

+

Constructor & Destructor Documentation

+ +

◆ Key() [1/3]

+ +
+
+
+template<class Type >
+ + + + + +
+ + + + + + + +
constexpr lspserver::Key< Type >::Key ()
+
+constexprdefault
+
+ +
+
+ +

◆ Key() [2/3]

+ +
+
+
+template<class Type >
+ + + + + +
+ + + + + + + +
lspserver::Key< Type >::Key (Key< Type > const & )
+
+delete
+
+ +
+
+ +

◆ Key() [3/3]

+ +
+
+
+template<class Type >
+ + + + + +
+ + + + + + + +
lspserver::Key< Type >::Key (Key< Type > && )
+
+delete
+
+ +
+
+

Member Function Documentation

+ +

◆ operator=() [1/2]

+ +
+
+
+template<class Type >
+ + + + + +
+ + + + + + + +
Key & lspserver::Key< Type >::operator= (Key< Type > && )
+
+delete
+
+ +
+
+ +

◆ operator=() [2/2]

+ +
+
+
+template<class Type >
+ + + + + +
+ + + + + + + +
Key & lspserver::Key< Type >::operator= (Key< Type > const & )
+
+delete
+
+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/classlspserver_1_1LSPError-members.html b/classlspserver_1_1LSPError-members.html new file mode 100644 index 000000000..bd03854d4 --- /dev/null +++ b/classlspserver_1_1LSPError-members.html @@ -0,0 +1,96 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
lspserver::LSPError Member List
+
+
+ +

This is the complete list of members for lspserver::LSPError, including all inherited members.

+ + + + + + + +
Codelspserver::LSPError
convertToErrorCode() const overridelspserver::LSPErrorinline
IDlspserver::LSPErrorstatic
log(llvm::raw_ostream &OS) const overridelspserver::LSPErrorinline
LSPError(std::string Message, ErrorCode Code)lspserver::LSPErrorinline
Messagelspserver::LSPError
+ + + + diff --git a/classlspserver_1_1LSPError.html b/classlspserver_1_1LSPError.html new file mode 100644 index 000000000..54b12314b --- /dev/null +++ b/classlspserver_1_1LSPError.html @@ -0,0 +1,283 @@ + + + + + + + +nixd: lspserver::LSPError Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
lspserver::LSPError Class Reference
+
+
+ +

#include <Protocol.h>

+
+Inheritance diagram for lspserver::LSPError:
+
+
+
[legend]
+
+Collaboration diagram for lspserver::LSPError:
+
+
+
[legend]
+ + + + + + + + +

+Public Member Functions

 LSPError (std::string Message, ErrorCode Code)
 
void log (llvm::raw_ostream &OS) const override
 
std::error_code convertToErrorCode () const override
 
+ + + + + +

+Public Attributes

std::string Message
 
ErrorCode Code
 
+ + + +

+Static Public Attributes

static char ID
 
+

Detailed Description

+
+

Definition at line 38 of file lspserver/include/lspserver/Protocol.h.

+

Constructor & Destructor Documentation

+ +

◆ LSPError()

+ +
+
+ + + + + +
+ + + + + + + + + + + +
lspserver::LSPError::LSPError (std::string Message,
ErrorCode Code )
+
+inline
+
+ +

Definition at line 44 of file lspserver/include/lspserver/Protocol.h.

+ +
+
+

Member Function Documentation

+ +

◆ convertToErrorCode()

+ +
+
+ + + + + +
+ + + + + + + +
std::error_code lspserver::LSPError::convertToErrorCode () const
+
+inlineoverride
+
+ +

Definition at line 50 of file lspserver/include/lspserver/Protocol.h.

+ +
+
+ +

◆ log()

+ +
+
+ + + + + +
+ + + + + + + +
void lspserver::LSPError::log (llvm::raw_ostream & OS) const
+
+inlineoverride
+
+ +

Definition at line 47 of file lspserver/include/lspserver/Protocol.h.

+ +

References Code, and Message.

+ +
+
+

Member Data Documentation

+ +

◆ Code

+ +
+
+ + + + +
ErrorCode lspserver::LSPError::Code
+
+ +

Definition at line 41 of file lspserver/include/lspserver/Protocol.h.

+ +

Referenced by log().

+ +
+
+ +

◆ ID

+ +
+
+ + + + + +
+ + + + +
char lspserver::LSPError::ID
+
+static
+
+ +

Definition at line 42 of file lspserver/include/lspserver/Protocol.h.

+ +
+
+ +

◆ Message

+ +
+
+ + + + +
std::string lspserver::LSPError::Message
+
+ +

Definition at line 40 of file lspserver/include/lspserver/Protocol.h.

+ +

Referenced by log().

+ +
+
+
The documentation for this class was generated from the following files: +
+ + + + diff --git a/classlspserver_1_1LSPError__coll__graph.map b/classlspserver_1_1LSPError__coll__graph.map new file mode 100644 index 000000000..9e627cf63 --- /dev/null +++ b/classlspserver_1_1LSPError__coll__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/classlspserver_1_1LSPError__coll__graph.md5 b/classlspserver_1_1LSPError__coll__graph.md5 new file mode 100644 index 000000000..16ba72ada --- /dev/null +++ b/classlspserver_1_1LSPError__coll__graph.md5 @@ -0,0 +1 @@ +a9f4103a254caac82742c7ab8be891c3 \ No newline at end of file diff --git a/classlspserver_1_1LSPError__coll__graph.svg b/classlspserver_1_1LSPError__coll__graph.svg new file mode 100644 index 000000000..c89bea835 --- /dev/null +++ b/classlspserver_1_1LSPError__coll__graph.svg @@ -0,0 +1,39 @@ + + + + + + +lspserver::LSPError + + +Node1 + + +lspserver::LSPError + + + + + +Node2 + + +llvm::ErrorInfo< LSPError > + + + + + +Node2->Node1 + + + + + + + + diff --git a/classlspserver_1_1LSPError__inherit__graph.map b/classlspserver_1_1LSPError__inherit__graph.map new file mode 100644 index 000000000..9e627cf63 --- /dev/null +++ b/classlspserver_1_1LSPError__inherit__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/classlspserver_1_1LSPError__inherit__graph.md5 b/classlspserver_1_1LSPError__inherit__graph.md5 new file mode 100644 index 000000000..16ba72ada --- /dev/null +++ b/classlspserver_1_1LSPError__inherit__graph.md5 @@ -0,0 +1 @@ +a9f4103a254caac82742c7ab8be891c3 \ No newline at end of file diff --git a/classlspserver_1_1LSPError__inherit__graph.svg b/classlspserver_1_1LSPError__inherit__graph.svg new file mode 100644 index 000000000..c89bea835 --- /dev/null +++ b/classlspserver_1_1LSPError__inherit__graph.svg @@ -0,0 +1,39 @@ + + + + + + +lspserver::LSPError + + +Node1 + + +lspserver::LSPError + + + + + +Node2 + + +llvm::ErrorInfo< LSPError > + + + + + +Node2->Node1 + + + + + + + + diff --git a/classlspserver_1_1LSPServer-members.html b/classlspserver_1_1LSPServer-members.html new file mode 100644 index 000000000..a50f710d9 --- /dev/null +++ b/classlspserver_1_1LSPServer-members.html @@ -0,0 +1,98 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
lspserver::LSPServer Member List
+
+
+ +

This is the complete list of members for lspserver::LSPServer, including all inherited members.

+ + + + + + + + + +
closeInbound()lspserver::LSPServerinline
LSPServer(std::unique_ptr< InboundPort > In, std::unique_ptr< OutboundPort > Out)lspserver::LSPServerinline
mkOutMethodlspserver::LSPServerinlineprotected
mkOutNotifictionlspserver::LSPServerinlineprotected
Registrylspserver::LSPServerprotected
run()lspserver::LSPServer
switchStreamStyle(JSONStreamStyle Style)lspserver::LSPServerinline
~MessageHandler()=defaultlspserver::MessageHandlervirtual
+ + + + diff --git a/classlspserver_1_1LSPServer.html b/classlspserver_1_1LSPServer.html new file mode 100644 index 000000000..4445fc867 --- /dev/null +++ b/classlspserver_1_1LSPServer.html @@ -0,0 +1,329 @@ + + + + + + + +nixd: lspserver::LSPServer Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
lspserver::LSPServer Class Reference
+
+
+ +

#include <LSPServer.h>

+
+Inheritance diagram for lspserver::LSPServer:
+
+
+
[legend]
+
+Collaboration diagram for lspserver::LSPServer:
+
+
+
[legend]
+ + + + + + + + + + + + + + +

+Public Member Functions

 LSPServer (std::unique_ptr< InboundPort > In, std::unique_ptr< OutboundPort > Out)
 
void closeInbound ()
 Close the inbound port.
 
void run ()
 
void switchStreamStyle (JSONStreamStyle Style)
 
- Public Member Functions inherited from lspserver::MessageHandler
virtual ~MessageHandler ()=default
 
+ + + + + + + + + +

+Protected Attributes

HandlerRegistry Registry
 
template<class T >
llvm::unique_function< void(const T &) mkOutNotifiction )(llvm::StringRef Method, OutboundPort *O=nullptr)
 
template<class ParamTy , class ResponseTy >
llvm::unique_function< void(const ParamTy &, Callback< ResponseTy >) mkOutMethod )(llvm::StringRef Method, OutboundPort *O=nullptr)
 
+

Detailed Description

+

LSPServer wraps inputs & outputs, associate message IDs between calls/reply, and provide type-safe interfaces.

+ +

Definition at line 17 of file LSPServer.h.

+

Constructor & Destructor Documentation

+ +

◆ LSPServer()

+ +
+
+ + + + + +
+ + + + + + + + + + + +
lspserver::LSPServer::LSPServer (std::unique_ptr< InboundPort > In,
std::unique_ptr< OutboundPort > Out )
+
+inline
+
+ +

Definition at line 87 of file LSPServer.h.

+ +
+
+

Member Function Documentation

+ +

◆ closeInbound()

+ +
+
+ + + + + +
+ + + + + + + +
void lspserver::LSPServer::closeInbound ()
+
+inline
+
+ +

Close the inbound port.

+ +

Definition at line 91 of file LSPServer.h.

+ +

Referenced by nixd::OwnedEvalClient::~OwnedEvalClient().

+ +
+
+ +

◆ run()

+ +
+
+ + + + + + + +
void lspserver::LSPServer::run ()
+
+ +

Definition at line 15 of file LSPServer.cpp.

+ +

Referenced by main(), and nixd::OwnedEvalClient::OwnedEvalClient().

+ +
+
+ +

◆ switchStreamStyle()

+ +
+
+ + + + + +
+ + + + + + + +
void lspserver::LSPServer::switchStreamStyle (JSONStreamStyle Style)
+
+inline
+
+ +

Definition at line 94 of file LSPServer.h.

+ +
+
+

Member Data Documentation

+ +

◆ mkOutMethod

+ +
+
+
+template<class ParamTy , class ResponseTy >
+ + + + + +
+ + + + +
llvm::unique_function< void(const ParamTy &, Callback< ResponseTy >) lspserver::LSPServer::mkOutMethod) (llvm::StringRef Method, OutboundPort *O=nullptr)
+
+inlineprotected
+
+ +

Definition at line 69 of file LSPServer.h.

+ +
+
+ +

◆ mkOutNotifiction

+ +
+
+
+template<class T >
+ + + + + +
+ + + + +
llvm::unique_function< void(const T &) lspserver::LSPServer::mkOutNotifiction) (llvm::StringRef Method, OutboundPort *O=nullptr)
+
+inlineprotected
+
+ +

Definition at line 58 of file LSPServer.h.

+ +
+
+ +

◆ Registry

+ +
+
+ + + + + +
+ + + + +
HandlerRegistry lspserver::LSPServer::Registry
+
+protected
+
+ +

Definition at line 55 of file LSPServer.h.

+ +

Referenced by nixd::Controller::Controller().

+ +
+
+
The documentation for this class was generated from the following files: +
+ + + + diff --git a/classlspserver_1_1LSPServer__coll__graph.map b/classlspserver_1_1LSPServer__coll__graph.map new file mode 100644 index 000000000..b26b6c403 --- /dev/null +++ b/classlspserver_1_1LSPServer__coll__graph.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/classlspserver_1_1LSPServer__coll__graph.md5 b/classlspserver_1_1LSPServer__coll__graph.md5 new file mode 100644 index 000000000..98d4f709b --- /dev/null +++ b/classlspserver_1_1LSPServer__coll__graph.md5 @@ -0,0 +1 @@ +78b84f1a7d12ccf72af2f99b2991339c \ No newline at end of file diff --git a/classlspserver_1_1LSPServer__coll__graph.svg b/classlspserver_1_1LSPServer__coll__graph.svg new file mode 100644 index 000000000..ac13034bb --- /dev/null +++ b/classlspserver_1_1LSPServer__coll__graph.svg @@ -0,0 +1,58 @@ + + + + + + +lspserver::LSPServer + + +Node1 + + +lspserver::LSPServer + + + + + +Node2 + + +lspserver::MessageHandler + + + + + +Node2->Node1 + + + + + + + + +Node3 + + +lspserver::HandlerRegistry + + + + + +Node3->Node1 + + + + + + Registry + + + diff --git a/classlspserver_1_1LSPServer__inherit__graph.map b/classlspserver_1_1LSPServer__inherit__graph.map new file mode 100644 index 000000000..d0678448d --- /dev/null +++ b/classlspserver_1_1LSPServer__inherit__graph.map @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/classlspserver_1_1LSPServer__inherit__graph.md5 b/classlspserver_1_1LSPServer__inherit__graph.md5 new file mode 100644 index 000000000..3a7b49b96 --- /dev/null +++ b/classlspserver_1_1LSPServer__inherit__graph.md5 @@ -0,0 +1 @@ +d58fdbd846cc570669ec4aa5e4a3cf2c \ No newline at end of file diff --git a/classlspserver_1_1LSPServer__inherit__graph.svg b/classlspserver_1_1LSPServer__inherit__graph.svg new file mode 100644 index 000000000..8336893d7 --- /dev/null +++ b/classlspserver_1_1LSPServer__inherit__graph.svg @@ -0,0 +1,111 @@ + + + + + + +lspserver::LSPServer + + +Node1 + + +lspserver::LSPServer + + + + + +Node3 + + +nixd::Controller + + + + + +Node1->Node3 + + + + + + + + +Node4 + + +nixd::EvalClient + + + + + +Node1->Node4 + + + + + + + + +Node6 + + +nixd::EvalProvider + + + + + +Node1->Node6 + + + + + + + + +Node2 + + +lspserver::MessageHandler + + + + + +Node2->Node1 + + + + + + + + +Node5 + + +nixd::OwnedEvalClient + + + + + +Node4->Node5 + + + + + + + + diff --git a/classlspserver_1_1Logger-members.html b/classlspserver_1_1Logger-members.html new file mode 100644 index 000000000..81605f93a --- /dev/null +++ b/classlspserver_1_1Logger-members.html @@ -0,0 +1,98 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
lspserver::Logger Member List
+
+
+ +

This is the complete list of members for lspserver::Logger, including all inherited members.

+ + + + + + + + + +
Debug enum valuelspserver::Logger
Error enum valuelspserver::Logger
indicator(Level L)lspserver::Loggerinlinestatic
Info enum valuelspserver::Logger
Level enum namelspserver::Logger
log(Level, const char *Fmt, const llvm::formatv_object_base &Message)=0lspserver::Loggerpure virtual
Verbose enum valuelspserver::Logger
~Logger()=defaultlspserver::Loggervirtual
+ + + + diff --git a/classlspserver_1_1Logger.html b/classlspserver_1_1Logger.html new file mode 100644 index 000000000..9cd0122eb --- /dev/null +++ b/classlspserver_1_1Logger.html @@ -0,0 +1,252 @@ + + + + + + + +nixd: lspserver::Logger Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
lspserver::Logger Class Referenceabstract
+
+
+ +

Interface to allow custom logging in clangd. + More...

+ +

#include <Logger.h>

+
+Inheritance diagram for lspserver::Logger:
+
+
+
[legend]
+ + + + +

+Public Types

enum  Level : unsigned char { Debug +, Verbose +, Info +, Error + }
 
+ + + + + + +

+Public Member Functions

virtual ~Logger ()=default
 
virtual void log (Level, const char *Fmt, const llvm::formatv_object_base &Message)=0
 Implementations of this method must be thread-safe.
 
+ + + +

+Static Public Member Functions

static char indicator (Level L)
 
+

Detailed Description

+

Interface to allow custom logging in clangd.

+ +

Definition at line 13 of file Logger.h.

+

Member Enumeration Documentation

+ +

◆ Level

+ +
+
+ + + + +
enum lspserver::Logger::Level : unsigned char
+
+

The significance or severity of this message. Typically used to filter the output to an interesting level.

+ + + + + +
Enumerator
Debug 
Verbose 
Info 
Error 
+ +

Definition at line 19 of file Logger.h.

+ +
+
+

Constructor & Destructor Documentation

+ +

◆ ~Logger()

+ +
+
+ + + + + +
+ + + + + + + +
virtual lspserver::Logger::~Logger ()
+
+virtualdefault
+
+ +
+
+

Member Function Documentation

+ +

◆ indicator()

+ +
+
+ + + + + +
+ + + + + + + +
static char lspserver::Logger::indicator (Level L)
+
+inlinestatic
+
+ +

Definition at line 20 of file Logger.h.

+ +

Referenced by lspserver::StreamLogger::log().

+ +
+
+ +

◆ log()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + +
virtual void lspserver::Logger::log (Level ,
const char * Fmt,
const llvm::formatv_object_base & Message )
+
+pure virtual
+
+ +

Implementations of this method must be thread-safe.

+ +

Implemented in lspserver::StreamLogger.

+ +

Referenced by lspserver::detail::logImpl().

+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/classlspserver_1_1Logger__inherit__graph.map b/classlspserver_1_1Logger__inherit__graph.map new file mode 100644 index 000000000..552a2c592 --- /dev/null +++ b/classlspserver_1_1Logger__inherit__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/classlspserver_1_1Logger__inherit__graph.md5 b/classlspserver_1_1Logger__inherit__graph.md5 new file mode 100644 index 000000000..d891eeabd --- /dev/null +++ b/classlspserver_1_1Logger__inherit__graph.md5 @@ -0,0 +1 @@ +6c4276d5b07cea0c43399893e2f42843 \ No newline at end of file diff --git a/classlspserver_1_1Logger__inherit__graph.svg b/classlspserver_1_1Logger__inherit__graph.svg new file mode 100644 index 000000000..8cadf46d0 --- /dev/null +++ b/classlspserver_1_1Logger__inherit__graph.svg @@ -0,0 +1,39 @@ + + + + + + +lspserver::Logger + + +Node1 + + +lspserver::Logger + + + + + +Node2 + + +lspserver::StreamLogger + + + + + +Node1->Node2 + + + + + + + + diff --git a/classlspserver_1_1LoggingSession-members.html b/classlspserver_1_1LoggingSession-members.html new file mode 100644 index 000000000..44e0b3a8a --- /dev/null +++ b/classlspserver_1_1LoggingSession-members.html @@ -0,0 +1,96 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
lspserver::LoggingSession Member List
+
+
+ +

This is the complete list of members for lspserver::LoggingSession, including all inherited members.

+ + + + + + + +
LoggingSession(Logger &Instance)lspserver::LoggingSession
LoggingSession(LoggingSession &&)=deletelspserver::LoggingSession
LoggingSession(LoggingSession const &)=deletelspserver::LoggingSession
operator=(LoggingSession &&)=deletelspserver::LoggingSession
operator=(LoggingSession const &)=deletelspserver::LoggingSession
~LoggingSession()lspserver::LoggingSession
+ + + + diff --git a/classlspserver_1_1LoggingSession.html b/classlspserver_1_1LoggingSession.html new file mode 100644 index 000000000..88f5f65f8 --- /dev/null +++ b/classlspserver_1_1LoggingSession.html @@ -0,0 +1,259 @@ + + + + + + + +nixd: lspserver::LoggingSession Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
lspserver::LoggingSession Class Reference
+
+
+ +

Only one LoggingSession can be active at a time. + More...

+ +

#include <Logger.h>

+ + + + + + + + + + + + + + +

+Public Member Functions

 LoggingSession (Logger &Instance)
 
 ~LoggingSession ()
 
 LoggingSession (LoggingSession &&)=delete
 
LoggingSessionoperator= (LoggingSession &&)=delete
 
 LoggingSession (LoggingSession const &)=delete
 
LoggingSessionoperator= (LoggingSession const &)=delete
 
+

Detailed Description

+

Only one LoggingSession can be active at a time.

+ +

Definition at line 91 of file Logger.h.

+

Constructor & Destructor Documentation

+ +

◆ LoggingSession() [1/3]

+ +
+
+ + + + + + + +
lspserver::LoggingSession::LoggingSession (Logger & Instance)
+
+ +

Definition at line 30 of file Logger.cpp.

+ +
+
+ +

◆ ~LoggingSession()

+ +
+
+ + + + + + + +
lspserver::LoggingSession::~LoggingSession ()
+
+ +

Definition at line 35 of file Logger.cpp.

+ +
+
+ +

◆ LoggingSession() [2/3]

+ +
+
+ + + + + +
+ + + + + + + +
lspserver::LoggingSession::LoggingSession (LoggingSession && )
+
+delete
+
+ +
+
+ +

◆ LoggingSession() [3/3]

+ +
+
+ + + + + +
+ + + + + + + +
lspserver::LoggingSession::LoggingSession (LoggingSession const & )
+
+delete
+
+ +
+
+

Member Function Documentation

+ +

◆ operator=() [1/2]

+ +
+
+ + + + + +
+ + + + + + + +
LoggingSession & lspserver::LoggingSession::operator= (LoggingSession && )
+
+delete
+
+ +
+
+ +

◆ operator=() [2/2]

+ +
+
+ + + + + +
+ + + + + + + +
LoggingSession & lspserver::LoggingSession::operator= (LoggingSession const & )
+
+delete
+
+ +
+
+
The documentation for this class was generated from the following files: +
+ + + + diff --git a/classlspserver_1_1MessageHandler-members.html b/classlspserver_1_1MessageHandler-members.html new file mode 100644 index 000000000..d8ec6bb66 --- /dev/null +++ b/classlspserver_1_1MessageHandler-members.html @@ -0,0 +1,94 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
lspserver::MessageHandler Member List
+
+
+ +

This is the complete list of members for lspserver::MessageHandler, including all inherited members.

+ + + + + +
onCall(llvm::StringRef Method, llvm::json::Value Params, llvm::json::Value ID)=0lspserver::MessageHandlerpure virtual
onNotify(llvm::StringRef Method, llvm::json::Value)=0lspserver::MessageHandlerpure virtual
onReply(llvm::json::Value ID, llvm::Expected< llvm::json::Value > Result)=0lspserver::MessageHandlerpure virtual
~MessageHandler()=defaultlspserver::MessageHandlervirtual
+ + + + diff --git a/classlspserver_1_1MessageHandler.html b/classlspserver_1_1MessageHandler.html new file mode 100644 index 000000000..f19ec6b71 --- /dev/null +++ b/classlspserver_1_1MessageHandler.html @@ -0,0 +1,241 @@ + + + + + + + +nixd: lspserver::MessageHandler Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
lspserver::MessageHandler Class Referenceabstract
+
+
+ +

#include <Connection.h>

+
+Inheritance diagram for lspserver::MessageHandler:
+
+
+
[legend]
+ + + + + + + + + + +

+Public Member Functions

virtual ~MessageHandler ()=default
 
virtual bool onNotify (llvm::StringRef Method, llvm::json::Value)=0
 
virtual bool onCall (llvm::StringRef Method, llvm::json::Value Params, llvm::json::Value ID)=0
 
virtual bool onReply (llvm::json::Value ID, llvm::Expected< llvm::json::Value > Result)=0
 
+

Detailed Description

+

Parsed & classfied messages are dispatched to this handler class LSP Servers should inherit from this hanlder and dispatch notify/call/reply to implementations.

+ +

Definition at line 23 of file Connection.h.

+

Constructor & Destructor Documentation

+ +

◆ ~MessageHandler()

+ +
+
+ + + + + +
+ + + + + + + +
virtual lspserver::MessageHandler::~MessageHandler ()
+
+virtualdefault
+
+ +
+
+

Member Function Documentation

+ +

◆ onCall()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + +
virtual bool lspserver::MessageHandler::onCall (llvm::StringRef Method,
llvm::json::Value Params,
llvm::json::Value ID )
+
+pure virtual
+
+ +

Referenced by lspserver::InboundPort::dispatch().

+ +
+
+ +

◆ onNotify()

+ +
+
+ + + + + +
+ + + + + + + + + + + +
virtual bool lspserver::MessageHandler::onNotify (llvm::StringRef Method,
llvm::json::Value  )
+
+pure virtual
+
+ +

Referenced by lspserver::InboundPort::dispatch().

+ +
+
+ +

◆ onReply()

+ +
+
+ + + + + +
+ + + + + + + + + + + +
virtual bool lspserver::MessageHandler::onReply (llvm::json::Value ID,
llvm::Expected< llvm::json::Value > Result )
+
+pure virtual
+
+ +

Referenced by lspserver::InboundPort::dispatch().

+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/classlspserver_1_1MessageHandler__inherit__graph.map b/classlspserver_1_1MessageHandler__inherit__graph.map new file mode 100644 index 000000000..2187ff054 --- /dev/null +++ b/classlspserver_1_1MessageHandler__inherit__graph.map @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/classlspserver_1_1MessageHandler__inherit__graph.md5 b/classlspserver_1_1MessageHandler__inherit__graph.md5 new file mode 100644 index 000000000..5d97d6de6 --- /dev/null +++ b/classlspserver_1_1MessageHandler__inherit__graph.md5 @@ -0,0 +1 @@ +c41789278778f4619a3d40753a0e0d0e \ No newline at end of file diff --git a/classlspserver_1_1MessageHandler__inherit__graph.svg b/classlspserver_1_1MessageHandler__inherit__graph.svg new file mode 100644 index 000000000..ca018b5a4 --- /dev/null +++ b/classlspserver_1_1MessageHandler__inherit__graph.svg @@ -0,0 +1,111 @@ + + + + + + +lspserver::MessageHandler + + +Node1 + + +lspserver::MessageHandler + + + + + +Node2 + + +lspserver::LSPServer + + + + + +Node1->Node2 + + + + + + + + +Node3 + + +nixd::Controller + + + + + +Node2->Node3 + + + + + + + + +Node4 + + +nixd::EvalClient + + + + + +Node2->Node4 + + + + + + + + +Node6 + + +nixd::EvalProvider + + + + + +Node2->Node6 + + + + + + + + +Node5 + + +nixd::OwnedEvalClient + + + + + +Node4->Node5 + + + + + + + + diff --git a/classlspserver_1_1OutboundPort-members.html b/classlspserver_1_1OutboundPort-members.html new file mode 100644 index 000000000..67512efb8 --- /dev/null +++ b/classlspserver_1_1OutboundPort-members.html @@ -0,0 +1,96 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
lspserver::OutboundPort Member List
+
+
+ +

This is the complete list of members for lspserver::OutboundPort, including all inherited members.

+ + + + + + + +
call(llvm::StringRef Method, llvm::json::Value Params, llvm::json::Value ID)lspserver::OutboundPort
notify(llvm::StringRef Method, llvm::json::Value Params)lspserver::OutboundPort
OutboundPort(bool Pretty=false)lspserver::OutboundPortinlineexplicit
OutboundPort(llvm::raw_ostream &Outs, bool Pretty=false)lspserver::OutboundPortinline
reply(llvm::json::Value ID, llvm::Expected< llvm::json::Value > Result)lspserver::OutboundPort
sendMessage(llvm::json::Value Message)lspserver::OutboundPort
+ + + + diff --git a/classlspserver_1_1OutboundPort.html b/classlspserver_1_1OutboundPort.html new file mode 100644 index 000000000..c6ef680b9 --- /dev/null +++ b/classlspserver_1_1OutboundPort.html @@ -0,0 +1,278 @@ + + + + + + + +nixd: lspserver::OutboundPort Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
lspserver::OutboundPort Class Reference
+
+
+ +

#include <Connection.h>

+ + + + + + + + + + + + + + +

+Public Member Functions

 OutboundPort (bool Pretty=false)
 
 OutboundPort (llvm::raw_ostream &Outs, bool Pretty=false)
 
void notify (llvm::StringRef Method, llvm::json::Value Params)
 
void call (llvm::StringRef Method, llvm::json::Value Params, llvm::json::Value ID)
 
void reply (llvm::json::Value ID, llvm::Expected< llvm::json::Value > Result)
 
void sendMessage (llvm::json::Value Message)
 
+

Detailed Description

+
+

Definition at line 68 of file Connection.h.

+

Constructor & Destructor Documentation

+ +

◆ OutboundPort() [1/2]

+ +
+
+ + + + + +
+ + + + + + + +
lspserver::OutboundPort::OutboundPort (bool Pretty = false)
+
+inlineexplicit
+
+ +

Definition at line 79 of file Connection.h.

+ +
+
+ +

◆ OutboundPort() [2/2]

+ +
+
+ + + + + +
+ + + + + + + + + + + +
lspserver::OutboundPort::OutboundPort (llvm::raw_ostream & Outs,
bool Pretty = false )
+
+inline
+
+ +

Definition at line 81 of file Connection.h.

+ +
+
+

Member Function Documentation

+ +

◆ call()

+ +
+
+ + + + + + + + + + + + + + + + +
void lspserver::OutboundPort::call (llvm::StringRef Method,
llvm::json::Value Params,
llvm::json::Value ID )
+
+ +

Definition at line 53 of file Connection.cpp.

+ +

References lspserver::Method, and sendMessage().

+ +
+
+ +

◆ notify()

+ +
+
+ + + + + + + + + + + +
void lspserver::OutboundPort::notify (llvm::StringRef Method,
llvm::json::Value Params )
+
+ +

Definition at line 46 of file Connection.cpp.

+ +

References lspserver::Method, and sendMessage().

+ +
+
+ +

◆ reply()

+ +
+
+ + + + + + + + + + + +
void lspserver::OutboundPort::reply (llvm::json::Value ID,
llvm::Expected< llvm::json::Value > Result )
+
+ +

Definition at line 62 of file Connection.cpp.

+ +

References sendMessage().

+ +
+
+ +

◆ sendMessage()

+ +
+
+ + + + + + + +
void lspserver::OutboundPort::sendMessage (llvm::json::Value Message)
+
+ +

Definition at line 79 of file Connection.cpp.

+ +

References lspserver::vlog().

+ +

Referenced by call(), notify(), and reply().

+ +
+
+
The documentation for this class was generated from the following files: +
+ + + + diff --git a/classlspserver_1_1StreamLogger-members.html b/classlspserver_1_1StreamLogger-members.html new file mode 100644 index 000000000..e746ed633 --- /dev/null +++ b/classlspserver_1_1StreamLogger-members.html @@ -0,0 +1,99 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
lspserver::StreamLogger Member List
+
+
+ +

This is the complete list of members for lspserver::StreamLogger, including all inherited members.

+ + + + + + + + + + +
Debug enum valuelspserver::Logger
Error enum valuelspserver::Logger
indicator(Level L)lspserver::Loggerinlinestatic
Info enum valuelspserver::Logger
Level enum namelspserver::Logger
log(Level, const char *Fmt, const llvm::formatv_object_base &Message) overridelspserver::StreamLoggervirtual
StreamLogger(llvm::raw_ostream &Logs, Logger::Level MinLevel)lspserver::StreamLogger
Verbose enum valuelspserver::Logger
~Logger()=defaultlspserver::Loggervirtual
+ + + + diff --git a/classlspserver_1_1StreamLogger.html b/classlspserver_1_1StreamLogger.html new file mode 100644 index 000000000..617f5d71a --- /dev/null +++ b/classlspserver_1_1StreamLogger.html @@ -0,0 +1,201 @@ + + + + + + + +nixd: lspserver::StreamLogger Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
lspserver::StreamLogger Class Reference
+
+
+ +

#include <Logger.h>

+
+Inheritance diagram for lspserver::StreamLogger:
+
+
+
[legend]
+
+Collaboration diagram for lspserver::StreamLogger:
+
+
+
[legend]
+ + + + + + + + + + +

+Public Member Functions

 StreamLogger (llvm::raw_ostream &Logs, Logger::Level MinLevel)
 
void log (Level, const char *Fmt, const llvm::formatv_object_base &Message) override
 Write a line to the logging stream.
 
- Public Member Functions inherited from lspserver::Logger
virtual ~Logger ()=default
 
+ + + + + + + +

+Additional Inherited Members

- Public Types inherited from lspserver::Logger
enum  Level : unsigned char { Debug +, Verbose +, Info +, Error + }
 
- Static Public Member Functions inherited from lspserver::Logger
static char indicator (Level L)
 
+

Detailed Description

+
+

Definition at line 104 of file Logger.h.

+

Constructor & Destructor Documentation

+ +

◆ StreamLogger()

+ +
+
+ + + + + + + + + + + +
lspserver::StreamLogger::StreamLogger (llvm::raw_ostream & Logs,
Logger::Level MinLevel )
+
+ +

Definition at line 91 of file Logger.cpp.

+ +
+
+

Member Function Documentation

+ +

◆ log()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + +
void lspserver::StreamLogger::log (Logger::Level Level,
const char * Fmt,
const llvm::formatv_object_base & Message )
+
+overridevirtual
+
+ +

Write a line to the logging stream.

+ +

Implements lspserver::Logger.

+ +

Definition at line 56 of file Logger.cpp.

+ +

References lspserver::Logger::indicator().

+ +
+
+
The documentation for this class was generated from the following files: +
+ + + + diff --git a/classlspserver_1_1StreamLogger__coll__graph.map b/classlspserver_1_1StreamLogger__coll__graph.map new file mode 100644 index 000000000..ecf1f2f8c --- /dev/null +++ b/classlspserver_1_1StreamLogger__coll__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/classlspserver_1_1StreamLogger__coll__graph.md5 b/classlspserver_1_1StreamLogger__coll__graph.md5 new file mode 100644 index 000000000..8aab69ea3 --- /dev/null +++ b/classlspserver_1_1StreamLogger__coll__graph.md5 @@ -0,0 +1 @@ +01475e4795c95b93bc9f015195d133fd \ No newline at end of file diff --git a/classlspserver_1_1StreamLogger__coll__graph.svg b/classlspserver_1_1StreamLogger__coll__graph.svg new file mode 100644 index 000000000..73de8f619 --- /dev/null +++ b/classlspserver_1_1StreamLogger__coll__graph.svg @@ -0,0 +1,39 @@ + + + + + + +lspserver::StreamLogger + + +Node1 + + +lspserver::StreamLogger + + + + + +Node2 + + +lspserver::Logger + + + + + +Node2->Node1 + + + + + + + + diff --git a/classlspserver_1_1StreamLogger__inherit__graph.map b/classlspserver_1_1StreamLogger__inherit__graph.map new file mode 100644 index 000000000..ecf1f2f8c --- /dev/null +++ b/classlspserver_1_1StreamLogger__inherit__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/classlspserver_1_1StreamLogger__inherit__graph.md5 b/classlspserver_1_1StreamLogger__inherit__graph.md5 new file mode 100644 index 000000000..8aab69ea3 --- /dev/null +++ b/classlspserver_1_1StreamLogger__inherit__graph.md5 @@ -0,0 +1 @@ +01475e4795c95b93bc9f015195d133fd \ No newline at end of file diff --git a/classlspserver_1_1StreamLogger__inherit__graph.svg b/classlspserver_1_1StreamLogger__inherit__graph.svg new file mode 100644 index 000000000..73de8f619 --- /dev/null +++ b/classlspserver_1_1StreamLogger__inherit__graph.svg @@ -0,0 +1,39 @@ + + + + + + +lspserver::StreamLogger + + +Node1 + + +lspserver::StreamLogger + + + + + +Node2 + + +lspserver::Logger + + + + + +Node2->Node1 + + + + + + + + diff --git a/classlspserver_1_1URI-members.html b/classlspserver_1_1URI-members.html new file mode 100644 index 000000000..a31f9d33c --- /dev/null +++ b/classlspserver_1_1URI-members.html @@ -0,0 +1,105 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
lspserver::URI Member List
+
+
+ +

This is the complete list of members for lspserver::URI, including all inherited members.

+ + + + + + + + + + + + + + + + +
authority() constlspserver::URIinline
body() constlspserver::URIinline
create(llvm::StringRef AbsolutePath, llvm::StringRef Scheme)lspserver::URIstatic
create(llvm::StringRef AbsolutePath)lspserver::URIstatic
createFile(llvm::StringRef AbsolutePath)lspserver::URIstatic
includeSpelling(const URI &U)lspserver::URIstatic
operator<lspserver::URIfriend
operator==lspserver::URIfriend
parse(llvm::StringRef Uri)lspserver::URIstatic
resolve(const URI &U, llvm::StringRef HintPath="")lspserver::URIstatic
resolve(llvm::StringRef FileURI, llvm::StringRef HintPath="")lspserver::URIstatic
resolvePath(llvm::StringRef AbsPath, llvm::StringRef HintPath="")lspserver::URIstatic
scheme() constlspserver::URIinline
toString() constlspserver::URI
URI(llvm::StringRef Scheme, llvm::StringRef Authority, llvm::StringRef Body)lspserver::URI
+ + + + diff --git a/classlspserver_1_1URI.html b/classlspserver_1_1URI.html new file mode 100644 index 000000000..3b6ae5c5a --- /dev/null +++ b/classlspserver_1_1URI.html @@ -0,0 +1,612 @@ + + + + + + + +nixd: lspserver::URI Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+ +
+ +

#include <URI.h>

+ + + + + + + + + + + + + + + + +

+Public Member Functions

 URI (llvm::StringRef Scheme, llvm::StringRef Authority, llvm::StringRef Body)
 
llvm::StringRef scheme () const
 Returns decoded scheme e.g. "https".
 
llvm::StringRef authority () const
 Returns decoded authority e.g. "reviews.lvm.org".
 
llvm::StringRef body () const
 Returns decoded body e.g. "/D41946".
 
std::string toString () const
 Returns a string URI with all components percent-encoded.
 
+ + + + + + + + + + + + + + + + + + + +

+Static Public Member Functions

static llvm::Expected< URIcreate (llvm::StringRef AbsolutePath, llvm::StringRef Scheme)
 
static URI create (llvm::StringRef AbsolutePath)
 
static URI createFile (llvm::StringRef AbsolutePath)
 This creates a file:// URI for AbsolutePath. The path must be absolute.
 
static llvm::Expected< URIparse (llvm::StringRef Uri)
 
static llvm::Expected< std::string > resolve (const URI &U, llvm::StringRef HintPath="")
 
static llvm::Expected< std::string > resolve (llvm::StringRef FileURI, llvm::StringRef HintPath="")
 Same as above, in addition it parses the FileURI using URI::parse.
 
static llvm::Expected< std::string > resolvePath (llvm::StringRef AbsPath, llvm::StringRef HintPath="")
 
static llvm::Expected< std::string > includeSpelling (const URI &U)
 
+ + + + + +

+Friends

bool operator== (const URI &LHS, const URI &RHS)
 
bool operator< (const URI &LHS, const URI &RHS)
 
+

Detailed Description

+

A URI describes the location of a source file. In the simplest case, this is a "file" URI that directly encodes the absolute path to a file. More abstract cases are possible: a shared index service might expose repo:// URIs that are relative to the source control root.

+

Clangd handles URIs of the form <scheme>:[//<authority>]<body>. It doesn't further split the authority or body into constituent parts (e.g. query strings is included in the body).

+ +

Definition at line 18 of file URI.h.

+

Constructor & Destructor Documentation

+ +

◆ URI()

+ +
+
+ + + + + + + + + + + + + + + + +
lspserver::URI::URI (llvm::StringRef Scheme,
llvm::StringRef Authority,
llvm::StringRef Body )
+
+ +

Definition at line 150 of file URI.cpp.

+ +
+
+

Member Function Documentation

+ +

◆ authority()

+ +
+
+ + + + + +
+ + + + + + + +
llvm::StringRef lspserver::URI::authority () const
+
+inline
+
+ +

Returns decoded authority e.g. "reviews.lvm.org".

+ +

Definition at line 25 of file URI.h.

+ +
+
+ +

◆ body()

+ +
+
+ + + + + +
+ + + + + + + +
llvm::StringRef lspserver::URI::body () const
+
+inline
+
+ +

Returns decoded body e.g. "/D41946".

+ +

Definition at line 27 of file URI.h.

+ +
+
+ +

◆ create() [1/2]

+ +
+
+ + + + + +
+ + + + + + + +
URI lspserver::URI::create (llvm::StringRef AbsolutePath)
+
+static
+
+ +

Definition at line 216 of file URI.cpp.

+ +

References createFile().

+ +
+
+ +

◆ create() [2/2]

+ +
+
+ + + + + +
+ + + + + + + + + + + +
llvm::Expected< URI > lspserver::URI::create (llvm::StringRef AbsolutePath,
llvm::StringRef Scheme )
+
+static
+
+

Creates a URI for a file in the given scheme. Scheme must be registered. The URI is percent-encoded.

+ +

Definition at line 206 of file URI.cpp.

+ +

References lspserver::error().

+ +
+
+ +

◆ createFile()

+ +
+
+ + + + + +
+ + + + + + + +
URI lspserver::URI::createFile (llvm::StringRef AbsolutePath)
+
+static
+
+ +

This creates a file:// URI for AbsolutePath. The path must be absolute.

+ +

Definition at line 235 of file URI.cpp.

+ +

Referenced by create(), and lspserver::URIForFile::uri().

+ +
+
+ +

◆ includeSpelling()

+ +
+
+ + + + + +
+ + + + + + + +
llvm::Expected< std::string > lspserver::URI::includeSpelling (const URI & U)
+
+static
+
+

Gets the preferred spelling of this file for #include, if there is one, e.g. <system_header.h>, "path/to/x.h".

+

This allows URI schemas to provide their customized include paths.

+

Returns an empty string if normal include-shortening based on the absolute path should be used. Fails if the URI is not valid in the schema.

+ +

Definition at line 270 of file URI.cpp.

+ +
+
+ +

◆ parse()

+ +
+
+ + + + + +
+ + + + + + + +
llvm::Expected< URI > lspserver::URI::parse (llvm::StringRef Uri)
+
+static
+
+

Parse a URI string "<scheme>:[//<authority>/]<path>". Percent-encoded characters in the URI will be decoded.

+ +

Definition at line 174 of file URI.cpp.

+ +

References lspserver::error().

+ +

Referenced by lspserver::fromJSON(), and resolve().

+ +
+
+ +

◆ resolve() [1/2]

+ +
+
+ + + + + +
+ + + + + + + + + + + +
llvm::Expected< std::string > lspserver::URI::resolve (const URI & U,
llvm::StringRef HintPath = "" )
+
+static
+
+

Resolves the absolute path of U. If there is no matching scheme, or the URI is invalid in the scheme, this returns an error.

+

HintPath A related path, such as the current file or working directory, which can help disambiguate when the same file exists in many workspaces.

+ +

Definition at line 242 of file URI.cpp.

+ +

Referenced by lspserver::URIForFile::fromURI(), and resolve().

+ +
+
+ +

◆ resolve() [2/2]

+ +
+
+ + + + + +
+ + + + + + + + + + + +
llvm::Expected< std::string > lspserver::URI::resolve (llvm::StringRef FileURI,
llvm::StringRef HintPath = "" )
+
+static
+
+ +

Same as above, in addition it parses the FileURI using URI::parse.

+ +

Definition at line 195 of file URI.cpp.

+ +

References parse(), and resolve().

+ +
+
+ +

◆ resolvePath()

+ +
+
+ + + + + +
+ + + + + + + + + + + +
llvm::Expected< std::string > lspserver::URI::resolvePath (llvm::StringRef AbsPath,
llvm::StringRef HintPath = "" )
+
+static
+
+

Resolves AbsPath into a canonical path of its URI, by converting AbsPath to URI and resolving the URI to get th canonical path. This ensures that paths with the same URI are resolved into consistent file path.

+ +

Definition at line 250 of file URI.cpp.

+ +

Referenced by lspserver::URIForFile::canonicalize().

+ +
+
+ +

◆ scheme()

+ +
+
+ + + + + +
+ + + + + + + +
llvm::StringRef lspserver::URI::scheme () const
+
+inline
+
+ +

Returns decoded scheme e.g. "https".

+ +

Definition at line 23 of file URI.h.

+ +
+
+ +

◆ toString()

+ +
+
+ + + + + + + +
std::string lspserver::URI::toString () const
+
+ +

Returns a string URI with all components percent-encoded.

+ +

Definition at line 158 of file URI.cpp.

+ +

Referenced by lspserver::URIForFile::uri().

+ +
+
+

Friends And Related Symbol Documentation

+ +

◆ operator<

+ +
+
+ + + + + +
+ + + + + + + + + + + +
bool operator< (const URI & LHS,
const URI & RHS )
+
+friend
+
+ +

Definition at line 82 of file URI.h.

+ +
+
+ +

◆ operator==

+ +
+
+ + + + + +
+ + + + + + + + + + + +
bool operator== (const URI & LHS,
const URI & RHS )
+
+friend
+
+ +

Definition at line 77 of file URI.h.

+ +
+
+
The documentation for this class was generated from the following files: +
+ + + + diff --git a/classlspserver_1_1URIScheme-members.html b/classlspserver_1_1URIScheme-members.html new file mode 100644 index 000000000..1768615bc --- /dev/null +++ b/classlspserver_1_1URIScheme-members.html @@ -0,0 +1,94 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
lspserver::URIScheme Member List
+
+
+ +

This is the complete list of members for lspserver::URIScheme, including all inherited members.

+ + + + + +
getAbsolutePath(llvm::StringRef Authority, llvm::StringRef Body, llvm::StringRef HintPath) const =0lspserver::URISchemepure virtual
getIncludeSpelling(const URI &U) constlspserver::URISchemeinlinevirtual
uriFromAbsolutePath(llvm::StringRef AbsolutePath) const =0lspserver::URISchemepure virtual
~URIScheme()=defaultlspserver::URISchemevirtual
+ + + + diff --git a/classlspserver_1_1URIScheme.html b/classlspserver_1_1URIScheme.html new file mode 100644 index 000000000..97fc8c796 --- /dev/null +++ b/classlspserver_1_1URIScheme.html @@ -0,0 +1,226 @@ + + + + + + + +nixd: lspserver::URIScheme Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
lspserver::URIScheme Class Referenceabstract
+
+
+ +

#include <URI.h>

+ + + + + + + + + + +

+Public Member Functions

virtual ~URIScheme ()=default
 
virtual llvm::Expected< std::string > getAbsolutePath (llvm::StringRef Authority, llvm::StringRef Body, llvm::StringRef HintPath) const =0
 
virtual llvm::Expected< URIuriFromAbsolutePath (llvm::StringRef AbsolutePath) const =0
 
virtual llvm::Expected< std::string > getIncludeSpelling (const URI &U) const
 
+

Detailed Description

+

URIScheme is an extension point for teaching clangd to recognize a custom URI scheme. This is expected to be implemented and exposed via the URISchemeRegistry.

+ +

Definition at line 98 of file URI.h.

+

Constructor & Destructor Documentation

+ +

◆ ~URIScheme()

+ +
+
+ + + + + +
+ + + + + + + +
virtual lspserver::URIScheme::~URIScheme ()
+
+virtualdefault
+
+ +
+
+

Member Function Documentation

+ +

◆ getAbsolutePath()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + +
virtual llvm::Expected< std::string > lspserver::URIScheme::getAbsolutePath (llvm::StringRef Authority,
llvm::StringRef Body,
llvm::StringRef HintPath ) const
+
+pure virtual
+
+

Returns the absolute path of the file corresponding to the URI authority+body in the file system. See URI::resolve for semantics of HintPath.

+ +
+
+ +

◆ getIncludeSpelling()

+ +
+
+ + + + + +
+ + + + + + + +
virtual llvm::Expected< std::string > lspserver::URIScheme::getIncludeSpelling (const URI & U) const
+
+inlinevirtual
+
+

Returns the include path of the file (e.g. <path>, "path"), which can be #included directly. See URI::includeSpelling for details.

+ +

Definition at line 114 of file URI.h.

+ +
+
+ +

◆ uriFromAbsolutePath()

+ +
+
+ + + + + +
+ + + + + + + +
virtual llvm::Expected< URI > lspserver::URIScheme::uriFromAbsolutePath (llvm::StringRef AbsolutePath) const
+
+pure virtual
+
+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/classnixbc_1_1Origin-members.html b/classnixbc_1_1Origin-members.html new file mode 100644 index 000000000..3d94aed8c --- /dev/null +++ b/classnixbc_1_1Origin-members.html @@ -0,0 +1,97 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
nixbc::Origin Member List
+
+
+ +

This is the complete list of members for nixbc::Origin, including all inherited members.

+ + + + + + + + +
kind() constnixbc::Origininline
OK_None enum valuenixbc::Origin
OK_Path enum valuenixbc::Origin
OK_Stdin enum valuenixbc::Origin
OK_String enum valuenixbc::Origin
Origin(OriginKind Kind)nixbc::Origininlineprotected
OriginKind enum namenixbc::Origin
+ + + + diff --git a/classnixbc_1_1Origin.html b/classnixbc_1_1Origin.html new file mode 100644 index 000000000..13d291604 --- /dev/null +++ b/classnixbc_1_1Origin.html @@ -0,0 +1,212 @@ + + + + + + + +nixd: nixbc::Origin Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+ +
+ +

#include <Origin.h>

+
+Inheritance diagram for nixbc::Origin:
+
+
+
[legend]
+ + + + + +

+Public Types

enum  OriginKind : uint8_t { OK_None +, OK_Stdin +, OK_String +, OK_Path + }
 Origin kind. More...
 
+ + + +

+Public Member Functions

OriginKind kind () const
 
+ + + +

+Protected Member Functions

 Origin (OriginKind Kind)
 
+

Detailed Description

+
+

Definition at line 10 of file Origin.h.

+

Member Enumeration Documentation

+ +

◆ OriginKind

+ +
+
+ + + + +
enum nixbc::Origin::OriginKind : uint8_t
+
+ +

Origin kind.

+
Note
Nix interpreter may read the file, or try to read source code for diagnostics reporting.
+ + + + + +
Enumerator
OK_None 

None.

+
OK_Stdin 

Standard input.

+
OK_String 

EvalState::parseExprFromString()

+
OK_Path 

EvalState::parseExprFromFile()

+
+ +

Definition at line 16 of file Origin.h.

+ +
+
+

Constructor & Destructor Documentation

+ +

◆ Origin()

+ +
+
+ + + + + +
+ + + + + + + +
nixbc::Origin::Origin (OriginKind Kind)
+
+inlineprotected
+
+ +

Definition at line 34 of file Origin.h.

+ +
+
+

Member Function Documentation

+ +

◆ kind()

+ +
+
+ + + + + +
+ + + + + + + +
OriginKind nixbc::Origin::kind () const
+
+inline
+
+ +

Definition at line 37 of file Origin.h.

+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/classnixbc_1_1OriginPath-members.html b/classnixbc_1_1OriginPath-members.html new file mode 100644 index 000000000..6d7b232d7 --- /dev/null +++ b/classnixbc_1_1OriginPath-members.html @@ -0,0 +1,100 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
nixbc::OriginPath Member List
+
+
+ +

This is the complete list of members for nixbc::OriginPath, including all inherited members.

+ + + + + + + + + + + +
kind() constnixbc::Origininline
OK_None enum valuenixbc::Origin
OK_Path enum valuenixbc::Origin
OK_Stdin enum valuenixbc::Origin
OK_String enum valuenixbc::Origin
Origin(OriginKind Kind)nixbc::Origininlineprotected
OriginKind enum namenixbc::Origin
OriginPath()nixbc::OriginPathinline
path()nixbc::OriginPathinline
path() constnixbc::OriginPathinline
+ + + + diff --git a/classnixbc_1_1OriginPath.html b/classnixbc_1_1OriginPath.html new file mode 100644 index 000000000..4cd0e21d1 --- /dev/null +++ b/classnixbc_1_1OriginPath.html @@ -0,0 +1,218 @@ + + + + + + + +nixd: nixbc::OriginPath Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
nixbc::OriginPath Class Reference
+
+
+ +

#include <Origin.h>

+
+Inheritance diagram for nixbc::OriginPath:
+
+
+
[legend]
+
+Collaboration diagram for nixbc::OriginPath:
+
+
+
[legend]
+ + + + + + + + + + + +

+Public Member Functions

 OriginPath ()
 
std::string & path ()
 
const std::string & path () const
 
- Public Member Functions inherited from nixbc::Origin
OriginKind kind () const
 
+ + + + + + + + +

+Additional Inherited Members

- Public Types inherited from nixbc::Origin
enum  OriginKind : uint8_t { OK_None +, OK_Stdin +, OK_String +, OK_Path + }
 Origin kind. More...
 
- Protected Member Functions inherited from nixbc::Origin
 Origin (OriginKind Kind)
 
+

Detailed Description

+
+

Definition at line 43 of file Origin.h.

+

Constructor & Destructor Documentation

+ +

◆ OriginPath()

+ +
+
+ + + + + +
+ + + + + + + +
nixbc::OriginPath::OriginPath ()
+
+inline
+
+ +

Definition at line 47 of file Origin.h.

+ +
+
+

Member Function Documentation

+ +

◆ path() [1/2]

+ +
+
+ + + + + +
+ + + + + + + +
std::string & nixbc::OriginPath::path ()
+
+inline
+
+ +

Definition at line 49 of file Origin.h.

+ +
+
+ +

◆ path() [2/2]

+ +
+
+ + + + + +
+ + + + + + + +
const std::string & nixbc::OriginPath::path () const
+
+inline
+
+ +

Definition at line 50 of file Origin.h.

+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/classnixbc_1_1OriginPath__coll__graph.map b/classnixbc_1_1OriginPath__coll__graph.map new file mode 100644 index 000000000..131c81e46 --- /dev/null +++ b/classnixbc_1_1OriginPath__coll__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/classnixbc_1_1OriginPath__coll__graph.md5 b/classnixbc_1_1OriginPath__coll__graph.md5 new file mode 100644 index 000000000..b362b995c --- /dev/null +++ b/classnixbc_1_1OriginPath__coll__graph.md5 @@ -0,0 +1 @@ +de68851bca357ea3b94fd97201a32d20 \ No newline at end of file diff --git a/classnixbc_1_1OriginPath__coll__graph.svg b/classnixbc_1_1OriginPath__coll__graph.svg new file mode 100644 index 000000000..79f56c77c --- /dev/null +++ b/classnixbc_1_1OriginPath__coll__graph.svg @@ -0,0 +1,39 @@ + + + + + + +nixbc::OriginPath + + +Node1 + + +nixbc::OriginPath + + + + + +Node2 + + +nixbc::Origin + + + + + +Node2->Node1 + + + + + + + + diff --git a/classnixbc_1_1OriginPath__inherit__graph.map b/classnixbc_1_1OriginPath__inherit__graph.map new file mode 100644 index 000000000..131c81e46 --- /dev/null +++ b/classnixbc_1_1OriginPath__inherit__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/classnixbc_1_1OriginPath__inherit__graph.md5 b/classnixbc_1_1OriginPath__inherit__graph.md5 new file mode 100644 index 000000000..b362b995c --- /dev/null +++ b/classnixbc_1_1OriginPath__inherit__graph.md5 @@ -0,0 +1 @@ +de68851bca357ea3b94fd97201a32d20 \ No newline at end of file diff --git a/classnixbc_1_1OriginPath__inherit__graph.svg b/classnixbc_1_1OriginPath__inherit__graph.svg new file mode 100644 index 000000000..79f56c77c --- /dev/null +++ b/classnixbc_1_1OriginPath__inherit__graph.svg @@ -0,0 +1,39 @@ + + + + + + +nixbc::OriginPath + + +Node1 + + +nixbc::OriginPath + + + + + +Node2 + + +nixbc::Origin + + + + + +Node2->Node1 + + + + + + + + diff --git a/classnixbc_1_1Origin__inherit__graph.map b/classnixbc_1_1Origin__inherit__graph.map new file mode 100644 index 000000000..0b4b6c074 --- /dev/null +++ b/classnixbc_1_1Origin__inherit__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/classnixbc_1_1Origin__inherit__graph.md5 b/classnixbc_1_1Origin__inherit__graph.md5 new file mode 100644 index 000000000..201243888 --- /dev/null +++ b/classnixbc_1_1Origin__inherit__graph.md5 @@ -0,0 +1 @@ +d8649872bb1bf9a9e8406b2d21c44186 \ No newline at end of file diff --git a/classnixbc_1_1Origin__inherit__graph.svg b/classnixbc_1_1Origin__inherit__graph.svg new file mode 100644 index 000000000..fe2b756c0 --- /dev/null +++ b/classnixbc_1_1Origin__inherit__graph.svg @@ -0,0 +1,39 @@ + + + + + + +nixbc::Origin + + +Node1 + + +nixbc::Origin + + + + + +Node2 + + +nixbc::OriginPath + + + + + +Node1->Node2 + + + + + + + + diff --git a/classnixd_1_1Controller-members.html b/classnixd_1_1Controller-members.html new file mode 100644 index 000000000..e4544292b --- /dev/null +++ b/classnixd_1_1Controller-members.html @@ -0,0 +1,99 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
nixd::Controller Member List
+
+
+ +

This is the complete list of members for nixd::Controller, including all inherited members.

+ + + + + + + + + + +
closeInbound()lspserver::LSPServerinline
Controller(std::unique_ptr< lspserver::InboundPort > In, std::unique_ptr< lspserver::OutboundPort > Out)nixd::Controller
LSPServer(std::unique_ptr< InboundPort > In, std::unique_ptr< OutboundPort > Out)lspserver::LSPServerinline
mkOutMethodlspserver::LSPServerinlineprotected
mkOutNotifictionlspserver::LSPServerinlineprotected
Registrylspserver::LSPServerprotected
run()lspserver::LSPServer
switchStreamStyle(JSONStreamStyle Style)lspserver::LSPServerinline
~MessageHandler()=defaultlspserver::MessageHandlervirtual
+ + + + diff --git a/classnixd_1_1Controller.html b/classnixd_1_1Controller.html new file mode 100644 index 000000000..99ff7813c --- /dev/null +++ b/classnixd_1_1Controller.html @@ -0,0 +1,171 @@ + + + + + + + +nixd: nixd::Controller Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
nixd::Controller Class Reference
+
+
+ +

#include <Controller.h>

+
+Inheritance diagram for nixd::Controller:
+
+
+
[legend]
+
+Collaboration diagram for nixd::Controller:
+
+
+
[legend]
+ + + + + + + + + + + + + + + + + +

+Public Member Functions

 Controller (std::unique_ptr< lspserver::InboundPort > In, std::unique_ptr< lspserver::OutboundPort > Out)
 
- Public Member Functions inherited from lspserver::LSPServer
 LSPServer (std::unique_ptr< InboundPort > In, std::unique_ptr< OutboundPort > Out)
 
void closeInbound ()
 Close the inbound port.
 
void run ()
 
void switchStreamStyle (JSONStreamStyle Style)
 
- Public Member Functions inherited from lspserver::MessageHandler
virtual ~MessageHandler ()=default
 
+ + + + + + + + + + +

+Additional Inherited Members

- Protected Attributes inherited from lspserver::LSPServer
HandlerRegistry Registry
 
template<class T >
llvm::unique_function< void(const T &) mkOutNotifiction )(llvm::StringRef Method, OutboundPort *O=nullptr)
 
template<class ParamTy , class ResponseTy >
llvm::unique_function< void(const ParamTy &, Callback< ResponseTy >) mkOutMethod )(llvm::StringRef Method, OutboundPort *O=nullptr)
 
+

Detailed Description

+
+

Definition at line 11 of file Controller.h.

+

Constructor & Destructor Documentation

+ +

◆ Controller()

+ +
+
+ + + + + + + + + + + +
nixd::Controller::Controller (std::unique_ptr< lspserver::InboundPort > In,
std::unique_ptr< lspserver::OutboundPort > Out )
+
+
+
The documentation for this class was generated from the following files: +
+ + + + diff --git a/classnixd_1_1Controller__coll__graph.map b/classnixd_1_1Controller__coll__graph.map new file mode 100644 index 000000000..c79d9479c --- /dev/null +++ b/classnixd_1_1Controller__coll__graph.map @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/classnixd_1_1Controller__coll__graph.md5 b/classnixd_1_1Controller__coll__graph.md5 new file mode 100644 index 000000000..35c60251c --- /dev/null +++ b/classnixd_1_1Controller__coll__graph.md5 @@ -0,0 +1 @@ +78ef5a82f1137d075d3dac8479bdfcc6 \ No newline at end of file diff --git a/classnixd_1_1Controller__coll__graph.svg b/classnixd_1_1Controller__coll__graph.svg new file mode 100644 index 000000000..96ad68688 --- /dev/null +++ b/classnixd_1_1Controller__coll__graph.svg @@ -0,0 +1,76 @@ + + + + + + +nixd::Controller + + +Node1 + + +nixd::Controller + + + + + +Node2 + + +lspserver::LSPServer + + + + + +Node2->Node1 + + + + + + + + +Node3 + + +lspserver::MessageHandler + + + + + +Node3->Node2 + + + + + + + + +Node4 + + +lspserver::HandlerRegistry + + + + + +Node4->Node2 + + + + + + Registry + + + diff --git a/classnixd_1_1Controller__inherit__graph.map b/classnixd_1_1Controller__inherit__graph.map new file mode 100644 index 000000000..ccadc050c --- /dev/null +++ b/classnixd_1_1Controller__inherit__graph.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/classnixd_1_1Controller__inherit__graph.md5 b/classnixd_1_1Controller__inherit__graph.md5 new file mode 100644 index 000000000..bbe58da5a --- /dev/null +++ b/classnixd_1_1Controller__inherit__graph.md5 @@ -0,0 +1 @@ +9d35ce579123c8f7b8e28096b5a053a5 \ No newline at end of file diff --git a/classnixd_1_1Controller__inherit__graph.svg b/classnixd_1_1Controller__inherit__graph.svg new file mode 100644 index 000000000..3df9bf99d --- /dev/null +++ b/classnixd_1_1Controller__inherit__graph.svg @@ -0,0 +1,57 @@ + + + + + + +nixd::Controller + + +Node1 + + +nixd::Controller + + + + + +Node2 + + +lspserver::LSPServer + + + + + +Node2->Node1 + + + + + + + + +Node3 + + +lspserver::MessageHandler + + + + + +Node3->Node2 + + + + + + + + diff --git a/classnixd_1_1EvalClient-members.html b/classnixd_1_1EvalClient-members.html new file mode 100644 index 000000000..45621c237 --- /dev/null +++ b/classnixd_1_1EvalClient-members.html @@ -0,0 +1,102 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
nixd::EvalClient Member List
+
+
+ +

This is the complete list of members for nixd::EvalClient, including all inherited members.

+ + + + + + + + + + + + + +
closeInbound()lspserver::LSPServerinline
EvalClient(std::unique_ptr< lspserver::InboundPort > In, std::unique_ptr< lspserver::OutboundPort > Out)nixd::EvalClientinline
ExprValuenixd::EvalClient
LSPServer(std::unique_ptr< InboundPort > In, std::unique_ptr< OutboundPort > Out)lspserver::LSPServerinline
mkOutMethodlspserver::LSPServerinlineprotected
mkOutNotifictionlspserver::LSPServerinlineprotected
RegisterBCnixd::EvalClient
Registrylspserver::LSPServerprotected
run()lspserver::LSPServer
switchStreamStyle(JSONStreamStyle Style)lspserver::LSPServerinline
~EvalClient()=defaultnixd::EvalClientvirtual
~MessageHandler()=defaultlspserver::MessageHandlervirtual
+ + + + diff --git a/classnixd_1_1EvalClient.html b/classnixd_1_1EvalClient.html new file mode 100644 index 000000000..2dd4033d6 --- /dev/null +++ b/classnixd_1_1EvalClient.html @@ -0,0 +1,245 @@ + + + + + + + +nixd: nixd::EvalClient Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
nixd::EvalClient Class Reference
+
+
+ +

#include <EvalClient.h>

+
+Inheritance diagram for nixd::EvalClient:
+
+
+
[legend]
+
+Collaboration diagram for nixd::EvalClient:
+
+
+
[legend]
+ + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 EvalClient (std::unique_ptr< lspserver::InboundPort > In, std::unique_ptr< lspserver::OutboundPort > Out)
 
virtual ~EvalClient ()=default
 
- Public Member Functions inherited from lspserver::LSPServer
 LSPServer (std::unique_ptr< InboundPort > In, std::unique_ptr< OutboundPort > Out)
 
void closeInbound ()
 Close the inbound port.
 
void run ()
 
void switchStreamStyle (JSONStreamStyle Style)
 
- Public Member Functions inherited from lspserver::MessageHandler
virtual ~MessageHandler ()=default
 
+ + + + + +

+Public Attributes

llvm::unique_function< void(const rpc::RegisterBCParams &) RegisterBC )
 
llvm::unique_function< void(const rpc::ExprValueParams &, lspserver::Callback< rpc::ExprValueResponse >) ExprValue )
 
+ + + + + + + + + + +

+Additional Inherited Members

- Protected Attributes inherited from lspserver::LSPServer
HandlerRegistry Registry
 
template<class T >
llvm::unique_function< void(const T &) mkOutNotifiction )(llvm::StringRef Method, OutboundPort *O=nullptr)
 
template<class ParamTy , class ResponseTy >
llvm::unique_function< void(const ParamTy &, Callback< ResponseTy >) mkOutMethod )(llvm::StringRef Method, OutboundPort *O=nullptr)
 
+

Detailed Description

+
+

Definition at line 14 of file EvalClient.h.

+

Constructor & Destructor Documentation

+ +

◆ EvalClient()

+ +
+
+ + + + + +
+ + + + + + + + + + + +
nixd::EvalClient::EvalClient (std::unique_ptr< lspserver::InboundPort > In,
std::unique_ptr< lspserver::OutboundPort > Out )
+
+inline
+
+ +

Definition at line 21 of file EvalClient.h.

+ +

References ExprValue, and RegisterBC.

+ +
+
+ +

◆ ~EvalClient()

+ +
+
+ + + + + +
+ + + + + + + +
virtual nixd::EvalClient::~EvalClient ()
+
+virtualdefault
+
+ +
+
+

Member Data Documentation

+ +

◆ ExprValue

+ +
+
+ + + + +
llvm::unique_function<void(const rpc::ExprValueParams &, lspserver::Callback<rpc::ExprValueResponse>) nixd::EvalClient::ExprValue)
+
+ +

Definition at line 19 of file EvalClient.h.

+ +

Referenced by EvalClient().

+ +
+
+ +

◆ RegisterBC

+ +
+
+ + + + +
llvm::unique_function<void(const rpc::RegisterBCParams &) nixd::EvalClient::RegisterBC)
+
+ +

Definition at line 16 of file EvalClient.h.

+ +

Referenced by EvalClient().

+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/classnixd_1_1EvalClient__coll__graph.map b/classnixd_1_1EvalClient__coll__graph.map new file mode 100644 index 000000000..99b509af8 --- /dev/null +++ b/classnixd_1_1EvalClient__coll__graph.map @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/classnixd_1_1EvalClient__coll__graph.md5 b/classnixd_1_1EvalClient__coll__graph.md5 new file mode 100644 index 000000000..9539db08c --- /dev/null +++ b/classnixd_1_1EvalClient__coll__graph.md5 @@ -0,0 +1 @@ +572f3c3f4035fb67e58d2d65e3948f69 \ No newline at end of file diff --git a/classnixd_1_1EvalClient__coll__graph.svg b/classnixd_1_1EvalClient__coll__graph.svg new file mode 100644 index 000000000..602ebcc4d --- /dev/null +++ b/classnixd_1_1EvalClient__coll__graph.svg @@ -0,0 +1,76 @@ + + + + + + +nixd::EvalClient + + +Node1 + + +nixd::EvalClient + + + + + +Node2 + + +lspserver::LSPServer + + + + + +Node2->Node1 + + + + + + + + +Node3 + + +lspserver::MessageHandler + + + + + +Node3->Node2 + + + + + + + + +Node4 + + +lspserver::HandlerRegistry + + + + + +Node4->Node2 + + + + + + Registry + + + diff --git a/classnixd_1_1EvalClient__inherit__graph.map b/classnixd_1_1EvalClient__inherit__graph.map new file mode 100644 index 000000000..4b53b1972 --- /dev/null +++ b/classnixd_1_1EvalClient__inherit__graph.map @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/classnixd_1_1EvalClient__inherit__graph.md5 b/classnixd_1_1EvalClient__inherit__graph.md5 new file mode 100644 index 000000000..0b494fa25 --- /dev/null +++ b/classnixd_1_1EvalClient__inherit__graph.md5 @@ -0,0 +1 @@ +c542537691d2f80790bc4a45106647a2 \ No newline at end of file diff --git a/classnixd_1_1EvalClient__inherit__graph.svg b/classnixd_1_1EvalClient__inherit__graph.svg new file mode 100644 index 000000000..467ed2381 --- /dev/null +++ b/classnixd_1_1EvalClient__inherit__graph.svg @@ -0,0 +1,75 @@ + + + + + + +nixd::EvalClient + + +Node1 + + +nixd::EvalClient + + + + + +Node4 + + +nixd::OwnedEvalClient + + + + + +Node1->Node4 + + + + + + + + +Node2 + + +lspserver::LSPServer + + + + + +Node2->Node1 + + + + + + + + +Node3 + + +lspserver::MessageHandler + + + + + +Node3->Node2 + + + + + + + + diff --git a/classnixd_1_1EvalProvider-members.html b/classnixd_1_1EvalProvider-members.html new file mode 100644 index 000000000..7e4e9bfbf --- /dev/null +++ b/classnixd_1_1EvalProvider-members.html @@ -0,0 +1,101 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
nixd::EvalProvider Member List
+
+
+ +

This is the complete list of members for nixd::EvalProvider, including all inherited members.

+ + + + + + + + + + + + +
closeInbound()lspserver::LSPServerinline
EvalProvider(std::unique_ptr< lspserver::InboundPort > In, std::unique_ptr< lspserver::OutboundPort > Out)nixd::EvalProvider
LSPServer(std::unique_ptr< InboundPort > In, std::unique_ptr< OutboundPort > Out)lspserver::LSPServerinline
mkOutMethodlspserver::LSPServerinlineprotected
mkOutNotifictionlspserver::LSPServerinlineprotected
onExprValue(const rpc::ExprValueParams &Params, lspserver::Callback< rpc::ExprValueResponse >)nixd::EvalProvider
onRegisterBC(const rpc::RegisterBCParams &Params)nixd::EvalProvider
Registrylspserver::LSPServerprotected
run()lspserver::LSPServer
switchStreamStyle(JSONStreamStyle Style)lspserver::LSPServerinline
~MessageHandler()=defaultlspserver::MessageHandlervirtual
+ + + + diff --git a/classnixd_1_1EvalProvider.html b/classnixd_1_1EvalProvider.html new file mode 100644 index 000000000..45df7cb07 --- /dev/null +++ b/classnixd_1_1EvalProvider.html @@ -0,0 +1,215 @@ + + + + + + + +nixd: nixd::EvalProvider Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
nixd::EvalProvider Class Reference
+
+
+ +

#include <EvalProvider.h>

+
+Inheritance diagram for nixd::EvalProvider:
+
+
+
[legend]
+
+Collaboration diagram for nixd::EvalProvider:
+
+
+
[legend]
+ + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 EvalProvider (std::unique_ptr< lspserver::InboundPort > In, std::unique_ptr< lspserver::OutboundPort > Out)
 
void onRegisterBC (const rpc::RegisterBCParams &Params)
 
void onExprValue (const rpc::ExprValueParams &Params, lspserver::Callback< rpc::ExprValueResponse >)
 
- Public Member Functions inherited from lspserver::LSPServer
 LSPServer (std::unique_ptr< InboundPort > In, std::unique_ptr< OutboundPort > Out)
 
void closeInbound ()
 Close the inbound port.
 
void run ()
 
void switchStreamStyle (JSONStreamStyle Style)
 
- Public Member Functions inherited from lspserver::MessageHandler
virtual ~MessageHandler ()=default
 
+ + + + + + + + + + +

+Additional Inherited Members

- Protected Attributes inherited from lspserver::LSPServer
HandlerRegistry Registry
 
template<class T >
llvm::unique_function< void(const T &) mkOutNotifiction )(llvm::StringRef Method, OutboundPort *O=nullptr)
 
template<class ParamTy , class ResponseTy >
llvm::unique_function< void(const ParamTy &, Callback< ResponseTy >) mkOutMethod )(llvm::StringRef Method, OutboundPort *O=nullptr)
 
+

Detailed Description

+
+

Definition at line 15 of file EvalProvider.h.

+

Constructor & Destructor Documentation

+ +

◆ EvalProvider()

+ +
+
+ + + + + + + + + + + +
nixd::EvalProvider::EvalProvider (std::unique_ptr< lspserver::InboundPort > In,
std::unique_ptr< lspserver::OutboundPort > Out )
+
+ +

Definition at line 31 of file EvalProvider.cpp.

+ +
+
+

Member Function Documentation

+ +

◆ onExprValue()

+ +
+
+ + + + + + + + + + + +
void nixd::EvalProvider::onExprValue (const rpc::ExprValueParams & Params,
lspserver::Callback< rpc::ExprValueResponse >  )
+
+ +

Definition at line 66 of file EvalProvider.cpp.

+ +

References nixd::rpc::ExprValueParams::ExprID.

+ +
+
+ +

◆ onRegisterBC()

+ + +
The documentation for this class was generated from the following files: +
+ + + + diff --git a/classnixd_1_1EvalProvider__coll__graph.map b/classnixd_1_1EvalProvider__coll__graph.map new file mode 100644 index 000000000..be568f3bb --- /dev/null +++ b/classnixd_1_1EvalProvider__coll__graph.map @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/classnixd_1_1EvalProvider__coll__graph.md5 b/classnixd_1_1EvalProvider__coll__graph.md5 new file mode 100644 index 000000000..ec2beb903 --- /dev/null +++ b/classnixd_1_1EvalProvider__coll__graph.md5 @@ -0,0 +1 @@ +db83c960fb291622471f1b1392b646e2 \ No newline at end of file diff --git a/classnixd_1_1EvalProvider__coll__graph.svg b/classnixd_1_1EvalProvider__coll__graph.svg new file mode 100644 index 000000000..15cad4ad3 --- /dev/null +++ b/classnixd_1_1EvalProvider__coll__graph.svg @@ -0,0 +1,76 @@ + + + + + + +nixd::EvalProvider + + +Node1 + + +nixd::EvalProvider + + + + + +Node2 + + +lspserver::LSPServer + + + + + +Node2->Node1 + + + + + + + + +Node3 + + +lspserver::MessageHandler + + + + + +Node3->Node2 + + + + + + + + +Node4 + + +lspserver::HandlerRegistry + + + + + +Node4->Node2 + + + + + + Registry + + + diff --git a/classnixd_1_1EvalProvider__inherit__graph.map b/classnixd_1_1EvalProvider__inherit__graph.map new file mode 100644 index 000000000..a6d049068 --- /dev/null +++ b/classnixd_1_1EvalProvider__inherit__graph.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/classnixd_1_1EvalProvider__inherit__graph.md5 b/classnixd_1_1EvalProvider__inherit__graph.md5 new file mode 100644 index 000000000..17467508d --- /dev/null +++ b/classnixd_1_1EvalProvider__inherit__graph.md5 @@ -0,0 +1 @@ +f3a11742899694c3f94592d04391b90d \ No newline at end of file diff --git a/classnixd_1_1EvalProvider__inherit__graph.svg b/classnixd_1_1EvalProvider__inherit__graph.svg new file mode 100644 index 000000000..6d55a8252 --- /dev/null +++ b/classnixd_1_1EvalProvider__inherit__graph.svg @@ -0,0 +1,57 @@ + + + + + + +nixd::EvalProvider + + +Node1 + + +nixd::EvalProvider + + + + + +Node2 + + +lspserver::LSPServer + + + + + +Node2->Node1 + + + + + + + + +Node3 + + +lspserver::MessageHandler + + + + + +Node3->Node2 + + + + + + + + diff --git a/classnixd_1_1NixTU-members.html b/classnixd_1_1NixTU-members.html new file mode 100644 index 000000000..e606b0cc1 --- /dev/null +++ b/classnixd_1_1NixTU-members.html @@ -0,0 +1,94 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
nixd::NixTU Member List
+
+
+ +

This is the complete list of members for nixd::NixTU, including all inherited members.

+ + + + + +
ast() constnixd::NixTUinline
diagnostics() constnixd::NixTUinline
NixTU()=defaultnixd::NixTU
NixTU(std::vector< nixf::Diagnostic > Diagnostics, std::shared_ptr< nixf::Node > AST, std::optional< util::OwnedRegion > ASTByteCode)nixd::NixTUinline
+ + + + diff --git a/classnixd_1_1NixTU.html b/classnixd_1_1NixTU.html new file mode 100644 index 000000000..21711e135 --- /dev/null +++ b/classnixd_1_1NixTU.html @@ -0,0 +1,232 @@ + + + + + + + +nixd: nixd::NixTU Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
nixd::NixTU Class Reference
+
+
+ +

Holds analyzed information about a document. + More...

+ +

#include <NixTU.h>

+ + + + + + + + + + +

+Public Member Functions

 NixTU ()=default
 
 NixTU (std::vector< nixf::Diagnostic > Diagnostics, std::shared_ptr< nixf::Node > AST, std::optional< util::OwnedRegion > ASTByteCode)
 
const std::vector< nixf::Diagnostic > & diagnostics () const
 
const std::shared_ptr< nixf::Node > & ast () const
 
+

Detailed Description

+

Holds analyzed information about a document.

+

TU stands for "Translation Unit".

+ +

Definition at line 13 of file NixTU.h.

+

Constructor & Destructor Documentation

+ +

◆ NixTU() [1/2]

+ +
+
+ + + + + +
+ + + + + + + +
nixd::NixTU::NixTU ()
+
+default
+
+ +
+
+ +

◆ NixTU() [2/2]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + +
nixd::NixTU::NixTU (std::vector< nixf::Diagnostic > Diagnostics,
std::shared_ptr< nixf::Node > AST,
std::optional< util::OwnedRegion > ASTByteCode )
+
+inline
+
+ +

Definition at line 20 of file NixTU.h.

+ +
+
+

Member Function Documentation

+ +

◆ ast()

+ +
+
+ + + + + +
+ + + + + + + +
const std::shared_ptr< nixf::Node > & nixd::NixTU::ast () const
+
+inline
+
+ +

Definition at line 30 of file NixTU.h.

+ +
+
+ +

◆ diagnostics()

+ +
+
+ + + + + +
+ + + + + + + +
const std::vector< nixf::Diagnostic > & nixd::NixTU::diagnostics () const
+
+inline
+
+ +

Definition at line 26 of file NixTU.h.

+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/classnixd_1_1OwnedEvalClient-members.html b/classnixd_1_1OwnedEvalClient-members.html new file mode 100644 index 000000000..8defe6a9a --- /dev/null +++ b/classnixd_1_1OwnedEvalClient-members.html @@ -0,0 +1,106 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
nixd::OwnedEvalClient Member List
+
+
+ +

This is the complete list of members for nixd::OwnedEvalClient, including all inherited members.

+ + + + + + + + + + + + + + + + + +
closeInbound()lspserver::LSPServerinline
create(int &Fail)nixd::OwnedEvalClientstatic
EvalClient(std::unique_ptr< lspserver::InboundPort > In, std::unique_ptr< lspserver::OutboundPort > Out)nixd::EvalClientinline
ExprValuenixd::EvalClient
LSPServer(std::unique_ptr< InboundPort > In, std::unique_ptr< OutboundPort > Out)lspserver::LSPServerinline
mkOutMethodlspserver::LSPServerinlineprotected
mkOutNotifictionlspserver::LSPServerinlineprotected
OwnedEvalClient(std::unique_ptr< lspserver::InboundPort > In, std::unique_ptr< lspserver::OutboundPort > Out, std::unique_ptr< util::PipedProc > Proc, std::unique_ptr< llvm::raw_fd_ostream > Stream)nixd::OwnedEvalClientinline
proc()nixd::OwnedEvalClientinline
RegisterBCnixd::EvalClient
Registrylspserver::LSPServerprotected
run()lspserver::LSPServer
switchStreamStyle(JSONStreamStyle Style)lspserver::LSPServerinline
~EvalClient()=defaultnixd::EvalClientvirtual
~MessageHandler()=defaultlspserver::MessageHandlervirtual
~OwnedEvalClient()nixd::OwnedEvalClientinline
+ + + + diff --git a/classnixd_1_1OwnedEvalClient.html b/classnixd_1_1OwnedEvalClient.html new file mode 100644 index 000000000..c46b23146 --- /dev/null +++ b/classnixd_1_1OwnedEvalClient.html @@ -0,0 +1,291 @@ + + + + + + + +nixd: nixd::OwnedEvalClient Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
nixd::OwnedEvalClient Class Reference
+
+
+ +

#include <EvalClient.h>

+
+Inheritance diagram for nixd::OwnedEvalClient:
+
+
+
[legend]
+
+Collaboration diagram for nixd::OwnedEvalClient:
+
+
+
[legend]
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 OwnedEvalClient (std::unique_ptr< lspserver::InboundPort > In, std::unique_ptr< lspserver::OutboundPort > Out, std::unique_ptr< util::PipedProc > Proc, std::unique_ptr< llvm::raw_fd_ostream > Stream)
 
util::PipedProcproc ()
 
 ~OwnedEvalClient ()
 
- Public Member Functions inherited from nixd::EvalClient
 EvalClient (std::unique_ptr< lspserver::InboundPort > In, std::unique_ptr< lspserver::OutboundPort > Out)
 
virtual ~EvalClient ()=default
 
- Public Member Functions inherited from lspserver::LSPServer
 LSPServer (std::unique_ptr< InboundPort > In, std::unique_ptr< OutboundPort > Out)
 
void closeInbound ()
 Close the inbound port.
 
void run ()
 
void switchStreamStyle (JSONStreamStyle Style)
 
- Public Member Functions inherited from lspserver::MessageHandler
virtual ~MessageHandler ()=default
 
+ + + +

+Static Public Member Functions

static std::unique_ptr< OwnedEvalClientcreate (int &Fail)
 
+ + + + + + + + + + + + + + + +

+Additional Inherited Members

- Public Attributes inherited from nixd::EvalClient
llvm::unique_function< void(const rpc::RegisterBCParams &) RegisterBC )
 
llvm::unique_function< void(const rpc::ExprValueParams &, lspserver::Callback< rpc::ExprValueResponse >) ExprValue )
 
- Protected Attributes inherited from lspserver::LSPServer
HandlerRegistry Registry
 
template<class T >
llvm::unique_function< void(const T &) mkOutNotifiction )(llvm::StringRef Method, OutboundPort *O=nullptr)
 
template<class ParamTy , class ResponseTy >
llvm::unique_function< void(const ParamTy &, Callback< ResponseTy >) mkOutMethod )(llvm::StringRef Method, OutboundPort *O=nullptr)
 
+

Detailed Description

+
+

Definition at line 32 of file EvalClient.h.

+

Constructor & Destructor Documentation

+ +

◆ OwnedEvalClient()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + +
nixd::OwnedEvalClient::OwnedEvalClient (std::unique_ptr< lspserver::InboundPort > In,
std::unique_ptr< lspserver::OutboundPort > Out,
std::unique_ptr< util::PipedProc > Proc,
std::unique_ptr< llvm::raw_fd_ostream > Stream )
+
+inline
+
+ +

Definition at line 39 of file EvalClient.h.

+ +

References lspserver::LSPServer::run().

+ +
+
+ +

◆ ~OwnedEvalClient()

+ +
+
+ + + + + +
+ + + + + + + +
nixd::OwnedEvalClient::~OwnedEvalClient ()
+
+inline
+
+ +

Definition at line 51 of file EvalClient.h.

+ +

References lspserver::LSPServer::closeInbound().

+ +
+
+

Member Function Documentation

+ +

◆ create()

+ +
+
+ + + + + +
+ + + + + + + +
std::unique_ptr< OwnedEvalClient > nixd::OwnedEvalClient::create (int & Fail)
+
+static
+
+

Lanch nix-node-eval, with properly handled file descriptors. System-wide errno will be written into "Fail" variable and thus cannot be discarded.

+ +

Definition at line 19 of file EvalClient.cpp.

+ +

References nixd::util::forkPiped(), and lspserver::Standard.

+ +
+
+ +

◆ proc()

+ +
+
+ + + + + +
+ + + + + + + +
util::PipedProc & nixd::OwnedEvalClient::proc ()
+
+inline
+
+ +

Definition at line 49 of file EvalClient.h.

+ +
+
+
The documentation for this class was generated from the following files: +
+ + + + diff --git a/classnixd_1_1OwnedEvalClient__coll__graph.map b/classnixd_1_1OwnedEvalClient__coll__graph.map new file mode 100644 index 000000000..f2d77d29f --- /dev/null +++ b/classnixd_1_1OwnedEvalClient__coll__graph.map @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/classnixd_1_1OwnedEvalClient__coll__graph.md5 b/classnixd_1_1OwnedEvalClient__coll__graph.md5 new file mode 100644 index 000000000..1bcb5ec25 --- /dev/null +++ b/classnixd_1_1OwnedEvalClient__coll__graph.md5 @@ -0,0 +1 @@ +b1cdade505426b66c987c9e8a0882639 \ No newline at end of file diff --git a/classnixd_1_1OwnedEvalClient__coll__graph.svg b/classnixd_1_1OwnedEvalClient__coll__graph.svg new file mode 100644 index 000000000..c7e6a8d58 --- /dev/null +++ b/classnixd_1_1OwnedEvalClient__coll__graph.svg @@ -0,0 +1,94 @@ + + + + + + +nixd::OwnedEvalClient + + +Node1 + + +nixd::OwnedEvalClient + + + + + +Node2 + + +nixd::EvalClient + + + + + +Node2->Node1 + + + + + + + + +Node3 + + +lspserver::LSPServer + + + + + +Node3->Node2 + + + + + + + + +Node4 + + +lspserver::MessageHandler + + + + + +Node4->Node3 + + + + + + + + +Node5 + + +lspserver::HandlerRegistry + + + + + +Node5->Node3 + + + + + + Registry + + + diff --git a/classnixd_1_1OwnedEvalClient__inherit__graph.map b/classnixd_1_1OwnedEvalClient__inherit__graph.map new file mode 100644 index 000000000..b9afbb2a1 --- /dev/null +++ b/classnixd_1_1OwnedEvalClient__inherit__graph.map @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/classnixd_1_1OwnedEvalClient__inherit__graph.md5 b/classnixd_1_1OwnedEvalClient__inherit__graph.md5 new file mode 100644 index 000000000..7a6b18e9c --- /dev/null +++ b/classnixd_1_1OwnedEvalClient__inherit__graph.md5 @@ -0,0 +1 @@ +2f15db8e45326c1a246ea4fcc6b414be \ No newline at end of file diff --git a/classnixd_1_1OwnedEvalClient__inherit__graph.svg b/classnixd_1_1OwnedEvalClient__inherit__graph.svg new file mode 100644 index 000000000..53c1b93df --- /dev/null +++ b/classnixd_1_1OwnedEvalClient__inherit__graph.svg @@ -0,0 +1,75 @@ + + + + + + +nixd::OwnedEvalClient + + +Node1 + + +nixd::OwnedEvalClient + + + + + +Node2 + + +nixd::EvalClient + + + + + +Node2->Node1 + + + + + + + + +Node3 + + +lspserver::LSPServer + + + + + +Node3->Node2 + + + + + + + + +Node4 + + +lspserver::MessageHandler + + + + + +Node4->Node3 + + + + + + + + diff --git a/classnixd_1_1util_1_1AutoCloseFD-members.html b/classnixd_1_1util_1_1AutoCloseFD-members.html new file mode 100644 index 000000000..0af10c4e7 --- /dev/null +++ b/classnixd_1_1util_1_1AutoCloseFD-members.html @@ -0,0 +1,99 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
nixd::util::AutoCloseFD Member List
+
+
+ +

This is the complete list of members for nixd::util::AutoCloseFD, including all inherited members.

+ + + + + + + + + + +
AutoCloseFD(FDTy FD)nixd::util::AutoCloseFD
AutoCloseFD(const AutoCloseFD &)=deletenixd::util::AutoCloseFD
AutoCloseFD(AutoCloseFD &&That) noexceptnixd::util::AutoCloseFD
FDTy typedefnixd::util::AutoCloseFD
get() constnixd::util::AutoCloseFD
isReleased() constnixd::util::AutoCloseFD
isReleased(FDTy FD)nixd::util::AutoCloseFDstatic
release()nixd::util::AutoCloseFD
~AutoCloseFD()nixd::util::AutoCloseFD
+ + + + diff --git a/classnixd_1_1util_1_1AutoCloseFD.html b/classnixd_1_1util_1_1AutoCloseFD.html new file mode 100644 index 000000000..2c35169dc --- /dev/null +++ b/classnixd_1_1util_1_1AutoCloseFD.html @@ -0,0 +1,330 @@ + + + + + + + +nixd: nixd::util::AutoCloseFD Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
nixd::util::AutoCloseFD Class Reference
+
+
+ +

File Descriptor RAII wrapper. + More...

+ +

#include <AutoCloseFD.h>

+ + + + +

+Public Types

using FDTy = int
 
+ + + + + + + + + + + + + + + +

+Public Member Functions

 AutoCloseFD (FDTy FD)
 
 AutoCloseFD (const AutoCloseFD &)=delete
 
 AutoCloseFD (AutoCloseFD &&That) noexcept
 
bool isReleased () const
 
 ~AutoCloseFD ()
 
FDTy get () const
 
void release ()
 
+ + + +

+Static Public Member Functions

static bool isReleased (FDTy FD)
 
+

Detailed Description

+

File Descriptor RAII wrapper.

+ +

Definition at line 9 of file AutoCloseFD.h.

+

Member Typedef Documentation

+ +

◆ FDTy

+ +
+
+ + + + +
using nixd::util::AutoCloseFD::FDTy = int
+
+ +

Definition at line 11 of file AutoCloseFD.h.

+ +
+
+

Constructor & Destructor Documentation

+ +

◆ AutoCloseFD() [1/3]

+ +
+
+ + + + + + + +
nixd::util::AutoCloseFD::AutoCloseFD (FDTy FD)
+
+ +

Definition at line 24 of file AutoCloseFD.cpp.

+ +
+
+ +

◆ AutoCloseFD() [2/3]

+ +
+
+ + + + + +
+ + + + + + + +
nixd::util::AutoCloseFD::AutoCloseFD (const AutoCloseFD & )
+
+delete
+
+ +
+
+ +

◆ AutoCloseFD() [3/3]

+ +
+
+ + + + + +
+ + + + + + + +
nixd::util::AutoCloseFD::AutoCloseFD (AutoCloseFD && That)
+
+noexcept
+
+ +

Definition at line 12 of file AutoCloseFD.cpp.

+ +
+
+ +

◆ ~AutoCloseFD()

+ +
+
+ + + + + + + +
nixd::util::AutoCloseFD::~AutoCloseFD ()
+
+ +

Definition at line 7 of file AutoCloseFD.cpp.

+ +
+
+

Member Function Documentation

+ +

◆ get()

+ +
+
+ + + + + + + +
AutoCloseFD::FDTy nixd::util::AutoCloseFD::get () const
+
+ +

Definition at line 16 of file AutoCloseFD.cpp.

+ +
+
+ +

◆ isReleased() [1/2]

+ +
+
+ + + + + + + +
bool nixd::util::AutoCloseFD::isReleased () const
+
+ +

Definition at line 22 of file AutoCloseFD.cpp.

+ +

References isReleased().

+ +

Referenced by isReleased().

+ +
+
+ +

◆ isReleased() [2/2]

+ +
+
+ + + + + +
+ + + + + + + +
bool nixd::util::AutoCloseFD::isReleased (FDTy FD)
+
+static
+
+ +

Definition at line 20 of file AutoCloseFD.cpp.

+ +
+
+ +

◆ release()

+ +
+
+ + + + + + + +
void nixd::util::AutoCloseFD::release ()
+
+ +

Definition at line 18 of file AutoCloseFD.cpp.

+ +
+
+
The documentation for this class was generated from the following files: +
+ + + + diff --git a/classnixd_1_1util_1_1AutoHUPPID-members.html b/classnixd_1_1util_1_1AutoHUPPID-members.html new file mode 100644 index 000000000..527616b57 --- /dev/null +++ b/classnixd_1_1util_1_1AutoHUPPID-members.html @@ -0,0 +1,93 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
nixd::util::AutoHUPPID Member List
+
+
+ +

This is the complete list of members for nixd::util::AutoHUPPID, including all inherited members.

+ + + + +
AutoHUPPID(pid_t Pid) noexceptnixd::util::AutoHUPPIDinline
operator pid_t() constnixd::util::AutoHUPPIDinline
~AutoHUPPID()nixd::util::AutoHUPPIDinline
+ + + + diff --git a/classnixd_1_1util_1_1AutoHUPPID.html b/classnixd_1_1util_1_1AutoHUPPID.html new file mode 100644 index 000000000..086d940dd --- /dev/null +++ b/classnixd_1_1util_1_1AutoHUPPID.html @@ -0,0 +1,191 @@ + + + + + + + +nixd: nixd::util::AutoHUPPID Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
nixd::util::AutoHUPPID Class Reference
+
+
+ +

#include <AutoHUPPID.h>

+ + + + + + + + +

+Public Member Functions

 AutoHUPPID (pid_t Pid) noexcept
 
 ~AutoHUPPID ()
 
 operator pid_t () const
 
+

Detailed Description

+
+

Definition at line 7 of file AutoHUPPID.h.

+

Constructor & Destructor Documentation

+ +

◆ AutoHUPPID()

+ +
+
+ + + + + +
+ + + + + + + +
nixd::util::AutoHUPPID::AutoHUPPID (pid_t Pid)
+
+inlinenoexcept
+
+ +

Definition at line 11 of file AutoHUPPID.h.

+ +
+
+ +

◆ ~AutoHUPPID()

+ +
+
+ + + + + +
+ + + + + + + +
nixd::util::AutoHUPPID::~AutoHUPPID ()
+
+inline
+
+ +

Definition at line 13 of file AutoHUPPID.h.

+ +
+
+

Member Function Documentation

+ +

◆ operator pid_t()

+ +
+
+ + + + + +
+ + + + + + + +
nixd::util::AutoHUPPID::operator pid_t () const
+
+inline
+
+ +

Definition at line 15 of file AutoHUPPID.h.

+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/classnixd_1_1util_1_1AutoRemoveShm-members.html b/classnixd_1_1util_1_1AutoRemoveShm-members.html new file mode 100644 index 000000000..87d1112c2 --- /dev/null +++ b/classnixd_1_1util_1_1AutoRemoveShm-members.html @@ -0,0 +1,94 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
nixd::util::AutoRemoveShm Member List
+
+
+ +

This is the complete list of members for nixd::util::AutoRemoveShm, including all inherited members.

+ + + + + +
AutoRemoveShm(std::string ShmName, boost::interprocess::offset_t Size)nixd::util::AutoRemoveShm
get()nixd::util::AutoRemoveShminline
shmName() constnixd::util::AutoRemoveShminline
~AutoRemoveShm()nixd::util::AutoRemoveShminline
+ + + + diff --git a/classnixd_1_1util_1_1AutoRemoveShm.html b/classnixd_1_1util_1_1AutoRemoveShm.html new file mode 100644 index 000000000..368619011 --- /dev/null +++ b/classnixd_1_1util_1_1AutoRemoveShm.html @@ -0,0 +1,221 @@ + + + + + + + +nixd: nixd::util::AutoRemoveShm Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
nixd::util::AutoRemoveShm Class Reference
+
+
+ +

Shared memory object, the object will be removed in dtor. + More...

+ +

#include <AutoRemoveShm.h>

+ + + + + + + + + + +

+Public Member Functions

 AutoRemoveShm (std::string ShmName, boost::interprocess::offset_t Size)
 
 ~AutoRemoveShm ()
 
const std::string & shmName () const
 
boost::interprocess::shared_memory_object & get ()
 
+

Detailed Description

+

Shared memory object, the object will be removed in dtor.

+ +

Definition at line 8 of file AutoRemoveShm.h.

+

Constructor & Destructor Documentation

+ +

◆ AutoRemoveShm()

+ +
+
+ + + + + + + + + + + +
nixd::util::AutoRemoveShm::AutoRemoveShm (std::string ShmName,
boost::interprocess::offset_t Size )
+
+ +

Definition at line 5 of file AutoRemoveShm.cpp.

+ +
+
+ +

◆ ~AutoRemoveShm()

+ +
+
+ + + + + +
+ + + + + + + +
nixd::util::AutoRemoveShm::~AutoRemoveShm ()
+
+inline
+
+ +

Definition at line 15 of file AutoRemoveShm.h.

+ +
+
+

Member Function Documentation

+ +

◆ get()

+ +
+
+ + + + + +
+ + + + + + + +
boost::interprocess::shared_memory_object & nixd::util::AutoRemoveShm::get ()
+
+inline
+
+ +

Definition at line 19 of file AutoRemoveShm.h.

+ +
+
+ +

◆ shmName()

+ +
+
+ + + + + +
+ + + + + + + +
const std::string & nixd::util::AutoRemoveShm::shmName () const
+
+inline
+
+ +

Definition at line 17 of file AutoRemoveShm.h.

+ +
+
+
The documentation for this class was generated from the following files: +
+ + + + diff --git a/classnixf_1_1AttrName-members.html b/classnixf_1_1AttrName-members.html new file mode 100644 index 000000000..e132bfc9d --- /dev/null +++ b/classnixf_1_1AttrName-members.html @@ -0,0 +1,119 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
nixf::AttrName Member List
+
+
+ +

This is the complete list of members for nixf::AttrName, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ANK_ID enum valuenixf::AttrName
ANK_Interpolation enum valuenixf::AttrName
ANK_String enum valuenixf::AttrName
AttrName(std::shared_ptr< Identifier > ID, LexerCursorRange Range)nixf::AttrNameinline
AttrName(std::shared_ptr< ExprString > String)nixf::AttrNameinline
AttrName(std::shared_ptr< Interpolation > Interp)nixf::AttrNameinline
AttrNameKind enum namenixf::AttrName
children() const overridenixf::AttrNameinlinevirtual
ChildVector typedefnixf::Node
descend(PositionRange Range) constnixf::Nodeinline
id() constnixf::AttrNameinline
id()nixf::AttrNameinline
interpolation() constnixf::AttrNameinline
isStatic() constnixf::AttrNameinline
kind() constnixf::AttrNameinline
lCur() constnixf::Nodeinline
name(NodeKind Kind)nixf::Nodestatic
name() constnixf::Nodeinline
NK_BeginExpr enum valuenixf::Node
NK_EndExpr enum valuenixf::Node
Node(NodeKind Kind, LexerCursorRange Range)nixf::Nodeinlineexplicitprotected
NodeKind enum namenixf::Node
positionRange() constnixf::Nodeinline
range() constnixf::Nodeinline
rCur() constnixf::Nodeinline
src(std::string_view Src) constnixf::Nodeinline
staticName() constnixf::AttrNameinline
string() constnixf::AttrNameinline
~Node()=defaultnixf::Nodevirtual
+ + + + diff --git a/classnixf_1_1AttrName.html b/classnixf_1_1AttrName.html new file mode 100644 index 000000000..a78343822 --- /dev/null +++ b/classnixf_1_1AttrName.html @@ -0,0 +1,526 @@ + + + + + + + +nixd: nixf::AttrName Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
nixf::AttrName Class Reference
+
+
+ +

#include <Attrs.h>

+
+Inheritance diagram for nixf::AttrName:
+
+
+
[legend]
+
+Collaboration diagram for nixf::AttrName:
+
+
+
[legend]
+ + + + + + + + + +

+Public Types

enum  AttrNameKind { ANK_ID +, ANK_String +, ANK_Interpolation + }
 
- Public Types inherited from nixf::Node
enum  NodeKind { NK_BeginExpr +, NK_EndExpr + }
 
using ChildVector = boost::container::small_vector<Node *, 8>
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

AttrNameKind kind () const
 
 AttrName (std::shared_ptr< Identifier > ID, LexerCursorRange Range)
 
 AttrName (std::shared_ptr< ExprString > String)
 
 AttrName (std::shared_ptr< Interpolation > Interp)
 
bool isStatic () const
 
const std::string & staticName () const
 
const Interpolationinterpolation () const
 
const std::shared_ptr< Identifier > & id () const
 
std::shared_ptr< Identifier > & id ()
 
const ExprStringstring () const
 
ChildVector children () const override
 
- Public Member Functions inherited from nixf::Node
NodeKind kind () const
 
LexerCursorRange range () const
 
PositionRange positionRange () const
 
LexerCursor lCur () const
 
LexerCursor rCur () const
 
const char * name () const
 
virtual ~Node ()=default
 
const Nodedescend (PositionRange Range) const
 Descendant node that contains the given range.
 
std::string_view src (std::string_view Src) const
 
+ + + + + + + +

+Additional Inherited Members

- Static Public Member Functions inherited from nixf::Node
static const char * name (NodeKind Kind)
 
- Protected Member Functions inherited from nixf::Node
 Node (NodeKind Kind, LexerCursorRange Range)
 
+

Detailed Description

+
+

Definition at line 10 of file Attrs.h.

+

Member Enumeration Documentation

+ +

◆ AttrNameKind

+ +
+
+ + + + +
Enumerator
ANK_ID 
ANK_String 
ANK_Interpolation 
+ +

Definition at line 12 of file Attrs.h.

+ +
+
+

Constructor & Destructor Documentation

+ +

◆ AttrName() [1/3]

+ +
+
+ + + + + +
+ + + + + + + + + + + +
nixf::AttrName::AttrName (std::shared_ptr< Identifier > ID,
LexerCursorRange Range )
+
+inline
+
+ +

Definition at line 23 of file Attrs.h.

+ +
+
+ +

◆ AttrName() [2/3]

+ +
+
+ + + + + +
+ + + + + + + +
nixf::AttrName::AttrName (std::shared_ptr< ExprString > String)
+
+inline
+
+ +

Definition at line 29 of file Attrs.h.

+ +
+
+ +

◆ AttrName() [3/3]

+ +
+
+ + + + + +
+ + + + + + + +
nixf::AttrName::AttrName (std::shared_ptr< Interpolation > Interp)
+
+inline
+
+ +

Definition at line 35 of file Attrs.h.

+ +
+
+

Member Function Documentation

+ +

◆ children()

+ +
+
+ + + + + +
+ + + + + + + +
ChildVector nixf::AttrName::children () const
+
+inlineoverridevirtual
+
+ +

Implements nixf::Node.

+ +

Definition at line 81 of file Attrs.h.

+ +

References ANK_ID, ANK_Interpolation, and ANK_String.

+ +
+
+ +

◆ id() [1/2]

+ +
+
+ + + + + +
+ + + + + + + +
std::shared_ptr< Identifier > & nixf::AttrName::id ()
+
+inline
+
+ +

Definition at line 70 of file Attrs.h.

+ +

References ANK_ID.

+ +
+
+ +

◆ id() [2/2]

+ +
+
+ + + + + +
+ + + + + + + +
const std::shared_ptr< Identifier > & nixf::AttrName::id () const
+
+inline
+
+ +

Definition at line 65 of file Attrs.h.

+ +

References ANK_ID.

+ +

Referenced by staticName().

+ +
+
+ +

◆ interpolation()

+ +
+
+ + + + + +
+ + + + + + + +
const Interpolation & nixf::AttrName::interpolation () const
+
+inline
+
+ +

Definition at line 59 of file Attrs.h.

+ +

References ANK_Interpolation.

+ +
+
+ +

◆ isStatic()

+ +
+
+ + + + + +
+ + + + + + + +
bool nixf::AttrName::isStatic () const
+
+inline
+
+ +

Definition at line 41 of file Attrs.h.

+ +

References ANK_ID, ANK_Interpolation, ANK_String, nixf::ExprString::isLiteral(), and string().

+ +

Referenced by staticName().

+ +
+
+ +

◆ kind()

+ +
+
+ + + + + +
+ + + + + + + +
AttrNameKind nixf::AttrName::kind () const
+
+inline
+
+ +

Definition at line 21 of file Attrs.h.

+ +
+
+ +

◆ staticName()

+ +
+
+ + + + + +
+ + + + + + + +
const std::string & nixf::AttrName::staticName () const
+
+inline
+
+ +

Definition at line 51 of file Attrs.h.

+ +

References ANK_ID, ANK_String, id(), isStatic(), nixf::ExprString::literal(), and string().

+ +
+
+ +

◆ string()

+ +
+
+ + + + + +
+ + + + + + + +
const ExprString & nixf::AttrName::string () const
+
+inline
+
+ +

Definition at line 75 of file Attrs.h.

+ +

References ANK_String.

+ +

Referenced by isStatic(), and staticName().

+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/classnixf_1_1AttrName__coll__graph.map b/classnixf_1_1AttrName__coll__graph.map new file mode 100644 index 000000000..a45608762 --- /dev/null +++ b/classnixf_1_1AttrName__coll__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/classnixf_1_1AttrName__coll__graph.md5 b/classnixf_1_1AttrName__coll__graph.md5 new file mode 100644 index 000000000..99f72fae5 --- /dev/null +++ b/classnixf_1_1AttrName__coll__graph.md5 @@ -0,0 +1 @@ +722fa4e6202388fba728dd914af99cda \ No newline at end of file diff --git a/classnixf_1_1AttrName__coll__graph.svg b/classnixf_1_1AttrName__coll__graph.svg new file mode 100644 index 000000000..6a8c28d24 --- /dev/null +++ b/classnixf_1_1AttrName__coll__graph.svg @@ -0,0 +1,39 @@ + + + + + + +nixf::AttrName + + +Node1 + + +nixf::AttrName + + + + + +Node2 + + +nixf::Node + + + + + +Node2->Node1 + + + + + + + + diff --git a/classnixf_1_1AttrName__inherit__graph.map b/classnixf_1_1AttrName__inherit__graph.map new file mode 100644 index 000000000..a45608762 --- /dev/null +++ b/classnixf_1_1AttrName__inherit__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/classnixf_1_1AttrName__inherit__graph.md5 b/classnixf_1_1AttrName__inherit__graph.md5 new file mode 100644 index 000000000..99f72fae5 --- /dev/null +++ b/classnixf_1_1AttrName__inherit__graph.md5 @@ -0,0 +1 @@ +722fa4e6202388fba728dd914af99cda \ No newline at end of file diff --git a/classnixf_1_1AttrName__inherit__graph.svg b/classnixf_1_1AttrName__inherit__graph.svg new file mode 100644 index 000000000..6a8c28d24 --- /dev/null +++ b/classnixf_1_1AttrName__inherit__graph.svg @@ -0,0 +1,39 @@ + + + + + + +nixf::AttrName + + +Node1 + + +nixf::AttrName + + + + + +Node2 + + +nixf::Node + + + + + +Node2->Node1 + + + + + + + + diff --git a/classnixf_1_1AttrPath-members.html b/classnixf_1_1AttrPath-members.html new file mode 100644 index 000000000..5156dcce9 --- /dev/null +++ b/classnixf_1_1AttrPath-members.html @@ -0,0 +1,108 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
nixf::AttrPath Member List
+
+
+ +

This is the complete list of members for nixf::AttrPath, including all inherited members.

+ + + + + + + + + + + + + + + + + + + +
AttrPath(LexerCursorRange Range, std::vector< std::shared_ptr< AttrName > > Names)nixf::AttrPathinline
children() const overridenixf::AttrPathinlinevirtual
ChildVector typedefnixf::Node
descend(PositionRange Range) constnixf::Nodeinline
kind() constnixf::Nodeinline
lCur() constnixf::Nodeinline
name(NodeKind Kind)nixf::Nodestatic
name() constnixf::Nodeinline
names() constnixf::AttrPathinline
NK_BeginExpr enum valuenixf::Node
NK_EndExpr enum valuenixf::Node
Node(NodeKind Kind, LexerCursorRange Range)nixf::Nodeinlineexplicitprotected
NodeKind enum namenixf::Node
positionRange() constnixf::Nodeinline
range() constnixf::Nodeinline
rCur() constnixf::Nodeinline
src(std::string_view Src) constnixf::Nodeinline
~Node()=defaultnixf::Nodevirtual
+ + + + diff --git a/classnixf_1_1AttrPath.html b/classnixf_1_1AttrPath.html new file mode 100644 index 000000000..4c2c2aed8 --- /dev/null +++ b/classnixf_1_1AttrPath.html @@ -0,0 +1,243 @@ + + + + + + + +nixd: nixf::AttrPath Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
nixf::AttrPath Class Reference
+
+
+ +

#include <Attrs.h>

+
+Inheritance diagram for nixf::AttrPath:
+
+
+
[legend]
+
+Collaboration diagram for nixf::AttrPath:
+
+
+
[legend]
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 AttrPath (LexerCursorRange Range, std::vector< std::shared_ptr< AttrName > > Names)
 
const std::vector< std::shared_ptr< AttrName > > & names () const
 
ChildVector children () const override
 
- Public Member Functions inherited from nixf::Node
NodeKind kind () const
 
LexerCursorRange range () const
 
PositionRange positionRange () const
 
LexerCursor lCur () const
 
LexerCursor rCur () const
 
const char * name () const
 
virtual ~Node ()=default
 
const Nodedescend (PositionRange Range) const
 Descendant node that contains the given range.
 
std::string_view src (std::string_view Src) const
 
+ + + + + + + + + + + + +

+Additional Inherited Members

- Public Types inherited from nixf::Node
enum  NodeKind { NK_BeginExpr +, NK_EndExpr + }
 
using ChildVector = boost::container::small_vector<Node *, 8>
 
- Static Public Member Functions inherited from nixf::Node
static const char * name (NodeKind Kind)
 
- Protected Member Functions inherited from nixf::Node
 Node (NodeKind Kind, LexerCursorRange Range)
 
+

Detailed Description

+
+

Definition at line 96 of file Attrs.h.

+

Constructor & Destructor Documentation

+ +

◆ AttrPath()

+ +
+
+ + + + + +
+ + + + + + + + + + + +
nixf::AttrPath::AttrPath (LexerCursorRange Range,
std::vector< std::shared_ptr< AttrName > > Names )
+
+inline
+
+ +

Definition at line 100 of file Attrs.h.

+ +
+
+

Member Function Documentation

+ +

◆ children()

+ +
+
+ + + + + +
+ + + + + + + +
ChildVector nixf::AttrPath::children () const
+
+inlineoverridevirtual
+
+ +

Implements nixf::Node.

+ +

Definition at line 107 of file Attrs.h.

+ +
+
+ +

◆ names()

+ +
+
+ + + + + +
+ + + + + + + +
const std::vector< std::shared_ptr< AttrName > > & nixf::AttrPath::names () const
+
+inline
+
+ +

Definition at line 103 of file Attrs.h.

+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/classnixf_1_1AttrPath__coll__graph.map b/classnixf_1_1AttrPath__coll__graph.map new file mode 100644 index 000000000..0a5ec9b82 --- /dev/null +++ b/classnixf_1_1AttrPath__coll__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/classnixf_1_1AttrPath__coll__graph.md5 b/classnixf_1_1AttrPath__coll__graph.md5 new file mode 100644 index 000000000..27a52e844 --- /dev/null +++ b/classnixf_1_1AttrPath__coll__graph.md5 @@ -0,0 +1 @@ +3e174276c8ab6bc26a463f5cc11ed2b8 \ No newline at end of file diff --git a/classnixf_1_1AttrPath__coll__graph.svg b/classnixf_1_1AttrPath__coll__graph.svg new file mode 100644 index 000000000..69c785f46 --- /dev/null +++ b/classnixf_1_1AttrPath__coll__graph.svg @@ -0,0 +1,39 @@ + + + + + + +nixf::AttrPath + + +Node1 + + +nixf::AttrPath + + + + + +Node2 + + +nixf::Node + + + + + +Node2->Node1 + + + + + + + + diff --git a/classnixf_1_1AttrPath__inherit__graph.map b/classnixf_1_1AttrPath__inherit__graph.map new file mode 100644 index 000000000..0a5ec9b82 --- /dev/null +++ b/classnixf_1_1AttrPath__inherit__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/classnixf_1_1AttrPath__inherit__graph.md5 b/classnixf_1_1AttrPath__inherit__graph.md5 new file mode 100644 index 000000000..27a52e844 --- /dev/null +++ b/classnixf_1_1AttrPath__inherit__graph.md5 @@ -0,0 +1 @@ +3e174276c8ab6bc26a463f5cc11ed2b8 \ No newline at end of file diff --git a/classnixf_1_1AttrPath__inherit__graph.svg b/classnixf_1_1AttrPath__inherit__graph.svg new file mode 100644 index 000000000..69c785f46 --- /dev/null +++ b/classnixf_1_1AttrPath__inherit__graph.svg @@ -0,0 +1,39 @@ + + + + + + +nixf::AttrPath + + +Node1 + + +nixf::AttrPath + + + + + +Node2 + + +nixf::Node + + + + + +Node2->Node1 + + + + + + + + diff --git a/classnixf_1_1Attribute-members.html b/classnixf_1_1Attribute-members.html new file mode 100644 index 000000000..444383617 --- /dev/null +++ b/classnixf_1_1Attribute-members.html @@ -0,0 +1,97 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
nixf::Attribute Member List
+
+
+ +

This is the complete list of members for nixf::Attribute, including all inherited members.

+ + + + + + + + +
Attribute()=defaultnixf::Attribute
Attribute(std::shared_ptr< Node > Key, std::shared_ptr< Expr > Value, bool FromInherit)nixf::Attributeinline
fromInherit() constnixf::Attributeinline
key()nixf::Attributeinline
key() constnixf::Attributeinline
value()nixf::Attributeinline
value() constnixf::Attributeinline
+ + + + diff --git a/classnixf_1_1Attribute.html b/classnixf_1_1Attribute.html new file mode 100644 index 000000000..d3288d9e7 --- /dev/null +++ b/classnixf_1_1Attribute.html @@ -0,0 +1,314 @@ + + + + + + + +nixd: nixf::Attribute Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
nixf::Attribute Class Reference
+
+
+ +

#include <Attrs.h>

+ + + + + + + + + + + + + + + + +

+Public Member Functions

 Attribute ()=default
 
 Attribute (std::shared_ptr< Node > Key, std::shared_ptr< Expr > Value, bool FromInherit)
 
std::shared_ptr< Node > & key ()
 
const std::shared_ptr< Node > & key () const
 
std::shared_ptr< Expr > & value ()
 
const std::shared_ptr< Expr > & value () const
 
bool fromInherit () const
 
+

Detailed Description

+
+

Definition at line 195 of file Attrs.h.

+

Constructor & Destructor Documentation

+ +

◆ Attribute() [1/2]

+ +
+
+ + + + + +
+ + + + + + + +
nixf::Attribute::Attribute ()
+
+default
+
+ +
+
+ +

◆ Attribute() [2/2]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + +
nixf::Attribute::Attribute (std::shared_ptr< Node > Key,
std::shared_ptr< Expr > Value,
bool FromInherit )
+
+inline
+
+ +

Definition at line 202 of file Attrs.h.

+ +
+
+

Member Function Documentation

+ +

◆ fromInherit()

+ +
+
+ + + + + +
+ + + + + + + +
bool nixf::Attribute::fromInherit () const
+
+inline
+
+ +

Definition at line 216 of file Attrs.h.

+ +
+
+ +

◆ key() [1/2]

+ +
+
+ + + + + +
+ + + + + + + +
std::shared_ptr< Node > & nixf::Attribute::key ()
+
+inline
+
+ +

Definition at line 208 of file Attrs.h.

+ +
+
+ +

◆ key() [2/2]

+ +
+
+ + + + + +
+ + + + + + + +
const std::shared_ptr< Node > & nixf::Attribute::key () const
+
+inline
+
+ +

Definition at line 210 of file Attrs.h.

+ +
+
+ +

◆ value() [1/2]

+ +
+
+ + + + + +
+ + + + + + + +
std::shared_ptr< Expr > & nixf::Attribute::value ()
+
+inline
+
+ +

Definition at line 212 of file Attrs.h.

+ +
+
+ +

◆ value() [2/2]

+ +
+
+ + + + + +
+ + + + + + + +
const std::shared_ptr< Expr > & nixf::Attribute::value () const
+
+inline
+
+ +

Definition at line 214 of file Attrs.h.

+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/classnixf_1_1Binding-members.html b/classnixf_1_1Binding-members.html new file mode 100644 index 000000000..66721720a --- /dev/null +++ b/classnixf_1_1Binding-members.html @@ -0,0 +1,110 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
nixf::Binding Member List
+
+
+ +

This is the complete list of members for nixf::Binding, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + +
Binding(LexerCursorRange Range, std::shared_ptr< AttrPath > Path, std::shared_ptr< Expr > Value)nixf::Bindinginline
children() const overridenixf::Bindinginlinevirtual
ChildVector typedefnixf::Node
descend(PositionRange Range) constnixf::Nodeinline
kind() constnixf::Nodeinline
lCur() constnixf::Nodeinline
name(NodeKind Kind)nixf::Nodestatic
name() constnixf::Nodeinline
NK_BeginExpr enum valuenixf::Node
NK_EndExpr enum valuenixf::Node
Node(NodeKind Kind, LexerCursorRange Range)nixf::Nodeinlineexplicitprotected
NodeKind enum namenixf::Node
path() constnixf::Bindinginline
positionRange() constnixf::Nodeinline
range() constnixf::Nodeinline
rCur() constnixf::Nodeinline
src(std::string_view Src) constnixf::Nodeinline
value() constnixf::Bindinginline
value()nixf::Bindinginline
~Node()=defaultnixf::Nodevirtual
+ + + + diff --git a/classnixf_1_1Binding.html b/classnixf_1_1Binding.html new file mode 100644 index 000000000..7c0d2622c --- /dev/null +++ b/classnixf_1_1Binding.html @@ -0,0 +1,306 @@ + + + + + + + +nixd: nixf::Binding Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
nixf::Binding Class Reference
+
+
+ +

#include <Attrs.h>

+
+Inheritance diagram for nixf::Binding:
+
+
+
[legend]
+
+Collaboration diagram for nixf::Binding:
+
+
+
[legend]
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 Binding (LexerCursorRange Range, std::shared_ptr< AttrPath > Path, std::shared_ptr< Expr > Value)
 
const AttrPathpath () const
 
const std::shared_ptr< Expr > & value () const
 
std::shared_ptr< Expr > & value ()
 
ChildVector children () const override
 
- Public Member Functions inherited from nixf::Node
NodeKind kind () const
 
LexerCursorRange range () const
 
PositionRange positionRange () const
 
LexerCursor lCur () const
 
LexerCursor rCur () const
 
const char * name () const
 
virtual ~Node ()=default
 
const Nodedescend (PositionRange Range) const
 Descendant node that contains the given range.
 
std::string_view src (std::string_view Src) const
 
+ + + + + + + + + + + + +

+Additional Inherited Members

- Public Types inherited from nixf::Node
enum  NodeKind { NK_BeginExpr +, NK_EndExpr + }
 
using ChildVector = boost::container::small_vector<Node *, 8>
 
- Static Public Member Functions inherited from nixf::Node
static const char * name (NodeKind Kind)
 
- Protected Member Functions inherited from nixf::Node
 Node (NodeKind Kind, LexerCursorRange Range)
 
+

Detailed Description

+
+

Definition at line 117 of file Attrs.h.

+

Constructor & Destructor Documentation

+ +

◆ Binding()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + +
nixf::Binding::Binding (LexerCursorRange Range,
std::shared_ptr< AttrPath > Path,
std::shared_ptr< Expr > Value )
+
+inline
+
+ +

Definition at line 122 of file Attrs.h.

+ +
+
+

Member Function Documentation

+ +

◆ children()

+ +
+
+ + + + + +
+ + + + + + + +
ChildVector nixf::Binding::children () const
+
+inlineoverridevirtual
+
+ +

Implements nixf::Node.

+ +

Definition at line 139 of file Attrs.h.

+ +
+
+ +

◆ path()

+ +
+
+ + + + + +
+ + + + + + + +
const AttrPath & nixf::Binding::path () const
+
+inline
+
+ +

Definition at line 130 of file Attrs.h.

+ +
+
+ +

◆ value() [1/2]

+ +
+
+ + + + + +
+ + + + + + + +
std::shared_ptr< Expr > & nixf::Binding::value ()
+
+inline
+
+ +

Definition at line 137 of file Attrs.h.

+ +
+
+ +

◆ value() [2/2]

+ +
+
+ + + + + +
+ + + + + + + +
const std::shared_ptr< Expr > & nixf::Binding::value () const
+
+inline
+
+ +

Definition at line 135 of file Attrs.h.

+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/classnixf_1_1Binding__coll__graph.map b/classnixf_1_1Binding__coll__graph.map new file mode 100644 index 000000000..9ca3777b3 --- /dev/null +++ b/classnixf_1_1Binding__coll__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/classnixf_1_1Binding__coll__graph.md5 b/classnixf_1_1Binding__coll__graph.md5 new file mode 100644 index 000000000..eb2f8fc1b --- /dev/null +++ b/classnixf_1_1Binding__coll__graph.md5 @@ -0,0 +1 @@ +02e2a65e3df1dced04d56da26b731d38 \ No newline at end of file diff --git a/classnixf_1_1Binding__coll__graph.svg b/classnixf_1_1Binding__coll__graph.svg new file mode 100644 index 000000000..9c46ef089 --- /dev/null +++ b/classnixf_1_1Binding__coll__graph.svg @@ -0,0 +1,39 @@ + + + + + + +nixf::Binding + + +Node1 + + +nixf::Binding + + + + + +Node2 + + +nixf::Node + + + + + +Node2->Node1 + + + + + + + + diff --git a/classnixf_1_1Binding__inherit__graph.map b/classnixf_1_1Binding__inherit__graph.map new file mode 100644 index 000000000..9ca3777b3 --- /dev/null +++ b/classnixf_1_1Binding__inherit__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/classnixf_1_1Binding__inherit__graph.md5 b/classnixf_1_1Binding__inherit__graph.md5 new file mode 100644 index 000000000..eb2f8fc1b --- /dev/null +++ b/classnixf_1_1Binding__inherit__graph.md5 @@ -0,0 +1 @@ +02e2a65e3df1dced04d56da26b731d38 \ No newline at end of file diff --git a/classnixf_1_1Binding__inherit__graph.svg b/classnixf_1_1Binding__inherit__graph.svg new file mode 100644 index 000000000..9c46ef089 --- /dev/null +++ b/classnixf_1_1Binding__inherit__graph.svg @@ -0,0 +1,39 @@ + + + + + + +nixf::Binding + + +Node1 + + +nixf::Binding + + + + + +Node2 + + +nixf::Node + + + + + +Node2->Node1 + + + + + + + + diff --git a/classnixf_1_1Binds-members.html b/classnixf_1_1Binds-members.html new file mode 100644 index 000000000..b8bf07f17 --- /dev/null +++ b/classnixf_1_1Binds-members.html @@ -0,0 +1,108 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
nixf::Binds Member List
+
+
+ +

This is the complete list of members for nixf::Binds, including all inherited members.

+ + + + + + + + + + + + + + + + + + + +
bindings() constnixf::Bindsinline
Binds(LexerCursorRange Range, std::vector< std::shared_ptr< Node > > Bindings)nixf::Bindsinline
children() const overridenixf::Bindsinlinevirtual
ChildVector typedefnixf::Node
descend(PositionRange Range) constnixf::Nodeinline
kind() constnixf::Nodeinline
lCur() constnixf::Nodeinline
name(NodeKind Kind)nixf::Nodestatic
name() constnixf::Nodeinline
NK_BeginExpr enum valuenixf::Node
NK_EndExpr enum valuenixf::Node
Node(NodeKind Kind, LexerCursorRange Range)nixf::Nodeinlineexplicitprotected
NodeKind enum namenixf::Node
positionRange() constnixf::Nodeinline
range() constnixf::Nodeinline
rCur() constnixf::Nodeinline
src(std::string_view Src) constnixf::Nodeinline
~Node()=defaultnixf::Nodevirtual
+ + + + diff --git a/classnixf_1_1Binds.html b/classnixf_1_1Binds.html new file mode 100644 index 000000000..66837e2e0 --- /dev/null +++ b/classnixf_1_1Binds.html @@ -0,0 +1,245 @@ + + + + + + + +nixd: nixf::Binds Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
nixf::Binds Class Reference
+
+
+ +

#include <Attrs.h>

+
+Inheritance diagram for nixf::Binds:
+
+
+
[legend]
+
+Collaboration diagram for nixf::Binds:
+
+
+
[legend]
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 Binds (LexerCursorRange Range, std::vector< std::shared_ptr< Node > > Bindings)
 
const std::vector< std::shared_ptr< Node > > & bindings () const
 
ChildVector children () const override
 
- Public Member Functions inherited from nixf::Node
NodeKind kind () const
 
LexerCursorRange range () const
 
PositionRange positionRange () const
 
LexerCursor lCur () const
 
LexerCursor rCur () const
 
const char * name () const
 
virtual ~Node ()=default
 
const Nodedescend (PositionRange Range) const
 Descendant node that contains the given range.
 
std::string_view src (std::string_view Src) const
 
+ + + + + + + + + + + + +

+Additional Inherited Members

- Public Types inherited from nixf::Node
enum  NodeKind { NK_BeginExpr +, NK_EndExpr + }
 
using ChildVector = boost::container::small_vector<Node *, 8>
 
- Static Public Member Functions inherited from nixf::Node
static const char * name (NodeKind Kind)
 
- Protected Member Functions inherited from nixf::Node
 Node (NodeKind Kind, LexerCursorRange Range)
 
+

Detailed Description

+
+

Definition at line 174 of file Attrs.h.

+

Constructor & Destructor Documentation

+ +

◆ Binds()

+ +
+
+ + + + + +
+ + + + + + + + + + + +
nixf::Binds::Binds (LexerCursorRange Range,
std::vector< std::shared_ptr< Node > > Bindings )
+
+inline
+
+ +

Definition at line 178 of file Attrs.h.

+ +
+
+

Member Function Documentation

+ +

◆ bindings()

+ +
+
+ + + + + +
+ + + + + + + +
const std::vector< std::shared_ptr< Node > > & nixf::Binds::bindings () const
+
+inline
+
+ +

Definition at line 181 of file Attrs.h.

+ +

Referenced by nixf::Sema::lowerBinds().

+ +
+
+ +

◆ children()

+ +
+
+ + + + + +
+ + + + + + + +
ChildVector nixf::Binds::children () const
+
+inlineoverridevirtual
+
+ +

Implements nixf::Node.

+ +

Definition at line 185 of file Attrs.h.

+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/classnixf_1_1Binds__coll__graph.map b/classnixf_1_1Binds__coll__graph.map new file mode 100644 index 000000000..db7bdc528 --- /dev/null +++ b/classnixf_1_1Binds__coll__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/classnixf_1_1Binds__coll__graph.md5 b/classnixf_1_1Binds__coll__graph.md5 new file mode 100644 index 000000000..80997a4ab --- /dev/null +++ b/classnixf_1_1Binds__coll__graph.md5 @@ -0,0 +1 @@ +4bab2ec69917805381fc11d539458935 \ No newline at end of file diff --git a/classnixf_1_1Binds__coll__graph.svg b/classnixf_1_1Binds__coll__graph.svg new file mode 100644 index 000000000..a27dd7705 --- /dev/null +++ b/classnixf_1_1Binds__coll__graph.svg @@ -0,0 +1,39 @@ + + + + + + +nixf::Binds + + +Node1 + + +nixf::Binds + + + + + +Node2 + + +nixf::Node + + + + + +Node2->Node1 + + + + + + + + diff --git a/classnixf_1_1Binds__inherit__graph.map b/classnixf_1_1Binds__inherit__graph.map new file mode 100644 index 000000000..db7bdc528 --- /dev/null +++ b/classnixf_1_1Binds__inherit__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/classnixf_1_1Binds__inherit__graph.md5 b/classnixf_1_1Binds__inherit__graph.md5 new file mode 100644 index 000000000..80997a4ab --- /dev/null +++ b/classnixf_1_1Binds__inherit__graph.md5 @@ -0,0 +1 @@ +4bab2ec69917805381fc11d539458935 \ No newline at end of file diff --git a/classnixf_1_1Binds__inherit__graph.svg b/classnixf_1_1Binds__inherit__graph.svg new file mode 100644 index 000000000..a27dd7705 --- /dev/null +++ b/classnixf_1_1Binds__inherit__graph.svg @@ -0,0 +1,39 @@ + + + + + + +nixf::Binds + + +Node1 + + +nixf::Binds + + + + + +Node2 + + +nixf::Node + + + + + +Node2->Node1 + + + + + + + + diff --git a/classnixf_1_1Diagnostic-members.html b/classnixf_1_1Diagnostic-members.html new file mode 100644 index 000000000..9657aed66 --- /dev/null +++ b/classnixf_1_1Diagnostic-members.html @@ -0,0 +1,116 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
nixf::Diagnostic Member List
+
+
+ +

This is the complete list of members for nixf::Diagnostic, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
args() constnixf::PartialDiagnosticinline
args()nixf::PartialDiagnosticinline
Diagnostic(DiagnosticKind Kind, LexerCursorRange Range)nixf::Diagnosticinline
DiagnosticKind enum namenixf::Diagnostic
DS_Error enum valuenixf::Diagnostic
DS_Fatal enum valuenixf::Diagnostic
DS_Warning enum valuenixf::Diagnostic
fix(std::string Message)nixf::Diagnosticinline
fixes() constnixf::Diagnosticinline
format() constnixf::PartialDiagnostic
kind() constnixf::Diagnosticinline
message(DiagnosticKind Kind)nixf::Diagnosticstatic
message() const overridenixf::Diagnosticinlinevirtual
note(Note::NoteKind Kind, LexerCursorRange Range)nixf::Diagnosticinline
notes() constnixf::Diagnosticinline
operator<<(std::string Var)nixf::PartialDiagnosticinline
PartialDiagnostic()=defaultnixf::PartialDiagnosticprotected
PartialDiagnostic(LexerCursorRange Range)nixf::PartialDiagnosticinlineprotected
range() constnixf::PartialDiagnosticinline
Severity enum namenixf::Diagnostic
severity(DiagnosticKind Kind)nixf::Diagnosticstatic
sname(DiagnosticKind Kind)nixf::Diagnosticstatic
sname() constnixf::Diagnosticinlinevirtual
tag(DiagnosticTag Tag)nixf::PartialDiagnosticinline
tags() constnixf::PartialDiagnosticinline
~PartialDiagnostic()=defaultnixf::PartialDiagnosticvirtual
+ + + + diff --git a/classnixf_1_1Diagnostic.html b/classnixf_1_1Diagnostic.html new file mode 100644 index 000000000..6d5b3fb12 --- /dev/null +++ b/classnixf_1_1Diagnostic.html @@ -0,0 +1,545 @@ + + + + + + + +nixd: nixf::Diagnostic Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+ +
+ +

#include <Diagnostic.h>

+
+Inheritance diagram for nixf::Diagnostic:
+
+
+
[legend]
+
+Collaboration diagram for nixf::Diagnostic:
+
+
+
[legend]
+ + + + + + + +

+Public Types

enum  Severity { DS_Fatal +, DS_Error +, DS_Warning + }
 
enum  DiagnosticKind
 Internal kind. More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 Diagnostic (DiagnosticKind Kind, LexerCursorRange Range)
 
DiagnosticKind kind () const
 
const char * message () const override
 
virtual const char * sname () const
 
Notenote (Note::NoteKind Kind, LexerCursorRange Range)
 
const std::vector< Note > & notes () const
 
Fixfix (std::string Message)
 
const std::vector< Fix > & fixes () const
 
- Public Member Functions inherited from nixf::PartialDiagnostic
virtual ~PartialDiagnostic ()=default
 
PartialDiagnosticoperator<< (std::string Var)
 
std::string format () const
 
const std::vector< std::string > & args () const
 
std::vector< std::string > & args ()
 
void tag (DiagnosticTag Tag)
 
const std::vector< DiagnosticTag > & tags () const
 
LexerCursorRange range () const
 
+ + + + + + + +

+Static Public Member Functions

static Severity severity (DiagnosticKind Kind)
 
static const char * message (DiagnosticKind Kind)
 
static const char * sname (DiagnosticKind Kind)
 
+ + + + + + +

+Additional Inherited Members

- Protected Member Functions inherited from nixf::PartialDiagnostic
 PartialDiagnostic ()=default
 
 PartialDiagnostic (LexerCursorRange Range)
 
+

Detailed Description

+

The super class for all diagnostics. concret diagnostic types are defined in Diagnostic*.inc

+ +

Definition at line 148 of file Diagnostic.h.

+

Member Enumeration Documentation

+ +

◆ DiagnosticKind

+ +
+
+ +

Internal kind.

+ +

Definition at line 161 of file Diagnostic.h.

+ +
+
+ +

◆ Severity

+ +
+
+ + + + +
enum nixf::Diagnostic::Severity
+
+

Each diagnostic contains a severity field, should be "Fatal", "Error" or "Warning" this will affect the eval process.

+

"Fatal" – shouldn't eval the code, e.g. parsing error. "Error" – trigger an error in nix, but we can recover & eval the code. "Warning" – just a warning. "Note" – some additional information about the error.

+ + + + +
Enumerator
DS_Fatal 
DS_Error 
DS_Warning 
+ +

Definition at line 158 of file Diagnostic.h.

+ +
+
+

Constructor & Destructor Documentation

+ +

◆ Diagnostic()

+ +
+
+ + + + + +
+ + + + + + + + + + + +
nixf::Diagnostic::Diagnostic (DiagnosticKind Kind,
LexerCursorRange Range )
+
+inline
+
+ +

Definition at line 167 of file Diagnostic.h.

+ +
+
+

Member Function Documentation

+ +

◆ fix()

+ + + +

◆ fixes()

+ +
+
+ + + + + +
+ + + + + + + +
const std::vector< Fix > & nixf::Diagnostic::fixes () const
+
+inline
+
+ +

Definition at line 197 of file Diagnostic.h.

+ +
+
+ +

◆ kind()

+ +
+
+ + + + + +
+ + + + + + + +
DiagnosticKind nixf::Diagnostic::kind () const
+
+inline
+
+ +

Definition at line 170 of file Diagnostic.h.

+ +

Referenced by message(), and sname().

+ +
+
+ +

◆ message() [1/2]

+ +
+
+ + + + + +
+ + + + + + + +
const char * nixf::Diagnostic::message () const
+
+inlineoverridevirtual
+
+ +

Implements nixf::PartialDiagnostic.

+ +

Definition at line 176 of file Diagnostic.h.

+ +

References kind(), and message().

+ +

Referenced by message().

+ +
+
+ +

◆ message() [2/2]

+ +
+
+ + + + + +
+ + + + + + + +
const char * nixf::Diagnostic::message (DiagnosticKind Kind)
+
+static
+
+ +

Definition at line 50 of file Diagnostic.cpp.

+ +
+
+ +

◆ note()

+ +
+
+ + + + + +
+ + + + + + + + + + + +
Note & nixf::Diagnostic::note (Note::NoteKind Kind,
LexerCursorRange Range )
+
+inline
+
+
+ +

◆ notes()

+ +
+
+ + + + + +
+ + + + + + + +
const std::vector< Note > & nixf::Diagnostic::notes () const
+
+inline
+
+ +

Definition at line 191 of file Diagnostic.h.

+ +
+
+ +

◆ severity()

+ +
+
+ + + + + +
+ + + + + + + +
nixf::Diagnostic::Severity nixf::Diagnostic::severity (DiagnosticKind Kind)
+
+static
+
+ +

Definition at line 39 of file Diagnostic.cpp.

+ +

Referenced by nixd::getLSPSeverity().

+ +
+
+ +

◆ sname() [1/2]

+ +
+
+ + + + + +
+ + + + + + + +
virtual const char * nixf::Diagnostic::sname () const
+
+inlinevirtual
+
+ +

Definition at line 185 of file Diagnostic.h.

+ +

References kind(), and sname().

+ +

Referenced by sname().

+ +
+
+ +

◆ sname() [2/2]

+ +
+
+ + + + + +
+ + + + + + + +
const char * nixf::Diagnostic::sname (DiagnosticKind Kind)
+
+static
+
+

Short name, switch name. There might be a human readable short name that controls the diagnostic For example, one may pass -Wno-dup-formal to suppress duplicated formals. A special case for parsing errors, generated from bison have the sname "bison"

+ +

Definition at line 61 of file Diagnostic.cpp.

+ +
+
+
The documentation for this class was generated from the following files: +
+ + + + diff --git a/classnixf_1_1Diagnostic__coll__graph.map b/classnixf_1_1Diagnostic__coll__graph.map new file mode 100644 index 000000000..5069cba53 --- /dev/null +++ b/classnixf_1_1Diagnostic__coll__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/classnixf_1_1Diagnostic__coll__graph.md5 b/classnixf_1_1Diagnostic__coll__graph.md5 new file mode 100644 index 000000000..3f51814d9 --- /dev/null +++ b/classnixf_1_1Diagnostic__coll__graph.md5 @@ -0,0 +1 @@ +63c5e4422b0610807a05b65d1bfcc709 \ No newline at end of file diff --git a/classnixf_1_1Diagnostic__coll__graph.svg b/classnixf_1_1Diagnostic__coll__graph.svg new file mode 100644 index 000000000..b14bc5d8e --- /dev/null +++ b/classnixf_1_1Diagnostic__coll__graph.svg @@ -0,0 +1,39 @@ + + + + + + +nixf::Diagnostic + + +Node1 + + +nixf::Diagnostic + + + + + +Node2 + + +nixf::PartialDiagnostic + + + + + +Node2->Node1 + + + + + + + + diff --git a/classnixf_1_1Diagnostic__inherit__graph.map b/classnixf_1_1Diagnostic__inherit__graph.map new file mode 100644 index 000000000..5069cba53 --- /dev/null +++ b/classnixf_1_1Diagnostic__inherit__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/classnixf_1_1Diagnostic__inherit__graph.md5 b/classnixf_1_1Diagnostic__inherit__graph.md5 new file mode 100644 index 000000000..3f51814d9 --- /dev/null +++ b/classnixf_1_1Diagnostic__inherit__graph.md5 @@ -0,0 +1 @@ +63c5e4422b0610807a05b65d1bfcc709 \ No newline at end of file diff --git a/classnixf_1_1Diagnostic__inherit__graph.svg b/classnixf_1_1Diagnostic__inherit__graph.svg new file mode 100644 index 000000000..b14bc5d8e --- /dev/null +++ b/classnixf_1_1Diagnostic__inherit__graph.svg @@ -0,0 +1,39 @@ + + + + + + +nixf::Diagnostic + + +Node1 + + +nixf::Diagnostic + + + + + +Node2 + + +nixf::PartialDiagnostic + + + + + +Node2->Node1 + + + + + + + + diff --git a/classnixf_1_1Expr-members.html b/classnixf_1_1Expr-members.html new file mode 100644 index 000000000..fd6146828 --- /dev/null +++ b/classnixf_1_1Expr-members.html @@ -0,0 +1,111 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
nixf::Expr Member List
+
+
+ +

This is the complete list of members for nixf::Expr, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + +
children() const =0nixf::Nodepure virtual
ChildVector typedefnixf::Node
classof(const Node *N)nixf::Exprinlinestatic
descend(PositionRange Range) constnixf::Nodeinline
Expr(NodeKind Kind, LexerCursorRange Range)nixf::Exprinlineexplicitprotected
isExpr(NodeKind Kind)nixf::Exprinlinestatic
kind() constnixf::Nodeinline
lCur() constnixf::Nodeinline
maybeLambda(NodeKind Kind)nixf::Exprinlinestatic
maybeLambda() constnixf::Exprinline
name(NodeKind Kind)nixf::Nodestatic
name() constnixf::Nodeinline
NK_BeginExpr enum valuenixf::Node
NK_EndExpr enum valuenixf::Node
Node(NodeKind Kind, LexerCursorRange Range)nixf::Nodeinlineexplicitprotected
NodeKind enum namenixf::Node
positionRange() constnixf::Nodeinline
range() constnixf::Nodeinline
rCur() constnixf::Nodeinline
src(std::string_view Src) constnixf::Nodeinline
~Node()=defaultnixf::Nodevirtual
+ + + + diff --git a/classnixf_1_1Expr.html b/classnixf_1_1Expr.html new file mode 100644 index 000000000..6e6460d43 --- /dev/null +++ b/classnixf_1_1Expr.html @@ -0,0 +1,324 @@ + + + + + + + +nixd: nixf::Expr Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+ +
+ +

#include <Basic.h>

+
+Inheritance diagram for nixf::Expr:
+
+
+
[legend]
+
+Collaboration diagram for nixf::Expr:
+
+
+
[legend]
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

bool maybeLambda () const
 
- Public Member Functions inherited from nixf::Node
NodeKind kind () const
 
LexerCursorRange range () const
 
PositionRange positionRange () const
 
LexerCursor lCur () const
 
LexerCursor rCur () const
 
const char * name () const
 
virtual ChildVector children () const =0
 
virtual ~Node ()=default
 
const Nodedescend (PositionRange Range) const
 Descendant node that contains the given range.
 
std::string_view src (std::string_view Src) const
 
+ + + + + + + + + + +

+Static Public Member Functions

static bool classof (const Node *N)
 
static bool isExpr (NodeKind Kind)
 
static bool maybeLambda (NodeKind Kind)
 
- Static Public Member Functions inherited from nixf::Node
static const char * name (NodeKind Kind)
 
+ + + + + + +

+Protected Member Functions

 Expr (NodeKind Kind, LexerCursorRange Range)
 
- Protected Member Functions inherited from nixf::Node
 Node (NodeKind Kind, LexerCursorRange Range)
 
+ + + + + + +

+Additional Inherited Members

- Public Types inherited from nixf::Node
enum  NodeKind { NK_BeginExpr +, NK_EndExpr + }
 
using ChildVector = boost::container::small_vector<Node *, 8>
 
+

Detailed Description

+
+

Definition at line 70 of file Basic.h.

+

Constructor & Destructor Documentation

+ +

◆ Expr()

+ +
+
+ + + + + +
+ + + + + + + + + + + +
nixf::Expr::Expr (NodeKind Kind,
LexerCursorRange Range )
+
+inlineexplicitprotected
+
+ +

Definition at line 72 of file Basic.h.

+ +

References nixf::Node::NK_BeginExpr, and nixf::Node::NK_EndExpr.

+ +
+
+

Member Function Documentation

+ +

◆ classof()

+ +
+
+ + + + + +
+ + + + + + + +
static bool nixf::Expr::classof (const Node * N)
+
+inlinestatic
+
+ +

Definition at line 77 of file Basic.h.

+ +

References isExpr(), and nixf::Node::kind().

+ +
+
+ +

◆ isExpr()

+ +
+
+ + + + + +
+ + + + + + + +
static bool nixf::Expr::isExpr (NodeKind Kind)
+
+inlinestatic
+
+ +

Definition at line 79 of file Basic.h.

+ +

References nixf::Node::NK_BeginExpr, and nixf::Node::NK_EndExpr.

+ +

Referenced by classof(), and maybeLambda().

+ +
+
+ +

◆ maybeLambda() [1/2]

+ +
+
+ + + + + +
+ + + + + + + +
bool nixf::Expr::maybeLambda () const
+
+inline
+
+ +

Definition at line 99 of file Basic.h.

+ +

References nixf::Node::kind(), and maybeLambda().

+ +

Referenced by maybeLambda().

+ +
+
+ +

◆ maybeLambda() [2/2]

+ +
+
+ + + + + +
+ + + + + + + +
static bool nixf::Expr::maybeLambda (NodeKind Kind)
+
+inlinestatic
+
+
Returns
true if the expression might be evaluated to lambda.
+ +

Definition at line 84 of file Basic.h.

+ +

References isExpr().

+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/classnixf_1_1ExprAssert-members.html b/classnixf_1_1ExprAssert-members.html new file mode 100644 index 000000000..16a866fc6 --- /dev/null +++ b/classnixf_1_1ExprAssert-members.html @@ -0,0 +1,114 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
nixf::ExprAssert Member List
+
+
+ +

This is the complete list of members for nixf::ExprAssert, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + +
children() const overridenixf::ExprAssertinlinevirtual
ChildVector typedefnixf::Node
classof(const Node *N)nixf::Exprinlinestatic
cond() constnixf::ExprAssertinline
descend(PositionRange Range) constnixf::Nodeinline
Expr(NodeKind Kind, LexerCursorRange Range)nixf::Exprinlineexplicitprotected
ExprAssert(LexerCursorRange Range, std::shared_ptr< Expr > Cond, std::shared_ptr< Expr > Value)nixf::ExprAssertinline
isExpr(NodeKind Kind)nixf::Exprinlinestatic
kind() constnixf::Nodeinline
lCur() constnixf::Nodeinline
maybeLambda(NodeKind Kind)nixf::Exprinlinestatic
maybeLambda() constnixf::Exprinline
name(NodeKind Kind)nixf::Nodestatic
name() constnixf::Nodeinline
NK_BeginExpr enum valuenixf::Node
NK_EndExpr enum valuenixf::Node
Node(NodeKind Kind, LexerCursorRange Range)nixf::Nodeinlineexplicitprotected
NodeKind enum namenixf::Node
positionRange() constnixf::Nodeinline
range() constnixf::Nodeinline
rCur() constnixf::Nodeinline
src(std::string_view Src) constnixf::Nodeinline
value() constnixf::ExprAssertinline
~Node()=defaultnixf::Nodevirtual
+ + + + diff --git a/classnixf_1_1ExprAssert.html b/classnixf_1_1ExprAssert.html new file mode 100644 index 000000000..dcb431e09 --- /dev/null +++ b/classnixf_1_1ExprAssert.html @@ -0,0 +1,290 @@ + + + + + + + +nixd: nixf::ExprAssert Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
nixf::ExprAssert Class Reference
+
+
+ +

#include <Expr.h>

+
+Inheritance diagram for nixf::ExprAssert:
+
+
+
[legend]
+
+Collaboration diagram for nixf::ExprAssert:
+
+
+
[legend]
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 ExprAssert (LexerCursorRange Range, std::shared_ptr< Expr > Cond, std::shared_ptr< Expr > Value)
 
Exprcond () const
 
Exprvalue () const
 
ChildVector children () const override
 
- Public Member Functions inherited from nixf::Expr
bool maybeLambda () const
 
- Public Member Functions inherited from nixf::Node
NodeKind kind () const
 
LexerCursorRange range () const
 
PositionRange positionRange () const
 
LexerCursor lCur () const
 
LexerCursor rCur () const
 
const char * name () const
 
virtual ~Node ()=default
 
const Nodedescend (PositionRange Range) const
 Descendant node that contains the given range.
 
std::string_view src (std::string_view Src) const
 
+ + + + + + + + + + + + + + + + + + + + + + +

+Additional Inherited Members

- Public Types inherited from nixf::Node
enum  NodeKind { NK_BeginExpr +, NK_EndExpr + }
 
using ChildVector = boost::container::small_vector<Node *, 8>
 
- Static Public Member Functions inherited from nixf::Expr
static bool classof (const Node *N)
 
static bool isExpr (NodeKind Kind)
 
static bool maybeLambda (NodeKind Kind)
 
- Static Public Member Functions inherited from nixf::Node
static const char * name (NodeKind Kind)
 
- Protected Member Functions inherited from nixf::Expr
 Expr (NodeKind Kind, LexerCursorRange Range)
 
- Protected Member Functions inherited from nixf::Node
 Node (NodeKind Kind, LexerCursorRange Range)
 
+

Detailed Description

+
+

Definition at line 111 of file Expr.h.

+

Constructor & Destructor Documentation

+ +

◆ ExprAssert()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + +
nixf::ExprAssert::ExprAssert (LexerCursorRange Range,
std::shared_ptr< Expr > Cond,
std::shared_ptr< Expr > Value )
+
+inline
+
+ +

Definition at line 116 of file Expr.h.

+ +
+
+

Member Function Documentation

+ +

◆ children()

+ +
+
+ + + + + +
+ + + + + + + +
ChildVector nixf::ExprAssert::children () const
+
+inlineoverridevirtual
+
+ +

Implements nixf::Node.

+ +

Definition at line 124 of file Expr.h.

+ +
+
+ +

◆ cond()

+ +
+
+ + + + + +
+ + + + + + + +
Expr * nixf::ExprAssert::cond () const
+
+inline
+
+ +

Definition at line 121 of file Expr.h.

+ +
+
+ +

◆ value()

+ +
+
+ + + + + +
+ + + + + + + +
Expr * nixf::ExprAssert::value () const
+
+inline
+
+ +

Definition at line 122 of file Expr.h.

+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/classnixf_1_1ExprAssert__coll__graph.map b/classnixf_1_1ExprAssert__coll__graph.map new file mode 100644 index 000000000..12c2be0ab --- /dev/null +++ b/classnixf_1_1ExprAssert__coll__graph.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/classnixf_1_1ExprAssert__coll__graph.md5 b/classnixf_1_1ExprAssert__coll__graph.md5 new file mode 100644 index 000000000..1b55e343f --- /dev/null +++ b/classnixf_1_1ExprAssert__coll__graph.md5 @@ -0,0 +1 @@ +ad11687835a8e8a472acad0efb32ee6b \ No newline at end of file diff --git a/classnixf_1_1ExprAssert__coll__graph.svg b/classnixf_1_1ExprAssert__coll__graph.svg new file mode 100644 index 000000000..0229a5508 --- /dev/null +++ b/classnixf_1_1ExprAssert__coll__graph.svg @@ -0,0 +1,57 @@ + + + + + + +nixf::ExprAssert + + +Node1 + + +nixf::ExprAssert + + + + + +Node2 + + +nixf::Expr + + + + + +Node2->Node1 + + + + + + + + +Node3 + + +nixf::Node + + + + + +Node3->Node2 + + + + + + + + diff --git a/classnixf_1_1ExprAssert__inherit__graph.map b/classnixf_1_1ExprAssert__inherit__graph.map new file mode 100644 index 000000000..12c2be0ab --- /dev/null +++ b/classnixf_1_1ExprAssert__inherit__graph.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/classnixf_1_1ExprAssert__inherit__graph.md5 b/classnixf_1_1ExprAssert__inherit__graph.md5 new file mode 100644 index 000000000..1b55e343f --- /dev/null +++ b/classnixf_1_1ExprAssert__inherit__graph.md5 @@ -0,0 +1 @@ +ad11687835a8e8a472acad0efb32ee6b \ No newline at end of file diff --git a/classnixf_1_1ExprAssert__inherit__graph.svg b/classnixf_1_1ExprAssert__inherit__graph.svg new file mode 100644 index 000000000..0229a5508 --- /dev/null +++ b/classnixf_1_1ExprAssert__inherit__graph.svg @@ -0,0 +1,57 @@ + + + + + + +nixf::ExprAssert + + +Node1 + + +nixf::ExprAssert + + + + + +Node2 + + +nixf::Expr + + + + + +Node2->Node1 + + + + + + + + +Node3 + + +nixf::Node + + + + + +Node3->Node2 + + + + + + + + diff --git a/classnixf_1_1ExprAttrs-members.html b/classnixf_1_1ExprAttrs-members.html new file mode 100644 index 000000000..fd92023ac --- /dev/null +++ b/classnixf_1_1ExprAttrs-members.html @@ -0,0 +1,117 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
nixf::ExprAttrs Member List
+
+
+ +

This is the complete list of members for nixf::ExprAttrs, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
binds() constnixf::ExprAttrsinline
children() const overridenixf::ExprAttrsinlinevirtual
ChildVector typedefnixf::Node
classof(const Node *N)nixf::Exprinlinestatic
descend(PositionRange Range) constnixf::Nodeinline
Expr(NodeKind Kind, LexerCursorRange Range)nixf::Exprinlineexplicitprotected
ExprAttrs(LexerCursorRange Range, std::shared_ptr< Binds > Body, std::shared_ptr< Misc > Rec, SemaAttrs SA)nixf::ExprAttrsinline
isExpr(NodeKind Kind)nixf::Exprinlinestatic
isRecursive() constnixf::ExprAttrsinline
kind() constnixf::Nodeinline
lCur() constnixf::Nodeinline
maybeLambda(NodeKind Kind)nixf::Exprinlinestatic
maybeLambda() constnixf::Exprinline
name(NodeKind Kind)nixf::Nodestatic
name() constnixf::Nodeinline
NK_BeginExpr enum valuenixf::Node
NK_EndExpr enum valuenixf::Node
Node(NodeKind Kind, LexerCursorRange Range)nixf::Nodeinlineexplicitprotected
NodeKind enum namenixf::Node
positionRange() constnixf::Nodeinline
range() constnixf::Nodeinline
rCur() constnixf::Nodeinline
rec() constnixf::ExprAttrsinline
sema() constnixf::ExprAttrsinline
Semanixf::ExprAttrsfriend
src(std::string_view Src) constnixf::Nodeinline
~Node()=defaultnixf::Nodevirtual
+ + + + diff --git a/classnixf_1_1ExprAttrs.html b/classnixf_1_1ExprAttrs.html new file mode 100644 index 000000000..b8f99c607 --- /dev/null +++ b/classnixf_1_1ExprAttrs.html @@ -0,0 +1,388 @@ + + + + + + + +nixd: nixf::ExprAttrs Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
nixf::ExprAttrs Class Reference
+
+
+ +

#include <Attrs.h>

+
+Inheritance diagram for nixf::ExprAttrs:
+
+
+
[legend]
+
+Collaboration diagram for nixf::ExprAttrs:
+
+
+
[legend]
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 ExprAttrs (LexerCursorRange Range, std::shared_ptr< Binds > Body, std::shared_ptr< Misc > Rec, SemaAttrs SA)
 
const Bindsbinds () const
 
const Miscrec () const
 
bool isRecursive () const
 
const SemaAttrssema () const
 
ChildVector children () const override
 
- Public Member Functions inherited from nixf::Expr
bool maybeLambda () const
 
- Public Member Functions inherited from nixf::Node
NodeKind kind () const
 
LexerCursorRange range () const
 
PositionRange positionRange () const
 
LexerCursor lCur () const
 
LexerCursor rCur () const
 
const char * name () const
 
virtual ~Node ()=default
 
const Nodedescend (PositionRange Range) const
 Descendant node that contains the given range.
 
std::string_view src (std::string_view Src) const
 
+ + + +

+Friends

class Sema
 
+ + + + + + + + + + + + + + + + + + + + + + +

+Additional Inherited Members

- Public Types inherited from nixf::Node
enum  NodeKind { NK_BeginExpr +, NK_EndExpr + }
 
using ChildVector = boost::container::small_vector<Node *, 8>
 
- Static Public Member Functions inherited from nixf::Expr
static bool classof (const Node *N)
 
static bool isExpr (NodeKind Kind)
 
static bool maybeLambda (NodeKind Kind)
 
- Static Public Member Functions inherited from nixf::Node
static const char * name (NodeKind Kind)
 
- Protected Member Functions inherited from nixf::Expr
 Expr (NodeKind Kind, LexerCursorRange Range)
 
- Protected Member Functions inherited from nixf::Node
 Node (NodeKind Kind, LexerCursorRange Range)
 
+

Detailed Description

+
+

Definition at line 261 of file Attrs.h.

+

Constructor & Destructor Documentation

+ +

◆ ExprAttrs()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + +
nixf::ExprAttrs::ExprAttrs (LexerCursorRange Range,
std::shared_ptr< Binds > Body,
std::shared_ptr< Misc > Rec,
SemaAttrs SA )
+
+inline
+
+ +

Definition at line 268 of file Attrs.h.

+ +
+
+

Member Function Documentation

+ +

◆ binds()

+ +
+
+ + + + + +
+ + + + + + + +
const Binds * nixf::ExprAttrs::binds () const
+
+inline
+
+ +

Definition at line 273 of file Attrs.h.

+ +
+
+ +

◆ children()

+ +
+
+ + + + + +
+ + + + + + + +
ChildVector nixf::ExprAttrs::children () const
+
+inlineoverridevirtual
+
+ +

Implements nixf::Node.

+ +

Definition at line 280 of file Attrs.h.

+ +
+
+ +

◆ isRecursive()

+ +
+
+ + + + + +
+ + + + + + + +
bool nixf::ExprAttrs::isRecursive () const
+
+inline
+
+ +

Definition at line 276 of file Attrs.h.

+ +

Referenced by nixf::Sema::checkAttrRecursiveForMerge().

+ +
+
+ +

◆ rec()

+ +
+
+ + + + + +
+ + + + + + + +
const Misc * nixf::ExprAttrs::rec () const
+
+inline
+
+ +

Definition at line 274 of file Attrs.h.

+ +

Referenced by nixf::Sema::checkAttrRecursiveForMerge().

+ +
+
+ +

◆ sema()

+ +
+
+ + + + + +
+ + + + + + + +
const SemaAttrs & nixf::ExprAttrs::sema () const
+
+inline
+
+ +

Definition at line 278 of file Attrs.h.

+ +
+
+

Friends And Related Symbol Documentation

+ +

◆ Sema

+ +
+
+ + + + + +
+ + + + +
friend class Sema
+
+friend
+
+ +

Definition at line 265 of file Attrs.h.

+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/classnixf_1_1ExprAttrs__coll__graph.map b/classnixf_1_1ExprAttrs__coll__graph.map new file mode 100644 index 000000000..7310adc44 --- /dev/null +++ b/classnixf_1_1ExprAttrs__coll__graph.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/classnixf_1_1ExprAttrs__coll__graph.md5 b/classnixf_1_1ExprAttrs__coll__graph.md5 new file mode 100644 index 000000000..158ee01f2 --- /dev/null +++ b/classnixf_1_1ExprAttrs__coll__graph.md5 @@ -0,0 +1 @@ +696315795124bf805aac4aaae3596e2c \ No newline at end of file diff --git a/classnixf_1_1ExprAttrs__coll__graph.svg b/classnixf_1_1ExprAttrs__coll__graph.svg new file mode 100644 index 000000000..a63cce8ac --- /dev/null +++ b/classnixf_1_1ExprAttrs__coll__graph.svg @@ -0,0 +1,57 @@ + + + + + + +nixf::ExprAttrs + + +Node1 + + +nixf::ExprAttrs + + + + + +Node2 + + +nixf::Expr + + + + + +Node2->Node1 + + + + + + + + +Node3 + + +nixf::Node + + + + + +Node3->Node2 + + + + + + + + diff --git a/classnixf_1_1ExprAttrs__inherit__graph.map b/classnixf_1_1ExprAttrs__inherit__graph.map new file mode 100644 index 000000000..7310adc44 --- /dev/null +++ b/classnixf_1_1ExprAttrs__inherit__graph.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/classnixf_1_1ExprAttrs__inherit__graph.md5 b/classnixf_1_1ExprAttrs__inherit__graph.md5 new file mode 100644 index 000000000..158ee01f2 --- /dev/null +++ b/classnixf_1_1ExprAttrs__inherit__graph.md5 @@ -0,0 +1 @@ +696315795124bf805aac4aaae3596e2c \ No newline at end of file diff --git a/classnixf_1_1ExprAttrs__inherit__graph.svg b/classnixf_1_1ExprAttrs__inherit__graph.svg new file mode 100644 index 000000000..a63cce8ac --- /dev/null +++ b/classnixf_1_1ExprAttrs__inherit__graph.svg @@ -0,0 +1,57 @@ + + + + + + +nixf::ExprAttrs + + +Node1 + + +nixf::ExprAttrs + + + + + +Node2 + + +nixf::Expr + + + + + +Node2->Node1 + + + + + + + + +Node3 + + +nixf::Node + + + + + +Node3->Node2 + + + + + + + + diff --git a/classnixf_1_1ExprBinOp-members.html b/classnixf_1_1ExprBinOp-members.html new file mode 100644 index 000000000..325c52848 --- /dev/null +++ b/classnixf_1_1ExprBinOp-members.html @@ -0,0 +1,116 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
nixf::ExprBinOp Member List
+
+
+ +

This is the complete list of members for nixf::ExprBinOp, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
children() const overridenixf::ExprBinOpinlinevirtual
ChildVector typedefnixf::Node
classof(const Node *N)nixf::Exprinlinestatic
descend(PositionRange Range) constnixf::Nodeinline
Expr(NodeKind Kind, LexerCursorRange Range)nixf::Exprinlineexplicitprotected
ExprBinOp(LexerCursorRange Range, std::shared_ptr< Op > O, std::shared_ptr< Expr > LHS, std::shared_ptr< Expr > RHS)nixf::ExprBinOpinline
ExprOp(NodeKind Kind, LexerCursorRange Range, std::shared_ptr< Op > O)nixf::ExprOpinline
isExpr(NodeKind Kind)nixf::Exprinlinestatic
kind() constnixf::Nodeinline
lCur() constnixf::Nodeinline
lhs() constnixf::ExprBinOpinline
maybeLambda(NodeKind Kind)nixf::Exprinlinestatic
maybeLambda() constnixf::Exprinline
name(NodeKind Kind)nixf::Nodestatic
name() constnixf::Nodeinline
NK_BeginExpr enum valuenixf::Node
NK_EndExpr enum valuenixf::Node
Node(NodeKind Kind, LexerCursorRange Range)nixf::Nodeinlineexplicitprotected
NodeKind enum namenixf::Node
op() constnixf::ExprOpinline
positionRange() constnixf::Nodeinline
range() constnixf::Nodeinline
rCur() constnixf::Nodeinline
rhs() constnixf::ExprBinOpinline
src(std::string_view Src) constnixf::Nodeinline
~Node()=defaultnixf::Nodevirtual
+ + + + diff --git a/classnixf_1_1ExprBinOp.html b/classnixf_1_1ExprBinOp.html new file mode 100644 index 000000000..15e5e92e4 --- /dev/null +++ b/classnixf_1_1ExprBinOp.html @@ -0,0 +1,308 @@ + + + + + + + +nixd: nixf::ExprBinOp Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
nixf::ExprBinOp Class Reference
+
+
+ +

#include <Op.h>

+
+Inheritance diagram for nixf::ExprBinOp:
+
+
+
[legend]
+
+Collaboration diagram for nixf::ExprBinOp:
+
+
+
[legend]
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 ExprBinOp (LexerCursorRange Range, std::shared_ptr< Op > O, std::shared_ptr< Expr > LHS, std::shared_ptr< Expr > RHS)
 
Exprlhs () const
 
Exprrhs () const
 
ChildVector children () const override
 
- Public Member Functions inherited from nixf::ExprOp
 ExprOp (NodeKind Kind, LexerCursorRange Range, std::shared_ptr< Op > O)
 
Opop () const
 
ChildVector children () const override
 
- Public Member Functions inherited from nixf::Expr
bool maybeLambda () const
 
- Public Member Functions inherited from nixf::Node
NodeKind kind () const
 
LexerCursorRange range () const
 
PositionRange positionRange () const
 
LexerCursor lCur () const
 
LexerCursor rCur () const
 
const char * name () const
 
virtual ~Node ()=default
 
const Nodedescend (PositionRange Range) const
 Descendant node that contains the given range.
 
std::string_view src (std::string_view Src) const
 
+ + + + + + + + + + + + + + + + + + + + + + +

+Additional Inherited Members

- Public Types inherited from nixf::Node
enum  NodeKind { NK_BeginExpr +, NK_EndExpr + }
 
using ChildVector = boost::container::small_vector<Node *, 8>
 
- Static Public Member Functions inherited from nixf::Expr
static bool classof (const Node *N)
 
static bool isExpr (NodeKind Kind)
 
static bool maybeLambda (NodeKind Kind)
 
- Static Public Member Functions inherited from nixf::Node
static const char * name (NodeKind Kind)
 
- Protected Member Functions inherited from nixf::Expr
 Expr (NodeKind Kind, LexerCursorRange Range)
 
- Protected Member Functions inherited from nixf::Node
 Node (NodeKind Kind, LexerCursorRange Range)
 
+

Detailed Description

+
+

Definition at line 39 of file Op.h.

+

Constructor & Destructor Documentation

+ +

◆ ExprBinOp()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + +
nixf::ExprBinOp::ExprBinOp (LexerCursorRange Range,
std::shared_ptr< Op > O,
std::shared_ptr< Expr > LHS,
std::shared_ptr< Expr > RHS )
+
+inline
+
+ +

Definition at line 44 of file Op.h.

+ +
+
+

Member Function Documentation

+ +

◆ children()

+ +
+
+ + + + + +
+ + + + + + + +
ChildVector nixf::ExprBinOp::children () const
+
+inlineoverridevirtual
+
+ +

Implements nixf::Node.

+ +

Definition at line 52 of file Op.h.

+ +

References nixf::ExprOp::op().

+ +
+
+ +

◆ lhs()

+ +
+
+ + + + + +
+ + + + + + + +
Expr * nixf::ExprBinOp::lhs () const
+
+inline
+
+ +

Definition at line 49 of file Op.h.

+ +

Referenced by nixf::writeBytecode().

+ +
+
+ +

◆ rhs()

+ +
+
+ + + + + +
+ + + + + + + +
Expr * nixf::ExprBinOp::rhs () const
+
+inline
+
+ +

Definition at line 50 of file Op.h.

+ +

Referenced by nixf::writeBytecode().

+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/classnixf_1_1ExprBinOp__coll__graph.map b/classnixf_1_1ExprBinOp__coll__graph.map new file mode 100644 index 000000000..23829dcd1 --- /dev/null +++ b/classnixf_1_1ExprBinOp__coll__graph.map @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/classnixf_1_1ExprBinOp__coll__graph.md5 b/classnixf_1_1ExprBinOp__coll__graph.md5 new file mode 100644 index 000000000..93e5dacba --- /dev/null +++ b/classnixf_1_1ExprBinOp__coll__graph.md5 @@ -0,0 +1 @@ +9a0f56f412984ff9aa43bd20990d2b2b \ No newline at end of file diff --git a/classnixf_1_1ExprBinOp__coll__graph.svg b/classnixf_1_1ExprBinOp__coll__graph.svg new file mode 100644 index 000000000..e880c1ca7 --- /dev/null +++ b/classnixf_1_1ExprBinOp__coll__graph.svg @@ -0,0 +1,75 @@ + + + + + + +nixf::ExprBinOp + + +Node1 + + +nixf::ExprBinOp + + + + + +Node2 + + +nixf::ExprOp + + + + + +Node2->Node1 + + + + + + + + +Node3 + + +nixf::Expr + + + + + +Node3->Node2 + + + + + + + + +Node4 + + +nixf::Node + + + + + +Node4->Node3 + + + + + + + + diff --git a/classnixf_1_1ExprBinOp__inherit__graph.map b/classnixf_1_1ExprBinOp__inherit__graph.map new file mode 100644 index 000000000..23829dcd1 --- /dev/null +++ b/classnixf_1_1ExprBinOp__inherit__graph.map @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/classnixf_1_1ExprBinOp__inherit__graph.md5 b/classnixf_1_1ExprBinOp__inherit__graph.md5 new file mode 100644 index 000000000..93e5dacba --- /dev/null +++ b/classnixf_1_1ExprBinOp__inherit__graph.md5 @@ -0,0 +1 @@ +9a0f56f412984ff9aa43bd20990d2b2b \ No newline at end of file diff --git a/classnixf_1_1ExprBinOp__inherit__graph.svg b/classnixf_1_1ExprBinOp__inherit__graph.svg new file mode 100644 index 000000000..e880c1ca7 --- /dev/null +++ b/classnixf_1_1ExprBinOp__inherit__graph.svg @@ -0,0 +1,75 @@ + + + + + + +nixf::ExprBinOp + + +Node1 + + +nixf::ExprBinOp + + + + + +Node2 + + +nixf::ExprOp + + + + + +Node2->Node1 + + + + + + + + +Node3 + + +nixf::Expr + + + + + +Node3->Node2 + + + + + + + + +Node4 + + +nixf::Node + + + + + +Node4->Node3 + + + + + + + + diff --git a/classnixf_1_1ExprCall-members.html b/classnixf_1_1ExprCall-members.html new file mode 100644 index 000000000..b9f13b7e1 --- /dev/null +++ b/classnixf_1_1ExprCall-members.html @@ -0,0 +1,115 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
nixf::ExprCall Member List
+
+
+ +

This is the complete list of members for nixf::ExprCall, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
args()nixf::ExprCallinline
args() constnixf::ExprCallinline
children() const overridenixf::ExprCallinlinevirtual
ChildVector typedefnixf::Node
classof(const Node *N)nixf::Exprinlinestatic
descend(PositionRange Range) constnixf::Nodeinline
Expr(NodeKind Kind, LexerCursorRange Range)nixf::Exprinlineexplicitprotected
ExprCall(LexerCursorRange Range, std::shared_ptr< Expr > Fn, std::vector< std::shared_ptr< Expr > > Args)nixf::ExprCallinline
fn() constnixf::ExprCallinline
isExpr(NodeKind Kind)nixf::Exprinlinestatic
kind() constnixf::Nodeinline
lCur() constnixf::Nodeinline
maybeLambda(NodeKind Kind)nixf::Exprinlinestatic
maybeLambda() constnixf::Exprinline
name(NodeKind Kind)nixf::Nodestatic
name() constnixf::Nodeinline
NK_BeginExpr enum valuenixf::Node
NK_EndExpr enum valuenixf::Node
Node(NodeKind Kind, LexerCursorRange Range)nixf::Nodeinlineexplicitprotected
NodeKind enum namenixf::Node
positionRange() constnixf::Nodeinline
range() constnixf::Nodeinline
rCur() constnixf::Nodeinline
src(std::string_view Src) constnixf::Nodeinline
~Node()=defaultnixf::Nodevirtual
+ + + + diff --git a/classnixf_1_1ExprCall.html b/classnixf_1_1ExprCall.html new file mode 100644 index 000000000..b8fba5e82 --- /dev/null +++ b/classnixf_1_1ExprCall.html @@ -0,0 +1,323 @@ + + + + + + + +nixd: nixf::ExprCall Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
nixf::ExprCall Class Reference
+
+
+ +

A call/apply to some function. + More...

+ +

#include <Expr.h>

+
+Inheritance diagram for nixf::ExprCall:
+
+
+
[legend]
+
+Collaboration diagram for nixf::ExprCall:
+
+
+
[legend]
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 ExprCall (LexerCursorRange Range, std::shared_ptr< Expr > Fn, std::vector< std::shared_ptr< Expr > > Args)
 
Exprfn () const
 
std::vector< std::shared_ptr< Expr > > & args ()
 
const std::vector< std::shared_ptr< Expr > > & args () const
 
ChildVector children () const override
 
- Public Member Functions inherited from nixf::Expr
bool maybeLambda () const
 
- Public Member Functions inherited from nixf::Node
NodeKind kind () const
 
LexerCursorRange range () const
 
PositionRange positionRange () const
 
LexerCursor lCur () const
 
LexerCursor rCur () const
 
const char * name () const
 
virtual ~Node ()=default
 
const Nodedescend (PositionRange Range) const
 Descendant node that contains the given range.
 
std::string_view src (std::string_view Src) const
 
+ + + + + + + + + + + + + + + + + + + + + + +

+Additional Inherited Members

- Public Types inherited from nixf::Node
enum  NodeKind { NK_BeginExpr +, NK_EndExpr + }
 
using ChildVector = boost::container::small_vector<Node *, 8>
 
- Static Public Member Functions inherited from nixf::Expr
static bool classof (const Node *N)
 
static bool isExpr (NodeKind Kind)
 
static bool maybeLambda (NodeKind Kind)
 
- Static Public Member Functions inherited from nixf::Node
static const char * name (NodeKind Kind)
 
- Protected Member Functions inherited from nixf::Expr
 Expr (NodeKind Kind, LexerCursorRange Range)
 
- Protected Member Functions inherited from nixf::Node
 Node (NodeKind Kind, LexerCursorRange Range)
 
+

Detailed Description

+

A call/apply to some function.

+ +

Definition at line 35 of file Expr.h.

+

Constructor & Destructor Documentation

+ +

◆ ExprCall()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + +
nixf::ExprCall::ExprCall (LexerCursorRange Range,
std::shared_ptr< Expr > Fn,
std::vector< std::shared_ptr< Expr > > Args )
+
+inline
+
+ +

Definition at line 40 of file Expr.h.

+ +
+
+

Member Function Documentation

+ +

◆ args() [1/2]

+ +
+
+ + + + + +
+ + + + + + + +
std::vector< std::shared_ptr< Expr > > & nixf::ExprCall::args ()
+
+inline
+
+ +

Definition at line 50 of file Expr.h.

+ +
+
+ +

◆ args() [2/2]

+ +
+
+ + + + + +
+ + + + + + + +
const std::vector< std::shared_ptr< Expr > > & nixf::ExprCall::args () const
+
+inline
+
+ +

Definition at line 52 of file Expr.h.

+ +
+
+ +

◆ children()

+ +
+
+ + + + + +
+ + + + + + + +
ChildVector nixf::ExprCall::children () const
+
+inlineoverridevirtual
+
+ +

Implements nixf::Node.

+ +

Definition at line 56 of file Expr.h.

+ +
+
+ +

◆ fn()

+ +
+
+ + + + + +
+ + + + + + + +
Expr & nixf::ExprCall::fn () const
+
+inline
+
+ +

Definition at line 46 of file Expr.h.

+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/classnixf_1_1ExprCall__coll__graph.map b/classnixf_1_1ExprCall__coll__graph.map new file mode 100644 index 000000000..1bb7ad63a --- /dev/null +++ b/classnixf_1_1ExprCall__coll__graph.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/classnixf_1_1ExprCall__coll__graph.md5 b/classnixf_1_1ExprCall__coll__graph.md5 new file mode 100644 index 000000000..6f9d19893 --- /dev/null +++ b/classnixf_1_1ExprCall__coll__graph.md5 @@ -0,0 +1 @@ +2a3531d6208132b43d2b89f220ea928d \ No newline at end of file diff --git a/classnixf_1_1ExprCall__coll__graph.svg b/classnixf_1_1ExprCall__coll__graph.svg new file mode 100644 index 000000000..031cdc18c --- /dev/null +++ b/classnixf_1_1ExprCall__coll__graph.svg @@ -0,0 +1,57 @@ + + + + + + +nixf::ExprCall + + +Node1 + + +nixf::ExprCall + + + + + +Node2 + + +nixf::Expr + + + + + +Node2->Node1 + + + + + + + + +Node3 + + +nixf::Node + + + + + +Node3->Node2 + + + + + + + + diff --git a/classnixf_1_1ExprCall__inherit__graph.map b/classnixf_1_1ExprCall__inherit__graph.map new file mode 100644 index 000000000..1bb7ad63a --- /dev/null +++ b/classnixf_1_1ExprCall__inherit__graph.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/classnixf_1_1ExprCall__inherit__graph.md5 b/classnixf_1_1ExprCall__inherit__graph.md5 new file mode 100644 index 000000000..6f9d19893 --- /dev/null +++ b/classnixf_1_1ExprCall__inherit__graph.md5 @@ -0,0 +1 @@ +2a3531d6208132b43d2b89f220ea928d \ No newline at end of file diff --git a/classnixf_1_1ExprCall__inherit__graph.svg b/classnixf_1_1ExprCall__inherit__graph.svg new file mode 100644 index 000000000..031cdc18c --- /dev/null +++ b/classnixf_1_1ExprCall__inherit__graph.svg @@ -0,0 +1,57 @@ + + + + + + +nixf::ExprCall + + +Node1 + + +nixf::ExprCall + + + + + +Node2 + + +nixf::Expr + + + + + +Node2->Node1 + + + + + + + + +Node3 + + +nixf::Node + + + + + +Node3->Node2 + + + + + + + + diff --git a/classnixf_1_1ExprFloat-members.html b/classnixf_1_1ExprFloat-members.html new file mode 100644 index 000000000..776d82cde --- /dev/null +++ b/classnixf_1_1ExprFloat-members.html @@ -0,0 +1,113 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
nixf::ExprFloat Member List
+
+
+ +

This is the complete list of members for nixf::ExprFloat, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + +
children() const overridenixf::ExprFloatinlinevirtual
ChildVector typedefnixf::Node
classof(const Node *N)nixf::Exprinlinestatic
descend(PositionRange Range) constnixf::Nodeinline
Expr(NodeKind Kind, LexerCursorRange Range)nixf::Exprinlineexplicitprotected
ExprFloat(LexerCursorRange Range, NixFloat Value)nixf::ExprFloatinline
isExpr(NodeKind Kind)nixf::Exprinlinestatic
kind() constnixf::Nodeinline
lCur() constnixf::Nodeinline
maybeLambda(NodeKind Kind)nixf::Exprinlinestatic
maybeLambda() constnixf::Exprinline
name(NodeKind Kind)nixf::Nodestatic
name() constnixf::Nodeinline
NK_BeginExpr enum valuenixf::Node
NK_EndExpr enum valuenixf::Node
Node(NodeKind Kind, LexerCursorRange Range)nixf::Nodeinlineexplicitprotected
NodeKind enum namenixf::Node
positionRange() constnixf::Nodeinline
range() constnixf::Nodeinline
rCur() constnixf::Nodeinline
src(std::string_view Src) constnixf::Nodeinline
value() constnixf::ExprFloatinline
~Node()=defaultnixf::Nodevirtual
+ + + + diff --git a/classnixf_1_1ExprFloat.html b/classnixf_1_1ExprFloat.html new file mode 100644 index 000000000..d3bb17926 --- /dev/null +++ b/classnixf_1_1ExprFloat.html @@ -0,0 +1,256 @@ + + + + + + + +nixd: nixf::ExprFloat Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
nixf::ExprFloat Class Reference
+
+
+ +

#include <Simple.h>

+
+Inheritance diagram for nixf::ExprFloat:
+
+
+
[legend]
+
+Collaboration diagram for nixf::ExprFloat:
+
+
+
[legend]
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 ExprFloat (LexerCursorRange Range, NixFloat Value)
 
NixFloat value () const
 
ChildVector children () const override
 
- Public Member Functions inherited from nixf::Expr
bool maybeLambda () const
 
- Public Member Functions inherited from nixf::Node
NodeKind kind () const
 
LexerCursorRange range () const
 
PositionRange positionRange () const
 
LexerCursor lCur () const
 
LexerCursor rCur () const
 
const char * name () const
 
virtual ~Node ()=default
 
const Nodedescend (PositionRange Range) const
 Descendant node that contains the given range.
 
std::string_view src (std::string_view Src) const
 
+ + + + + + + + + + + + + + + + + + + + + + +

+Additional Inherited Members

- Public Types inherited from nixf::Node
enum  NodeKind { NK_BeginExpr +, NK_EndExpr + }
 
using ChildVector = boost::container::small_vector<Node *, 8>
 
- Static Public Member Functions inherited from nixf::Expr
static bool classof (const Node *N)
 
static bool isExpr (NodeKind Kind)
 
static bool maybeLambda (NodeKind Kind)
 
- Static Public Member Functions inherited from nixf::Node
static const char * name (NodeKind Kind)
 
- Protected Member Functions inherited from nixf::Expr
 Expr (NodeKind Kind, LexerCursorRange Range)
 
- Protected Member Functions inherited from nixf::Node
 Node (NodeKind Kind, LexerCursorRange Range)
 
+

Detailed Description

+
+

Definition at line 26 of file Simple.h.

+

Constructor & Destructor Documentation

+ +

◆ ExprFloat()

+ +
+
+ + + + + +
+ + + + + + + + + + + +
nixf::ExprFloat::ExprFloat (LexerCursorRange Range,
NixFloat Value )
+
+inline
+
+ +

Definition at line 30 of file Simple.h.

+ +
+
+

Member Function Documentation

+ +

◆ children()

+ +
+
+ + + + + +
+ + + + + + + +
ChildVector nixf::ExprFloat::children () const
+
+inlineoverridevirtual
+
+ +

Implements nixf::Node.

+ +

Definition at line 34 of file Simple.h.

+ +
+
+ +

◆ value()

+ +
+
+ + + + + +
+ + + + + + + +
NixFloat nixf::ExprFloat::value () const
+
+inline
+
+ +

Definition at line 32 of file Simple.h.

+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/classnixf_1_1ExprFloat__coll__graph.map b/classnixf_1_1ExprFloat__coll__graph.map new file mode 100644 index 000000000..5fd147099 --- /dev/null +++ b/classnixf_1_1ExprFloat__coll__graph.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/classnixf_1_1ExprFloat__coll__graph.md5 b/classnixf_1_1ExprFloat__coll__graph.md5 new file mode 100644 index 000000000..0244edf45 --- /dev/null +++ b/classnixf_1_1ExprFloat__coll__graph.md5 @@ -0,0 +1 @@ +89b8afe4bfcdc1eff48aa71a41e7e260 \ No newline at end of file diff --git a/classnixf_1_1ExprFloat__coll__graph.svg b/classnixf_1_1ExprFloat__coll__graph.svg new file mode 100644 index 000000000..9cfd23077 --- /dev/null +++ b/classnixf_1_1ExprFloat__coll__graph.svg @@ -0,0 +1,57 @@ + + + + + + +nixf::ExprFloat + + +Node1 + + +nixf::ExprFloat + + + + + +Node2 + + +nixf::Expr + + + + + +Node2->Node1 + + + + + + + + +Node3 + + +nixf::Node + + + + + +Node3->Node2 + + + + + + + + diff --git a/classnixf_1_1ExprFloat__inherit__graph.map b/classnixf_1_1ExprFloat__inherit__graph.map new file mode 100644 index 000000000..5fd147099 --- /dev/null +++ b/classnixf_1_1ExprFloat__inherit__graph.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/classnixf_1_1ExprFloat__inherit__graph.md5 b/classnixf_1_1ExprFloat__inherit__graph.md5 new file mode 100644 index 000000000..0244edf45 --- /dev/null +++ b/classnixf_1_1ExprFloat__inherit__graph.md5 @@ -0,0 +1 @@ +89b8afe4bfcdc1eff48aa71a41e7e260 \ No newline at end of file diff --git a/classnixf_1_1ExprFloat__inherit__graph.svg b/classnixf_1_1ExprFloat__inherit__graph.svg new file mode 100644 index 000000000..9cfd23077 --- /dev/null +++ b/classnixf_1_1ExprFloat__inherit__graph.svg @@ -0,0 +1,57 @@ + + + + + + +nixf::ExprFloat + + +Node1 + + +nixf::ExprFloat + + + + + +Node2 + + +nixf::Expr + + + + + +Node2->Node1 + + + + + + + + +Node3 + + +nixf::Node + + + + + +Node3->Node2 + + + + + + + + diff --git a/classnixf_1_1ExprIf-members.html b/classnixf_1_1ExprIf-members.html new file mode 100644 index 000000000..f11e737f9 --- /dev/null +++ b/classnixf_1_1ExprIf-members.html @@ -0,0 +1,115 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
nixf::ExprIf Member List
+
+
+ +

This is the complete list of members for nixf::ExprIf, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
children() const overridenixf::ExprIfinlinevirtual
ChildVector typedefnixf::Node
classof(const Node *N)nixf::Exprinlinestatic
cond() constnixf::ExprIfinline
descend(PositionRange Range) constnixf::Nodeinline
elseExpr() constnixf::ExprIfinline
Expr(NodeKind Kind, LexerCursorRange Range)nixf::Exprinlineexplicitprotected
ExprIf(LexerCursorRange Range, std::shared_ptr< Expr > Cond, std::shared_ptr< Expr > Then, std::shared_ptr< Expr > Else)nixf::ExprIfinline
isExpr(NodeKind Kind)nixf::Exprinlinestatic
kind() constnixf::Nodeinline
lCur() constnixf::Nodeinline
maybeLambda(NodeKind Kind)nixf::Exprinlinestatic
maybeLambda() constnixf::Exprinline
name(NodeKind Kind)nixf::Nodestatic
name() constnixf::Nodeinline
NK_BeginExpr enum valuenixf::Node
NK_EndExpr enum valuenixf::Node
Node(NodeKind Kind, LexerCursorRange Range)nixf::Nodeinlineexplicitprotected
NodeKind enum namenixf::Node
positionRange() constnixf::Nodeinline
range() constnixf::Nodeinline
rCur() constnixf::Nodeinline
src(std::string_view Src) constnixf::Nodeinline
then() constnixf::ExprIfinline
~Node()=defaultnixf::Nodevirtual
+ + + + diff --git a/classnixf_1_1ExprIf.html b/classnixf_1_1ExprIf.html new file mode 100644 index 000000000..f5c53874f --- /dev/null +++ b/classnixf_1_1ExprIf.html @@ -0,0 +1,324 @@ + + + + + + + +nixd: nixf::ExprIf Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
nixf::ExprIf Class Reference
+
+
+ +

#include <Expr.h>

+
+Inheritance diagram for nixf::ExprIf:
+
+
+
[legend]
+
+Collaboration diagram for nixf::ExprIf:
+
+
+
[legend]
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 ExprIf (LexerCursorRange Range, std::shared_ptr< Expr > Cond, std::shared_ptr< Expr > Then, std::shared_ptr< Expr > Else)
 
Exprcond () const
 
Exprthen () const
 
ExprelseExpr () const
 
ChildVector children () const override
 
- Public Member Functions inherited from nixf::Expr
bool maybeLambda () const
 
- Public Member Functions inherited from nixf::Node
NodeKind kind () const
 
LexerCursorRange range () const
 
PositionRange positionRange () const
 
LexerCursor lCur () const
 
LexerCursor rCur () const
 
const char * name () const
 
virtual ~Node ()=default
 
const Nodedescend (PositionRange Range) const
 Descendant node that contains the given range.
 
std::string_view src (std::string_view Src) const
 
+ + + + + + + + + + + + + + + + + + + + + + +

+Additional Inherited Members

- Public Types inherited from nixf::Node
enum  NodeKind { NK_BeginExpr +, NK_EndExpr + }
 
using ChildVector = boost::container::small_vector<Node *, 8>
 
- Static Public Member Functions inherited from nixf::Expr
static bool classof (const Node *N)
 
static bool isExpr (NodeKind Kind)
 
static bool maybeLambda (NodeKind Kind)
 
- Static Public Member Functions inherited from nixf::Node
static const char * name (NodeKind Kind)
 
- Protected Member Functions inherited from nixf::Expr
 Expr (NodeKind Kind, LexerCursorRange Range)
 
- Protected Member Functions inherited from nixf::Node
 Node (NodeKind Kind, LexerCursorRange Range)
 
+

Detailed Description

+
+

Definition at line 91 of file Expr.h.

+

Constructor & Destructor Documentation

+ +

◆ ExprIf()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + +
nixf::ExprIf::ExprIf (LexerCursorRange Range,
std::shared_ptr< Expr > Cond,
std::shared_ptr< Expr > Then,
std::shared_ptr< Expr > Else )
+
+inline
+
+ +

Definition at line 97 of file Expr.h.

+ +
+
+

Member Function Documentation

+ +

◆ children()

+ +
+
+ + + + + +
+ + + + + + + +
ChildVector nixf::ExprIf::children () const
+
+inlineoverridevirtual
+
+ +

Implements nixf::Node.

+ +

Definition at line 106 of file Expr.h.

+ +
+
+ +

◆ cond()

+ +
+
+ + + + + +
+ + + + + + + +
Expr * nixf::ExprIf::cond () const
+
+inline
+
+ +

Definition at line 102 of file Expr.h.

+ +
+
+ +

◆ elseExpr()

+ +
+
+ + + + + +
+ + + + + + + +
Expr * nixf::ExprIf::elseExpr () const
+
+inline
+
+ +

Definition at line 104 of file Expr.h.

+ +
+
+ +

◆ then()

+ +
+
+ + + + + +
+ + + + + + + +
Expr * nixf::ExprIf::then () const
+
+inline
+
+ +

Definition at line 103 of file Expr.h.

+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/classnixf_1_1ExprIf__coll__graph.map b/classnixf_1_1ExprIf__coll__graph.map new file mode 100644 index 000000000..029032b6c --- /dev/null +++ b/classnixf_1_1ExprIf__coll__graph.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/classnixf_1_1ExprIf__coll__graph.md5 b/classnixf_1_1ExprIf__coll__graph.md5 new file mode 100644 index 000000000..f621a45a2 --- /dev/null +++ b/classnixf_1_1ExprIf__coll__graph.md5 @@ -0,0 +1 @@ +dcf7fa18c59700da9ccbb91cd4665548 \ No newline at end of file diff --git a/classnixf_1_1ExprIf__coll__graph.svg b/classnixf_1_1ExprIf__coll__graph.svg new file mode 100644 index 000000000..e63af677e --- /dev/null +++ b/classnixf_1_1ExprIf__coll__graph.svg @@ -0,0 +1,57 @@ + + + + + + +nixf::ExprIf + + +Node1 + + +nixf::ExprIf + + + + + +Node2 + + +nixf::Expr + + + + + +Node2->Node1 + + + + + + + + +Node3 + + +nixf::Node + + + + + +Node3->Node2 + + + + + + + + diff --git a/classnixf_1_1ExprIf__inherit__graph.map b/classnixf_1_1ExprIf__inherit__graph.map new file mode 100644 index 000000000..029032b6c --- /dev/null +++ b/classnixf_1_1ExprIf__inherit__graph.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/classnixf_1_1ExprIf__inherit__graph.md5 b/classnixf_1_1ExprIf__inherit__graph.md5 new file mode 100644 index 000000000..f621a45a2 --- /dev/null +++ b/classnixf_1_1ExprIf__inherit__graph.md5 @@ -0,0 +1 @@ +dcf7fa18c59700da9ccbb91cd4665548 \ No newline at end of file diff --git a/classnixf_1_1ExprIf__inherit__graph.svg b/classnixf_1_1ExprIf__inherit__graph.svg new file mode 100644 index 000000000..e63af677e --- /dev/null +++ b/classnixf_1_1ExprIf__inherit__graph.svg @@ -0,0 +1,57 @@ + + + + + + +nixf::ExprIf + + +Node1 + + +nixf::ExprIf + + + + + +Node2 + + +nixf::Expr + + + + + +Node2->Node1 + + + + + + + + +Node3 + + +nixf::Node + + + + + +Node3->Node2 + + + + + + + + diff --git a/classnixf_1_1ExprInt-members.html b/classnixf_1_1ExprInt-members.html new file mode 100644 index 000000000..d5c5919ac --- /dev/null +++ b/classnixf_1_1ExprInt-members.html @@ -0,0 +1,113 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
nixf::ExprInt Member List
+
+
+ +

This is the complete list of members for nixf::ExprInt, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + +
children() const overridenixf::ExprIntinlinevirtual
ChildVector typedefnixf::Node
classof(const Node *N)nixf::Exprinlinestatic
descend(PositionRange Range) constnixf::Nodeinline
Expr(NodeKind Kind, LexerCursorRange Range)nixf::Exprinlineexplicitprotected
ExprInt(LexerCursorRange Range, NixInt Value)nixf::ExprIntinline
isExpr(NodeKind Kind)nixf::Exprinlinestatic
kind() constnixf::Nodeinline
lCur() constnixf::Nodeinline
maybeLambda(NodeKind Kind)nixf::Exprinlinestatic
maybeLambda() constnixf::Exprinline
name(NodeKind Kind)nixf::Nodestatic
name() constnixf::Nodeinline
NK_BeginExpr enum valuenixf::Node
NK_EndExpr enum valuenixf::Node
Node(NodeKind Kind, LexerCursorRange Range)nixf::Nodeinlineexplicitprotected
NodeKind enum namenixf::Node
positionRange() constnixf::Nodeinline
range() constnixf::Nodeinline
rCur() constnixf::Nodeinline
src(std::string_view Src) constnixf::Nodeinline
value() constnixf::ExprIntinline
~Node()=defaultnixf::Nodevirtual
+ + + + diff --git a/classnixf_1_1ExprInt.html b/classnixf_1_1ExprInt.html new file mode 100644 index 000000000..47b8f8ad6 --- /dev/null +++ b/classnixf_1_1ExprInt.html @@ -0,0 +1,258 @@ + + + + + + + +nixd: nixf::ExprInt Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
nixf::ExprInt Class Reference
+
+
+ +

#include <Simple.h>

+
+Inheritance diagram for nixf::ExprInt:
+
+
+
[legend]
+
+Collaboration diagram for nixf::ExprInt:
+
+
+
[legend]
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 ExprInt (LexerCursorRange Range, NixInt Value)
 
NixInt value () const
 
ChildVector children () const override
 
- Public Member Functions inherited from nixf::Expr
bool maybeLambda () const
 
- Public Member Functions inherited from nixf::Node
NodeKind kind () const
 
LexerCursorRange range () const
 
PositionRange positionRange () const
 
LexerCursor lCur () const
 
LexerCursor rCur () const
 
const char * name () const
 
virtual ~Node ()=default
 
const Nodedescend (PositionRange Range) const
 Descendant node that contains the given range.
 
std::string_view src (std::string_view Src) const
 
+ + + + + + + + + + + + + + + + + + + + + + +

+Additional Inherited Members

- Public Types inherited from nixf::Node
enum  NodeKind { NK_BeginExpr +, NK_EndExpr + }
 
using ChildVector = boost::container::small_vector<Node *, 8>
 
- Static Public Member Functions inherited from nixf::Expr
static bool classof (const Node *N)
 
static bool isExpr (NodeKind Kind)
 
static bool maybeLambda (NodeKind Kind)
 
- Static Public Member Functions inherited from nixf::Node
static const char * name (NodeKind Kind)
 
- Protected Member Functions inherited from nixf::Expr
 Expr (NodeKind Kind, LexerCursorRange Range)
 
- Protected Member Functions inherited from nixf::Node
 Node (NodeKind Kind, LexerCursorRange Range)
 
+

Detailed Description

+
+

Definition at line 15 of file Simple.h.

+

Constructor & Destructor Documentation

+ +

◆ ExprInt()

+ +
+
+ + + + + +
+ + + + + + + + + + + +
nixf::ExprInt::ExprInt (LexerCursorRange Range,
NixInt Value )
+
+inline
+
+ +

Definition at line 19 of file Simple.h.

+ +
+
+

Member Function Documentation

+ +

◆ children()

+ +
+
+ + + + + +
+ + + + + + + +
ChildVector nixf::ExprInt::children () const
+
+inlineoverridevirtual
+
+ +

Implements nixf::Node.

+ +

Definition at line 23 of file Simple.h.

+ +
+
+ +

◆ value()

+ +
+
+ + + + + +
+ + + + + + + +
NixInt nixf::ExprInt::value () const
+
+inline
+
+ +

Definition at line 21 of file Simple.h.

+ +

Referenced by nixf::writeBytecode().

+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/classnixf_1_1ExprInt__coll__graph.map b/classnixf_1_1ExprInt__coll__graph.map new file mode 100644 index 000000000..b9f3f5b87 --- /dev/null +++ b/classnixf_1_1ExprInt__coll__graph.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/classnixf_1_1ExprInt__coll__graph.md5 b/classnixf_1_1ExprInt__coll__graph.md5 new file mode 100644 index 000000000..7792db92d --- /dev/null +++ b/classnixf_1_1ExprInt__coll__graph.md5 @@ -0,0 +1 @@ +8cc4f9890e09fce55f5e5c1200399e3e \ No newline at end of file diff --git a/classnixf_1_1ExprInt__coll__graph.svg b/classnixf_1_1ExprInt__coll__graph.svg new file mode 100644 index 000000000..ff60c0e6f --- /dev/null +++ b/classnixf_1_1ExprInt__coll__graph.svg @@ -0,0 +1,57 @@ + + + + + + +nixf::ExprInt + + +Node1 + + +nixf::ExprInt + + + + + +Node2 + + +nixf::Expr + + + + + +Node2->Node1 + + + + + + + + +Node3 + + +nixf::Node + + + + + +Node3->Node2 + + + + + + + + diff --git a/classnixf_1_1ExprInt__inherit__graph.map b/classnixf_1_1ExprInt__inherit__graph.map new file mode 100644 index 000000000..b9f3f5b87 --- /dev/null +++ b/classnixf_1_1ExprInt__inherit__graph.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/classnixf_1_1ExprInt__inherit__graph.md5 b/classnixf_1_1ExprInt__inherit__graph.md5 new file mode 100644 index 000000000..7792db92d --- /dev/null +++ b/classnixf_1_1ExprInt__inherit__graph.md5 @@ -0,0 +1 @@ +8cc4f9890e09fce55f5e5c1200399e3e \ No newline at end of file diff --git a/classnixf_1_1ExprInt__inherit__graph.svg b/classnixf_1_1ExprInt__inherit__graph.svg new file mode 100644 index 000000000..ff60c0e6f --- /dev/null +++ b/classnixf_1_1ExprInt__inherit__graph.svg @@ -0,0 +1,57 @@ + + + + + + +nixf::ExprInt + + +Node1 + + +nixf::ExprInt + + + + + +Node2 + + +nixf::Expr + + + + + +Node2->Node1 + + + + + + + + +Node3 + + +nixf::Node + + + + + +Node3->Node2 + + + + + + + + diff --git a/classnixf_1_1ExprLambda-members.html b/classnixf_1_1ExprLambda-members.html new file mode 100644 index 000000000..c0a6bcc35 --- /dev/null +++ b/classnixf_1_1ExprLambda-members.html @@ -0,0 +1,114 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
nixf::ExprLambda Member List
+
+
+ +

This is the complete list of members for nixf::ExprLambda, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + +
arg() constnixf::ExprLambdainline
body() constnixf::ExprLambdainline
children() const overridenixf::ExprLambdainlinevirtual
ChildVector typedefnixf::Node
classof(const Node *N)nixf::Exprinlinestatic
descend(PositionRange Range) constnixf::Nodeinline
Expr(NodeKind Kind, LexerCursorRange Range)nixf::Exprinlineexplicitprotected
ExprLambda(LexerCursorRange Range, std::shared_ptr< LambdaArg > Arg, std::shared_ptr< Expr > Body)nixf::ExprLambdainline
isExpr(NodeKind Kind)nixf::Exprinlinestatic
kind() constnixf::Nodeinline
lCur() constnixf::Nodeinline
maybeLambda(NodeKind Kind)nixf::Exprinlinestatic
maybeLambda() constnixf::Exprinline
name(NodeKind Kind)nixf::Nodestatic
name() constnixf::Nodeinline
NK_BeginExpr enum valuenixf::Node
NK_EndExpr enum valuenixf::Node
Node(NodeKind Kind, LexerCursorRange Range)nixf::Nodeinlineexplicitprotected
NodeKind enum namenixf::Node
positionRange() constnixf::Nodeinline
range() constnixf::Nodeinline
rCur() constnixf::Nodeinline
src(std::string_view Src) constnixf::Nodeinline
~Node()=defaultnixf::Nodevirtual
+ + + + diff --git a/classnixf_1_1ExprLambda.html b/classnixf_1_1ExprLambda.html new file mode 100644 index 000000000..384a3eac7 --- /dev/null +++ b/classnixf_1_1ExprLambda.html @@ -0,0 +1,290 @@ + + + + + + + +nixd: nixf::ExprLambda Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
nixf::ExprLambda Class Reference
+
+
+ +

#include <Lambda.h>

+
+Inheritance diagram for nixf::ExprLambda:
+
+
+
[legend]
+
+Collaboration diagram for nixf::ExprLambda:
+
+
+
[legend]
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 ExprLambda (LexerCursorRange Range, std::shared_ptr< LambdaArg > Arg, std::shared_ptr< Expr > Body)
 
LambdaArgarg () const
 
Exprbody () const
 
ChildVector children () const override
 
- Public Member Functions inherited from nixf::Expr
bool maybeLambda () const
 
- Public Member Functions inherited from nixf::Node
NodeKind kind () const
 
LexerCursorRange range () const
 
PositionRange positionRange () const
 
LexerCursor lCur () const
 
LexerCursor rCur () const
 
const char * name () const
 
virtual ~Node ()=default
 
const Nodedescend (PositionRange Range) const
 Descendant node that contains the given range.
 
std::string_view src (std::string_view Src) const
 
+ + + + + + + + + + + + + + + + + + + + + + +

+Additional Inherited Members

- Public Types inherited from nixf::Node
enum  NodeKind { NK_BeginExpr +, NK_EndExpr + }
 
using ChildVector = boost::container::small_vector<Node *, 8>
 
- Static Public Member Functions inherited from nixf::Expr
static bool classof (const Node *N)
 
static bool isExpr (NodeKind Kind)
 
static bool maybeLambda (NodeKind Kind)
 
- Static Public Member Functions inherited from nixf::Node
static const char * name (NodeKind Kind)
 
- Protected Member Functions inherited from nixf::Expr
 Expr (NodeKind Kind, LexerCursorRange Range)
 
- Protected Member Functions inherited from nixf::Node
 Node (NodeKind Kind, LexerCursorRange Range)
 
+

Detailed Description

+
+

Definition at line 108 of file Lambda.h.

+

Constructor & Destructor Documentation

+ +

◆ ExprLambda()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + +
nixf::ExprLambda::ExprLambda (LexerCursorRange Range,
std::shared_ptr< LambdaArg > Arg,
std::shared_ptr< Expr > Body )
+
+inline
+
+ +

Definition at line 113 of file Lambda.h.

+ +
+
+

Member Function Documentation

+ +

◆ arg()

+ +
+
+ + + + + +
+ + + + + + + +
LambdaArg * nixf::ExprLambda::arg () const
+
+inline
+
+ +

Definition at line 118 of file Lambda.h.

+ +
+
+ +

◆ body()

+ +
+
+ + + + + +
+ + + + + + + +
Expr * nixf::ExprLambda::body () const
+
+inline
+
+ +

Definition at line 119 of file Lambda.h.

+ +
+
+ +

◆ children()

+ +
+
+ + + + + +
+ + + + + + + +
ChildVector nixf::ExprLambda::children () const
+
+inlineoverridevirtual
+
+ +

Implements nixf::Node.

+ +

Definition at line 121 of file Lambda.h.

+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/classnixf_1_1ExprLambda__coll__graph.map b/classnixf_1_1ExprLambda__coll__graph.map new file mode 100644 index 000000000..effc0a591 --- /dev/null +++ b/classnixf_1_1ExprLambda__coll__graph.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/classnixf_1_1ExprLambda__coll__graph.md5 b/classnixf_1_1ExprLambda__coll__graph.md5 new file mode 100644 index 000000000..7a461affe --- /dev/null +++ b/classnixf_1_1ExprLambda__coll__graph.md5 @@ -0,0 +1 @@ +088e9afee9f014ea16864fadcdc348cb \ No newline at end of file diff --git a/classnixf_1_1ExprLambda__coll__graph.svg b/classnixf_1_1ExprLambda__coll__graph.svg new file mode 100644 index 000000000..5adad1f0f --- /dev/null +++ b/classnixf_1_1ExprLambda__coll__graph.svg @@ -0,0 +1,57 @@ + + + + + + +nixf::ExprLambda + + +Node1 + + +nixf::ExprLambda + + + + + +Node2 + + +nixf::Expr + + + + + +Node2->Node1 + + + + + + + + +Node3 + + +nixf::Node + + + + + +Node3->Node2 + + + + + + + + diff --git a/classnixf_1_1ExprLambda__inherit__graph.map b/classnixf_1_1ExprLambda__inherit__graph.map new file mode 100644 index 000000000..effc0a591 --- /dev/null +++ b/classnixf_1_1ExprLambda__inherit__graph.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/classnixf_1_1ExprLambda__inherit__graph.md5 b/classnixf_1_1ExprLambda__inherit__graph.md5 new file mode 100644 index 000000000..7a461affe --- /dev/null +++ b/classnixf_1_1ExprLambda__inherit__graph.md5 @@ -0,0 +1 @@ +088e9afee9f014ea16864fadcdc348cb \ No newline at end of file diff --git a/classnixf_1_1ExprLambda__inherit__graph.svg b/classnixf_1_1ExprLambda__inherit__graph.svg new file mode 100644 index 000000000..5adad1f0f --- /dev/null +++ b/classnixf_1_1ExprLambda__inherit__graph.svg @@ -0,0 +1,57 @@ + + + + + + +nixf::ExprLambda + + +Node1 + + +nixf::ExprLambda + + + + + +Node2 + + +nixf::Expr + + + + + +Node2->Node1 + + + + + + + + +Node3 + + +nixf::Node + + + + + +Node3->Node2 + + + + + + + + diff --git a/classnixf_1_1ExprLet-members.html b/classnixf_1_1ExprLet-members.html new file mode 100644 index 000000000..4f845aa5e --- /dev/null +++ b/classnixf_1_1ExprLet-members.html @@ -0,0 +1,116 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
nixf::ExprLet Member List
+
+
+ +

This is the complete list of members for nixf::ExprLet, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
binds() constnixf::ExprLetinline
children() const overridenixf::ExprLetinlinevirtual
ChildVector typedefnixf::Node
classof(const Node *N)nixf::Exprinlinestatic
descend(PositionRange Range) constnixf::Nodeinline
expr() constnixf::ExprLetinline
Expr(NodeKind Kind, LexerCursorRange Range)nixf::Exprinlineexplicitprotected
ExprLet(LexerCursorRange Range, std::shared_ptr< Misc > KwLet, std::shared_ptr< Binds > B, std::shared_ptr< Misc > KwIn, std::shared_ptr< Expr > E)nixf::ExprLetinline
in() constnixf::ExprLetinline
isExpr(NodeKind Kind)nixf::Exprinlinestatic
kind() constnixf::Nodeinline
lCur() constnixf::Nodeinline
let() constnixf::ExprLetinline
maybeLambda(NodeKind Kind)nixf::Exprinlinestatic
maybeLambda() constnixf::Exprinline
name(NodeKind Kind)nixf::Nodestatic
name() constnixf::Nodeinline
NK_BeginExpr enum valuenixf::Node
NK_EndExpr enum valuenixf::Node
Node(NodeKind Kind, LexerCursorRange Range)nixf::Nodeinlineexplicitprotected
NodeKind enum namenixf::Node
positionRange() constnixf::Nodeinline
range() constnixf::Nodeinline
rCur() constnixf::Nodeinline
src(std::string_view Src) constnixf::Nodeinline
~Node()=defaultnixf::Nodevirtual
+ + + + diff --git a/classnixf_1_1ExprLet.html b/classnixf_1_1ExprLet.html new file mode 100644 index 000000000..bc28071b5 --- /dev/null +++ b/classnixf_1_1ExprLet.html @@ -0,0 +1,358 @@ + + + + + + + +nixd: nixf::ExprLet Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
nixf::ExprLet Class Reference
+
+
+ +

#include <Expr.h>

+
+Inheritance diagram for nixf::ExprLet:
+
+
+
[legend]
+
+Collaboration diagram for nixf::ExprLet:
+
+
+
[legend]
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 ExprLet (LexerCursorRange Range, std::shared_ptr< Misc > KwLet, std::shared_ptr< Binds > B, std::shared_ptr< Misc > KwIn, std::shared_ptr< Expr > E)
 
Bindsbinds () const
 
Exprexpr () const
 
Misclet () const
 
Miscin () const
 
ChildVector children () const override
 
- Public Member Functions inherited from nixf::Expr
bool maybeLambda () const
 
- Public Member Functions inherited from nixf::Node
NodeKind kind () const
 
LexerCursorRange range () const
 
PositionRange positionRange () const
 
LexerCursor lCur () const
 
LexerCursor rCur () const
 
const char * name () const
 
virtual ~Node ()=default
 
const Nodedescend (PositionRange Range) const
 Descendant node that contains the given range.
 
std::string_view src (std::string_view Src) const
 
+ + + + + + + + + + + + + + + + + + + + + + +

+Additional Inherited Members

- Public Types inherited from nixf::Node
enum  NodeKind { NK_BeginExpr +, NK_EndExpr + }
 
using ChildVector = boost::container::small_vector<Node *, 8>
 
- Static Public Member Functions inherited from nixf::Expr
static bool classof (const Node *N)
 
static bool isExpr (NodeKind Kind)
 
static bool maybeLambda (NodeKind Kind)
 
- Static Public Member Functions inherited from nixf::Node
static const char * name (NodeKind Kind)
 
- Protected Member Functions inherited from nixf::Expr
 Expr (NodeKind Kind, LexerCursorRange Range)
 
- Protected Member Functions inherited from nixf::Node
 Node (NodeKind Kind, LexerCursorRange Range)
 
+

Detailed Description

+
+

Definition at line 129 of file Expr.h.

+

Constructor & Destructor Documentation

+ +

◆ ExprLet()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
nixf::ExprLet::ExprLet (LexerCursorRange Range,
std::shared_ptr< Misc > KwLet,
std::shared_ptr< Binds > B,
std::shared_ptr< Misc > KwIn,
std::shared_ptr< Expr > E )
+
+inline
+
+ +

Definition at line 138 of file Expr.h.

+ +
+
+

Member Function Documentation

+ +

◆ binds()

+ +
+
+ + + + + +
+ + + + + + + +
Binds * nixf::ExprLet::binds () const
+
+inline
+
+ +

Definition at line 146 of file Expr.h.

+ +
+
+ +

◆ children()

+ +
+
+ + + + + +
+ + + + + + + +
ChildVector nixf::ExprLet::children () const
+
+inlineoverridevirtual
+
+ +

Implements nixf::Node.

+ +

Definition at line 151 of file Expr.h.

+ +
+
+ +

◆ expr()

+ +
+
+ + + + + +
+ + + + + + + +
Expr * nixf::ExprLet::expr () const
+
+inline
+
+ +

Definition at line 147 of file Expr.h.

+ +
+
+ +

◆ in()

+ +
+
+ + + + + +
+ + + + + + + +
Misc * nixf::ExprLet::in () const
+
+inline
+
+ +

Definition at line 149 of file Expr.h.

+ +
+
+ +

◆ let()

+ +
+
+ + + + + +
+ + + + + + + +
Misc & nixf::ExprLet::let () const
+
+inline
+
+ +

Definition at line 148 of file Expr.h.

+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/classnixf_1_1ExprLet__coll__graph.map b/classnixf_1_1ExprLet__coll__graph.map new file mode 100644 index 000000000..9a663f30c --- /dev/null +++ b/classnixf_1_1ExprLet__coll__graph.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/classnixf_1_1ExprLet__coll__graph.md5 b/classnixf_1_1ExprLet__coll__graph.md5 new file mode 100644 index 000000000..83b269b36 --- /dev/null +++ b/classnixf_1_1ExprLet__coll__graph.md5 @@ -0,0 +1 @@ +19071cb1f5f100894e09c43ac56ca9d1 \ No newline at end of file diff --git a/classnixf_1_1ExprLet__coll__graph.svg b/classnixf_1_1ExprLet__coll__graph.svg new file mode 100644 index 000000000..7cc997406 --- /dev/null +++ b/classnixf_1_1ExprLet__coll__graph.svg @@ -0,0 +1,57 @@ + + + + + + +nixf::ExprLet + + +Node1 + + +nixf::ExprLet + + + + + +Node2 + + +nixf::Expr + + + + + +Node2->Node1 + + + + + + + + +Node3 + + +nixf::Node + + + + + +Node3->Node2 + + + + + + + + diff --git a/classnixf_1_1ExprLet__inherit__graph.map b/classnixf_1_1ExprLet__inherit__graph.map new file mode 100644 index 000000000..9a663f30c --- /dev/null +++ b/classnixf_1_1ExprLet__inherit__graph.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/classnixf_1_1ExprLet__inherit__graph.md5 b/classnixf_1_1ExprLet__inherit__graph.md5 new file mode 100644 index 000000000..83b269b36 --- /dev/null +++ b/classnixf_1_1ExprLet__inherit__graph.md5 @@ -0,0 +1 @@ +19071cb1f5f100894e09c43ac56ca9d1 \ No newline at end of file diff --git a/classnixf_1_1ExprLet__inherit__graph.svg b/classnixf_1_1ExprLet__inherit__graph.svg new file mode 100644 index 000000000..7cc997406 --- /dev/null +++ b/classnixf_1_1ExprLet__inherit__graph.svg @@ -0,0 +1,57 @@ + + + + + + +nixf::ExprLet + + +Node1 + + +nixf::ExprLet + + + + + +Node2 + + +nixf::Expr + + + + + +Node2->Node1 + + + + + + + + +Node3 + + +nixf::Node + + + + + +Node3->Node2 + + + + + + + + diff --git a/classnixf_1_1ExprList-members.html b/classnixf_1_1ExprList-members.html new file mode 100644 index 000000000..e2ee74430 --- /dev/null +++ b/classnixf_1_1ExprList-members.html @@ -0,0 +1,114 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
nixf::ExprList Member List
+
+
+ +

This is the complete list of members for nixf::ExprList, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + +
children() const overridenixf::ExprListinlinevirtual
ChildVector typedefnixf::Node
classof(const Node *N)nixf::Exprinlinestatic
descend(PositionRange Range) constnixf::Nodeinline
elements() constnixf::ExprListinline
elements()nixf::ExprListinline
Expr(NodeKind Kind, LexerCursorRange Range)nixf::Exprinlineexplicitprotected
ExprList(LexerCursorRange Range, std::vector< std::shared_ptr< Expr > > Elements)nixf::ExprListinline
isExpr(NodeKind Kind)nixf::Exprinlinestatic
kind() constnixf::Nodeinline
lCur() constnixf::Nodeinline
maybeLambda(NodeKind Kind)nixf::Exprinlinestatic
maybeLambda() constnixf::Exprinline
name(NodeKind Kind)nixf::Nodestatic
name() constnixf::Nodeinline
NK_BeginExpr enum valuenixf::Node
NK_EndExpr enum valuenixf::Node
Node(NodeKind Kind, LexerCursorRange Range)nixf::Nodeinlineexplicitprotected
NodeKind enum namenixf::Node
positionRange() constnixf::Nodeinline
range() constnixf::Nodeinline
rCur() constnixf::Nodeinline
src(std::string_view Src) constnixf::Nodeinline
~Node()=defaultnixf::Nodevirtual
+ + + + diff --git a/classnixf_1_1ExprList.html b/classnixf_1_1ExprList.html new file mode 100644 index 000000000..fe521cfd6 --- /dev/null +++ b/classnixf_1_1ExprList.html @@ -0,0 +1,285 @@ + + + + + + + +nixd: nixf::ExprList Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
nixf::ExprList Class Reference
+
+
+ +

#include <Expr.h>

+
+Inheritance diagram for nixf::ExprList:
+
+
+
[legend]
+
+Collaboration diagram for nixf::ExprList:
+
+
+
[legend]
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 ExprList (LexerCursorRange Range, std::vector< std::shared_ptr< Expr > > Elements)
 
const std::vector< std::shared_ptr< Expr > > & elements () const
 
std::vector< std::shared_ptr< Expr > > & elements ()
 
ChildVector children () const override
 
- Public Member Functions inherited from nixf::Expr
bool maybeLambda () const
 
- Public Member Functions inherited from nixf::Node
NodeKind kind () const
 
LexerCursorRange range () const
 
PositionRange positionRange () const
 
LexerCursor lCur () const
 
LexerCursor rCur () const
 
const char * name () const
 
virtual ~Node ()=default
 
const Nodedescend (PositionRange Range) const
 Descendant node that contains the given range.
 
std::string_view src (std::string_view Src) const
 
+ + + + + + + + + + + + + + + + + + + + + + +

+Additional Inherited Members

- Public Types inherited from nixf::Node
enum  NodeKind { NK_BeginExpr +, NK_EndExpr + }
 
using ChildVector = boost::container::small_vector<Node *, 8>
 
- Static Public Member Functions inherited from nixf::Expr
static bool classof (const Node *N)
 
static bool isExpr (NodeKind Kind)
 
static bool maybeLambda (NodeKind Kind)
 
- Static Public Member Functions inherited from nixf::Node
static const char * name (NodeKind Kind)
 
- Protected Member Functions inherited from nixf::Expr
 Expr (NodeKind Kind, LexerCursorRange Range)
 
- Protected Member Functions inherited from nixf::Node
 Node (NodeKind Kind, LexerCursorRange Range)
 
+

Detailed Description

+
+

Definition at line 66 of file Expr.h.

+

Constructor & Destructor Documentation

+ +

◆ ExprList()

+ +
+
+ + + + + +
+ + + + + + + + + + + +
nixf::ExprList::ExprList (LexerCursorRange Range,
std::vector< std::shared_ptr< Expr > > Elements )
+
+inline
+
+ +

Definition at line 70 of file Expr.h.

+ +
+
+

Member Function Documentation

+ +

◆ children()

+ +
+
+ + + + + +
+ + + + + + + +
ChildVector nixf::ExprList::children () const
+
+inlineoverridevirtual
+
+ +

Implements nixf::Node.

+ +

Definition at line 81 of file Expr.h.

+ +
+
+ +

◆ elements() [1/2]

+ +
+
+ + + + + +
+ + + + + + + +
std::vector< std::shared_ptr< Expr > > & nixf::ExprList::elements ()
+
+inline
+
+ +

Definition at line 77 of file Expr.h.

+ +
+
+ +

◆ elements() [2/2]

+ +
+
+ + + + + +
+ + + + + + + +
const std::vector< std::shared_ptr< Expr > > & nixf::ExprList::elements () const
+
+inline
+
+ +

Definition at line 73 of file Expr.h.

+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/classnixf_1_1ExprList__coll__graph.map b/classnixf_1_1ExprList__coll__graph.map new file mode 100644 index 000000000..65df5cf00 --- /dev/null +++ b/classnixf_1_1ExprList__coll__graph.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/classnixf_1_1ExprList__coll__graph.md5 b/classnixf_1_1ExprList__coll__graph.md5 new file mode 100644 index 000000000..2869bc4b1 --- /dev/null +++ b/classnixf_1_1ExprList__coll__graph.md5 @@ -0,0 +1 @@ +56e5c0de161ad5390175f3b7b4256a2e \ No newline at end of file diff --git a/classnixf_1_1ExprList__coll__graph.svg b/classnixf_1_1ExprList__coll__graph.svg new file mode 100644 index 000000000..882c06994 --- /dev/null +++ b/classnixf_1_1ExprList__coll__graph.svg @@ -0,0 +1,57 @@ + + + + + + +nixf::ExprList + + +Node1 + + +nixf::ExprList + + + + + +Node2 + + +nixf::Expr + + + + + +Node2->Node1 + + + + + + + + +Node3 + + +nixf::Node + + + + + +Node3->Node2 + + + + + + + + diff --git a/classnixf_1_1ExprList__inherit__graph.map b/classnixf_1_1ExprList__inherit__graph.map new file mode 100644 index 000000000..65df5cf00 --- /dev/null +++ b/classnixf_1_1ExprList__inherit__graph.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/classnixf_1_1ExprList__inherit__graph.md5 b/classnixf_1_1ExprList__inherit__graph.md5 new file mode 100644 index 000000000..2869bc4b1 --- /dev/null +++ b/classnixf_1_1ExprList__inherit__graph.md5 @@ -0,0 +1 @@ +56e5c0de161ad5390175f3b7b4256a2e \ No newline at end of file diff --git a/classnixf_1_1ExprList__inherit__graph.svg b/classnixf_1_1ExprList__inherit__graph.svg new file mode 100644 index 000000000..882c06994 --- /dev/null +++ b/classnixf_1_1ExprList__inherit__graph.svg @@ -0,0 +1,57 @@ + + + + + + +nixf::ExprList + + +Node1 + + +nixf::ExprList + + + + + +Node2 + + +nixf::Expr + + + + + +Node2->Node1 + + + + + + + + +Node3 + + +nixf::Node + + + + + +Node3->Node2 + + + + + + + + diff --git a/classnixf_1_1ExprOp-members.html b/classnixf_1_1ExprOp-members.html new file mode 100644 index 000000000..43a0f4665 --- /dev/null +++ b/classnixf_1_1ExprOp-members.html @@ -0,0 +1,113 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
nixf::ExprOp Member List
+
+
+ +

This is the complete list of members for nixf::ExprOp, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + +
children() const overridenixf::ExprOpinlinevirtual
ChildVector typedefnixf::Node
classof(const Node *N)nixf::Exprinlinestatic
descend(PositionRange Range) constnixf::Nodeinline
Expr(NodeKind Kind, LexerCursorRange Range)nixf::Exprinlineexplicitprotected
ExprOp(NodeKind Kind, LexerCursorRange Range, std::shared_ptr< Op > O)nixf::ExprOpinline
isExpr(NodeKind Kind)nixf::Exprinlinestatic
kind() constnixf::Nodeinline
lCur() constnixf::Nodeinline
maybeLambda(NodeKind Kind)nixf::Exprinlinestatic
maybeLambda() constnixf::Exprinline
name(NodeKind Kind)nixf::Nodestatic
name() constnixf::Nodeinline
NK_BeginExpr enum valuenixf::Node
NK_EndExpr enum valuenixf::Node
Node(NodeKind Kind, LexerCursorRange Range)nixf::Nodeinlineexplicitprotected
NodeKind enum namenixf::Node
op() constnixf::ExprOpinline
positionRange() constnixf::Nodeinline
range() constnixf::Nodeinline
rCur() constnixf::Nodeinline
src(std::string_view Src) constnixf::Nodeinline
~Node()=defaultnixf::Nodevirtual
+ + + + diff --git a/classnixf_1_1ExprOp.html b/classnixf_1_1ExprOp.html new file mode 100644 index 000000000..37d2b39bb --- /dev/null +++ b/classnixf_1_1ExprOp.html @@ -0,0 +1,269 @@ + + + + + + + +nixd: nixf::ExprOp Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
nixf::ExprOp Class Reference
+
+
+ +

Abstract class for binary operators and unary operators. + More...

+ +

#include <Op.h>

+
+Inheritance diagram for nixf::ExprOp:
+
+
+
[legend]
+
+Collaboration diagram for nixf::ExprOp:
+
+
+
[legend]
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 ExprOp (NodeKind Kind, LexerCursorRange Range, std::shared_ptr< Op > O)
 
Opop () const
 
ChildVector children () const override
 
- Public Member Functions inherited from nixf::Expr
bool maybeLambda () const
 
- Public Member Functions inherited from nixf::Node
NodeKind kind () const
 
LexerCursorRange range () const
 
PositionRange positionRange () const
 
LexerCursor lCur () const
 
LexerCursor rCur () const
 
const char * name () const
 
virtual ~Node ()=default
 
const Nodedescend (PositionRange Range) const
 Descendant node that contains the given range.
 
std::string_view src (std::string_view Src) const
 
+ + + + + + + + + + + + + + + + + + + + + + +

+Additional Inherited Members

- Public Types inherited from nixf::Node
enum  NodeKind { NK_BeginExpr +, NK_EndExpr + }
 
using ChildVector = boost::container::small_vector<Node *, 8>
 
- Static Public Member Functions inherited from nixf::Expr
static bool classof (const Node *N)
 
static bool isExpr (NodeKind Kind)
 
static bool maybeLambda (NodeKind Kind)
 
- Static Public Member Functions inherited from nixf::Node
static const char * name (NodeKind Kind)
 
- Protected Member Functions inherited from nixf::Expr
 Expr (NodeKind Kind, LexerCursorRange Range)
 
- Protected Member Functions inherited from nixf::Node
 Node (NodeKind Kind, LexerCursorRange Range)
 
+

Detailed Description

+

Abstract class for binary operators and unary operators.

+ +

Definition at line 25 of file Op.h.

+

Constructor & Destructor Documentation

+ +

◆ ExprOp()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + +
nixf::ExprOp::ExprOp (NodeKind Kind,
LexerCursorRange Range,
std::shared_ptr< Op > O )
+
+inline
+
+ +

Definition at line 29 of file Op.h.

+ +
+
+

Member Function Documentation

+ +

◆ children()

+ +
+
+ + + + + +
+ + + + + + + +
ChildVector nixf::ExprOp::children () const
+
+inlineoverridevirtual
+
+ +

Implements nixf::Node.

+ +

Reimplemented in nixf::ExprOpHasAttr, and nixf::ExprUnaryOp.

+ +

Definition at line 36 of file Op.h.

+ +
+
+ +

◆ op()

+ +
+
+ + + + + +
+ + + + + + + +
Op & nixf::ExprOp::op () const
+
+inline
+
+ +

Definition at line 34 of file Op.h.

+ +

Referenced by nixf::ExprBinOp::children(), nixf::ExprUnaryOp::children(), and nixf::writeBytecode().

+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/classnixf_1_1ExprOpHasAttr-members.html b/classnixf_1_1ExprOpHasAttr-members.html new file mode 100644 index 000000000..200e1cfd7 --- /dev/null +++ b/classnixf_1_1ExprOpHasAttr-members.html @@ -0,0 +1,116 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
nixf::ExprOpHasAttr Member List
+
+
+ +

This is the complete list of members for nixf::ExprOpHasAttr, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
attrpath() constnixf::ExprOpHasAttrinline
children() const overridenixf::ExprOpHasAttrinlinevirtual
ChildVector typedefnixf::Node
classof(const Node *N)nixf::Exprinlinestatic
descend(PositionRange Range) constnixf::Nodeinline
expr() constnixf::ExprOpHasAttrinline
Expr(NodeKind Kind, LexerCursorRange Range)nixf::Exprinlineexplicitprotected
ExprOp(NodeKind Kind, LexerCursorRange Range, std::shared_ptr< Op > O)nixf::ExprOpinline
ExprOpHasAttr(LexerCursorRange Range, std::shared_ptr< Op > O, std::shared_ptr< Expr > E, std::shared_ptr< AttrPath > Path)nixf::ExprOpHasAttrinline
isExpr(NodeKind Kind)nixf::Exprinlinestatic
kind() constnixf::Nodeinline
lCur() constnixf::Nodeinline
maybeLambda(NodeKind Kind)nixf::Exprinlinestatic
maybeLambda() constnixf::Exprinline
name(NodeKind Kind)nixf::Nodestatic
name() constnixf::Nodeinline
NK_BeginExpr enum valuenixf::Node
NK_EndExpr enum valuenixf::Node
Node(NodeKind Kind, LexerCursorRange Range)nixf::Nodeinlineexplicitprotected
NodeKind enum namenixf::Node
op() constnixf::ExprOpinline
positionRange() constnixf::Nodeinline
range() constnixf::Nodeinline
rCur() constnixf::Nodeinline
src(std::string_view Src) constnixf::Nodeinline
~Node()=defaultnixf::Nodevirtual
+ + + + diff --git a/classnixf_1_1ExprOpHasAttr.html b/classnixf_1_1ExprOpHasAttr.html new file mode 100644 index 000000000..bb9b26c74 --- /dev/null +++ b/classnixf_1_1ExprOpHasAttr.html @@ -0,0 +1,300 @@ + + + + + + + +nixd: nixf::ExprOpHasAttr Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
nixf::ExprOpHasAttr Class Reference
+
+
+ +

#include <Op.h>

+
+Inheritance diagram for nixf::ExprOpHasAttr:
+
+
+
[legend]
+
+Collaboration diagram for nixf::ExprOpHasAttr:
+
+
+
[legend]
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 ExprOpHasAttr (LexerCursorRange Range, std::shared_ptr< Op > O, std::shared_ptr< Expr > E, std::shared_ptr< AttrPath > Path)
 
Exprexpr () const
 
AttrPathattrpath () const
 
ChildVector children () const override
 
- Public Member Functions inherited from nixf::ExprOp
 ExprOp (NodeKind Kind, LexerCursorRange Range, std::shared_ptr< Op > O)
 
Opop () const
 
- Public Member Functions inherited from nixf::Expr
bool maybeLambda () const
 
- Public Member Functions inherited from nixf::Node
NodeKind kind () const
 
LexerCursorRange range () const
 
PositionRange positionRange () const
 
LexerCursor lCur () const
 
LexerCursor rCur () const
 
const char * name () const
 
virtual ~Node ()=default
 
const Nodedescend (PositionRange Range) const
 Descendant node that contains the given range.
 
std::string_view src (std::string_view Src) const
 
+ + + + + + + + + + + + + + + + + + + + + + +

+Additional Inherited Members

- Public Types inherited from nixf::Node
enum  NodeKind { NK_BeginExpr +, NK_EndExpr + }
 
using ChildVector = boost::container::small_vector<Node *, 8>
 
- Static Public Member Functions inherited from nixf::Expr
static bool classof (const Node *N)
 
static bool isExpr (NodeKind Kind)
 
static bool maybeLambda (NodeKind Kind)
 
- Static Public Member Functions inherited from nixf::Node
static const char * name (NodeKind Kind)
 
- Protected Member Functions inherited from nixf::Expr
 Expr (NodeKind Kind, LexerCursorRange Range)
 
- Protected Member Functions inherited from nixf::Node
 Node (NodeKind Kind, LexerCursorRange Range)
 
+

Detailed Description

+
+

Definition at line 57 of file Op.h.

+

Constructor & Destructor Documentation

+ +

◆ ExprOpHasAttr()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + +
nixf::ExprOpHasAttr::ExprOpHasAttr (LexerCursorRange Range,
std::shared_ptr< Op > O,
std::shared_ptr< Expr > E,
std::shared_ptr< AttrPath > Path )
+
+inline
+
+ +

Definition at line 62 of file Op.h.

+ +
+
+

Member Function Documentation

+ +

◆ attrpath()

+ +
+
+ + + + + +
+ + + + + + + +
AttrPath * nixf::ExprOpHasAttr::attrpath () const
+
+inline
+
+ +

Definition at line 68 of file Op.h.

+ +
+
+ +

◆ children()

+ +
+
+ + + + + +
+ + + + + + + +
ChildVector nixf::ExprOpHasAttr::children () const
+
+inlineoverridevirtual
+
+ +

Reimplemented from nixf::ExprOp.

+ +

Definition at line 70 of file Op.h.

+ +
+
+ +

◆ expr()

+ +
+
+ + + + + +
+ + + + + + + +
Expr * nixf::ExprOpHasAttr::expr () const
+
+inline
+
+ +

Definition at line 67 of file Op.h.

+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/classnixf_1_1ExprOpHasAttr__coll__graph.map b/classnixf_1_1ExprOpHasAttr__coll__graph.map new file mode 100644 index 000000000..fb25312e0 --- /dev/null +++ b/classnixf_1_1ExprOpHasAttr__coll__graph.map @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/classnixf_1_1ExprOpHasAttr__coll__graph.md5 b/classnixf_1_1ExprOpHasAttr__coll__graph.md5 new file mode 100644 index 000000000..7da9d665a --- /dev/null +++ b/classnixf_1_1ExprOpHasAttr__coll__graph.md5 @@ -0,0 +1 @@ +83a21bf1101d4c8d12385f56b559a60b \ No newline at end of file diff --git a/classnixf_1_1ExprOpHasAttr__coll__graph.svg b/classnixf_1_1ExprOpHasAttr__coll__graph.svg new file mode 100644 index 000000000..ef47cc2b3 --- /dev/null +++ b/classnixf_1_1ExprOpHasAttr__coll__graph.svg @@ -0,0 +1,75 @@ + + + + + + +nixf::ExprOpHasAttr + + +Node1 + + +nixf::ExprOpHasAttr + + + + + +Node2 + + +nixf::ExprOp + + + + + +Node2->Node1 + + + + + + + + +Node3 + + +nixf::Expr + + + + + +Node3->Node2 + + + + + + + + +Node4 + + +nixf::Node + + + + + +Node4->Node3 + + + + + + + + diff --git a/classnixf_1_1ExprOpHasAttr__inherit__graph.map b/classnixf_1_1ExprOpHasAttr__inherit__graph.map new file mode 100644 index 000000000..fb25312e0 --- /dev/null +++ b/classnixf_1_1ExprOpHasAttr__inherit__graph.map @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/classnixf_1_1ExprOpHasAttr__inherit__graph.md5 b/classnixf_1_1ExprOpHasAttr__inherit__graph.md5 new file mode 100644 index 000000000..7da9d665a --- /dev/null +++ b/classnixf_1_1ExprOpHasAttr__inherit__graph.md5 @@ -0,0 +1 @@ +83a21bf1101d4c8d12385f56b559a60b \ No newline at end of file diff --git a/classnixf_1_1ExprOpHasAttr__inherit__graph.svg b/classnixf_1_1ExprOpHasAttr__inherit__graph.svg new file mode 100644 index 000000000..ef47cc2b3 --- /dev/null +++ b/classnixf_1_1ExprOpHasAttr__inherit__graph.svg @@ -0,0 +1,75 @@ + + + + + + +nixf::ExprOpHasAttr + + +Node1 + + +nixf::ExprOpHasAttr + + + + + +Node2 + + +nixf::ExprOp + + + + + +Node2->Node1 + + + + + + + + +Node3 + + +nixf::Expr + + + + + +Node3->Node2 + + + + + + + + +Node4 + + +nixf::Node + + + + + +Node4->Node3 + + + + + + + + diff --git a/classnixf_1_1ExprOp__coll__graph.map b/classnixf_1_1ExprOp__coll__graph.map new file mode 100644 index 000000000..da65f39cf --- /dev/null +++ b/classnixf_1_1ExprOp__coll__graph.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/classnixf_1_1ExprOp__coll__graph.md5 b/classnixf_1_1ExprOp__coll__graph.md5 new file mode 100644 index 000000000..a62172ba7 --- /dev/null +++ b/classnixf_1_1ExprOp__coll__graph.md5 @@ -0,0 +1 @@ +e68133ed64e6197fa354b368f5cfc5da \ No newline at end of file diff --git a/classnixf_1_1ExprOp__coll__graph.svg b/classnixf_1_1ExprOp__coll__graph.svg new file mode 100644 index 000000000..fb746dfdd --- /dev/null +++ b/classnixf_1_1ExprOp__coll__graph.svg @@ -0,0 +1,57 @@ + + + + + + +nixf::ExprOp + + +Node1 + + +nixf::ExprOp + + + + + +Node2 + + +nixf::Expr + + + + + +Node2->Node1 + + + + + + + + +Node3 + + +nixf::Node + + + + + +Node3->Node2 + + + + + + + + diff --git a/classnixf_1_1ExprOp__inherit__graph.map b/classnixf_1_1ExprOp__inherit__graph.map new file mode 100644 index 000000000..a7c0f69d1 --- /dev/null +++ b/classnixf_1_1ExprOp__inherit__graph.map @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/classnixf_1_1ExprOp__inherit__graph.md5 b/classnixf_1_1ExprOp__inherit__graph.md5 new file mode 100644 index 000000000..ae46a0fa2 --- /dev/null +++ b/classnixf_1_1ExprOp__inherit__graph.md5 @@ -0,0 +1 @@ +5c966eb35d7bb0c2b80000d5db194cbe \ No newline at end of file diff --git a/classnixf_1_1ExprOp__inherit__graph.svg b/classnixf_1_1ExprOp__inherit__graph.svg new file mode 100644 index 000000000..ce2a2d565 --- /dev/null +++ b/classnixf_1_1ExprOp__inherit__graph.svg @@ -0,0 +1,111 @@ + + + + + + +nixf::ExprOp + + +Node1 + + +nixf::ExprOp + + + + + +Node4 + + +nixf::ExprBinOp + + + + + +Node1->Node4 + + + + + + + + +Node5 + + +nixf::ExprOpHasAttr + + + + + +Node1->Node5 + + + + + + + + +Node6 + + +nixf::ExprUnaryOp + + + + + +Node1->Node6 + + + + + + + + +Node2 + + +nixf::Expr + + + + + +Node2->Node1 + + + + + + + + +Node3 + + +nixf::Node + + + + + +Node3->Node2 + + + + + + + + diff --git a/classnixf_1_1ExprParen-members.html b/classnixf_1_1ExprParen-members.html new file mode 100644 index 000000000..8bd25ccbf --- /dev/null +++ b/classnixf_1_1ExprParen-members.html @@ -0,0 +1,115 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
nixf::ExprParen Member List
+
+
+ +

This is the complete list of members for nixf::ExprParen, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
children() const overridenixf::ExprPareninlinevirtual
ChildVector typedefnixf::Node
classof(const Node *N)nixf::Exprinlinestatic
descend(PositionRange Range) constnixf::Nodeinline
expr() constnixf::ExprPareninline
Expr(NodeKind Kind, LexerCursorRange Range)nixf::Exprinlineexplicitprotected
ExprParen(LexerCursorRange Range, std::shared_ptr< Expr > E, std::shared_ptr< Misc > LParen, std::shared_ptr< Misc > RParen)nixf::ExprPareninline
isExpr(NodeKind Kind)nixf::Exprinlinestatic
kind() constnixf::Nodeinline
lCur() constnixf::Nodeinline
lparen() constnixf::ExprPareninline
maybeLambda(NodeKind Kind)nixf::Exprinlinestatic
maybeLambda() constnixf::Exprinline
name(NodeKind Kind)nixf::Nodestatic
name() constnixf::Nodeinline
NK_BeginExpr enum valuenixf::Node
NK_EndExpr enum valuenixf::Node
Node(NodeKind Kind, LexerCursorRange Range)nixf::Nodeinlineexplicitprotected
NodeKind enum namenixf::Node
positionRange() constnixf::Nodeinline
range() constnixf::Nodeinline
rCur() constnixf::Nodeinline
rparen() constnixf::ExprPareninline
src(std::string_view Src) constnixf::Nodeinline
~Node()=defaultnixf::Nodevirtual
+ + + + diff --git a/classnixf_1_1ExprParen.html b/classnixf_1_1ExprParen.html new file mode 100644 index 000000000..88b08bdb8 --- /dev/null +++ b/classnixf_1_1ExprParen.html @@ -0,0 +1,324 @@ + + + + + + + +nixd: nixf::ExprParen Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
nixf::ExprParen Class Reference
+
+
+ +

#include <Simple.h>

+
+Inheritance diagram for nixf::ExprParen:
+
+
+
[legend]
+
+Collaboration diagram for nixf::ExprParen:
+
+
+
[legend]
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 ExprParen (LexerCursorRange Range, std::shared_ptr< Expr > E, std::shared_ptr< Misc > LParen, std::shared_ptr< Misc > RParen)
 
const Exprexpr () const
 
const Misclparen () const
 
const Miscrparen () const
 
ChildVector children () const override
 
- Public Member Functions inherited from nixf::Expr
bool maybeLambda () const
 
- Public Member Functions inherited from nixf::Node
NodeKind kind () const
 
LexerCursorRange range () const
 
PositionRange positionRange () const
 
LexerCursor lCur () const
 
LexerCursor rCur () const
 
const char * name () const
 
virtual ~Node ()=default
 
const Nodedescend (PositionRange Range) const
 Descendant node that contains the given range.
 
std::string_view src (std::string_view Src) const
 
+ + + + + + + + + + + + + + + + + + + + + + +

+Additional Inherited Members

- Public Types inherited from nixf::Node
enum  NodeKind { NK_BeginExpr +, NK_EndExpr + }
 
using ChildVector = boost::container::small_vector<Node *, 8>
 
- Static Public Member Functions inherited from nixf::Expr
static bool classof (const Node *N)
 
static bool isExpr (NodeKind Kind)
 
static bool maybeLambda (NodeKind Kind)
 
- Static Public Member Functions inherited from nixf::Node
static const char * name (NodeKind Kind)
 
- Protected Member Functions inherited from nixf::Expr
 Expr (NodeKind Kind, LexerCursorRange Range)
 
- Protected Member Functions inherited from nixf::Node
 Node (NodeKind Kind, LexerCursorRange Range)
 
+

Detailed Description

+
+

Definition at line 153 of file Simple.h.

+

Constructor & Destructor Documentation

+ +

◆ ExprParen()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + +
nixf::ExprParen::ExprParen (LexerCursorRange Range,
std::shared_ptr< Expr > E,
std::shared_ptr< Misc > LParen,
std::shared_ptr< Misc > RParen )
+
+inline
+
+ +

Definition at line 159 of file Simple.h.

+ +
+
+

Member Function Documentation

+ +

◆ children()

+ +
+
+ + + + + +
+ + + + + + + +
ChildVector nixf::ExprParen::children () const
+
+inlineoverridevirtual
+
+ +

Implements nixf::Node.

+ +

Definition at line 168 of file Simple.h.

+ +
+
+ +

◆ expr()

+ +
+
+ + + + + +
+ + + + + + + +
const Expr * nixf::ExprParen::expr () const
+
+inline
+
+ +

Definition at line 164 of file Simple.h.

+ +
+
+ +

◆ lparen()

+ +
+
+ + + + + +
+ + + + + + + +
const Misc * nixf::ExprParen::lparen () const
+
+inline
+
+ +

Definition at line 165 of file Simple.h.

+ +
+
+ +

◆ rparen()

+ +
+
+ + + + + +
+ + + + + + + +
const Misc * nixf::ExprParen::rparen () const
+
+inline
+
+ +

Definition at line 166 of file Simple.h.

+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/classnixf_1_1ExprParen__coll__graph.map b/classnixf_1_1ExprParen__coll__graph.map new file mode 100644 index 000000000..b912368af --- /dev/null +++ b/classnixf_1_1ExprParen__coll__graph.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/classnixf_1_1ExprParen__coll__graph.md5 b/classnixf_1_1ExprParen__coll__graph.md5 new file mode 100644 index 000000000..1f2b9e6a4 --- /dev/null +++ b/classnixf_1_1ExprParen__coll__graph.md5 @@ -0,0 +1 @@ +cfb609a0bc7b1351c04830b5ee502668 \ No newline at end of file diff --git a/classnixf_1_1ExprParen__coll__graph.svg b/classnixf_1_1ExprParen__coll__graph.svg new file mode 100644 index 000000000..ff393a817 --- /dev/null +++ b/classnixf_1_1ExprParen__coll__graph.svg @@ -0,0 +1,57 @@ + + + + + + +nixf::ExprParen + + +Node1 + + +nixf::ExprParen + + + + + +Node2 + + +nixf::Expr + + + + + +Node2->Node1 + + + + + + + + +Node3 + + +nixf::Node + + + + + +Node3->Node2 + + + + + + + + diff --git a/classnixf_1_1ExprParen__inherit__graph.map b/classnixf_1_1ExprParen__inherit__graph.map new file mode 100644 index 000000000..b912368af --- /dev/null +++ b/classnixf_1_1ExprParen__inherit__graph.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/classnixf_1_1ExprParen__inherit__graph.md5 b/classnixf_1_1ExprParen__inherit__graph.md5 new file mode 100644 index 000000000..1f2b9e6a4 --- /dev/null +++ b/classnixf_1_1ExprParen__inherit__graph.md5 @@ -0,0 +1 @@ +cfb609a0bc7b1351c04830b5ee502668 \ No newline at end of file diff --git a/classnixf_1_1ExprParen__inherit__graph.svg b/classnixf_1_1ExprParen__inherit__graph.svg new file mode 100644 index 000000000..ff393a817 --- /dev/null +++ b/classnixf_1_1ExprParen__inherit__graph.svg @@ -0,0 +1,57 @@ + + + + + + +nixf::ExprParen + + +Node1 + + +nixf::ExprParen + + + + + +Node2 + + +nixf::Expr + + + + + +Node2->Node1 + + + + + + + + +Node3 + + +nixf::Node + + + + + +Node3->Node2 + + + + + + + + diff --git a/classnixf_1_1ExprPath-members.html b/classnixf_1_1ExprPath-members.html new file mode 100644 index 000000000..d91bf741e --- /dev/null +++ b/classnixf_1_1ExprPath-members.html @@ -0,0 +1,113 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
nixf::ExprPath Member List
+
+
+ +

This is the complete list of members for nixf::ExprPath, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + +
children() const overridenixf::ExprPathinlinevirtual
ChildVector typedefnixf::Node
classof(const Node *N)nixf::Exprinlinestatic
descend(PositionRange Range) constnixf::Nodeinline
Expr(NodeKind Kind, LexerCursorRange Range)nixf::Exprinlineexplicitprotected
ExprPath(LexerCursorRange Range, std::shared_ptr< InterpolatedParts > Parts)nixf::ExprPathinline
isExpr(NodeKind Kind)nixf::Exprinlinestatic
kind() constnixf::Nodeinline
lCur() constnixf::Nodeinline
maybeLambda(NodeKind Kind)nixf::Exprinlinestatic
maybeLambda() constnixf::Exprinline
name(NodeKind Kind)nixf::Nodestatic
name() constnixf::Nodeinline
NK_BeginExpr enum valuenixf::Node
NK_EndExpr enum valuenixf::Node
Node(NodeKind Kind, LexerCursorRange Range)nixf::Nodeinlineexplicitprotected
NodeKind enum namenixf::Node
parts() constnixf::ExprPathinline
positionRange() constnixf::Nodeinline
range() constnixf::Nodeinline
rCur() constnixf::Nodeinline
src(std::string_view Src) constnixf::Nodeinline
~Node()=defaultnixf::Nodevirtual
+ + + + diff --git a/classnixf_1_1ExprPath.html b/classnixf_1_1ExprPath.html new file mode 100644 index 000000000..d25f9b51c --- /dev/null +++ b/classnixf_1_1ExprPath.html @@ -0,0 +1,256 @@ + + + + + + + +nixd: nixf::ExprPath Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
nixf::ExprPath Class Reference
+
+
+ +

#include <Simple.h>

+
+Inheritance diagram for nixf::ExprPath:
+
+
+
[legend]
+
+Collaboration diagram for nixf::ExprPath:
+
+
+
[legend]
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 ExprPath (LexerCursorRange Range, std::shared_ptr< InterpolatedParts > Parts)
 
const InterpolatedPartsparts () const
 
ChildVector children () const override
 
- Public Member Functions inherited from nixf::Expr
bool maybeLambda () const
 
- Public Member Functions inherited from nixf::Node
NodeKind kind () const
 
LexerCursorRange range () const
 
PositionRange positionRange () const
 
LexerCursor lCur () const
 
LexerCursor rCur () const
 
const char * name () const
 
virtual ~Node ()=default
 
const Nodedescend (PositionRange Range) const
 Descendant node that contains the given range.
 
std::string_view src (std::string_view Src) const
 
+ + + + + + + + + + + + + + + + + + + + + + +

+Additional Inherited Members

- Public Types inherited from nixf::Node
enum  NodeKind { NK_BeginExpr +, NK_EndExpr + }
 
using ChildVector = boost::container::small_vector<Node *, 8>
 
- Static Public Member Functions inherited from nixf::Expr
static bool classof (const Node *N)
 
static bool isExpr (NodeKind Kind)
 
static bool maybeLambda (NodeKind Kind)
 
- Static Public Member Functions inherited from nixf::Node
static const char * name (NodeKind Kind)
 
- Protected Member Functions inherited from nixf::Expr
 Expr (NodeKind Kind, LexerCursorRange Range)
 
- Protected Member Functions inherited from nixf::Node
 Node (NodeKind Kind, LexerCursorRange Range)
 
+

Detailed Description

+
+

Definition at line 136 of file Simple.h.

+

Constructor & Destructor Documentation

+ +

◆ ExprPath()

+ +
+
+ + + + + +
+ + + + + + + + + + + +
nixf::ExprPath::ExprPath (LexerCursorRange Range,
std::shared_ptr< InterpolatedParts > Parts )
+
+inline
+
+ +

Definition at line 140 of file Simple.h.

+ +
+
+

Member Function Documentation

+ +

◆ children()

+ +
+
+ + + + + +
+ + + + + + + +
ChildVector nixf::ExprPath::children () const
+
+inlineoverridevirtual
+
+ +

Implements nixf::Node.

+ +

Definition at line 150 of file Simple.h.

+ +
+
+ +

◆ parts()

+ +
+
+ + + + + +
+ + + + + + + +
const InterpolatedParts & nixf::ExprPath::parts () const
+
+inline
+
+ +

Definition at line 145 of file Simple.h.

+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/classnixf_1_1ExprPath__coll__graph.map b/classnixf_1_1ExprPath__coll__graph.map new file mode 100644 index 000000000..c6113a9c0 --- /dev/null +++ b/classnixf_1_1ExprPath__coll__graph.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/classnixf_1_1ExprPath__coll__graph.md5 b/classnixf_1_1ExprPath__coll__graph.md5 new file mode 100644 index 000000000..cb3a10153 --- /dev/null +++ b/classnixf_1_1ExprPath__coll__graph.md5 @@ -0,0 +1 @@ +524c7ee457b2d88ba42445cc7a469bdf \ No newline at end of file diff --git a/classnixf_1_1ExprPath__coll__graph.svg b/classnixf_1_1ExprPath__coll__graph.svg new file mode 100644 index 000000000..68ca64925 --- /dev/null +++ b/classnixf_1_1ExprPath__coll__graph.svg @@ -0,0 +1,57 @@ + + + + + + +nixf::ExprPath + + +Node1 + + +nixf::ExprPath + + + + + +Node2 + + +nixf::Expr + + + + + +Node2->Node1 + + + + + + + + +Node3 + + +nixf::Node + + + + + +Node3->Node2 + + + + + + + + diff --git a/classnixf_1_1ExprPath__inherit__graph.map b/classnixf_1_1ExprPath__inherit__graph.map new file mode 100644 index 000000000..c6113a9c0 --- /dev/null +++ b/classnixf_1_1ExprPath__inherit__graph.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/classnixf_1_1ExprPath__inherit__graph.md5 b/classnixf_1_1ExprPath__inherit__graph.md5 new file mode 100644 index 000000000..cb3a10153 --- /dev/null +++ b/classnixf_1_1ExprPath__inherit__graph.md5 @@ -0,0 +1 @@ +524c7ee457b2d88ba42445cc7a469bdf \ No newline at end of file diff --git a/classnixf_1_1ExprPath__inherit__graph.svg b/classnixf_1_1ExprPath__inherit__graph.svg new file mode 100644 index 000000000..68ca64925 --- /dev/null +++ b/classnixf_1_1ExprPath__inherit__graph.svg @@ -0,0 +1,57 @@ + + + + + + +nixf::ExprPath + + +Node1 + + +nixf::ExprPath + + + + + +Node2 + + +nixf::Expr + + + + + +Node2->Node1 + + + + + + + + +Node3 + + +nixf::Node + + + + + +Node3->Node2 + + + + + + + + diff --git a/classnixf_1_1ExprSelect-members.html b/classnixf_1_1ExprSelect-members.html new file mode 100644 index 000000000..493d92fcc --- /dev/null +++ b/classnixf_1_1ExprSelect-members.html @@ -0,0 +1,115 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
nixf::ExprSelect Member List
+
+
+ +

This is the complete list of members for nixf::ExprSelect, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
children() const overridenixf::ExprSelectinlinevirtual
ChildVector typedefnixf::Node
classof(const Node *N)nixf::Exprinlinestatic
defaultExpr() constnixf::ExprSelectinline
descend(PositionRange Range) constnixf::Nodeinline
expr() constnixf::ExprSelectinline
Expr(NodeKind Kind, LexerCursorRange Range)nixf::Exprinlineexplicitprotected
ExprSelect(LexerCursorRange Range, std::shared_ptr< Expr > E, std::shared_ptr< AttrPath > Path, std::shared_ptr< Expr > Default)nixf::ExprSelectinline
isExpr(NodeKind Kind)nixf::Exprinlinestatic
kind() constnixf::Nodeinline
lCur() constnixf::Nodeinline
maybeLambda(NodeKind Kind)nixf::Exprinlinestatic
maybeLambda() constnixf::Exprinline
name(NodeKind Kind)nixf::Nodestatic
name() constnixf::Nodeinline
NK_BeginExpr enum valuenixf::Node
NK_EndExpr enum valuenixf::Node
Node(NodeKind Kind, LexerCursorRange Range)nixf::Nodeinlineexplicitprotected
NodeKind enum namenixf::Node
path() constnixf::ExprSelectinline
positionRange() constnixf::Nodeinline
range() constnixf::Nodeinline
rCur() constnixf::Nodeinline
src(std::string_view Src) constnixf::Nodeinline
~Node()=defaultnixf::Nodevirtual
+ + + + diff --git a/classnixf_1_1ExprSelect.html b/classnixf_1_1ExprSelect.html new file mode 100644 index 000000000..2625090a6 --- /dev/null +++ b/classnixf_1_1ExprSelect.html @@ -0,0 +1,324 @@ + + + + + + + +nixd: nixf::ExprSelect Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
nixf::ExprSelect Class Reference
+
+
+ +

#include <Expr.h>

+
+Inheritance diagram for nixf::ExprSelect:
+
+
+
[legend]
+
+Collaboration diagram for nixf::ExprSelect:
+
+
+
[legend]
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 ExprSelect (LexerCursorRange Range, std::shared_ptr< Expr > E, std::shared_ptr< AttrPath > Path, std::shared_ptr< Expr > Default)
 
Exprexpr () const
 
ExprdefaultExpr () const
 
AttrPathpath () const
 
ChildVector children () const override
 
- Public Member Functions inherited from nixf::Expr
bool maybeLambda () const
 
- Public Member Functions inherited from nixf::Node
NodeKind kind () const
 
LexerCursorRange range () const
 
PositionRange positionRange () const
 
LexerCursor lCur () const
 
LexerCursor rCur () const
 
const char * name () const
 
virtual ~Node ()=default
 
const Nodedescend (PositionRange Range) const
 Descendant node that contains the given range.
 
std::string_view src (std::string_view Src) const
 
+ + + + + + + + + + + + + + + + + + + + + + +

+Additional Inherited Members

- Public Types inherited from nixf::Node
enum  NodeKind { NK_BeginExpr +, NK_EndExpr + }
 
using ChildVector = boost::container::small_vector<Node *, 8>
 
- Static Public Member Functions inherited from nixf::Expr
static bool classof (const Node *N)
 
static bool isExpr (NodeKind Kind)
 
static bool maybeLambda (NodeKind Kind)
 
- Static Public Member Functions inherited from nixf::Node
static const char * name (NodeKind Kind)
 
- Protected Member Functions inherited from nixf::Expr
 Expr (NodeKind Kind, LexerCursorRange Range)
 
- Protected Member Functions inherited from nixf::Node
 Node (NodeKind Kind, LexerCursorRange Range)
 
+

Detailed Description

+
+

Definition at line 7 of file Expr.h.

+

Constructor & Destructor Documentation

+ +

◆ ExprSelect()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + +
nixf::ExprSelect::ExprSelect (LexerCursorRange Range,
std::shared_ptr< Expr > E,
std::shared_ptr< AttrPath > Path,
std::shared_ptr< Expr > Default )
+
+inline
+
+ +

Definition at line 13 of file Expr.h.

+ +
+
+

Member Function Documentation

+ +

◆ children()

+ +
+
+ + + + + +
+ + + + + + + +
ChildVector nixf::ExprSelect::children () const
+
+inlineoverridevirtual
+
+ +

Implements nixf::Node.

+ +

Definition at line 29 of file Expr.h.

+ +
+
+ +

◆ defaultExpr()

+ +
+
+ + + + + +
+ + + + + + + +
Expr * nixf::ExprSelect::defaultExpr () const
+
+inline
+
+ +

Definition at line 25 of file Expr.h.

+ +
+
+ +

◆ expr()

+ +
+
+ + + + + +
+ + + + + + + +
Expr & nixf::ExprSelect::expr () const
+
+inline
+
+ +

Definition at line 20 of file Expr.h.

+ +
+
+ +

◆ path()

+ +
+
+ + + + + +
+ + + + + + + +
AttrPath * nixf::ExprSelect::path () const
+
+inline
+
+ +

Definition at line 27 of file Expr.h.

+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/classnixf_1_1ExprSelect__coll__graph.map b/classnixf_1_1ExprSelect__coll__graph.map new file mode 100644 index 000000000..01e5fa41d --- /dev/null +++ b/classnixf_1_1ExprSelect__coll__graph.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/classnixf_1_1ExprSelect__coll__graph.md5 b/classnixf_1_1ExprSelect__coll__graph.md5 new file mode 100644 index 000000000..569661ba0 --- /dev/null +++ b/classnixf_1_1ExprSelect__coll__graph.md5 @@ -0,0 +1 @@ +b84e81fa368669b55e662681c9a8360e \ No newline at end of file diff --git a/classnixf_1_1ExprSelect__coll__graph.svg b/classnixf_1_1ExprSelect__coll__graph.svg new file mode 100644 index 000000000..ef3d30669 --- /dev/null +++ b/classnixf_1_1ExprSelect__coll__graph.svg @@ -0,0 +1,57 @@ + + + + + + +nixf::ExprSelect + + +Node1 + + +nixf::ExprSelect + + + + + +Node2 + + +nixf::Expr + + + + + +Node2->Node1 + + + + + + + + +Node3 + + +nixf::Node + + + + + +Node3->Node2 + + + + + + + + diff --git a/classnixf_1_1ExprSelect__inherit__graph.map b/classnixf_1_1ExprSelect__inherit__graph.map new file mode 100644 index 000000000..01e5fa41d --- /dev/null +++ b/classnixf_1_1ExprSelect__inherit__graph.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/classnixf_1_1ExprSelect__inherit__graph.md5 b/classnixf_1_1ExprSelect__inherit__graph.md5 new file mode 100644 index 000000000..569661ba0 --- /dev/null +++ b/classnixf_1_1ExprSelect__inherit__graph.md5 @@ -0,0 +1 @@ +b84e81fa368669b55e662681c9a8360e \ No newline at end of file diff --git a/classnixf_1_1ExprSelect__inherit__graph.svg b/classnixf_1_1ExprSelect__inherit__graph.svg new file mode 100644 index 000000000..ef3d30669 --- /dev/null +++ b/classnixf_1_1ExprSelect__inherit__graph.svg @@ -0,0 +1,57 @@ + + + + + + +nixf::ExprSelect + + +Node1 + + +nixf::ExprSelect + + + + + +Node2 + + +nixf::Expr + + + + + +Node2->Node1 + + + + + + + + +Node3 + + +nixf::Node + + + + + +Node3->Node2 + + + + + + + + diff --git a/classnixf_1_1ExprString-members.html b/classnixf_1_1ExprString-members.html new file mode 100644 index 000000000..6e0509730 --- /dev/null +++ b/classnixf_1_1ExprString-members.html @@ -0,0 +1,115 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
nixf::ExprString Member List
+
+
+ +

This is the complete list of members for nixf::ExprString, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
children() const overridenixf::ExprStringinlinevirtual
ChildVector typedefnixf::Node
classof(const Node *N)nixf::Exprinlinestatic
descend(PositionRange Range) constnixf::Nodeinline
Expr(NodeKind Kind, LexerCursorRange Range)nixf::Exprinlineexplicitprotected
ExprString(LexerCursorRange Range, std::shared_ptr< InterpolatedParts > Parts)nixf::ExprStringinline
isExpr(NodeKind Kind)nixf::Exprinlinestatic
isLiteral() constnixf::ExprStringinline
kind() constnixf::Nodeinline
lCur() constnixf::Nodeinline
literal() constnixf::ExprStringinline
maybeLambda(NodeKind Kind)nixf::Exprinlinestatic
maybeLambda() constnixf::Exprinline
name(NodeKind Kind)nixf::Nodestatic
name() constnixf::Nodeinline
NK_BeginExpr enum valuenixf::Node
NK_EndExpr enum valuenixf::Node
Node(NodeKind Kind, LexerCursorRange Range)nixf::Nodeinlineexplicitprotected
NodeKind enum namenixf::Node
parts() constnixf::ExprStringinline
positionRange() constnixf::Nodeinline
range() constnixf::Nodeinline
rCur() constnixf::Nodeinline
src(std::string_view Src) constnixf::Nodeinline
~Node()=defaultnixf::Nodevirtual
+ + + + diff --git a/classnixf_1_1ExprString.html b/classnixf_1_1ExprString.html new file mode 100644 index 000000000..2828af4aa --- /dev/null +++ b/classnixf_1_1ExprString.html @@ -0,0 +1,318 @@ + + + + + + + +nixd: nixf::ExprString Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
nixf::ExprString Class Reference
+
+
+ +

#include <Simple.h>

+
+Inheritance diagram for nixf::ExprString:
+
+
+
[legend]
+
+Collaboration diagram for nixf::ExprString:
+
+
+
[legend]
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 ExprString (LexerCursorRange Range, std::shared_ptr< InterpolatedParts > Parts)
 
const InterpolatedPartsparts () const
 
bool isLiteral () const
 
const std::string & literal () const
 
ChildVector children () const override
 
- Public Member Functions inherited from nixf::Expr
bool maybeLambda () const
 
- Public Member Functions inherited from nixf::Node
NodeKind kind () const
 
LexerCursorRange range () const
 
PositionRange positionRange () const
 
LexerCursor lCur () const
 
LexerCursor rCur () const
 
const char * name () const
 
virtual ~Node ()=default
 
const Nodedescend (PositionRange Range) const
 Descendant node that contains the given range.
 
std::string_view src (std::string_view Src) const
 
+ + + + + + + + + + + + + + + + + + + + + + +

+Additional Inherited Members

- Public Types inherited from nixf::Node
enum  NodeKind { NK_BeginExpr +, NK_EndExpr + }
 
using ChildVector = boost::container::small_vector<Node *, 8>
 
- Static Public Member Functions inherited from nixf::Expr
static bool classof (const Node *N)
 
static bool isExpr (NodeKind Kind)
 
static bool maybeLambda (NodeKind Kind)
 
- Static Public Member Functions inherited from nixf::Node
static const char * name (NodeKind Kind)
 
- Protected Member Functions inherited from nixf::Expr
 Expr (NodeKind Kind, LexerCursorRange Range)
 
- Protected Member Functions inherited from nixf::Node
 Node (NodeKind Kind, LexerCursorRange Range)
 
+

Detailed Description

+
+

Definition at line 109 of file Simple.h.

+

Constructor & Destructor Documentation

+ +

◆ ExprString()

+ +
+
+ + + + + +
+ + + + + + + + + + + +
nixf::ExprString::ExprString (LexerCursorRange Range,
std::shared_ptr< InterpolatedParts > Parts )
+
+inline
+
+ +

Definition at line 113 of file Simple.h.

+ +
+
+

Member Function Documentation

+ +

◆ children()

+ +
+
+ + + + + +
+ + + + + + + +
ChildVector nixf::ExprString::children () const
+
+inlineoverridevirtual
+
+ +

Implements nixf::Node.

+ +

Definition at line 133 of file Simple.h.

+ +
+
+ +

◆ isLiteral()

+ +
+
+ + + + + +
+ + + + + + + +
bool nixf::ExprString::isLiteral () const
+
+inline
+
+ +

Definition at line 123 of file Simple.h.

+ +

Referenced by nixf::AttrName::isStatic().

+ +
+
+ +

◆ literal()

+ +
+
+ + + + + +
+ + + + + + + +
const std::string & nixf::ExprString::literal () const
+
+inline
+
+ +

Definition at line 128 of file Simple.h.

+ +

Referenced by nixf::AttrName::staticName().

+ +
+
+ +

◆ parts()

+ +
+
+ + + + + +
+ + + + + + + +
const InterpolatedParts & nixf::ExprString::parts () const
+
+inline
+
+ +

Definition at line 118 of file Simple.h.

+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/classnixf_1_1ExprString__coll__graph.map b/classnixf_1_1ExprString__coll__graph.map new file mode 100644 index 000000000..857581f98 --- /dev/null +++ b/classnixf_1_1ExprString__coll__graph.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/classnixf_1_1ExprString__coll__graph.md5 b/classnixf_1_1ExprString__coll__graph.md5 new file mode 100644 index 000000000..190b25fd2 --- /dev/null +++ b/classnixf_1_1ExprString__coll__graph.md5 @@ -0,0 +1 @@ +f61aac68e5dd4372801059522ddc8430 \ No newline at end of file diff --git a/classnixf_1_1ExprString__coll__graph.svg b/classnixf_1_1ExprString__coll__graph.svg new file mode 100644 index 000000000..0a607a55e --- /dev/null +++ b/classnixf_1_1ExprString__coll__graph.svg @@ -0,0 +1,57 @@ + + + + + + +nixf::ExprString + + +Node1 + + +nixf::ExprString + + + + + +Node2 + + +nixf::Expr + + + + + +Node2->Node1 + + + + + + + + +Node3 + + +nixf::Node + + + + + +Node3->Node2 + + + + + + + + diff --git a/classnixf_1_1ExprString__inherit__graph.map b/classnixf_1_1ExprString__inherit__graph.map new file mode 100644 index 000000000..857581f98 --- /dev/null +++ b/classnixf_1_1ExprString__inherit__graph.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/classnixf_1_1ExprString__inherit__graph.md5 b/classnixf_1_1ExprString__inherit__graph.md5 new file mode 100644 index 000000000..190b25fd2 --- /dev/null +++ b/classnixf_1_1ExprString__inherit__graph.md5 @@ -0,0 +1 @@ +f61aac68e5dd4372801059522ddc8430 \ No newline at end of file diff --git a/classnixf_1_1ExprString__inherit__graph.svg b/classnixf_1_1ExprString__inherit__graph.svg new file mode 100644 index 000000000..0a607a55e --- /dev/null +++ b/classnixf_1_1ExprString__inherit__graph.svg @@ -0,0 +1,57 @@ + + + + + + +nixf::ExprString + + +Node1 + + +nixf::ExprString + + + + + +Node2 + + +nixf::Expr + + + + + +Node2->Node1 + + + + + + + + +Node3 + + +nixf::Node + + + + + +Node3->Node2 + + + + + + + + diff --git a/classnixf_1_1ExprUnaryOp-members.html b/classnixf_1_1ExprUnaryOp-members.html new file mode 100644 index 000000000..87bb9b6c0 --- /dev/null +++ b/classnixf_1_1ExprUnaryOp-members.html @@ -0,0 +1,115 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
nixf::ExprUnaryOp Member List
+
+
+ +

This is the complete list of members for nixf::ExprUnaryOp, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
children() const overridenixf::ExprUnaryOpinlinevirtual
ChildVector typedefnixf::Node
classof(const Node *N)nixf::Exprinlinestatic
descend(PositionRange Range) constnixf::Nodeinline
expr() constnixf::ExprUnaryOpinline
Expr(NodeKind Kind, LexerCursorRange Range)nixf::Exprinlineexplicitprotected
ExprOp(NodeKind Kind, LexerCursorRange Range, std::shared_ptr< Op > O)nixf::ExprOpinline
ExprUnaryOp(LexerCursorRange Range, std::shared_ptr< Op > O, std::shared_ptr< Expr > E)nixf::ExprUnaryOpinline
isExpr(NodeKind Kind)nixf::Exprinlinestatic
kind() constnixf::Nodeinline
lCur() constnixf::Nodeinline
maybeLambda(NodeKind Kind)nixf::Exprinlinestatic
maybeLambda() constnixf::Exprinline
name(NodeKind Kind)nixf::Nodestatic
name() constnixf::Nodeinline
NK_BeginExpr enum valuenixf::Node
NK_EndExpr enum valuenixf::Node
Node(NodeKind Kind, LexerCursorRange Range)nixf::Nodeinlineexplicitprotected
NodeKind enum namenixf::Node
op() constnixf::ExprOpinline
positionRange() constnixf::Nodeinline
range() constnixf::Nodeinline
rCur() constnixf::Nodeinline
src(std::string_view Src) constnixf::Nodeinline
~Node()=defaultnixf::Nodevirtual
+ + + + diff --git a/classnixf_1_1ExprUnaryOp.html b/classnixf_1_1ExprUnaryOp.html new file mode 100644 index 000000000..8fbaf7277 --- /dev/null +++ b/classnixf_1_1ExprUnaryOp.html @@ -0,0 +1,268 @@ + + + + + + + +nixd: nixf::ExprUnaryOp Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
nixf::ExprUnaryOp Class Reference
+
+
+ +

#include <Op.h>

+
+Inheritance diagram for nixf::ExprUnaryOp:
+
+
+
[legend]
+
+Collaboration diagram for nixf::ExprUnaryOp:
+
+
+
[legend]
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 ExprUnaryOp (LexerCursorRange Range, std::shared_ptr< Op > O, std::shared_ptr< Expr > E)
 
Exprexpr () const
 
ChildVector children () const override
 
- Public Member Functions inherited from nixf::ExprOp
 ExprOp (NodeKind Kind, LexerCursorRange Range, std::shared_ptr< Op > O)
 
Opop () const
 
- Public Member Functions inherited from nixf::Expr
bool maybeLambda () const
 
- Public Member Functions inherited from nixf::Node
NodeKind kind () const
 
LexerCursorRange range () const
 
PositionRange positionRange () const
 
LexerCursor lCur () const
 
LexerCursor rCur () const
 
const char * name () const
 
virtual ~Node ()=default
 
const Nodedescend (PositionRange Range) const
 Descendant node that contains the given range.
 
std::string_view src (std::string_view Src) const
 
+ + + + + + + + + + + + + + + + + + + + + + +

+Additional Inherited Members

- Public Types inherited from nixf::Node
enum  NodeKind { NK_BeginExpr +, NK_EndExpr + }
 
using ChildVector = boost::container::small_vector<Node *, 8>
 
- Static Public Member Functions inherited from nixf::Expr
static bool classof (const Node *N)
 
static bool isExpr (NodeKind Kind)
 
static bool maybeLambda (NodeKind Kind)
 
- Static Public Member Functions inherited from nixf::Node
static const char * name (NodeKind Kind)
 
- Protected Member Functions inherited from nixf::Expr
 Expr (NodeKind Kind, LexerCursorRange Range)
 
- Protected Member Functions inherited from nixf::Node
 Node (NodeKind Kind, LexerCursorRange Range)
 
+

Detailed Description

+
+

Definition at line 75 of file Op.h.

+

Constructor & Destructor Documentation

+ +

◆ ExprUnaryOp()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + +
nixf::ExprUnaryOp::ExprUnaryOp (LexerCursorRange Range,
std::shared_ptr< Op > O,
std::shared_ptr< Expr > E )
+
+inline
+
+ +

Definition at line 79 of file Op.h.

+ +
+
+

Member Function Documentation

+ +

◆ children()

+ +
+
+ + + + + +
+ + + + + + + +
ChildVector nixf::ExprUnaryOp::children () const
+
+inlineoverridevirtual
+
+ +

Reimplemented from nixf::ExprOp.

+ +

Definition at line 85 of file Op.h.

+ +

References nixf::ExprOp::op().

+ +
+
+ +

◆ expr()

+ +
+
+ + + + + +
+ + + + + + + +
Expr * nixf::ExprUnaryOp::expr () const
+
+inline
+
+ +

Definition at line 83 of file Op.h.

+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/classnixf_1_1ExprUnaryOp__coll__graph.map b/classnixf_1_1ExprUnaryOp__coll__graph.map new file mode 100644 index 000000000..9cdd1fba5 --- /dev/null +++ b/classnixf_1_1ExprUnaryOp__coll__graph.map @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/classnixf_1_1ExprUnaryOp__coll__graph.md5 b/classnixf_1_1ExprUnaryOp__coll__graph.md5 new file mode 100644 index 000000000..7d7347645 --- /dev/null +++ b/classnixf_1_1ExprUnaryOp__coll__graph.md5 @@ -0,0 +1 @@ +d3d56810d4873377a39cda764c43a6f3 \ No newline at end of file diff --git a/classnixf_1_1ExprUnaryOp__coll__graph.svg b/classnixf_1_1ExprUnaryOp__coll__graph.svg new file mode 100644 index 000000000..e14b1f5d1 --- /dev/null +++ b/classnixf_1_1ExprUnaryOp__coll__graph.svg @@ -0,0 +1,75 @@ + + + + + + +nixf::ExprUnaryOp + + +Node1 + + +nixf::ExprUnaryOp + + + + + +Node2 + + +nixf::ExprOp + + + + + +Node2->Node1 + + + + + + + + +Node3 + + +nixf::Expr + + + + + +Node3->Node2 + + + + + + + + +Node4 + + +nixf::Node + + + + + +Node4->Node3 + + + + + + + + diff --git a/classnixf_1_1ExprUnaryOp__inherit__graph.map b/classnixf_1_1ExprUnaryOp__inherit__graph.map new file mode 100644 index 000000000..9cdd1fba5 --- /dev/null +++ b/classnixf_1_1ExprUnaryOp__inherit__graph.map @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/classnixf_1_1ExprUnaryOp__inherit__graph.md5 b/classnixf_1_1ExprUnaryOp__inherit__graph.md5 new file mode 100644 index 000000000..7d7347645 --- /dev/null +++ b/classnixf_1_1ExprUnaryOp__inherit__graph.md5 @@ -0,0 +1 @@ +d3d56810d4873377a39cda764c43a6f3 \ No newline at end of file diff --git a/classnixf_1_1ExprUnaryOp__inherit__graph.svg b/classnixf_1_1ExprUnaryOp__inherit__graph.svg new file mode 100644 index 000000000..e14b1f5d1 --- /dev/null +++ b/classnixf_1_1ExprUnaryOp__inherit__graph.svg @@ -0,0 +1,75 @@ + + + + + + +nixf::ExprUnaryOp + + +Node1 + + +nixf::ExprUnaryOp + + + + + +Node2 + + +nixf::ExprOp + + + + + +Node2->Node1 + + + + + + + + +Node3 + + +nixf::Expr + + + + + +Node3->Node2 + + + + + + + + +Node4 + + +nixf::Node + + + + + +Node4->Node3 + + + + + + + + diff --git a/classnixf_1_1ExprVar-members.html b/classnixf_1_1ExprVar-members.html new file mode 100644 index 000000000..4e4c720b0 --- /dev/null +++ b/classnixf_1_1ExprVar-members.html @@ -0,0 +1,113 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
nixf::ExprVar Member List
+
+
+ +

This is the complete list of members for nixf::ExprVar, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + +
children() const overridenixf::ExprVarinlinevirtual
ChildVector typedefnixf::Node
classof(const Node *N)nixf::Exprinlinestatic
descend(PositionRange Range) constnixf::Nodeinline
Expr(NodeKind Kind, LexerCursorRange Range)nixf::Exprinlineexplicitprotected
ExprVar(LexerCursorRange Range, std::shared_ptr< Identifier > ID)nixf::ExprVarinline
id() constnixf::ExprVarinline
isExpr(NodeKind Kind)nixf::Exprinlinestatic
kind() constnixf::Nodeinline
lCur() constnixf::Nodeinline
maybeLambda(NodeKind Kind)nixf::Exprinlinestatic
maybeLambda() constnixf::Exprinline
name(NodeKind Kind)nixf::Nodestatic
name() constnixf::Nodeinline
NK_BeginExpr enum valuenixf::Node
NK_EndExpr enum valuenixf::Node
Node(NodeKind Kind, LexerCursorRange Range)nixf::Nodeinlineexplicitprotected
NodeKind enum namenixf::Node
positionRange() constnixf::Nodeinline
range() constnixf::Nodeinline
rCur() constnixf::Nodeinline
src(std::string_view Src) constnixf::Nodeinline
~Node()=defaultnixf::Nodevirtual
+ + + + diff --git a/classnixf_1_1ExprVar.html b/classnixf_1_1ExprVar.html new file mode 100644 index 000000000..a56e9ab6e --- /dev/null +++ b/classnixf_1_1ExprVar.html @@ -0,0 +1,256 @@ + + + + + + + +nixd: nixf::ExprVar Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
nixf::ExprVar Class Reference
+
+
+ +

#include <Simple.h>

+
+Inheritance diagram for nixf::ExprVar:
+
+
+
[legend]
+
+Collaboration diagram for nixf::ExprVar:
+
+
+
[legend]
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 ExprVar (LexerCursorRange Range, std::shared_ptr< Identifier > ID)
 
const Identifierid () const
 
ChildVector children () const override
 
- Public Member Functions inherited from nixf::Expr
bool maybeLambda () const
 
- Public Member Functions inherited from nixf::Node
NodeKind kind () const
 
LexerCursorRange range () const
 
PositionRange positionRange () const
 
LexerCursor lCur () const
 
LexerCursor rCur () const
 
const char * name () const
 
virtual ~Node ()=default
 
const Nodedescend (PositionRange Range) const
 Descendant node that contains the given range.
 
std::string_view src (std::string_view Src) const
 
+ + + + + + + + + + + + + + + + + + + + + + +

+Additional Inherited Members

- Public Types inherited from nixf::Node
enum  NodeKind { NK_BeginExpr +, NK_EndExpr + }
 
using ChildVector = boost::container::small_vector<Node *, 8>
 
- Static Public Member Functions inherited from nixf::Expr
static bool classof (const Node *N)
 
static bool isExpr (NodeKind Kind)
 
static bool maybeLambda (NodeKind Kind)
 
- Static Public Member Functions inherited from nixf::Node
static const char * name (NodeKind Kind)
 
- Protected Member Functions inherited from nixf::Expr
 Expr (NodeKind Kind, LexerCursorRange Range)
 
- Protected Member Functions inherited from nixf::Node
 Node (NodeKind Kind, LexerCursorRange Range)
 
+

Detailed Description

+
+

Definition at line 173 of file Simple.h.

+

Constructor & Destructor Documentation

+ +

◆ ExprVar()

+ +
+
+ + + + + +
+ + + + + + + + + + + +
nixf::ExprVar::ExprVar (LexerCursorRange Range,
std::shared_ptr< Identifier > ID )
+
+inline
+
+ +

Definition at line 177 of file Simple.h.

+ +
+
+

Member Function Documentation

+ +

◆ children()

+ +
+
+ + + + + +
+ + + + + + + +
ChildVector nixf::ExprVar::children () const
+
+inlineoverridevirtual
+
+ +

Implements nixf::Node.

+ +

Definition at line 186 of file Simple.h.

+ +
+
+ +

◆ id()

+ +
+
+ + + + + +
+ + + + + + + +
const Identifier & nixf::ExprVar::id () const
+
+inline
+
+ +

Definition at line 181 of file Simple.h.

+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/classnixf_1_1ExprVar__coll__graph.map b/classnixf_1_1ExprVar__coll__graph.map new file mode 100644 index 000000000..d6b5433de --- /dev/null +++ b/classnixf_1_1ExprVar__coll__graph.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/classnixf_1_1ExprVar__coll__graph.md5 b/classnixf_1_1ExprVar__coll__graph.md5 new file mode 100644 index 000000000..558cf0f88 --- /dev/null +++ b/classnixf_1_1ExprVar__coll__graph.md5 @@ -0,0 +1 @@ +b862bbea725348993d6814aee0b756ba \ No newline at end of file diff --git a/classnixf_1_1ExprVar__coll__graph.svg b/classnixf_1_1ExprVar__coll__graph.svg new file mode 100644 index 000000000..9c403e462 --- /dev/null +++ b/classnixf_1_1ExprVar__coll__graph.svg @@ -0,0 +1,57 @@ + + + + + + +nixf::ExprVar + + +Node1 + + +nixf::ExprVar + + + + + +Node2 + + +nixf::Expr + + + + + +Node2->Node1 + + + + + + + + +Node3 + + +nixf::Node + + + + + +Node3->Node2 + + + + + + + + diff --git a/classnixf_1_1ExprVar__inherit__graph.map b/classnixf_1_1ExprVar__inherit__graph.map new file mode 100644 index 000000000..d6b5433de --- /dev/null +++ b/classnixf_1_1ExprVar__inherit__graph.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/classnixf_1_1ExprVar__inherit__graph.md5 b/classnixf_1_1ExprVar__inherit__graph.md5 new file mode 100644 index 000000000..558cf0f88 --- /dev/null +++ b/classnixf_1_1ExprVar__inherit__graph.md5 @@ -0,0 +1 @@ +b862bbea725348993d6814aee0b756ba \ No newline at end of file diff --git a/classnixf_1_1ExprVar__inherit__graph.svg b/classnixf_1_1ExprVar__inherit__graph.svg new file mode 100644 index 000000000..9c403e462 --- /dev/null +++ b/classnixf_1_1ExprVar__inherit__graph.svg @@ -0,0 +1,57 @@ + + + + + + +nixf::ExprVar + + +Node1 + + +nixf::ExprVar + + + + + +Node2 + + +nixf::Expr + + + + + +Node2->Node1 + + + + + + + + +Node3 + + +nixf::Node + + + + + +Node3->Node2 + + + + + + + + diff --git a/classnixf_1_1ExprWith-members.html b/classnixf_1_1ExprWith-members.html new file mode 100644 index 000000000..dd6b6b30e --- /dev/null +++ b/classnixf_1_1ExprWith-members.html @@ -0,0 +1,114 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
nixf::ExprWith Member List
+
+
+ +

This is the complete list of members for nixf::ExprWith, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + +
children() const overridenixf::ExprWithinlinevirtual
ChildVector typedefnixf::Node
classof(const Node *N)nixf::Exprinlinestatic
descend(PositionRange Range) constnixf::Nodeinline
expr() constnixf::ExprWithinline
Expr(NodeKind Kind, LexerCursorRange Range)nixf::Exprinlineexplicitprotected
ExprWith(LexerCursorRange Range, std::shared_ptr< Expr > With, std::shared_ptr< Expr > E)nixf::ExprWithinline
isExpr(NodeKind Kind)nixf::Exprinlinestatic
kind() constnixf::Nodeinline
lCur() constnixf::Nodeinline
maybeLambda(NodeKind Kind)nixf::Exprinlinestatic
maybeLambda() constnixf::Exprinline
name(NodeKind Kind)nixf::Nodestatic
name() constnixf::Nodeinline
NK_BeginExpr enum valuenixf::Node
NK_EndExpr enum valuenixf::Node
Node(NodeKind Kind, LexerCursorRange Range)nixf::Nodeinlineexplicitprotected
NodeKind enum namenixf::Node
positionRange() constnixf::Nodeinline
range() constnixf::Nodeinline
rCur() constnixf::Nodeinline
src(std::string_view Src) constnixf::Nodeinline
with() constnixf::ExprWithinline
~Node()=defaultnixf::Nodevirtual
+ + + + diff --git a/classnixf_1_1ExprWith.html b/classnixf_1_1ExprWith.html new file mode 100644 index 000000000..32b96e643 --- /dev/null +++ b/classnixf_1_1ExprWith.html @@ -0,0 +1,290 @@ + + + + + + + +nixd: nixf::ExprWith Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
nixf::ExprWith Class Reference
+
+
+ +

#include <Expr.h>

+
+Inheritance diagram for nixf::ExprWith:
+
+
+
[legend]
+
+Collaboration diagram for nixf::ExprWith:
+
+
+
[legend]
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 ExprWith (LexerCursorRange Range, std::shared_ptr< Expr > With, std::shared_ptr< Expr > E)
 
Exprwith () const
 
Exprexpr () const
 
ChildVector children () const override
 
- Public Member Functions inherited from nixf::Expr
bool maybeLambda () const
 
- Public Member Functions inherited from nixf::Node
NodeKind kind () const
 
LexerCursorRange range () const
 
PositionRange positionRange () const
 
LexerCursor lCur () const
 
LexerCursor rCur () const
 
const char * name () const
 
virtual ~Node ()=default
 
const Nodedescend (PositionRange Range) const
 Descendant node that contains the given range.
 
std::string_view src (std::string_view Src) const
 
+ + + + + + + + + + + + + + + + + + + + + + +

+Additional Inherited Members

- Public Types inherited from nixf::Node
enum  NodeKind { NK_BeginExpr +, NK_EndExpr + }
 
using ChildVector = boost::container::small_vector<Node *, 8>
 
- Static Public Member Functions inherited from nixf::Expr
static bool classof (const Node *N)
 
static bool isExpr (NodeKind Kind)
 
static bool maybeLambda (NodeKind Kind)
 
- Static Public Member Functions inherited from nixf::Node
static const char * name (NodeKind Kind)
 
- Protected Member Functions inherited from nixf::Expr
 Expr (NodeKind Kind, LexerCursorRange Range)
 
- Protected Member Functions inherited from nixf::Node
 Node (NodeKind Kind, LexerCursorRange Range)
 
+

Detailed Description

+
+

Definition at line 156 of file Expr.h.

+

Constructor & Destructor Documentation

+ +

◆ ExprWith()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + +
nixf::ExprWith::ExprWith (LexerCursorRange Range,
std::shared_ptr< Expr > With,
std::shared_ptr< Expr > E )
+
+inline
+
+ +

Definition at line 161 of file Expr.h.

+ +
+
+

Member Function Documentation

+ +

◆ children()

+ +
+
+ + + + + +
+ + + + + + + +
ChildVector nixf::ExprWith::children () const
+
+inlineoverridevirtual
+
+ +

Implements nixf::Node.

+ +

Definition at line 168 of file Expr.h.

+ +
+
+ +

◆ expr()

+ +
+
+ + + + + +
+ + + + + + + +
Expr * nixf::ExprWith::expr () const
+
+inline
+
+ +

Definition at line 166 of file Expr.h.

+ +
+
+ +

◆ with()

+ +
+
+ + + + + +
+ + + + + + + +
Expr * nixf::ExprWith::with () const
+
+inline
+
+ +

Definition at line 165 of file Expr.h.

+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/classnixf_1_1ExprWith__coll__graph.map b/classnixf_1_1ExprWith__coll__graph.map new file mode 100644 index 000000000..93eb44d5c --- /dev/null +++ b/classnixf_1_1ExprWith__coll__graph.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/classnixf_1_1ExprWith__coll__graph.md5 b/classnixf_1_1ExprWith__coll__graph.md5 new file mode 100644 index 000000000..93d4460b0 --- /dev/null +++ b/classnixf_1_1ExprWith__coll__graph.md5 @@ -0,0 +1 @@ +966e1ca628fec8b8d295288a695b406d \ No newline at end of file diff --git a/classnixf_1_1ExprWith__coll__graph.svg b/classnixf_1_1ExprWith__coll__graph.svg new file mode 100644 index 000000000..1af61c756 --- /dev/null +++ b/classnixf_1_1ExprWith__coll__graph.svg @@ -0,0 +1,57 @@ + + + + + + +nixf::ExprWith + + +Node1 + + +nixf::ExprWith + + + + + +Node2 + + +nixf::Expr + + + + + +Node2->Node1 + + + + + + + + +Node3 + + +nixf::Node + + + + + +Node3->Node2 + + + + + + + + diff --git a/classnixf_1_1ExprWith__inherit__graph.map b/classnixf_1_1ExprWith__inherit__graph.map new file mode 100644 index 000000000..93eb44d5c --- /dev/null +++ b/classnixf_1_1ExprWith__inherit__graph.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/classnixf_1_1ExprWith__inherit__graph.md5 b/classnixf_1_1ExprWith__inherit__graph.md5 new file mode 100644 index 000000000..93d4460b0 --- /dev/null +++ b/classnixf_1_1ExprWith__inherit__graph.md5 @@ -0,0 +1 @@ +966e1ca628fec8b8d295288a695b406d \ No newline at end of file diff --git a/classnixf_1_1ExprWith__inherit__graph.svg b/classnixf_1_1ExprWith__inherit__graph.svg new file mode 100644 index 000000000..1af61c756 --- /dev/null +++ b/classnixf_1_1ExprWith__inherit__graph.svg @@ -0,0 +1,57 @@ + + + + + + +nixf::ExprWith + + +Node1 + + +nixf::ExprWith + + + + + +Node2 + + +nixf::Expr + + + + + +Node2->Node1 + + + + + + + + +Node3 + + +nixf::Node + + + + + +Node3->Node2 + + + + + + + + diff --git a/classnixf_1_1Expr__coll__graph.map b/classnixf_1_1Expr__coll__graph.map new file mode 100644 index 000000000..809ac9e89 --- /dev/null +++ b/classnixf_1_1Expr__coll__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/classnixf_1_1Expr__coll__graph.md5 b/classnixf_1_1Expr__coll__graph.md5 new file mode 100644 index 000000000..927756b09 --- /dev/null +++ b/classnixf_1_1Expr__coll__graph.md5 @@ -0,0 +1 @@ +4ec1e6aa5f153f49dd8ed78a320c3807 \ No newline at end of file diff --git a/classnixf_1_1Expr__coll__graph.svg b/classnixf_1_1Expr__coll__graph.svg new file mode 100644 index 000000000..e8bdd7765 --- /dev/null +++ b/classnixf_1_1Expr__coll__graph.svg @@ -0,0 +1,39 @@ + + + + + + +nixf::Expr + + +Node1 + + +nixf::Expr + + + + + +Node2 + + +nixf::Node + + + + + +Node2->Node1 + + + + + + + + diff --git a/classnixf_1_1Expr__inherit__graph.map b/classnixf_1_1Expr__inherit__graph.map new file mode 100644 index 000000000..ecb24f651 --- /dev/null +++ b/classnixf_1_1Expr__inherit__graph.map @@ -0,0 +1,43 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/classnixf_1_1Expr__inherit__graph.md5 b/classnixf_1_1Expr__inherit__graph.md5 new file mode 100644 index 000000000..b423f8cc7 --- /dev/null +++ b/classnixf_1_1Expr__inherit__graph.md5 @@ -0,0 +1 @@ +3cd904d4def6fb295c29c62f4a66ef92 \ No newline at end of file diff --git a/classnixf_1_1Expr__inherit__graph.svg b/classnixf_1_1Expr__inherit__graph.svg new file mode 100644 index 000000000..625aba20c --- /dev/null +++ b/classnixf_1_1Expr__inherit__graph.svg @@ -0,0 +1,381 @@ + + + + + + +nixf::Expr + + +Node1 + + +nixf::Expr + + + + + +Node3 + + +nixf::ExprAssert + + + + + +Node1->Node3 + + + + + + + + +Node4 + + +nixf::ExprAttrs + + + + + +Node1->Node4 + + + + + + + + +Node5 + + +nixf::ExprCall + + + + + +Node1->Node5 + + + + + + + + +Node6 + + +nixf::ExprFloat + + + + + +Node1->Node6 + + + + + + + + +Node7 + + +nixf::ExprIf + + + + + +Node1->Node7 + + + + + + + + +Node8 + + +nixf::ExprInt + + + + + +Node1->Node8 + + + + + + + + +Node9 + + +nixf::ExprLambda + + + + + +Node1->Node9 + + + + + + + + +Node10 + + +nixf::ExprLet + + + + + +Node1->Node10 + + + + + + + + +Node11 + + +nixf::ExprList + + + + + +Node1->Node11 + + + + + + + + +Node12 + + +nixf::ExprOp + + + + + +Node1->Node12 + + + + + + + + +Node16 + + +nixf::ExprParen + + + + + +Node1->Node16 + + + + + + + + +Node17 + + +nixf::ExprPath + + + + + +Node1->Node17 + + + + + + + + +Node18 + + +nixf::ExprSelect + + + + + +Node1->Node18 + + + + + + + + +Node19 + + +nixf::ExprString + + + + + +Node1->Node19 + + + + + + + + +Node20 + + +nixf::ExprVar + + + + + +Node1->Node20 + + + + + + + + +Node21 + + +nixf::ExprWith + + + + + +Node1->Node21 + + + + + + + + +Node2 + + +nixf::Node + + + + + +Node2->Node1 + + + + + + + + +Node13 + + +nixf::ExprBinOp + + + + + +Node12->Node13 + + + + + + + + +Node14 + + +nixf::ExprOpHasAttr + + + + + +Node12->Node14 + + + + + + + + +Node15 + + +nixf::ExprUnaryOp + + + + + +Node12->Node15 + + + + + + + + diff --git a/classnixf_1_1Fix-members.html b/classnixf_1_1Fix-members.html new file mode 100644 index 000000000..202c667bc --- /dev/null +++ b/classnixf_1_1Fix-members.html @@ -0,0 +1,94 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
nixf::Fix Member List
+
+
+ +

This is the complete list of members for nixf::Fix, including all inherited members.

+ + + + + +
edit(TextEdit Edit)nixf::Fixinline
edits() constnixf::Fixinline
Fix(std::vector< TextEdit > Edits, std::string Message)nixf::Fixinline
message() constnixf::Fixinline
+ + + + diff --git a/classnixf_1_1Fix.html b/classnixf_1_1Fix.html new file mode 100644 index 000000000..b3b219ff0 --- /dev/null +++ b/classnixf_1_1Fix.html @@ -0,0 +1,226 @@ + + + + + + + +nixd: nixf::Fix Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
nixf::Fix Class Reference
+
+
+ +

#include <Diagnostic.h>

+ + + + + + + + + + +

+Public Member Functions

 Fix (std::vector< TextEdit > Edits, std::string Message)
 
Fixedit (TextEdit Edit)
 
const std::vector< TextEdit > & edits () const
 
const std::string & message () const
 
+

Detailed Description

+
+

Definition at line 58 of file Diagnostic.h.

+

Constructor & Destructor Documentation

+ +

◆ Fix()

+ +
+
+ + + + + +
+ + + + + + + + + + + +
nixf::Fix::Fix (std::vector< TextEdit > Edits,
std::string Message )
+
+inline
+
+ +

Definition at line 63 of file Diagnostic.h.

+ +
+
+

Member Function Documentation

+ +

◆ edit()

+ + + +

◆ edits()

+ +
+
+ + + + + +
+ + + + + + + +
const std::vector< TextEdit > & nixf::Fix::edits () const
+
+inline
+
+ +

Definition at line 71 of file Diagnostic.h.

+ +
+
+ +

◆ message()

+ +
+
+ + + + + +
+ + + + + + + +
const std::string & nixf::Fix::message () const
+
+inline
+
+ +

Definition at line 72 of file Diagnostic.h.

+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/classnixf_1_1Formal-members.html b/classnixf_1_1Formal-members.html new file mode 100644 index 000000000..149addd28 --- /dev/null +++ b/classnixf_1_1Formal-members.html @@ -0,0 +1,113 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
nixf::Formal Member List
+
+
+ +

This is the complete list of members for nixf::Formal, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + +
children() const overridenixf::Formalinlinevirtual
ChildVector typedefnixf::Node
comma() constnixf::Formalinline
defaultExpr() constnixf::Formalinline
descend(PositionRange Range) constnixf::Nodeinline
ellipsis() constnixf::Formalinline
Formal(LexerCursorRange Range, std::shared_ptr< Misc > Comma, std::shared_ptr< Identifier > ID, std::shared_ptr< Expr > Default)nixf::Formalinline
Formal(LexerCursorRange Range, std::shared_ptr< Misc > Comma, std::shared_ptr< Misc > Ellipsis)nixf::Formalinline
id() constnixf::Formalinline
isEllipsis() constnixf::Formalinline
kind() constnixf::Nodeinline
lCur() constnixf::Nodeinline
name(NodeKind Kind)nixf::Nodestatic
name() constnixf::Nodeinline
NK_BeginExpr enum valuenixf::Node
NK_EndExpr enum valuenixf::Node
Node(NodeKind Kind, LexerCursorRange Range)nixf::Nodeinlineexplicitprotected
NodeKind enum namenixf::Node
positionRange() constnixf::Nodeinline
range() constnixf::Nodeinline
rCur() constnixf::Nodeinline
src(std::string_view Src) constnixf::Nodeinline
~Node()=defaultnixf::Nodevirtual
+ + + + diff --git a/classnixf_1_1Formal.html b/classnixf_1_1Formal.html new file mode 100644 index 000000000..cc1788241 --- /dev/null +++ b/classnixf_1_1Formal.html @@ -0,0 +1,415 @@ + + + + + + + +nixd: nixf::Formal Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
nixf::Formal Class Reference
+
+
+ +

#include <Lambda.h>

+
+Inheritance diagram for nixf::Formal:
+
+
+
[legend]
+
+Collaboration diagram for nixf::Formal:
+
+
+
[legend]
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 Formal (LexerCursorRange Range, std::shared_ptr< Misc > Comma, std::shared_ptr< Identifier > ID, std::shared_ptr< Expr > Default)
 
 Formal (LexerCursorRange Range, std::shared_ptr< Misc > Comma, std::shared_ptr< Misc > Ellipsis)
 
Miscellipsis () const
 
bool isEllipsis () const
 
Identifierid () const
 
Misccomma () const
 
ExprdefaultExpr () const
 
ChildVector children () const override
 
- Public Member Functions inherited from nixf::Node
NodeKind kind () const
 
LexerCursorRange range () const
 
PositionRange positionRange () const
 
LexerCursor lCur () const
 
LexerCursor rCur () const
 
const char * name () const
 
virtual ~Node ()=default
 
const Nodedescend (PositionRange Range) const
 Descendant node that contains the given range.
 
std::string_view src (std::string_view Src) const
 
+ + + + + + + + + + + + +

+Additional Inherited Members

- Public Types inherited from nixf::Node
enum  NodeKind { NK_BeginExpr +, NK_EndExpr + }
 
using ChildVector = boost::container::small_vector<Node *, 8>
 
- Static Public Member Functions inherited from nixf::Node
static const char * name (NodeKind Kind)
 
- Protected Member Functions inherited from nixf::Node
 Node (NodeKind Kind, LexerCursorRange Range)
 
+

Detailed Description

+
+

Definition at line 11 of file Lambda.h.

+

Constructor & Destructor Documentation

+ +

◆ Formal() [1/2]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + +
nixf::Formal::Formal (LexerCursorRange Range,
std::shared_ptr< Misc > Comma,
std::shared_ptr< Identifier > ID,
std::shared_ptr< Expr > Default )
+
+inline
+
+ +

Definition at line 18 of file Lambda.h.

+ +
+
+ +

◆ Formal() [2/2]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + +
nixf::Formal::Formal (LexerCursorRange Range,
std::shared_ptr< Misc > Comma,
std::shared_ptr< Misc > Ellipsis )
+
+inline
+
+ +

Definition at line 23 of file Lambda.h.

+ +
+
+

Member Function Documentation

+ +

◆ children()

+ +
+
+ + + + + +
+ + + + + + + +
ChildVector nixf::Formal::children () const
+
+inlineoverridevirtual
+
+ +

Implements nixf::Node.

+ +

Definition at line 43 of file Lambda.h.

+ +

References isEllipsis().

+ +
+
+ +

◆ comma()

+ +
+
+ + + + + +
+ + + + + + + +
Misc * nixf::Formal::comma () const
+
+inline
+
+
+ +

◆ defaultExpr()

+ +
+
+ + + + + +
+ + + + + + + +
Expr * nixf::Formal::defaultExpr () const
+
+inline
+
+ +

Definition at line 41 of file Lambda.h.

+ +
+
+ +

◆ ellipsis()

+ +
+
+ + + + + +
+ + + + + + + +
Misc & nixf::Formal::ellipsis () const
+
+inline
+
+ +

Definition at line 30 of file Lambda.h.

+ +
+
+ +

◆ id()

+ +
+
+ + + + + +
+ + + + + + + +
Identifier * nixf::Formal::id () const
+
+inline
+
+ +

Definition at line 37 of file Lambda.h.

+ +

Referenced by nixf::Sema::checkFormalEmpty(), and nixf::Sema::dedupFormal().

+ +
+
+ +

◆ isEllipsis()

+ +
+
+ + + + + +
+ + + + + + + +
bool nixf::Formal::isEllipsis () const
+
+inline
+
+ +

Definition at line 35 of file Lambda.h.

+ +

Referenced by nixf::Sema::checkFormalEllipsis(), nixf::Sema::checkFormalEmpty(), and children().

+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/classnixf_1_1Formal__coll__graph.map b/classnixf_1_1Formal__coll__graph.map new file mode 100644 index 000000000..14a3b2cec --- /dev/null +++ b/classnixf_1_1Formal__coll__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/classnixf_1_1Formal__coll__graph.md5 b/classnixf_1_1Formal__coll__graph.md5 new file mode 100644 index 000000000..0dc0c36ef --- /dev/null +++ b/classnixf_1_1Formal__coll__graph.md5 @@ -0,0 +1 @@ +44fe3ae888c0d3c7f7b188c23344aa6a \ No newline at end of file diff --git a/classnixf_1_1Formal__coll__graph.svg b/classnixf_1_1Formal__coll__graph.svg new file mode 100644 index 000000000..9745fbefa --- /dev/null +++ b/classnixf_1_1Formal__coll__graph.svg @@ -0,0 +1,39 @@ + + + + + + +nixf::Formal + + +Node1 + + +nixf::Formal + + + + + +Node2 + + +nixf::Node + + + + + +Node2->Node1 + + + + + + + + diff --git a/classnixf_1_1Formal__inherit__graph.map b/classnixf_1_1Formal__inherit__graph.map new file mode 100644 index 000000000..14a3b2cec --- /dev/null +++ b/classnixf_1_1Formal__inherit__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/classnixf_1_1Formal__inherit__graph.md5 b/classnixf_1_1Formal__inherit__graph.md5 new file mode 100644 index 000000000..0dc0c36ef --- /dev/null +++ b/classnixf_1_1Formal__inherit__graph.md5 @@ -0,0 +1 @@ +44fe3ae888c0d3c7f7b188c23344aa6a \ No newline at end of file diff --git a/classnixf_1_1Formal__inherit__graph.svg b/classnixf_1_1Formal__inherit__graph.svg new file mode 100644 index 000000000..9745fbefa --- /dev/null +++ b/classnixf_1_1Formal__inherit__graph.svg @@ -0,0 +1,39 @@ + + + + + + +nixf::Formal + + +Node1 + + +nixf::Formal + + + + + +Node2 + + +nixf::Node + + + + + +Node2->Node1 + + + + + + + + diff --git a/classnixf_1_1Formals-members.html b/classnixf_1_1Formals-members.html new file mode 100644 index 000000000..f550fd4e7 --- /dev/null +++ b/classnixf_1_1Formals-members.html @@ -0,0 +1,111 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
nixf::Formals Member List
+
+
+ +

This is the complete list of members for nixf::Formals, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + +
children() const overridenixf::Formalsinlinevirtual
ChildVector typedefnixf::Node
dedup()nixf::Formalsinline
dedup() constnixf::Formalsinline
descend(PositionRange Range) constnixf::Nodeinline
Formals(LexerCursorRange Range, FormalVector Members, std::map< std::string, const Formal * > Dedup)nixf::Formalsinline
FormalVector typedefnixf::Formals
kind() constnixf::Nodeinline
lCur() constnixf::Nodeinline
members() constnixf::Formalsinline
name(NodeKind Kind)nixf::Nodestatic
name() constnixf::Nodeinline
NK_BeginExpr enum valuenixf::Node
NK_EndExpr enum valuenixf::Node
Node(NodeKind Kind, LexerCursorRange Range)nixf::Nodeinlineexplicitprotected
NodeKind enum namenixf::Node
positionRange() constnixf::Nodeinline
range() constnixf::Nodeinline
rCur() constnixf::Nodeinline
src(std::string_view Src) constnixf::Nodeinline
~Node()=defaultnixf::Nodevirtual
+ + + + diff --git a/classnixf_1_1Formals.html b/classnixf_1_1Formals.html new file mode 100644 index 000000000..7ae0bee12 --- /dev/null +++ b/classnixf_1_1Formals.html @@ -0,0 +1,340 @@ + + + + + + + +nixd: nixf::Formals Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
nixf::Formals Class Reference
+
+
+ +

Lambda formal arguments. + More...

+ +

#include <Lambda.h>

+
+Inheritance diagram for nixf::Formals:
+
+
+
[legend]
+
+Collaboration diagram for nixf::Formals:
+
+
+
[legend]
+ + + + + + + + + +

+Public Types

using FormalVector = std::vector<std::shared_ptr<Formal>>
 
- Public Types inherited from nixf::Node
enum  NodeKind { NK_BeginExpr +, NK_EndExpr + }
 
using ChildVector = boost::container::small_vector<Node *, 8>
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 Formals (LexerCursorRange Range, FormalVector Members, std::map< std::string, const Formal * > Dedup)
 
const FormalVectormembers () const
 
const std::map< std::string, const Formal * > & dedup ()
 Deduplicated formals.
 
const std::map< std::string, const Formal * > & dedup () const
 
ChildVector children () const override
 
- Public Member Functions inherited from nixf::Node
NodeKind kind () const
 
LexerCursorRange range () const
 
PositionRange positionRange () const
 
LexerCursor lCur () const
 
LexerCursor rCur () const
 
const char * name () const
 
virtual ~Node ()=default
 
const Nodedescend (PositionRange Range) const
 Descendant node that contains the given range.
 
std::string_view src (std::string_view Src) const
 
+ + + + + + + +

+Additional Inherited Members

- Static Public Member Functions inherited from nixf::Node
static const char * name (NodeKind Kind)
 
- Protected Member Functions inherited from nixf::Node
 Node (NodeKind Kind, LexerCursorRange Range)
 
+

Detailed Description

+

Lambda formal arguments.

+

Things to check:

    +
  1. Ellipsis can only occur at the end of the formals. { ..., pkgs } -> { pkgs, ... }
  2. +
  3. Ellipsis can only occur once. { b, ..., a, ... } -> { a, ... }
  4. +
+ +

Definition at line 58 of file Lambda.h.

+

Member Typedef Documentation

+ +

◆ FormalVector

+ +
+
+ + + + +
using nixf::Formals::FormalVector = std::vector<std::shared_ptr<Formal>>
+
+ +

Definition at line 65 of file Lambda.h.

+ +
+
+

Constructor & Destructor Documentation

+ +

◆ Formals()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + +
nixf::Formals::Formals (LexerCursorRange Range,
FormalVector Members,
std::map< std::string, const Formal * > Dedup )
+
+inline
+
+ +

Definition at line 66 of file Lambda.h.

+ +
+
+

Member Function Documentation

+ +

◆ children()

+ +
+
+ + + + + +
+ + + + + + + +
ChildVector nixf::Formals::children () const
+
+inlineoverridevirtual
+
+ +

Implements nixf::Node.

+ +

Definition at line 80 of file Lambda.h.

+ +
+
+ +

◆ dedup() [1/2]

+ +
+
+ + + + + +
+ + + + + + + +
const std::map< std::string, const Formal * > & nixf::Formals::dedup ()
+
+inline
+
+ +

Deduplicated formals.

+ +

Definition at line 74 of file Lambda.h.

+ +
+
+ +

◆ dedup() [2/2]

+ +
+
+ + + + + +
+ + + + + + + +
const std::map< std::string, const Formal * > & nixf::Formals::dedup () const
+
+inline
+
+ +

Definition at line 76 of file Lambda.h.

+ +
+
+ +

◆ members()

+ +
+
+ + + + + +
+ + + + + + + +
const FormalVector & nixf::Formals::members () const
+
+inline
+
+ +

Definition at line 71 of file Lambda.h.

+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/classnixf_1_1Formals__coll__graph.map b/classnixf_1_1Formals__coll__graph.map new file mode 100644 index 000000000..54b81ae49 --- /dev/null +++ b/classnixf_1_1Formals__coll__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/classnixf_1_1Formals__coll__graph.md5 b/classnixf_1_1Formals__coll__graph.md5 new file mode 100644 index 000000000..46231e4f8 --- /dev/null +++ b/classnixf_1_1Formals__coll__graph.md5 @@ -0,0 +1 @@ +65facec5dfd63d22e086bfdbe9919ec3 \ No newline at end of file diff --git a/classnixf_1_1Formals__coll__graph.svg b/classnixf_1_1Formals__coll__graph.svg new file mode 100644 index 000000000..d0a2c5205 --- /dev/null +++ b/classnixf_1_1Formals__coll__graph.svg @@ -0,0 +1,39 @@ + + + + + + +nixf::Formals + + +Node1 + + +nixf::Formals + + + + + +Node2 + + +nixf::Node + + + + + +Node2->Node1 + + + + + + + + diff --git a/classnixf_1_1Formals__inherit__graph.map b/classnixf_1_1Formals__inherit__graph.map new file mode 100644 index 000000000..54b81ae49 --- /dev/null +++ b/classnixf_1_1Formals__inherit__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/classnixf_1_1Formals__inherit__graph.md5 b/classnixf_1_1Formals__inherit__graph.md5 new file mode 100644 index 000000000..46231e4f8 --- /dev/null +++ b/classnixf_1_1Formals__inherit__graph.md5 @@ -0,0 +1 @@ +65facec5dfd63d22e086bfdbe9919ec3 \ No newline at end of file diff --git a/classnixf_1_1Formals__inherit__graph.svg b/classnixf_1_1Formals__inherit__graph.svg new file mode 100644 index 000000000..d0a2c5205 --- /dev/null +++ b/classnixf_1_1Formals__inherit__graph.svg @@ -0,0 +1,39 @@ + + + + + + +nixf::Formals + + +Node1 + + +nixf::Formals + + + + + +Node2 + + +nixf::Node + + + + + +Node2->Node1 + + + + + + + + diff --git a/classnixf_1_1Identifier-members.html b/classnixf_1_1Identifier-members.html new file mode 100644 index 000000000..9382e6e8a --- /dev/null +++ b/classnixf_1_1Identifier-members.html @@ -0,0 +1,107 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
nixf::Identifier Member List
+
+
+ +

This is the complete list of members for nixf::Identifier, including all inherited members.

+ + + + + + + + + + + + + + + + + + +
children() const overridenixf::Identifierinlinevirtual
ChildVector typedefnixf::Node
descend(PositionRange Range) constnixf::Nodeinline
Identifier(LexerCursorRange Range, std::string Name)nixf::Identifierinline
kind() constnixf::Nodeinline
lCur() constnixf::Nodeinline
name() constnixf::Identifierinline
nixf::Node::name(NodeKind Kind)nixf::Nodestatic
NK_BeginExpr enum valuenixf::Node
NK_EndExpr enum valuenixf::Node
Node(NodeKind Kind, LexerCursorRange Range)nixf::Nodeinlineexplicitprotected
NodeKind enum namenixf::Node
positionRange() constnixf::Nodeinline
range() constnixf::Nodeinline
rCur() constnixf::Nodeinline
src(std::string_view Src) constnixf::Nodeinline
~Node()=defaultnixf::Nodevirtual
+ + + + diff --git a/classnixf_1_1Identifier.html b/classnixf_1_1Identifier.html new file mode 100644 index 000000000..c22b1ce1a --- /dev/null +++ b/classnixf_1_1Identifier.html @@ -0,0 +1,249 @@ + + + + + + + +nixd: nixf::Identifier Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
nixf::Identifier Class Reference
+
+
+ +

Identifier. Variable names, attribute names, etc. + More...

+ +

#include <Basic.h>

+
+Inheritance diagram for nixf::Identifier:
+
+
+
[legend]
+
+Collaboration diagram for nixf::Identifier:
+
+
+
[legend]
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 Identifier (LexerCursorRange Range, std::string Name)
 
const std::string & name () const
 
ChildVector children () const override
 
- Public Member Functions inherited from nixf::Node
NodeKind kind () const
 
LexerCursorRange range () const
 
PositionRange positionRange () const
 
LexerCursor lCur () const
 
LexerCursor rCur () const
 
const char * name () const
 
virtual ~Node ()=default
 
const Nodedescend (PositionRange Range) const
 Descendant node that contains the given range.
 
std::string_view src (std::string_view Src) const
 
+ + + + + + + + + + + + +

+Additional Inherited Members

- Public Types inherited from nixf::Node
enum  NodeKind { NK_BeginExpr +, NK_EndExpr + }
 
using ChildVector = boost::container::small_vector<Node *, 8>
 
- Static Public Member Functions inherited from nixf::Node
static const char * name (NodeKind Kind)
 
- Protected Member Functions inherited from nixf::Node
 Node (NodeKind Kind, LexerCursorRange Range)
 
+

Detailed Description

+

Identifier. Variable names, attribute names, etc.

+ +

Definition at line 114 of file Basic.h.

+

Constructor & Destructor Documentation

+ +

◆ Identifier()

+ +
+
+ + + + + +
+ + + + + + + + + + + +
nixf::Identifier::Identifier (LexerCursorRange Range,
std::string Name )
+
+inline
+
+ +

Definition at line 118 of file Basic.h.

+ +
+
+

Member Function Documentation

+ +

◆ children()

+ +
+
+ + + + + +
+ + + + + + + +
ChildVector nixf::Identifier::children () const
+
+inlineoverridevirtual
+
+ +

Implements nixf::Node.

+ +

Definition at line 122 of file Basic.h.

+ +
+
+ +

◆ name()

+ +
+
+ + + + + +
+ + + + + + + +
const std::string & nixf::Identifier::name () const
+
+inline
+
+ +

Definition at line 120 of file Basic.h.

+ +

Referenced by nixf::Sema::dedupFormal().

+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/classnixf_1_1Identifier__coll__graph.map b/classnixf_1_1Identifier__coll__graph.map new file mode 100644 index 000000000..6d1ba5895 --- /dev/null +++ b/classnixf_1_1Identifier__coll__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/classnixf_1_1Identifier__coll__graph.md5 b/classnixf_1_1Identifier__coll__graph.md5 new file mode 100644 index 000000000..332674686 --- /dev/null +++ b/classnixf_1_1Identifier__coll__graph.md5 @@ -0,0 +1 @@ +d25f78955f8259ba65342c66f0ba76a0 \ No newline at end of file diff --git a/classnixf_1_1Identifier__coll__graph.svg b/classnixf_1_1Identifier__coll__graph.svg new file mode 100644 index 000000000..2d9194013 --- /dev/null +++ b/classnixf_1_1Identifier__coll__graph.svg @@ -0,0 +1,39 @@ + + + + + + +nixf::Identifier + + +Node1 + + +nixf::Identifier + + + + + +Node2 + + +nixf::Node + + + + + +Node2->Node1 + + + + + + + + diff --git a/classnixf_1_1Identifier__inherit__graph.map b/classnixf_1_1Identifier__inherit__graph.map new file mode 100644 index 000000000..6d1ba5895 --- /dev/null +++ b/classnixf_1_1Identifier__inherit__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/classnixf_1_1Identifier__inherit__graph.md5 b/classnixf_1_1Identifier__inherit__graph.md5 new file mode 100644 index 000000000..332674686 --- /dev/null +++ b/classnixf_1_1Identifier__inherit__graph.md5 @@ -0,0 +1 @@ +d25f78955f8259ba65342c66f0ba76a0 \ No newline at end of file diff --git a/classnixf_1_1Identifier__inherit__graph.svg b/classnixf_1_1Identifier__inherit__graph.svg new file mode 100644 index 000000000..2d9194013 --- /dev/null +++ b/classnixf_1_1Identifier__inherit__graph.svg @@ -0,0 +1,39 @@ + + + + + + +nixf::Identifier + + +Node1 + + +nixf::Identifier + + + + + +Node2 + + +nixf::Node + + + + + +Node2->Node1 + + + + + + + + diff --git a/classnixf_1_1Inherit-members.html b/classnixf_1_1Inherit-members.html new file mode 100644 index 000000000..dcd439039 --- /dev/null +++ b/classnixf_1_1Inherit-members.html @@ -0,0 +1,111 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
nixf::Inherit Member List
+
+
+ +

This is the complete list of members for nixf::Inherit, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + +
children() const overridenixf::Inheritinlinevirtual
ChildVector typedefnixf::Node
descend(PositionRange Range) constnixf::Nodeinline
expr()nixf::Inheritinline
expr() constnixf::Inheritinline
hasExpr()nixf::Inheritinline
Inherit(LexerCursorRange Range, std::vector< std::shared_ptr< AttrName > > Names, std::shared_ptr< Expr > E)nixf::Inheritinline
kind() constnixf::Nodeinline
lCur() constnixf::Nodeinline
name(NodeKind Kind)nixf::Nodestatic
name() constnixf::Nodeinline
names() constnixf::Inheritinline
NK_BeginExpr enum valuenixf::Node
NK_EndExpr enum valuenixf::Node
Node(NodeKind Kind, LexerCursorRange Range)nixf::Nodeinlineexplicitprotected
NodeKind enum namenixf::Node
positionRange() constnixf::Nodeinline
range() constnixf::Nodeinline
rCur() constnixf::Nodeinline
src(std::string_view Src) constnixf::Nodeinline
~Node()=defaultnixf::Nodevirtual
+ + + + diff --git a/classnixf_1_1Inherit.html b/classnixf_1_1Inherit.html new file mode 100644 index 000000000..f97c44d94 --- /dev/null +++ b/classnixf_1_1Inherit.html @@ -0,0 +1,339 @@ + + + + + + + +nixd: nixf::Inherit Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
nixf::Inherit Class Reference
+
+
+ +

#include <Attrs.h>

+
+Inheritance diagram for nixf::Inherit:
+
+
+
[legend]
+
+Collaboration diagram for nixf::Inherit:
+
+
+
[legend]
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 Inherit (LexerCursorRange Range, std::vector< std::shared_ptr< AttrName > > Names, std::shared_ptr< Expr > E)
 
const std::vector< std::shared_ptr< AttrName > > & names () const
 
bool hasExpr ()
 
std::shared_ptr< Expr > & expr ()
 
const std::shared_ptr< Expr > & expr () const
 
ChildVector children () const override
 
- Public Member Functions inherited from nixf::Node
NodeKind kind () const
 
LexerCursorRange range () const
 
PositionRange positionRange () const
 
LexerCursor lCur () const
 
LexerCursor rCur () const
 
const char * name () const
 
virtual ~Node ()=default
 
const Nodedescend (PositionRange Range) const
 Descendant node that contains the given range.
 
std::string_view src (std::string_view Src) const
 
+ + + + + + + + + + + + +

+Additional Inherited Members

- Public Types inherited from nixf::Node
enum  NodeKind { NK_BeginExpr +, NK_EndExpr + }
 
using ChildVector = boost::container::small_vector<Node *, 8>
 
- Static Public Member Functions inherited from nixf::Node
static const char * name (NodeKind Kind)
 
- Protected Member Functions inherited from nixf::Node
 Node (NodeKind Kind, LexerCursorRange Range)
 
+

Detailed Description

+
+

Definition at line 144 of file Attrs.h.

+

Constructor & Destructor Documentation

+ +

◆ Inherit()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + +
nixf::Inherit::Inherit (LexerCursorRange Range,
std::vector< std::shared_ptr< AttrName > > Names,
std::shared_ptr< Expr > E )
+
+inline
+
+ +

Definition at line 149 of file Attrs.h.

+ +
+
+

Member Function Documentation

+ +

◆ children()

+ +
+
+ + + + + +
+ + + + + + + +
ChildVector nixf::Inherit::children () const
+
+inlineoverridevirtual
+
+ +

Implements nixf::Node.

+ +

Definition at line 163 of file Attrs.h.

+ +
+
+ +

◆ expr() [1/2]

+ +
+
+ + + + + +
+ + + + + + + +
std::shared_ptr< Expr > & nixf::Inherit::expr ()
+
+inline
+
+ +

Definition at line 159 of file Attrs.h.

+ +

Referenced by nixf::Sema::lowerInherit().

+ +
+
+ +

◆ expr() [2/2]

+ +
+
+ + + + + +
+ + + + + + + +
const std::shared_ptr< Expr > & nixf::Inherit::expr () const
+
+inline
+
+ +

Definition at line 161 of file Attrs.h.

+ +
+
+ +

◆ hasExpr()

+ +
+
+ + + + + +
+ + + + + + + +
bool nixf::Inherit::hasExpr ()
+
+inline
+
+ +

Definition at line 157 of file Attrs.h.

+ +
+
+ +

◆ names()

+ +
+
+ + + + + +
+ + + + + + + +
const std::vector< std::shared_ptr< AttrName > > & nixf::Inherit::names () const
+
+inline
+
+ +

Definition at line 153 of file Attrs.h.

+ +

Referenced by nixf::Sema::lowerInherit().

+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/classnixf_1_1Inherit__coll__graph.map b/classnixf_1_1Inherit__coll__graph.map new file mode 100644 index 000000000..678dbc331 --- /dev/null +++ b/classnixf_1_1Inherit__coll__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/classnixf_1_1Inherit__coll__graph.md5 b/classnixf_1_1Inherit__coll__graph.md5 new file mode 100644 index 000000000..1232cbb44 --- /dev/null +++ b/classnixf_1_1Inherit__coll__graph.md5 @@ -0,0 +1 @@ +e4f37b47d8e09d735d12248cd8da4dda \ No newline at end of file diff --git a/classnixf_1_1Inherit__coll__graph.svg b/classnixf_1_1Inherit__coll__graph.svg new file mode 100644 index 000000000..a776af6f9 --- /dev/null +++ b/classnixf_1_1Inherit__coll__graph.svg @@ -0,0 +1,39 @@ + + + + + + +nixf::Inherit + + +Node1 + + +nixf::Inherit + + + + + +Node2 + + +nixf::Node + + + + + +Node2->Node1 + + + + + + + + diff --git a/classnixf_1_1Inherit__inherit__graph.map b/classnixf_1_1Inherit__inherit__graph.map new file mode 100644 index 000000000..678dbc331 --- /dev/null +++ b/classnixf_1_1Inherit__inherit__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/classnixf_1_1Inherit__inherit__graph.md5 b/classnixf_1_1Inherit__inherit__graph.md5 new file mode 100644 index 000000000..1232cbb44 --- /dev/null +++ b/classnixf_1_1Inherit__inherit__graph.md5 @@ -0,0 +1 @@ +e4f37b47d8e09d735d12248cd8da4dda \ No newline at end of file diff --git a/classnixf_1_1Inherit__inherit__graph.svg b/classnixf_1_1Inherit__inherit__graph.svg new file mode 100644 index 000000000..a776af6f9 --- /dev/null +++ b/classnixf_1_1Inherit__inherit__graph.svg @@ -0,0 +1,39 @@ + + + + + + +nixf::Inherit + + +Node1 + + +nixf::Inherit + + + + + +Node2 + + +nixf::Node + + + + + +Node2->Node1 + + + + + + + + diff --git a/classnixf_1_1InterpolablePart-members.html b/classnixf_1_1InterpolablePart-members.html new file mode 100644 index 000000000..683fcacb4 --- /dev/null +++ b/classnixf_1_1InterpolablePart-members.html @@ -0,0 +1,98 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
nixf::InterpolablePart Member List
+
+
+ +

This is the complete list of members for nixf::InterpolablePart, including all inherited members.

+ + + + + + + + + +
escaped() constnixf::InterpolablePartinline
InterpolablePart(std::string Escaped)nixf::InterpolablePartinlineexplicit
InterpolablePart(std::shared_ptr< Interpolation > Interp)nixf::InterpolablePartinlineexplicit
InterpolablePartKind enum namenixf::InterpolablePart
interpolation() constnixf::InterpolablePartinline
kind() constnixf::InterpolablePartinline
SPK_Escaped enum valuenixf::InterpolablePart
SPK_Interpolation enum valuenixf::InterpolablePart
+ + + + diff --git a/classnixf_1_1InterpolablePart.html b/classnixf_1_1InterpolablePart.html new file mode 100644 index 000000000..32bf6c908 --- /dev/null +++ b/classnixf_1_1InterpolablePart.html @@ -0,0 +1,282 @@ + + + + + + + +nixd: nixf::InterpolablePart Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
nixf::InterpolablePart Class Reference
+
+
+ +

#include <Simple.h>

+ + + + +

+Public Types

enum  InterpolablePartKind { SPK_Escaped +, SPK_Interpolation + }
 
+ + + + + + + + + + + +

+Public Member Functions

 InterpolablePart (std::string Escaped)
 
 InterpolablePart (std::shared_ptr< Interpolation > Interp)
 
InterpolablePartKind kind () const
 
const std::string & escaped () const
 
Interpolationinterpolation () const
 
+

Detailed Description

+
+

Definition at line 50 of file Simple.h.

+

Member Enumeration Documentation

+ +

◆ InterpolablePartKind

+ +
+
+ + + +
Enumerator
SPK_Escaped 
SPK_Interpolation 
+ +

Definition at line 52 of file Simple.h.

+ +
+
+

Constructor & Destructor Documentation

+ +

◆ InterpolablePart() [1/2]

+ +
+
+ + + + + +
+ + + + + + + +
nixf::InterpolablePart::InterpolablePart (std::string Escaped)
+
+inlineexplicit
+
+ +

Definition at line 63 of file Simple.h.

+ +
+
+ +

◆ InterpolablePart() [2/2]

+ +
+
+ + + + + +
+ + + + + + + +
nixf::InterpolablePart::InterpolablePart (std::shared_ptr< Interpolation > Interp)
+
+inlineexplicit
+
+ +

Definition at line 66 of file Simple.h.

+ +
+
+

Member Function Documentation

+ +

◆ escaped()

+ +
+
+ + + + + +
+ + + + + + + +
const std::string & nixf::InterpolablePart::escaped () const
+
+inline
+
+ +

Definition at line 73 of file Simple.h.

+ +

References SPK_Escaped.

+ +
+
+ +

◆ interpolation()

+ +
+
+ + + + + +
+ + + + + + + +
Interpolation & nixf::InterpolablePart::interpolation () const
+
+inline
+
+ +

Definition at line 78 of file Simple.h.

+ +

References SPK_Interpolation.

+ +
+
+ +

◆ kind()

+ +
+
+ + + + + +
+ + + + + + + +
InterpolablePartKind nixf::InterpolablePart::kind () const
+
+inline
+
+ +

Definition at line 71 of file Simple.h.

+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/classnixf_1_1InterpolatedParts-members.html b/classnixf_1_1InterpolatedParts-members.html new file mode 100644 index 000000000..30f8ffc42 --- /dev/null +++ b/classnixf_1_1InterpolatedParts-members.html @@ -0,0 +1,110 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
nixf::InterpolatedParts Member List
+
+
+ +

This is the complete list of members for nixf::InterpolatedParts, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + +
children() const overridenixf::InterpolatedPartsinlinevirtual
ChildVector typedefnixf::Node
descend(PositionRange Range) constnixf::Nodeinline
fragments() constnixf::InterpolatedPartsinline
InterpolatedParts(LexerCursorRange Range, std::vector< InterpolablePart > Fragments)nixf::InterpolatedParts
isLiteral() constnixf::InterpolatedPartsinline
kind() constnixf::Nodeinline
lCur() constnixf::Nodeinline
literal() constnixf::InterpolatedPartsinline
name(NodeKind Kind)nixf::Nodestatic
name() constnixf::Nodeinline
NK_BeginExpr enum valuenixf::Node
NK_EndExpr enum valuenixf::Node
Node(NodeKind Kind, LexerCursorRange Range)nixf::Nodeinlineexplicitprotected
NodeKind enum namenixf::Node
positionRange() constnixf::Nodeinline
range() constnixf::Nodeinline
rCur() constnixf::Nodeinline
src(std::string_view Src) constnixf::Nodeinline
~Node()=defaultnixf::Nodevirtual
+ + + + diff --git a/classnixf_1_1InterpolatedParts.html b/classnixf_1_1InterpolatedParts.html new file mode 100644 index 000000000..6847bd72b --- /dev/null +++ b/classnixf_1_1InterpolatedParts.html @@ -0,0 +1,302 @@ + + + + + + + +nixd: nixf::InterpolatedParts Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
nixf::InterpolatedParts Class Reference
+
+
+ +

#include <Simple.h>

+
+Inheritance diagram for nixf::InterpolatedParts:
+
+
+
[legend]
+
+Collaboration diagram for nixf::InterpolatedParts:
+
+
+
[legend]
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 InterpolatedParts (LexerCursorRange Range, std::vector< InterpolablePart > Fragments)
 
const std::vector< InterpolablePart > & fragments () const
 
bool isLiteral () const
 
const std::string & literal () const
 
ChildVector children () const override
 
- Public Member Functions inherited from nixf::Node
NodeKind kind () const
 
LexerCursorRange range () const
 
PositionRange positionRange () const
 
LexerCursor lCur () const
 
LexerCursor rCur () const
 
const char * name () const
 
virtual ~Node ()=default
 
const Nodedescend (PositionRange Range) const
 Descendant node that contains the given range.
 
std::string_view src (std::string_view Src) const
 
+ + + + + + + + + + + + +

+Additional Inherited Members

- Public Types inherited from nixf::Node
enum  NodeKind { NK_BeginExpr +, NK_EndExpr + }
 
using ChildVector = boost::container::small_vector<Node *, 8>
 
- Static Public Member Functions inherited from nixf::Node
static const char * name (NodeKind Kind)
 
- Protected Member Functions inherited from nixf::Node
 Node (NodeKind Kind, LexerCursorRange Range)
 
+

Detailed Description

+
+

Definition at line 85 of file Simple.h.

+

Constructor & Destructor Documentation

+ +

◆ InterpolatedParts()

+ +
+
+ + + + + + + + + + + +
nixf::InterpolatedParts::InterpolatedParts (LexerCursorRange Range,
std::vector< InterpolablePart > Fragments )
+
+ +

Definition at line 23 of file Nodes.cpp.

+ +

References nixf::InterpolablePart::SPK_Escaped, and nixf::InterpolablePart::SPK_Interpolation.

+ +
+
+

Member Function Documentation

+ +

◆ children()

+ +
+
+ + + + + +
+ + + + + + + +
ChildVector nixf::InterpolatedParts::children () const
+
+inlineoverridevirtual
+
+ +

Implements nixf::Node.

+ +

Definition at line 106 of file Simple.h.

+ +
+
+ +

◆ fragments()

+ +
+
+ + + + + +
+ + + + + + + +
const std::vector< InterpolablePart > & nixf::InterpolatedParts::fragments () const
+
+inline
+
+ +

Definition at line 92 of file Simple.h.

+ +
+
+ +

◆ isLiteral()

+ +
+
+ + + + + +
+ + + + + + + +
bool nixf::InterpolatedParts::isLiteral () const
+
+inline
+
+ +

Definition at line 96 of file Simple.h.

+ +

References nixf::InterpolablePart::SPK_Escaped.

+ +

Referenced by literal().

+ +
+
+ +

◆ literal()

+ +
+
+ + + + + +
+ + + + + + + +
const std::string & nixf::InterpolatedParts::literal () const
+
+inline
+
+ +

Definition at line 101 of file Simple.h.

+ +

References isLiteral().

+ +
+
+
The documentation for this class was generated from the following files: +
+ + + + diff --git a/classnixf_1_1InterpolatedParts__coll__graph.map b/classnixf_1_1InterpolatedParts__coll__graph.map new file mode 100644 index 000000000..5dbf3b2c6 --- /dev/null +++ b/classnixf_1_1InterpolatedParts__coll__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/classnixf_1_1InterpolatedParts__coll__graph.md5 b/classnixf_1_1InterpolatedParts__coll__graph.md5 new file mode 100644 index 000000000..e50a626dc --- /dev/null +++ b/classnixf_1_1InterpolatedParts__coll__graph.md5 @@ -0,0 +1 @@ +47cfcc0c961e90f7243136ecd0ec0624 \ No newline at end of file diff --git a/classnixf_1_1InterpolatedParts__coll__graph.svg b/classnixf_1_1InterpolatedParts__coll__graph.svg new file mode 100644 index 000000000..922aababb --- /dev/null +++ b/classnixf_1_1InterpolatedParts__coll__graph.svg @@ -0,0 +1,39 @@ + + + + + + +nixf::InterpolatedParts + + +Node1 + + +nixf::InterpolatedParts + + + + + +Node2 + + +nixf::Node + + + + + +Node2->Node1 + + + + + + + + diff --git a/classnixf_1_1InterpolatedParts__inherit__graph.map b/classnixf_1_1InterpolatedParts__inherit__graph.map new file mode 100644 index 000000000..5dbf3b2c6 --- /dev/null +++ b/classnixf_1_1InterpolatedParts__inherit__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/classnixf_1_1InterpolatedParts__inherit__graph.md5 b/classnixf_1_1InterpolatedParts__inherit__graph.md5 new file mode 100644 index 000000000..e50a626dc --- /dev/null +++ b/classnixf_1_1InterpolatedParts__inherit__graph.md5 @@ -0,0 +1 @@ +47cfcc0c961e90f7243136ecd0ec0624 \ No newline at end of file diff --git a/classnixf_1_1InterpolatedParts__inherit__graph.svg b/classnixf_1_1InterpolatedParts__inherit__graph.svg new file mode 100644 index 000000000..922aababb --- /dev/null +++ b/classnixf_1_1InterpolatedParts__inherit__graph.svg @@ -0,0 +1,39 @@ + + + + + + +nixf::InterpolatedParts + + +Node1 + + +nixf::InterpolatedParts + + + + + +Node2 + + +nixf::Node + + + + + +Node2->Node1 + + + + + + + + diff --git a/classnixf_1_1Interpolation-members.html b/classnixf_1_1Interpolation-members.html new file mode 100644 index 000000000..b12327495 --- /dev/null +++ b/classnixf_1_1Interpolation-members.html @@ -0,0 +1,108 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
nixf::Interpolation Member List
+
+
+ +

This is the complete list of members for nixf::Interpolation, including all inherited members.

+ + + + + + + + + + + + + + + + + + + +
children() const overridenixf::Interpolationinlinevirtual
ChildVector typedefnixf::Node
descend(PositionRange Range) constnixf::Nodeinline
expr() constnixf::Interpolationinline
Interpolation(LexerCursorRange Range, std::shared_ptr< Expr > E)nixf::Interpolationinline
kind() constnixf::Nodeinline
lCur() constnixf::Nodeinline
name(NodeKind Kind)nixf::Nodestatic
name() constnixf::Nodeinline
NK_BeginExpr enum valuenixf::Node
NK_EndExpr enum valuenixf::Node
Node(NodeKind Kind, LexerCursorRange Range)nixf::Nodeinlineexplicitprotected
NodeKind enum namenixf::Node
positionRange() constnixf::Nodeinline
range() constnixf::Nodeinline
rCur() constnixf::Nodeinline
src(std::string_view Src) constnixf::Nodeinline
~Node()=defaultnixf::Nodevirtual
+ + + + diff --git a/classnixf_1_1Interpolation.html b/classnixf_1_1Interpolation.html new file mode 100644 index 000000000..ffdd5656d --- /dev/null +++ b/classnixf_1_1Interpolation.html @@ -0,0 +1,247 @@ + + + + + + + +nixd: nixf::Interpolation Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
nixf::Interpolation Class Reference
+
+
+ +

${expr} construct + More...

+ +

#include <Simple.h>

+
+Inheritance diagram for nixf::Interpolation:
+
+
+
[legend]
+
+Collaboration diagram for nixf::Interpolation:
+
+
+
[legend]
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 Interpolation (LexerCursorRange Range, std::shared_ptr< Expr > E)
 
Exprexpr () const
 
ChildVector children () const override
 
- Public Member Functions inherited from nixf::Node
NodeKind kind () const
 
LexerCursorRange range () const
 
PositionRange positionRange () const
 
LexerCursor lCur () const
 
LexerCursor rCur () const
 
const char * name () const
 
virtual ~Node ()=default
 
const Nodedescend (PositionRange Range) const
 Descendant node that contains the given range.
 
std::string_view src (std::string_view Src) const
 
+ + + + + + + + + + + + +

+Additional Inherited Members

- Public Types inherited from nixf::Node
enum  NodeKind { NK_BeginExpr +, NK_EndExpr + }
 
using ChildVector = boost::container::small_vector<Node *, 8>
 
- Static Public Member Functions inherited from nixf::Node
static const char * name (NodeKind Kind)
 
- Protected Member Functions inherited from nixf::Node
 Node (NodeKind Kind, LexerCursorRange Range)
 
+

Detailed Description

+

${expr} construct

+ +

Definition at line 38 of file Simple.h.

+

Constructor & Destructor Documentation

+ +

◆ Interpolation()

+ +
+
+ + + + + +
+ + + + + + + + + + + +
nixf::Interpolation::Interpolation (LexerCursorRange Range,
std::shared_ptr< Expr > E )
+
+inline
+
+ +

Definition at line 42 of file Simple.h.

+ +
+
+

Member Function Documentation

+ +

◆ children()

+ +
+
+ + + + + +
+ + + + + + + +
ChildVector nixf::Interpolation::children () const
+
+inlineoverridevirtual
+
+ +

Implements nixf::Node.

+ +

Definition at line 47 of file Simple.h.

+ +
+
+ +

◆ expr()

+ +
+
+ + + + + +
+ + + + + + + +
Expr * nixf::Interpolation::expr () const
+
+inline
+
+ +

Definition at line 45 of file Simple.h.

+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/classnixf_1_1Interpolation__coll__graph.map b/classnixf_1_1Interpolation__coll__graph.map new file mode 100644 index 000000000..de5e1ff40 --- /dev/null +++ b/classnixf_1_1Interpolation__coll__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/classnixf_1_1Interpolation__coll__graph.md5 b/classnixf_1_1Interpolation__coll__graph.md5 new file mode 100644 index 000000000..9e07fef9b --- /dev/null +++ b/classnixf_1_1Interpolation__coll__graph.md5 @@ -0,0 +1 @@ +23ed2544770c63af06eea808c7845149 \ No newline at end of file diff --git a/classnixf_1_1Interpolation__coll__graph.svg b/classnixf_1_1Interpolation__coll__graph.svg new file mode 100644 index 000000000..66803a8d0 --- /dev/null +++ b/classnixf_1_1Interpolation__coll__graph.svg @@ -0,0 +1,39 @@ + + + + + + +nixf::Interpolation + + +Node1 + + +nixf::Interpolation + + + + + +Node2 + + +nixf::Node + + + + + +Node2->Node1 + + + + + + + + diff --git a/classnixf_1_1Interpolation__inherit__graph.map b/classnixf_1_1Interpolation__inherit__graph.map new file mode 100644 index 000000000..de5e1ff40 --- /dev/null +++ b/classnixf_1_1Interpolation__inherit__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/classnixf_1_1Interpolation__inherit__graph.md5 b/classnixf_1_1Interpolation__inherit__graph.md5 new file mode 100644 index 000000000..9e07fef9b --- /dev/null +++ b/classnixf_1_1Interpolation__inherit__graph.md5 @@ -0,0 +1 @@ +23ed2544770c63af06eea808c7845149 \ No newline at end of file diff --git a/classnixf_1_1Interpolation__inherit__graph.svg b/classnixf_1_1Interpolation__inherit__graph.svg new file mode 100644 index 000000000..66803a8d0 --- /dev/null +++ b/classnixf_1_1Interpolation__inherit__graph.svg @@ -0,0 +1,39 @@ + + + + + + +nixf::Interpolation + + +Node1 + + +nixf::Interpolation + + + + + +Node2 + + +nixf::Node + + + + + +Node2->Node1 + + + + + + + + diff --git a/classnixf_1_1LambdaArg-members.html b/classnixf_1_1LambdaArg-members.html new file mode 100644 index 000000000..769c5f9d0 --- /dev/null +++ b/classnixf_1_1LambdaArg-members.html @@ -0,0 +1,109 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
nixf::LambdaArg Member List
+
+
+ +

This is the complete list of members for nixf::LambdaArg, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + +
children() const overridenixf::LambdaArginlinevirtual
ChildVector typedefnixf::Node
descend(PositionRange Range) constnixf::Nodeinline
formals() constnixf::LambdaArginline
id()nixf::LambdaArginline
kind() constnixf::Nodeinline
LambdaArg(LexerCursorRange Range, std::shared_ptr< Identifier > ID, std::shared_ptr< Formals > F)nixf::LambdaArginline
lCur() constnixf::Nodeinline
name(NodeKind Kind)nixf::Nodestatic
name() constnixf::Nodeinline
NK_BeginExpr enum valuenixf::Node
NK_EndExpr enum valuenixf::Node
Node(NodeKind Kind, LexerCursorRange Range)nixf::Nodeinlineexplicitprotected
NodeKind enum namenixf::Node
positionRange() constnixf::Nodeinline
range() constnixf::Nodeinline
rCur() constnixf::Nodeinline
src(std::string_view Src) constnixf::Nodeinline
~Node()=defaultnixf::Nodevirtual
+ + + + diff --git a/classnixf_1_1LambdaArg.html b/classnixf_1_1LambdaArg.html new file mode 100644 index 000000000..157c5607f --- /dev/null +++ b/classnixf_1_1LambdaArg.html @@ -0,0 +1,277 @@ + + + + + + + +nixd: nixf::LambdaArg Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
nixf::LambdaArg Class Reference
+
+
+ +

#include <Lambda.h>

+
+Inheritance diagram for nixf::LambdaArg:
+
+
+
[legend]
+
+Collaboration diagram for nixf::LambdaArg:
+
+
+
[legend]
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 LambdaArg (LexerCursorRange Range, std::shared_ptr< Identifier > ID, std::shared_ptr< Formals > F)
 
Identifierid ()
 
Formalsformals () const
 
ChildVector children () const override
 
- Public Member Functions inherited from nixf::Node
NodeKind kind () const
 
LexerCursorRange range () const
 
PositionRange positionRange () const
 
LexerCursor lCur () const
 
LexerCursor rCur () const
 
const char * name () const
 
virtual ~Node ()=default
 
const Nodedescend (PositionRange Range) const
 Descendant node that contains the given range.
 
std::string_view src (std::string_view Src) const
 
+ + + + + + + + + + + + +

+Additional Inherited Members

- Public Types inherited from nixf::Node
enum  NodeKind { NK_BeginExpr +, NK_EndExpr + }
 
using ChildVector = boost::container::small_vector<Node *, 8>
 
- Static Public Member Functions inherited from nixf::Node
static const char * name (NodeKind Kind)
 
- Protected Member Functions inherited from nixf::Node
 Node (NodeKind Kind, LexerCursorRange Range)
 
+

Detailed Description

+
+

Definition at line 90 of file Lambda.h.

+

Constructor & Destructor Documentation

+ +

◆ LambdaArg()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + +
nixf::LambdaArg::LambdaArg (LexerCursorRange Range,
std::shared_ptr< Identifier > ID,
std::shared_ptr< Formals > F )
+
+inline
+
+ +

Definition at line 95 of file Lambda.h.

+ +
+
+

Member Function Documentation

+ +

◆ children()

+ +
+
+ + + + + +
+ + + + + + + +
ChildVector nixf::LambdaArg::children () const
+
+inlineoverridevirtual
+
+ +

Implements nixf::Node.

+ +

Definition at line 103 of file Lambda.h.

+ +
+
+ +

◆ formals()

+ +
+
+ + + + + +
+ + + + + + + +
Formals * nixf::LambdaArg::formals () const
+
+inline
+
+ +

Definition at line 101 of file Lambda.h.

+ +
+
+ +

◆ id()

+ +
+
+ + + + + +
+ + + + + + + +
Identifier * nixf::LambdaArg::id ()
+
+inline
+
+ +

Definition at line 99 of file Lambda.h.

+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/classnixf_1_1LambdaArg__coll__graph.map b/classnixf_1_1LambdaArg__coll__graph.map new file mode 100644 index 000000000..80a2965a2 --- /dev/null +++ b/classnixf_1_1LambdaArg__coll__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/classnixf_1_1LambdaArg__coll__graph.md5 b/classnixf_1_1LambdaArg__coll__graph.md5 new file mode 100644 index 000000000..c513bb4a9 --- /dev/null +++ b/classnixf_1_1LambdaArg__coll__graph.md5 @@ -0,0 +1 @@ +88d1070315dcb5e8ff352d34f56c66c3 \ No newline at end of file diff --git a/classnixf_1_1LambdaArg__coll__graph.svg b/classnixf_1_1LambdaArg__coll__graph.svg new file mode 100644 index 000000000..336975125 --- /dev/null +++ b/classnixf_1_1LambdaArg__coll__graph.svg @@ -0,0 +1,39 @@ + + + + + + +nixf::LambdaArg + + +Node1 + + +nixf::LambdaArg + + + + + +Node2 + + +nixf::Node + + + + + +Node2->Node1 + + + + + + + + diff --git a/classnixf_1_1LambdaArg__inherit__graph.map b/classnixf_1_1LambdaArg__inherit__graph.map new file mode 100644 index 000000000..80a2965a2 --- /dev/null +++ b/classnixf_1_1LambdaArg__inherit__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/classnixf_1_1LambdaArg__inherit__graph.md5 b/classnixf_1_1LambdaArg__inherit__graph.md5 new file mode 100644 index 000000000..c513bb4a9 --- /dev/null +++ b/classnixf_1_1LambdaArg__inherit__graph.md5 @@ -0,0 +1 @@ +88d1070315dcb5e8ff352d34f56c66c3 \ No newline at end of file diff --git a/classnixf_1_1LambdaArg__inherit__graph.svg b/classnixf_1_1LambdaArg__inherit__graph.svg new file mode 100644 index 000000000..336975125 --- /dev/null +++ b/classnixf_1_1LambdaArg__inherit__graph.svg @@ -0,0 +1,39 @@ + + + + + + +nixf::LambdaArg + + +Node1 + + +nixf::LambdaArg + + + + + +Node2 + + +nixf::Node + + + + + +Node2->Node1 + + + + + + + + diff --git a/classnixf_1_1Lexer-members.html b/classnixf_1_1Lexer-members.html new file mode 100644 index 000000000..e7d16a995 --- /dev/null +++ b/classnixf_1_1Lexer-members.html @@ -0,0 +1,97 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
nixf::Lexer Member List
+
+
+ +

This is the complete list of members for nixf::Lexer, including all inherited members.

+ + + + + + + + +
cur() constnixf::Lexerinline
lex()nixf::Lexer
Lexer(std::string_view Src, std::vector< Diagnostic > &Diags)nixf::Lexerinline
lexIndString()nixf::Lexer
lexPath()nixf::Lexer
lexString()nixf::Lexer
setCur(const LexerCursor &NewCur)nixf::Lexerinline
+ + + + diff --git a/classnixf_1_1Lexer.html b/classnixf_1_1Lexer.html new file mode 100644 index 000000000..a0746c252 --- /dev/null +++ b/classnixf_1_1Lexer.html @@ -0,0 +1,283 @@ + + + + + + + +nixd: nixf::Lexer Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
nixf::Lexer Class Reference
+
+
+ +

#include <Lexer.h>

+ + + + + + + + + + + + + + + + + +

+Public Member Functions

 Lexer (std::string_view Src, std::vector< Diagnostic > &Diags)
 
void setCur (const LexerCursor &NewCur)
 Reset the cursor at source offset (zero-based indexing)
 
const LexerCursorcur () const
 
Token lex ()
 
Token lexString ()
 
Token lexIndString ()
 
Token lexPath ()
 
+

Detailed Description

+
+

Definition at line 23 of file Lexer.h.

+

Constructor & Destructor Documentation

+ +

◆ Lexer()

+ +
+
+ + + + + +
+ + + + + + + + + + + +
nixf::Lexer::Lexer (std::string_view Src,
std::vector< Diagnostic > & Diags )
+
+inline
+
+ +

Definition at line 122 of file Lexer.h.

+ +
+
+

Member Function Documentation

+ +

◆ cur()

+ +
+
+ + + + + +
+ + + + + + + +
const LexerCursor & nixf::Lexer::cur () const
+
+inline
+
+ +

Definition at line 131 of file Lexer.h.

+ +
+
+ +

◆ lex()

+ +
+
+ + + + + + + +
Token nixf::Lexer::lex ()
+
+ +

Definition at line 405 of file Lexer.cpp.

+ +
+
+ +

◆ lexIndString()

+ +
+
+ + + + + + + +
Token nixf::Lexer::lexIndString ()
+
+ +

Definition at line 371 of file Lexer.cpp.

+ +
+
+ +

◆ lexPath()

+ +
+
+ + + + + + + +
Token nixf::Lexer::lexPath ()
+
+ +

Definition at line 293 of file Lexer.cpp.

+ +
+
+ +

◆ lexString()

+ +
+
+ + + + + + + +
Token nixf::Lexer::lexString ()
+
+ +

Definition at line 323 of file Lexer.cpp.

+ +
+
+ +

◆ setCur()

+ +
+
+ + + + + +
+ + + + + + + +
void nixf::Lexer::setCur (const LexerCursor & NewCur)
+
+inline
+
+ +

Reset the cursor at source offset (zero-based indexing)

+ +

Definition at line 126 of file Lexer.h.

+ +
+
+
The documentation for this class was generated from the following files: +
+ + + + diff --git a/classnixf_1_1LexerCursor-members.html b/classnixf_1_1LexerCursor-members.html new file mode 100644 index 000000000..add7648b7 --- /dev/null +++ b/classnixf_1_1LexerCursor-members.html @@ -0,0 +1,102 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
nixf::LexerCursor Member List
+
+
+ +

This is the complete list of members for nixf::LexerCursor, including all inherited members.

+ + + + + + + + + + + + + +
column() constnixf::LexerCursorinline
isAt(int64_t Line, int64_t Column, std::size_t Offset) constnixf::LexerCursorinline
Lexernixf::LexerCursorfriend
LexerCursor()=defaultnixf::LexerCursor
LexerCursor(const LexerCursor &)=defaultnixf::LexerCursor
LexerCursor(LexerCursor &&)=defaultnixf::LexerCursor
line() constnixf::LexerCursorinline
offset() constnixf::LexerCursorinline
operator=(const LexerCursor &)=defaultnixf::LexerCursor
operator==nixf::LexerCursorfriend
position() constnixf::LexerCursorinline
unsafeCreate(int64_t Line, int64_t Column, std::size_t Offset)nixf::LexerCursorinlinestatic
+ + + + diff --git a/classnixf_1_1LexerCursor.html b/classnixf_1_1LexerCursor.html new file mode 100644 index 000000000..8cb0d4f9d --- /dev/null +++ b/classnixf_1_1LexerCursor.html @@ -0,0 +1,507 @@ + + + + + + + +nixd: nixf::LexerCursor Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
nixf::LexerCursor Class Reference
+
+
+ +

A point in the source file. + More...

+ +

#include <Range.h>

+ + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 LexerCursor ()=default
 
 LexerCursor (const LexerCursor &)=default
 
LexerCursoroperator= (const LexerCursor &)=default
 
 LexerCursor (LexerCursor &&)=default
 
bool isAt (int64_t Line, int64_t Column, std::size_t Offset) const
 Check if the point is at the given position.
 
int64_t line () const
 Line number, starting from 0.
 
int64_t column () const
 Column number, starting from 0.
 
Position position () const
 Position in the source file. (Line + Column)
 
std::size_t offset () const
 Offset in the source file, starting from 0.
 
+ + + + +

+Static Public Member Functions

static LexerCursor unsafeCreate (int64_t Line, int64_t Column, std::size_t Offset)
 Create a cursor at the given position. (Line, Column, Offset)
 
+ + + + + +

+Friends

class Lexer
 
bool operator== (const LexerCursor &LHS, const LexerCursor &RHS)
 
+

Detailed Description

+

A point in the source file.

+

This class is used to represent a point in the source file. And it shall be constructed by Lexer, to keep Line & Column information correct.

See also
Lexer::consume(std::size_t)
+ +

Definition at line 57 of file Range.h.

+

Constructor & Destructor Documentation

+ +

◆ LexerCursor() [1/3]

+ +
+
+ + + + + +
+ + + + + + + +
nixf::LexerCursor::LexerCursor ()
+
+default
+
+ +
+
+ +

◆ LexerCursor() [2/3]

+ +
+
+ + + + + +
+ + + + + + + +
nixf::LexerCursor::LexerCursor (const LexerCursor & )
+
+default
+
+ +
+
+ +

◆ LexerCursor() [3/3]

+ +
+
+ + + + + +
+ + + + + + + +
nixf::LexerCursor::LexerCursor (LexerCursor && )
+
+default
+
+ +
+
+

Member Function Documentation

+ +

◆ column()

+ +
+
+ + + + + +
+ + + + + + + +
int64_t nixf::LexerCursor::column () const
+
+inline
+
+ +

Column number, starting from 0.

+ +

Definition at line 96 of file Range.h.

+ +

Referenced by isAt(), and nixd::toLSPPosition().

+ +
+
+ +

◆ isAt()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + +
bool nixf::LexerCursor::isAt (int64_t Line,
int64_t Column,
std::size_t Offset ) const
+
+inline
+
+ +

Check if the point is at the given position.

+ +

Definition at line 84 of file Range.h.

+ +

References column(), and line().

+ +
+
+ +

◆ line()

+ +
+
+ + + + + +
+ + + + + + + +
int64_t nixf::LexerCursor::line () const
+
+inline
+
+ +

Line number, starting from 0.

+

Currently we only accept LF as the line terminator.

+ +

Definition at line 93 of file Range.h.

+ +

Referenced by isAt(), and nixd::toLSPPosition().

+ +
+
+ +

◆ offset()

+ +
+
+ + + + + +
+ + + + + + + +
std::size_t nixf::LexerCursor::offset () const
+
+inline
+
+ +

Offset in the source file, starting from 0.

+ +

Definition at line 102 of file Range.h.

+ +

Referenced by nixf::Node::src().

+ +
+
+ +

◆ operator=()

+ +
+
+ + + + + +
+ + + + + + + +
LexerCursor & nixf::LexerCursor::operator= (const LexerCursor & )
+
+default
+
+ +
+
+ +

◆ position()

+ +
+
+ + + + + +
+ + + + + + + +
Position nixf::LexerCursor::position () const
+
+inline
+
+ +

Position in the source file. (Line + Column)

+ +

Definition at line 99 of file Range.h.

+ +

Referenced by nixf::LexerCursorRange::range().

+ +
+
+ +

◆ unsafeCreate()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + +
static LexerCursor nixf::LexerCursor::unsafeCreate (int64_t Line,
int64_t Column,
std::size_t Offset )
+
+inlinestatic
+
+ +

Create a cursor at the given position. (Line, Column, Offset)

+
Note
This function does not guarantee the correctness of Line & Column.
+ +

Definition at line 74 of file Range.h.

+ +
+
+

Friends And Related Symbol Documentation

+ +

◆ Lexer

+ +
+
+ + + + + +
+ + + + +
friend class Lexer
+
+friend
+
+ +

Definition at line 61 of file Range.h.

+ +
+
+ +

◆ operator==

+ +
+
+ + + + + +
+ + + + + + + + + + + +
bool operator== (const LexerCursor & LHS,
const LexerCursor & RHS )
+
+friend
+
+ +

Definition at line 66 of file Range.h.

+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/classnixf_1_1LexerCursorRange-members.html b/classnixf_1_1LexerCursorRange-members.html new file mode 100644 index 000000000..e371a0f71 --- /dev/null +++ b/classnixf_1_1LexerCursorRange-members.html @@ -0,0 +1,97 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
nixf::LexerCursorRange Member List
+
+
+ +

This is the complete list of members for nixf::LexerCursorRange, including all inherited members.

+ + + + + + + + +
contains(const LexerCursorRange &Pos) constnixf::LexerCursorRangeinline
lCur() constnixf::LexerCursorRangeinline
LexerCursorRange()=defaultnixf::LexerCursorRange
LexerCursorRange(LexerCursor LCur, LexerCursor RCur)nixf::LexerCursorRangeinline
LexerCursorRange(LexerCursor Pos)nixf::LexerCursorRangeinlineexplicit
range() constnixf::LexerCursorRangeinline
rCur() constnixf::LexerCursorRangeinline
+ + + + diff --git a/classnixf_1_1LexerCursorRange.html b/classnixf_1_1LexerCursorRange.html new file mode 100644 index 000000000..dcbd2c758 --- /dev/null +++ b/classnixf_1_1LexerCursorRange.html @@ -0,0 +1,319 @@ + + + + + + + +nixd: nixf::LexerCursorRange Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
nixf::LexerCursorRange Class Reference
+
+
+ +

#include <Range.h>

+ + + + + + + + + + + + + + + + +

+Public Member Functions

 LexerCursorRange ()=default
 
 LexerCursorRange (LexerCursor LCur, LexerCursor RCur)
 
 LexerCursorRange (LexerCursor Pos)
 
LexerCursor lCur () const
 
LexerCursor rCur () const
 
bool contains (const LexerCursorRange &Pos) const
 
PositionRange range () const
 
+

Detailed Description

+
+

Definition at line 105 of file Range.h.

+

Constructor & Destructor Documentation

+ +

◆ LexerCursorRange() [1/3]

+ +
+
+ + + + + +
+ + + + + + + +
nixf::LexerCursorRange::LexerCursorRange ()
+
+default
+
+ +
+
+ +

◆ LexerCursorRange() [2/3]

+ +
+
+ + + + + +
+ + + + + + + + + + + +
nixf::LexerCursorRange::LexerCursorRange (LexerCursor LCur,
LexerCursor RCur )
+
+inline
+
+ +

Definition at line 112 of file Range.h.

+ +
+
+ +

◆ LexerCursorRange() [3/3]

+ +
+
+ + + + + +
+ + + + + + + +
nixf::LexerCursorRange::LexerCursorRange (LexerCursor Pos)
+
+inlineexplicit
+
+ +

Definition at line 114 of file Range.h.

+ +
+
+

Member Function Documentation

+ +

◆ contains()

+ +
+
+ + + + + +
+ + + + + + + +
bool nixf::LexerCursorRange::contains (const LexerCursorRange & Pos) const
+
+inline
+
+ +

Definition at line 119 of file Range.h.

+ +

References nixf::PositionRange::contains(), and range().

+ +
+
+ +

◆ lCur()

+ +
+
+ + + + + +
+ + + + + + + +
LexerCursor nixf::LexerCursorRange::lCur () const
+
+inline
+
+
+ +

◆ range()

+ +
+
+ + + + + +
+ + + + + + + +
PositionRange nixf::LexerCursorRange::range () const
+
+inline
+
+ +

Definition at line 123 of file Range.h.

+ +

References nixf::LexerCursor::position().

+ +

Referenced by contains(), and nixf::Node::positionRange().

+ +
+
+ +

◆ rCur()

+ +
+
+ + + + + +
+ + + + + + + +
LexerCursor nixf::LexerCursorRange::rCur () const
+
+inline
+
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/classnixf_1_1Misc-members.html b/classnixf_1_1Misc-members.html new file mode 100644 index 000000000..5eb940266 --- /dev/null +++ b/classnixf_1_1Misc-members.html @@ -0,0 +1,107 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
nixf::Misc Member List
+
+
+ +

This is the complete list of members for nixf::Misc, including all inherited members.

+ + + + + + + + + + + + + + + + + + +
children() const overridenixf::Miscinlinevirtual
ChildVector typedefnixf::Node
descend(PositionRange Range) constnixf::Nodeinline
kind() constnixf::Nodeinline
lCur() constnixf::Nodeinline
Misc(LexerCursorRange Range)nixf::Miscinline
name(NodeKind Kind)nixf::Nodestatic
name() constnixf::Nodeinline
NK_BeginExpr enum valuenixf::Node
NK_EndExpr enum valuenixf::Node
Node(NodeKind Kind, LexerCursorRange Range)nixf::Nodeinlineexplicitprotected
NodeKind enum namenixf::Node
positionRange() constnixf::Nodeinline
range() constnixf::Nodeinline
rCur() constnixf::Nodeinline
src(std::string_view Src) constnixf::Nodeinline
~Node()=defaultnixf::Nodevirtual
+ + + + diff --git a/classnixf_1_1Misc.html b/classnixf_1_1Misc.html new file mode 100644 index 000000000..25ccfcb15 --- /dev/null +++ b/classnixf_1_1Misc.html @@ -0,0 +1,215 @@ + + + + + + + +nixd: nixf::Misc Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
nixf::Misc Class Reference
+
+
+ +

Misc node, used for parentheses, keywords, etc. + More...

+ +

#include <Basic.h>

+
+Inheritance diagram for nixf::Misc:
+
+
+
[legend]
+
+Collaboration diagram for nixf::Misc:
+
+
+
[legend]
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 Misc (LexerCursorRange Range)
 
ChildVector children () const override
 
- Public Member Functions inherited from nixf::Node
NodeKind kind () const
 
LexerCursorRange range () const
 
PositionRange positionRange () const
 
LexerCursor lCur () const
 
LexerCursor rCur () const
 
const char * name () const
 
virtual ~Node ()=default
 
const Nodedescend (PositionRange Range) const
 Descendant node that contains the given range.
 
std::string_view src (std::string_view Src) const
 
+ + + + + + + + + + + + +

+Additional Inherited Members

- Public Types inherited from nixf::Node
enum  NodeKind { NK_BeginExpr +, NK_EndExpr + }
 
using ChildVector = boost::container::small_vector<Node *, 8>
 
- Static Public Member Functions inherited from nixf::Node
static const char * name (NodeKind Kind)
 
- Protected Member Functions inherited from nixf::Node
 Node (NodeKind Kind, LexerCursorRange Range)
 
+

Detailed Description

+

Misc node, used for parentheses, keywords, etc.

+

This is used for representing nodes that only location matters. Might be useful for linting.

+ +

Definition at line 106 of file Basic.h.

+

Constructor & Destructor Documentation

+ +

◆ Misc()

+ +
+
+ + + + + +
+ + + + + + + +
nixf::Misc::Misc (LexerCursorRange Range)
+
+inline
+
+ +

Definition at line 108 of file Basic.h.

+ +
+
+

Member Function Documentation

+ +

◆ children()

+ +
+
+ + + + + +
+ + + + + + + +
ChildVector nixf::Misc::children () const
+
+inlineoverridevirtual
+
+ +

Implements nixf::Node.

+ +

Definition at line 110 of file Basic.h.

+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/classnixf_1_1Misc__coll__graph.map b/classnixf_1_1Misc__coll__graph.map new file mode 100644 index 000000000..a7dbdfb34 --- /dev/null +++ b/classnixf_1_1Misc__coll__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/classnixf_1_1Misc__coll__graph.md5 b/classnixf_1_1Misc__coll__graph.md5 new file mode 100644 index 000000000..625fc395f --- /dev/null +++ b/classnixf_1_1Misc__coll__graph.md5 @@ -0,0 +1 @@ +9caf65b076f5d582bf0bc058b10996d5 \ No newline at end of file diff --git a/classnixf_1_1Misc__coll__graph.svg b/classnixf_1_1Misc__coll__graph.svg new file mode 100644 index 000000000..6f1b872ab --- /dev/null +++ b/classnixf_1_1Misc__coll__graph.svg @@ -0,0 +1,39 @@ + + + + + + +nixf::Misc + + +Node1 + + +nixf::Misc + + + + + +Node2 + + +nixf::Node + + + + + +Node2->Node1 + + + + + + + + diff --git a/classnixf_1_1Misc__inherit__graph.map b/classnixf_1_1Misc__inherit__graph.map new file mode 100644 index 000000000..a7dbdfb34 --- /dev/null +++ b/classnixf_1_1Misc__inherit__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/classnixf_1_1Misc__inherit__graph.md5 b/classnixf_1_1Misc__inherit__graph.md5 new file mode 100644 index 000000000..625fc395f --- /dev/null +++ b/classnixf_1_1Misc__inherit__graph.md5 @@ -0,0 +1 @@ +9caf65b076f5d582bf0bc058b10996d5 \ No newline at end of file diff --git a/classnixf_1_1Misc__inherit__graph.svg b/classnixf_1_1Misc__inherit__graph.svg new file mode 100644 index 000000000..6f1b872ab --- /dev/null +++ b/classnixf_1_1Misc__inherit__graph.svg @@ -0,0 +1,39 @@ + + + + + + +nixf::Misc + + +Node1 + + +nixf::Misc + + + + + +Node2 + + +nixf::Node + + + + + +Node2->Node1 + + + + + + + + diff --git a/classnixf_1_1Node-members.html b/classnixf_1_1Node-members.html new file mode 100644 index 000000000..6c48aade0 --- /dev/null +++ b/classnixf_1_1Node-members.html @@ -0,0 +1,106 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
nixf::Node Member List
+
+
+ +

This is the complete list of members for nixf::Node, including all inherited members.

+ + + + + + + + + + + + + + + + + +
children() const =0nixf::Nodepure virtual
ChildVector typedefnixf::Node
descend(PositionRange Range) constnixf::Nodeinline
kind() constnixf::Nodeinline
lCur() constnixf::Nodeinline
name(NodeKind Kind)nixf::Nodestatic
name() constnixf::Nodeinline
NK_BeginExpr enum valuenixf::Node
NK_EndExpr enum valuenixf::Node
Node(NodeKind Kind, LexerCursorRange Range)nixf::Nodeinlineexplicitprotected
NodeKind enum namenixf::Node
positionRange() constnixf::Nodeinline
range() constnixf::Nodeinline
rCur() constnixf::Nodeinline
src(std::string_view Src) constnixf::Nodeinline
~Node()=defaultnixf::Nodevirtual
+ + + + diff --git a/classnixf_1_1Node.html b/classnixf_1_1Node.html new file mode 100644 index 000000000..1e32bf5c9 --- /dev/null +++ b/classnixf_1_1Node.html @@ -0,0 +1,549 @@ + + + + + + + +nixd: nixf::Node Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+ +
+ +

#include <Basic.h>

+
+Inheritance diagram for nixf::Node:
+
+
+
[legend]
+ + + + + + +

+Public Types

enum  NodeKind { NK_BeginExpr +, NK_EndExpr + }
 
using ChildVector = boost::container::small_vector<Node *, 8>
 
+ + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

NodeKind kind () const
 
LexerCursorRange range () const
 
PositionRange positionRange () const
 
LexerCursor lCur () const
 
LexerCursor rCur () const
 
const char * name () const
 
virtual ChildVector children () const =0
 
virtual ~Node ()=default
 
const Nodedescend (PositionRange Range) const
 Descendant node that contains the given range.
 
std::string_view src (std::string_view Src) const
 
+ + + +

+Static Public Member Functions

static const char * name (NodeKind Kind)
 
+ + + +

+Protected Member Functions

 Node (NodeKind Kind, LexerCursorRange Range)
 
+

Detailed Description

+
+

Definition at line 12 of file Basic.h.

+

Member Typedef Documentation

+ +

◆ ChildVector

+ +
+
+ + + + +
using nixf::Node::ChildVector = boost::container::small_vector<Node *, 8>
+
+ +

Definition at line 42 of file Basic.h.

+ +
+
+

Member Enumeration Documentation

+ +

◆ NodeKind

+ +
+
+ + + + +
enum nixf::Node::NodeKind
+
+ + + +
Enumerator
NK_BeginExpr 
NK_EndExpr 
+ +

Definition at line 14 of file Basic.h.

+ +
+
+

Constructor & Destructor Documentation

+ +

◆ Node()

+ +
+
+ + + + + +
+ + + + + + + + + + + +
nixf::Node::Node (NodeKind Kind,
LexerCursorRange Range )
+
+inlineexplicitprotected
+
+ +

Definition at line 30 of file Basic.h.

+ +
+
+ +

◆ ~Node()

+ +
+
+ + + + + +
+ + + + + + + +
virtual nixf::Node::~Node ()
+
+virtualdefault
+
+ +
+
+

Member Function Documentation

+ +

◆ children()

+ + + +

◆ descend()

+ +
+
+ + + + + +
+ + + + + + + +
const Node * nixf::Node::descend (PositionRange Range) const
+
+inline
+
+ +

Descendant node that contains the given range.

+ +

Definition at line 49 of file Basic.h.

+ +

References children(), descend(), and positionRange().

+ +

Referenced by descend().

+ +
+
+ +

◆ kind()

+ +
+
+ + + + + +
+ + + + + + + +
NodeKind nixf::Node::kind () const
+
+inline
+
+ +

Definition at line 34 of file Basic.h.

+ +

Referenced by nixf::Expr::classof(), nixf::Expr::maybeLambda(), and nixf::writeBytecode().

+ +
+
+ +

◆ lCur()

+ +
+
+ + + + + +
+ + + + + + + +
LexerCursor nixf::Node::lCur () const
+
+inline
+
+ +

Definition at line 37 of file Basic.h.

+ +

References nixf::LexerCursorRange::lCur().

+ +

Referenced by nixf::Sema::checkFormalSep(), nixf::Parser::parseExprSelect(), and src().

+ +
+
+ +

◆ name() [1/2]

+ +
+
+ + + + + +
+ + + + + + + +
const char * nixf::Node::name () const
+
+inline
+
+ +

Definition at line 40 of file Basic.h.

+ +

References name().

+ +

Referenced by name().

+ +
+
+ +

◆ name() [2/2]

+ +
+
+ + + + + +
+ + + + + + + +
const char * nixf::Node::name (NodeKind Kind)
+
+static
+
+ +

Definition at line 5 of file Nodes.cpp.

+ +
+
+ +

◆ positionRange()

+ +
+
+ + + + + +
+ + + + + + + +
PositionRange nixf::Node::positionRange () const
+
+inline
+
+ +

Definition at line 36 of file Basic.h.

+ +

References nixf::LexerCursorRange::range().

+ +

Referenced by descend().

+ +
+
+ +

◆ range()

+ +
+
+ + + + + +
+ + + + + + + +
LexerCursorRange nixf::Node::range () const
+
+inline
+
+
+ +

◆ rCur()

+ +
+
+ + + + + +
+ + + + + + + +
LexerCursor nixf::Node::rCur () const
+
+inline
+
+ +

Definition at line 38 of file Basic.h.

+ +

References nixf::LexerCursorRange::rCur().

+ +

Referenced by nixf::Sema::checkFormalEllipsis(), and src().

+ +
+
+ +

◆ src()

+ +
+
+ + + + + +
+ + + + + + + +
std::string_view nixf::Node::src (std::string_view Src) const
+
+inline
+
+ +

Definition at line 63 of file Basic.h.

+ +

References lCur(), nixf::LexerCursor::offset(), and rCur().

+ +

Referenced by nixf::Sema::checkFormalEllipsis().

+ +
+
+
The documentation for this class was generated from the following files: +
+ + + + diff --git a/classnixf_1_1Node__inherit__graph.map b/classnixf_1_1Node__inherit__graph.map new file mode 100644 index 000000000..5f16a63f5 --- /dev/null +++ b/classnixf_1_1Node__inherit__graph.map @@ -0,0 +1,69 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/classnixf_1_1Node__inherit__graph.md5 b/classnixf_1_1Node__inherit__graph.md5 new file mode 100644 index 000000000..01287e0d4 --- /dev/null +++ b/classnixf_1_1Node__inherit__graph.md5 @@ -0,0 +1 @@ +aa9ca1ba15825b355240b8e105f4c6fb \ No newline at end of file diff --git a/classnixf_1_1Node__inherit__graph.svg b/classnixf_1_1Node__inherit__graph.svg new file mode 100644 index 000000000..10470b958 --- /dev/null +++ b/classnixf_1_1Node__inherit__graph.svg @@ -0,0 +1,615 @@ + + + + + + +nixf::Node + + +Node1 + + +nixf::Node + + + + + +Node2 + + +nixf::AttrName + + + + + +Node1->Node2 + + + + + + + + +Node3 + + +nixf::AttrPath + + + + + +Node1->Node3 + + + + + + + + +Node4 + + +nixf::Binding + + + + + +Node1->Node4 + + + + + + + + +Node5 + + +nixf::Binds + + + + + +Node1->Node5 + + + + + + + + +Node6 + + +nixf::Expr + + + + + +Node1->Node6 + + + + + + + + +Node26 + + +nixf::Formal + + + + + +Node1->Node26 + + + + + + + + +Node27 + + +nixf::Formals + + + + + +Node1->Node27 + + + + + + + + +Node28 + + +nixf::Identifier + + + + + +Node1->Node28 + + + + + + + + +Node29 + + +nixf::Inherit + + + + + +Node1->Node29 + + + + + + + + +Node30 + + +nixf::InterpolatedParts + + + + + +Node1->Node30 + + + + + + + + +Node31 + + +nixf::Interpolation + + + + + +Node1->Node31 + + + + + + + + +Node32 + + +nixf::LambdaArg + + + + + +Node1->Node32 + + + + + + + + +Node33 + + +nixf::Misc + + + + + +Node1->Node33 + + + + + + + + +Node34 + + +nixf::Op + + + + + +Node1->Node34 + + + + + + + + +Node7 + + +nixf::ExprAssert + + + + + +Node6->Node7 + + + + + + + + +Node8 + + +nixf::ExprAttrs + + + + + +Node6->Node8 + + + + + + + + +Node9 + + +nixf::ExprCall + + + + + +Node6->Node9 + + + + + + + + +Node10 + + +nixf::ExprFloat + + + + + +Node6->Node10 + + + + + + + + +Node11 + + +nixf::ExprIf + + + + + +Node6->Node11 + + + + + + + + +Node12 + + +nixf::ExprInt + + + + + +Node6->Node12 + + + + + + + + +Node13 + + +nixf::ExprLambda + + + + + +Node6->Node13 + + + + + + + + +Node14 + + +nixf::ExprLet + + + + + +Node6->Node14 + + + + + + + + +Node15 + + +nixf::ExprList + + + + + +Node6->Node15 + + + + + + + + +Node16 + + +nixf::ExprOp + + + + + +Node6->Node16 + + + + + + + + +Node20 + + +nixf::ExprParen + + + + + +Node6->Node20 + + + + + + + + +Node21 + + +nixf::ExprPath + + + + + +Node6->Node21 + + + + + + + + +Node22 + + +nixf::ExprSelect + + + + + +Node6->Node22 + + + + + + + + +Node23 + + +nixf::ExprString + + + + + +Node6->Node23 + + + + + + + + +Node24 + + +nixf::ExprVar + + + + + +Node6->Node24 + + + + + + + + +Node25 + + +nixf::ExprWith + + + + + +Node6->Node25 + + + + + + + + +Node17 + + +nixf::ExprBinOp + + + + + +Node16->Node17 + + + + + + + + +Node18 + + +nixf::ExprOpHasAttr + + + + + +Node16->Node18 + + + + + + + + +Node19 + + +nixf::ExprUnaryOp + + + + + +Node16->Node19 + + + + + + + + diff --git a/classnixf_1_1Note-members.html b/classnixf_1_1Note-members.html new file mode 100644 index 000000000..dbf2cb198 --- /dev/null +++ b/classnixf_1_1Note-members.html @@ -0,0 +1,108 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
nixf::Note Member List
+
+
+ +

This is the complete list of members for nixf::Note, including all inherited members.

+ + + + + + + + + + + + + + + + + + + +
args() constnixf::PartialDiagnosticinline
args()nixf::PartialDiagnosticinline
format() constnixf::PartialDiagnostic
kind() constnixf::Noteinline
message(NoteKind Kind)nixf::Notestatic
message() const overridenixf::Noteinlinevirtual
Note(NoteKind Kind, LexerCursorRange Range)nixf::Noteinline
NoteKind enum namenixf::Note
operator<<(const T &Var)nixf::Noteinline
nixf::PartialDiagnostic::operator<<(std::string Var)nixf::PartialDiagnosticinline
PartialDiagnostic()=defaultnixf::PartialDiagnosticprotected
PartialDiagnostic(LexerCursorRange Range)nixf::PartialDiagnosticinlineprotected
range() constnixf::PartialDiagnosticinline
sname(NoteKind Kind)nixf::Notestatic
sname() constnixf::Noteinlinevirtual
tag(DiagnosticTag Tag)nixf::PartialDiagnosticinline
tags() constnixf::PartialDiagnosticinline
~PartialDiagnostic()=defaultnixf::PartialDiagnosticvirtual
+ + + + diff --git a/classnixf_1_1Note.html b/classnixf_1_1Note.html new file mode 100644 index 000000000..f4664108e --- /dev/null +++ b/classnixf_1_1Note.html @@ -0,0 +1,394 @@ + + + + + + + +nixd: nixf::Note Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+ +
+ +

#include <Diagnostic.h>

+
+Inheritance diagram for nixf::Note:
+
+
+
[legend]
+
+Collaboration diagram for nixf::Note:
+
+
+
[legend]
+ + + + + +

+Public Types

enum  NoteKind
 Internal kind. More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 Note (NoteKind Kind, LexerCursorRange Range)
 
template<class T >
PartialDiagnosticoperator<< (const T &Var)
 
virtual const char * sname () const
 
NoteKind kind () const
 
const char * message () const override
 
- Public Member Functions inherited from nixf::PartialDiagnostic
virtual ~PartialDiagnostic ()=default
 
PartialDiagnosticoperator<< (std::string Var)
 
std::string format () const
 
const std::vector< std::string > & args () const
 
std::vector< std::string > & args ()
 
void tag (DiagnosticTag Tag)
 
const std::vector< DiagnosticTag > & tags () const
 
LexerCursorRange range () const
 
+ + + + + +

+Static Public Member Functions

static const char * sname (NoteKind Kind)
 
static const char * message (NoteKind Kind)
 
+ + + + + + +

+Additional Inherited Members

- Protected Member Functions inherited from nixf::PartialDiagnostic
 PartialDiagnostic ()=default
 
 PartialDiagnostic (LexerCursorRange Range)
 
+

Detailed Description

+
+

Definition at line 115 of file Diagnostic.h.

+

Member Enumeration Documentation

+ +

◆ NoteKind

+ +
+
+ + + + +
enum nixf::Note::NoteKind
+
+ +

Internal kind.

+ +

Definition at line 118 of file Diagnostic.h.

+ +
+
+

Constructor & Destructor Documentation

+ +

◆ Note()

+ +
+
+ + + + + +
+ + + + + + + + + + + +
nixf::Note::Note (NoteKind Kind,
LexerCursorRange Range )
+
+inline
+
+ +

Definition at line 124 of file Diagnostic.h.

+ +
+
+

Member Function Documentation

+ +

◆ kind()

+ +
+
+ + + + + +
+ + + + + + + +
NoteKind nixf::Note::kind () const
+
+inline
+
+ +

Definition at line 136 of file Diagnostic.h.

+ +

Referenced by message(), and sname().

+ +
+
+ +

◆ message() [1/2]

+ +
+
+ + + + + +
+ + + + + + + +
const char * nixf::Note::message () const
+
+inlineoverridevirtual
+
+ +

Implements nixf::PartialDiagnostic.

+ +

Definition at line 140 of file Diagnostic.h.

+ +

References kind(), and message().

+ +

Referenced by message().

+ +
+
+ +

◆ message() [2/2]

+ +
+
+ + + + + +
+ + + + + + + +
const char * nixf::Note::message (NoteKind Kind)
+
+static
+
+ +

Definition at line 72 of file Diagnostic.cpp.

+ +
+
+ +

◆ operator<<()

+ +
+
+
+template<class T >
+ + + + + +
+ + + + + + + +
PartialDiagnostic & nixf::Note::operator<< (const T & Var)
+
+inline
+
+ +

Definition at line 127 of file Diagnostic.h.

+ +

References nixf::PartialDiagnostic::args().

+ +
+
+ +

◆ sname() [1/2]

+ +
+
+ + + + + +
+ + + + + + + +
virtual const char * nixf::Note::sname () const
+
+inlinevirtual
+
+ +

Definition at line 134 of file Diagnostic.h.

+ +

References kind(), and sname().

+ +

Referenced by sname().

+ +
+
+ +

◆ sname() [2/2]

+ +
+
+ + + + + +
+ + + + + + + +
const char * nixf::Note::sname (NoteKind Kind)
+
+static
+
+ +

Definition at line 27 of file Diagnostic.cpp.

+ +
+
+
The documentation for this class was generated from the following files: +
+ + + + diff --git a/classnixf_1_1Note__coll__graph.map b/classnixf_1_1Note__coll__graph.map new file mode 100644 index 000000000..1986f5f83 --- /dev/null +++ b/classnixf_1_1Note__coll__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/classnixf_1_1Note__coll__graph.md5 b/classnixf_1_1Note__coll__graph.md5 new file mode 100644 index 000000000..b50f27001 --- /dev/null +++ b/classnixf_1_1Note__coll__graph.md5 @@ -0,0 +1 @@ +8c64ccd7d116449313f96d6aefb5e66e \ No newline at end of file diff --git a/classnixf_1_1Note__coll__graph.svg b/classnixf_1_1Note__coll__graph.svg new file mode 100644 index 000000000..d6cd25d0e --- /dev/null +++ b/classnixf_1_1Note__coll__graph.svg @@ -0,0 +1,39 @@ + + + + + + +nixf::Note + + +Node1 + + +nixf::Note + + + + + +Node2 + + +nixf::PartialDiagnostic + + + + + +Node2->Node1 + + + + + + + + diff --git a/classnixf_1_1Note__inherit__graph.map b/classnixf_1_1Note__inherit__graph.map new file mode 100644 index 000000000..1986f5f83 --- /dev/null +++ b/classnixf_1_1Note__inherit__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/classnixf_1_1Note__inherit__graph.md5 b/classnixf_1_1Note__inherit__graph.md5 new file mode 100644 index 000000000..b50f27001 --- /dev/null +++ b/classnixf_1_1Note__inherit__graph.md5 @@ -0,0 +1 @@ +8c64ccd7d116449313f96d6aefb5e66e \ No newline at end of file diff --git a/classnixf_1_1Note__inherit__graph.svg b/classnixf_1_1Note__inherit__graph.svg new file mode 100644 index 000000000..d6cd25d0e --- /dev/null +++ b/classnixf_1_1Note__inherit__graph.svg @@ -0,0 +1,39 @@ + + + + + + +nixf::Note + + +Node1 + + +nixf::Note + + + + + +Node2 + + +nixf::PartialDiagnostic + + + + + +Node2->Node1 + + + + + + + + diff --git a/classnixf_1_1Op-members.html b/classnixf_1_1Op-members.html new file mode 100644 index 000000000..889e4653a --- /dev/null +++ b/classnixf_1_1Op-members.html @@ -0,0 +1,108 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
nixf::Op Member List
+
+
+ +

This is the complete list of members for nixf::Op, including all inherited members.

+ + + + + + + + + + + + + + + + + + + +
children() const overridenixf::Opinlinevirtual
ChildVector typedefnixf::Node
descend(PositionRange Range) constnixf::Nodeinline
kind() constnixf::Nodeinline
lCur() constnixf::Nodeinline
name(NodeKind Kind)nixf::Nodestatic
name() constnixf::Nodeinline
NK_BeginExpr enum valuenixf::Node
NK_EndExpr enum valuenixf::Node
Node(NodeKind Kind, LexerCursorRange Range)nixf::Nodeinlineexplicitprotected
NodeKind enum namenixf::Node
Op(LexerCursorRange Range, tok::TokenKind OpKind)nixf::Opinline
op() constnixf::Opinline
positionRange() constnixf::Nodeinline
range() constnixf::Nodeinline
rCur() constnixf::Nodeinline
src(std::string_view Src) constnixf::Nodeinline
~Node()=defaultnixf::Nodevirtual
+ + + + diff --git a/classnixf_1_1Op.html b/classnixf_1_1Op.html new file mode 100644 index 000000000..2ea867d6c --- /dev/null +++ b/classnixf_1_1Op.html @@ -0,0 +1,245 @@ + + + + + + + +nixd: nixf::Op Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
nixf::Op Class Reference
+
+
+ +

#include <Op.h>

+
+Inheritance diagram for nixf::Op:
+
+
+
[legend]
+
+Collaboration diagram for nixf::Op:
+
+
+
[legend]
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 Op (LexerCursorRange Range, tok::TokenKind OpKind)
 
tok::TokenKind op () const
 
ChildVector children () const override
 
- Public Member Functions inherited from nixf::Node
NodeKind kind () const
 
LexerCursorRange range () const
 
PositionRange positionRange () const
 
LexerCursor lCur () const
 
LexerCursor rCur () const
 
const char * name () const
 
virtual ~Node ()=default
 
const Nodedescend (PositionRange Range) const
 Descendant node that contains the given range.
 
std::string_view src (std::string_view Src) const
 
+ + + + + + + + + + + + +

+Additional Inherited Members

- Public Types inherited from nixf::Node
enum  NodeKind { NK_BeginExpr +, NK_EndExpr + }
 
using ChildVector = boost::container::small_vector<Node *, 8>
 
- Static Public Member Functions inherited from nixf::Node
static const char * name (NodeKind Kind)
 
- Protected Member Functions inherited from nixf::Node
 Node (NodeKind Kind, LexerCursorRange Range)
 
+

Detailed Description

+
+

Definition at line 12 of file Op.h.

+

Constructor & Destructor Documentation

+ +

◆ Op()

+ +
+
+ + + + + +
+ + + + + + + + + + + +
nixf::Op::Op (LexerCursorRange Range,
tok::TokenKind OpKind )
+
+inline
+
+ +

Definition at line 16 of file Op.h.

+ +
+
+

Member Function Documentation

+ +

◆ children()

+ +
+
+ + + + + +
+ + + + + + + +
ChildVector nixf::Op::children () const
+
+inlineoverridevirtual
+
+ +

Implements nixf::Node.

+ +

Definition at line 21 of file Op.h.

+ +
+
+ +

◆ op()

+ +
+
+ + + + + +
+ + + + + + + +
tok::TokenKind nixf::Op::op () const
+
+inline
+
+ +

Definition at line 19 of file Op.h.

+ +

Referenced by nixf::writeBytecode().

+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/classnixf_1_1Op__coll__graph.map b/classnixf_1_1Op__coll__graph.map new file mode 100644 index 000000000..a0aba5cbd --- /dev/null +++ b/classnixf_1_1Op__coll__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/classnixf_1_1Op__coll__graph.md5 b/classnixf_1_1Op__coll__graph.md5 new file mode 100644 index 000000000..74fbb3fb0 --- /dev/null +++ b/classnixf_1_1Op__coll__graph.md5 @@ -0,0 +1 @@ +08a55e9ce72150fb9074c44224b4d555 \ No newline at end of file diff --git a/classnixf_1_1Op__coll__graph.svg b/classnixf_1_1Op__coll__graph.svg new file mode 100644 index 000000000..1314cc3cd --- /dev/null +++ b/classnixf_1_1Op__coll__graph.svg @@ -0,0 +1,39 @@ + + + + + + +nixf::Op + + +Node1 + + +nixf::Op + + + + + +Node2 + + +nixf::Node + + + + + +Node2->Node1 + + + + + + + + diff --git a/classnixf_1_1Op__inherit__graph.map b/classnixf_1_1Op__inherit__graph.map new file mode 100644 index 000000000..a0aba5cbd --- /dev/null +++ b/classnixf_1_1Op__inherit__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/classnixf_1_1Op__inherit__graph.md5 b/classnixf_1_1Op__inherit__graph.md5 new file mode 100644 index 000000000..74fbb3fb0 --- /dev/null +++ b/classnixf_1_1Op__inherit__graph.md5 @@ -0,0 +1 @@ +08a55e9ce72150fb9074c44224b4d555 \ No newline at end of file diff --git a/classnixf_1_1Op__inherit__graph.svg b/classnixf_1_1Op__inherit__graph.svg new file mode 100644 index 000000000..1314cc3cd --- /dev/null +++ b/classnixf_1_1Op__inherit__graph.svg @@ -0,0 +1,39 @@ + + + + + + +nixf::Op + + +Node1 + + +nixf::Op + + + + + +Node2 + + +nixf::Node + + + + + +Node2->Node1 + + + + + + + + diff --git a/classnixf_1_1Parser-members.html b/classnixf_1_1Parser-members.html new file mode 100644 index 000000000..b242a691a --- /dev/null +++ b/classnixf_1_1Parser-members.html @@ -0,0 +1,122 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
nixf::Parser Member List
+
+ + + + + diff --git a/classnixf_1_1Parser.html b/classnixf_1_1Parser.html new file mode 100644 index 000000000..fcd8589a4 --- /dev/null +++ b/classnixf_1_1Parser.html @@ -0,0 +1,923 @@ + + + + + + + +nixd: nixf::Parser Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
nixf::Parser Class Reference
+
+
+ +

#include <Parser.h>

+ + + + +

+Public Types

enum  ParserState { PS_Expr +, PS_String +, PS_IndString +, PS_Path + }
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 Parser (std::string_view Src, std::vector< Diagnostic > &Diags)
 
std::shared_ptr< InterpolationparseInterpolation ()
 Parse interpolations.
 
std::shared_ptr< ExprparseExprPath ()
 Parse paths.
 
std::shared_ptr< InterpolatedPartsparseStringParts ()
 
std::shared_ptr< ExprStringparseString (bool IsIndented)
 
std::shared_ptr< ExprParenparseExprParen ()
 
std::shared_ptr< AttrNameparseAttrName ()
 
std::shared_ptr< AttrPathparseAttrPath ()
 
std::shared_ptr< BindingparseBinding ()
 
std::shared_ptr< InheritparseInherit ()
 
std::shared_ptr< BindsparseBinds ()
 
std::shared_ptr< ExprAttrsparseExprAttrs ()
 
std::shared_ptr< ExprparseExprSimple ()
 
std::shared_ptr< ExprparseExprSelect ()
 
std::shared_ptr< ExprparseExprApp (int Limit=INT_MAX)
 
std::shared_ptr< ExprListparseExprList ()
 
std::shared_ptr< FormalparseFormal ()
 
std::shared_ptr< FormalsparseFormals ()
 
std::shared_ptr< LambdaArgparseLambdaArg ()
 
std::shared_ptr< ExprLambdaparseExprLambda ()
 
std::shared_ptr< ExprparseExpr ()
 
std::shared_ptr< ExprparseExprOp ()
 Parse binary/unary operators.
 
std::shared_ptr< ExprIfparseExprIf ()
 
std::shared_ptr< ExprAssertparseExprAssert ()
 
std::shared_ptr< ExprLetparseExprLet ()
 
std::shared_ptr< ExprWithparseExprWith ()
 
std::shared_ptr< Exprparse ()
 
+

Detailed Description

+
+

Definition at line 31 of file src/Parse/Parser.h.

+

Member Enumeration Documentation

+ +

◆ ParserState

+ +
+
+ + + + +
enum nixf::Parser::ParserState
+
+ + + + + +
Enumerator
PS_Expr 
PS_String 
PS_IndString 
PS_Path 
+ +

Definition at line 33 of file src/Parse/Parser.h.

+ +
+
+

Constructor & Destructor Documentation

+ +

◆ Parser()

+ +
+
+ + + + + +
+ + + + + + + + + + + +
nixf::Parser::Parser (std::string_view Src,
std::vector< Diagnostic > & Diags )
+
+inline
+
+ +

Definition at line 153 of file src/Parse/Parser.h.

+ +

References PS_Expr.

+ +
+
+

Member Function Documentation

+ +

◆ parse()

+ +
+
+ + + + + +
+ + + + + + + +
std::shared_ptr< Expr > nixf::Parser::parse ()
+
+inline
+
+ +

Definition at line 336 of file src/Parse/Parser.h.

+ +

References parseExpr().

+ +

Referenced by nixf::parse().

+ +
+
+ +

◆ parseAttrName()

+ +
+
+ + + + + + + +
std::shared_ptr< AttrName > nixf::Parser::parseAttrName ()
+
+
attrname : ID
+
| string
+
| interpolation
+
+

Definition at line 7 of file ParseAttrs.cpp.

+ +

References nixf::Token::kind(), parseInterpolation(), and parseString().

+ +

Referenced by parseAttrPath(), and parseInherit().

+ +
+
+ +

◆ parseAttrPath()

+ +
+
+ + + + + + + +
std::shared_ptr< AttrPath > nixf::Parser::parseAttrPath ()
+
+
attrpath : attrname ('.' attrname)*
+
+

Definition at line 31 of file ParseAttrs.cpp.

+ +

References nixf::Fix::edit(), nixf::Diagnostic::fix(), nixf::Token::kind(), nixf::TextEdit::mkInsertion(), nixf::TextEdit::mkRemoval(), and parseAttrName().

+ +

Referenced by parseBinding(), and parseExprSelect().

+ +
+
+ +

◆ parseBinding()

+ +
+
+ + + + + + + +
std::shared_ptr< Binding > nixf::Parser::parseBinding ()
+
+
+ +

◆ parseBinds()

+ +
+
+ + + + + + + +
std::shared_ptr< Binds > nixf::Parser::parseBinds ()
+
+
binds : ( binding | inherit )*
+
+

Definition at line 134 of file ParseAttrs.cpp.

+ +

References nixf::Token::lCur(), parseBinding(), and parseInherit().

+ +

Referenced by parseExprAttrs(), and parseExprLet().

+ +
+
+ +

◆ parseExpr()

+ +
+
+ + + + + + + +
std::shared_ptr< Expr > nixf::Parser::parseExpr ()
+
+
+ +

◆ parseExprApp()

+ +
+
+ + + + + + + +
std::shared_ptr< Expr > nixf::Parser::parseExprApp (int Limit = INT_MAX)
+
+
expr_app : expr_app expr_select
+
| expr_select
+

Consume at most Limit number of expr_select as arguments e.g. Fn A1 A2 A3 with Limit = 2 will be parsed as ((Fn A1 A2) A3)

+ +

Definition at line 53 of file ParseExpr.cpp.

+ +

References nixf::LexerCursorRange::lCur(), and parseExprSelect().

+ +
+
+ +

◆ parseExprAssert()

+ +
+
+ + + + + + + +
std::shared_ptr< ExprAssert > nixf::Parser::parseExprAssert ()
+
+
+ +

◆ parseExprAttrs()

+ +
+
+ + + + + + + +
std::shared_ptr< ExprAttrs > nixf::Parser::parseExprAttrs ()
+
+

attrset_expr : REC? '{' binds '}'

+

Note: peek tok_kw_rec or tok_l_curly before calling this function.

+ +

Definition at line 167 of file ParseAttrs.cpp.

+ +

References nixf::Token::kind(), nixf::Token::lCur(), nixf::Sema::onExprAttrs(), parseBinds(), nixf::Token::range(), and nixf::tok::spelling().

+ +

Referenced by parseExprSimple().

+ +
+
+ +

◆ parseExprIf()

+ +
+
+ + + + + + + +
std::shared_ptr< ExprIf > nixf::Parser::parseExprIf ()
+
+
+ +

◆ parseExprLambda()

+ +
+
+ + + + + + + +
std::shared_ptr< ExprLambda > nixf::Parser::parseExprLambda ()
+
+
expr_lambda : lambda_arg ':' expr
+
+

Definition at line 134 of file ParseLambda.cpp.

+ +

References nixf::detail::diagNullExpr(), parseExpr(), and parseLambdaArg().

+ +

Referenced by parseExpr().

+ +
+
+ +

◆ parseExprLet()

+ +
+
+ + + + + + + +
std::shared_ptr< ExprLet > nixf::Parser::parseExprLet ()
+
+
epxr_let : 'let' binds 'in' expr
+
+

Definition at line 238 of file ParseExpr.cpp.

+ +

References nixf::detail::diagNullExpr(), nixf::Token::kind(), parseBinds(), parseExpr(), and nixf::Token::range().

+ +

Referenced by parseExpr().

+ +
+
+ +

◆ parseExprList()

+ +
+
+ + + + + + + +
std::shared_ptr< ExprList > nixf::Parser::parseExprList ()
+
+
expr_list : '[' expr_select* ']'
+
+

Definition at line 35 of file ParseSimple.cpp.

+ +

References nixf::Token::kind(), nixf::Token::lCur(), parseExprSelect(), nixf::Token::range(), and nixf::tok::spelling().

+ +

Referenced by parseExprSimple().

+ +
+
+ +

◆ parseExprOp()

+ +
+
+ + + + + +
+ + + + + + + +
std::shared_ptr< Expr > nixf::Parser::parseExprOp ()
+
+inline
+
+ +

Parse binary/unary operators.

+
expr_op : '!' expr_op
+
| '-' expr_op
+
| expr_op BINARY_OP expr_op
+
| expr_app
+
+
%right ->
+
%left ||
+
%left &&
+
%nonassoc == !=
+
%nonassoc < > <= >=
+
%right //
+
%left NOT
+
%left + -
+
%left * /
+
%right ++
+
%nonassoc '?'
+
%nonassoc NEGATE
+
+

Definition at line 314 of file src/Parse/Parser.h.

+ +

Referenced by parseExpr().

+ +
+
+ +

◆ parseExprParen()

+ +
+
+ + + + + + + +
std::shared_ptr< ExprParen > nixf::Parser::parseExprParen ()
+
+
+ +

◆ parseExprPath()

+ +
+
+ + + + + + + +
std::shared_ptr< Expr > nixf::Parser::parseExprPath ()
+
+ +

Parse paths.

+
path : path_fragment (path_fragment)* path_end
+ + + +

The first token, path_fragment is lexed in PS_Expr context, then switch in "PS_Path" context. The ending token "path_end" shall be poped with context switching.

+ +

Definition at line 30 of file ParseStrings.cpp.

+ +

References nixf::Token::kind(), nixf::Token::lCur(), parseInterpolation(), PS_Path, nixf::Token::rCur(), and nixf::Token::view().

+ +

Referenced by parseExprSimple().

+ +
+
+ +

◆ parseExprSelect()

+ +
+
+ + + + + + + +
std::shared_ptr< Expr > nixf::Parser::parseExprSelect ()
+
+
expr_select : expr_simple '.' attrpath
+
| expr_simple '.' attrpath 'or' expr_select
+
| expr_simple 'or' <-- special "apply", 'or' is argument
+
| expr_simple
+
+

Definition at line 7 of file ParseExpr.cpp.

+ +

References nixf::detail::diagNullExpr(), nixf::Fix::edit(), nixf::Diagnostic::fix(), nixf::Token::kind(), nixf::Node::lCur(), nixf::TextEdit::mkInsertion(), nixf::TextEdit::mkRemoval(), parseAttrPath(), parseExprSelect(), parseExprSimple(), nixf::Token::range(), and nixf::Token::rCur().

+ +

Referenced by parseExprApp(), parseExprList(), and parseExprSelect().

+ +
+
+ +

◆ parseExprSimple()

+ +
+
+ + + + + + + +
std::shared_ptr< Expr > nixf::Parser::parseExprSimple ()
+
+
expr_simple : INT
+
| ID
+
| FLOAT
+
| string
+
| indented_string
+
| path
+
| hpath
+
| uri
+
| '(' expr ')'
+
| legacy_let
+
| attrset_expr
+
| list
+
+

Definition at line 61 of file ParseSimple.cpp.

+ +

References nixf::Token::kind(), parseExprAttrs(), parseExprList(), parseExprParen(), parseExprPath(), parseString(), nixf::Token::range(), and nixf::Token::view().

+ +

Referenced by parseExprSelect().

+ +
+
+ +

◆ parseExprWith()

+ +
+
+ + + + + + + +
std::shared_ptr< ExprWith > nixf::Parser::parseExprWith ()
+
+
expr_with : 'with' expr ';' expr
+
+

Definition at line 276 of file ParseExpr.cpp.

+ +

References nixf::detail::diagNullExpr(), nixf::Token::kind(), nixf::Diagnostic::note(), parseExpr(), nixf::Token::range(), and nixf::tok::spelling().

+ +

Referenced by parseExpr().

+ +
+
+ +

◆ parseFormal()

+ +
+
+ + + + + + + +
std::shared_ptr< Formal > nixf::Parser::parseFormal ()
+
+
formal : ,? ID
+
| ,? ID '?' expr
+
| ,? ...
+
+

Definition at line 7 of file ParseLambda.cpp.

+ +

References nixf::detail::diagNullExpr(), nixf::Token::kind(), and parseExpr().

+ +

Referenced by parseFormals().

+ +
+
+ +

◆ parseFormals()

+ +
+
+ + + + + + + +
std::shared_ptr< Formals > nixf::Parser::parseFormals ()
+
+
formals : '{' formal* '}'
+
+

Definition at line 51 of file ParseLambda.cpp.

+ +

References nixf::Token::kind(), nixf::Token::lCur(), nixf::Diagnostic::note(), nixf::Sema::onFormals(), parseFormal(), nixf::Token::range(), and nixf::tok::spelling().

+ +

Referenced by parseLambdaArg().

+ +
+
+ +

◆ parseInherit()

+ +
+
+ + + + + + + +
std::shared_ptr< Inherit > nixf::Parser::parseInherit ()
+
+
inherit : 'inherit' '(' expr ')' inherited_attrs ';'
+
| 'inherit' inherited_attrs ';'
+
inherited_attrs: attrname*
+
+

Definition at line 91 of file ParseAttrs.cpp.

+ +

References nixf::detail::diagNullExpr(), nixf::Token::kind(), nixf::Token::lCur(), parseAttrName(), parseExpr(), nixf::Token::range(), and nixf::tok::spelling().

+ +

Referenced by parseBinds().

+ +
+
+ +

◆ parseInterpolation()

+ +
+
+ + + + + + + +
std::shared_ptr< Interpolation > nixf::Parser::parseInterpolation ()
+
+ +

Parse interpolations.

+
interpolation : "${" expr "}"
+
+

Definition at line 7 of file ParseStrings.cpp.

+ +

References nixf::detail::diagNullExpr(), nixf::Token::kind(), nixf::Token::lCur(), parseExpr(), PS_Expr, nixf::Token::range(), and nixf::tok::spelling().

+ +

Referenced by parseAttrName(), parseExprPath(), and parseStringParts().

+ +
+
+ +

◆ parseLambdaArg()

+ +
+
+ + + + + + + +
std::shared_ptr< LambdaArg > nixf::Parser::parseLambdaArg ()
+
+
lambda_arg : ID
+
| ID @ {' formals '}'
+
| '{' formals '}'
+
| '{' formals '}' @ ID
+
+

Definition at line 85 of file ParseLambda.cpp.

+ +

References nixf::Fix::edit(), nixf::Diagnostic::fix(), nixf::Token::kind(), nixf::TextEdit::mkInsertion(), nixf::TextEdit::mkRemoval(), nixf::Diagnostic::note(), parseFormals(), nixf::Token::range(), nixf::tok::spelling(), and nixf::Token::view().

+ +

Referenced by parseExprLambda().

+ +
+
+ +

◆ parseString()

+ +
+
+ + + + + + + +
std::shared_ptr< ExprString > nixf::Parser::parseString (bool IsIndented)
+
+
string : " string_part* "
+
| '' string_part* ''
+
+

Definition at line 89 of file ParseStrings.cpp.

+ +

References nixf::Token::kind(), nixf::Token::lCur(), parseStringParts(), PS_IndString, PS_String, nixf::Token::range(), and nixf::tok::spelling().

+ +

Referenced by parseAttrName(), and parseExprSimple().

+ +
+
+ +

◆ parseStringParts()

+ +
+
+ + + + + + + +
std::shared_ptr< InterpolatedParts > nixf::Parser::parseStringParts ()
+
+
string_part : interpolation
+
| STRING_PART
+
| STRING_ESCAPE
+
+

Definition at line 59 of file ParseStrings.cpp.

+ +

References nixf::Token::kind(), nixf::Token::lCur(), and parseInterpolation().

+ +

Referenced by parseString().

+ +
+
+
The documentation for this class was generated from the following files: +
+ + + + diff --git a/classnixf_1_1PartialDiagnostic-members.html b/classnixf_1_1PartialDiagnostic-members.html new file mode 100644 index 000000000..731fd4bbf --- /dev/null +++ b/classnixf_1_1PartialDiagnostic-members.html @@ -0,0 +1,101 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
nixf::PartialDiagnostic Member List
+
+
+ +

This is the complete list of members for nixf::PartialDiagnostic, including all inherited members.

+ + + + + + + + + + + + +
args() constnixf::PartialDiagnosticinline
args()nixf::PartialDiagnosticinline
format() constnixf::PartialDiagnostic
message() const =0nixf::PartialDiagnosticpure virtual
operator<<(std::string Var)nixf::PartialDiagnosticinline
PartialDiagnostic()=defaultnixf::PartialDiagnosticprotected
PartialDiagnostic(LexerCursorRange Range)nixf::PartialDiagnosticinlineprotected
range() constnixf::PartialDiagnosticinline
tag(DiagnosticTag Tag)nixf::PartialDiagnosticinline
tags() constnixf::PartialDiagnosticinline
~PartialDiagnostic()=defaultnixf::PartialDiagnosticvirtual
+ + + + diff --git a/classnixf_1_1PartialDiagnostic.html b/classnixf_1_1PartialDiagnostic.html new file mode 100644 index 000000000..fe0522a51 --- /dev/null +++ b/classnixf_1_1PartialDiagnostic.html @@ -0,0 +1,429 @@ + + + + + + + +nixd: nixf::PartialDiagnostic Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
nixf::PartialDiagnostic Class Referenceabstract
+
+
+ +

#include <Diagnostic.h>

+
+Inheritance diagram for nixf::PartialDiagnostic:
+
+
+
[legend]
+ + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

virtual const char * message () const =0
 
virtual ~PartialDiagnostic ()=default
 
PartialDiagnosticoperator<< (std::string Var)
 
std::string format () const
 
const std::vector< std::string > & args () const
 
std::vector< std::string > & args ()
 
void tag (DiagnosticTag Tag)
 
const std::vector< DiagnosticTag > & tags () const
 
LexerCursorRange range () const
 
+ + + + + +

+Protected Member Functions

 PartialDiagnostic ()=default
 
 PartialDiagnostic (LexerCursorRange Range)
 
+

Detailed Description

+
+

Definition at line 80 of file Diagnostic.h.

+

Constructor & Destructor Documentation

+ +

◆ ~PartialDiagnostic()

+ +
+
+ + + + + +
+ + + + + + + +
virtual nixf::PartialDiagnostic::~PartialDiagnostic ()
+
+virtualdefault
+
+ +
+
+ +

◆ PartialDiagnostic() [1/2]

+ +
+
+ + + + + +
+ + + + + + + +
nixf::PartialDiagnostic::PartialDiagnostic ()
+
+protecteddefault
+
+ +
+
+ +

◆ PartialDiagnostic() [2/2]

+ +
+
+ + + + + +
+ + + + + + + +
nixf::PartialDiagnostic::PartialDiagnostic (LexerCursorRange Range)
+
+inlineprotected
+
+ +

Definition at line 106 of file Diagnostic.h.

+ +
+
+

Member Function Documentation

+ +

◆ args() [1/2]

+ +
+
+ + + + + +
+ + + + + + + +
std::vector< std::string > & nixf::PartialDiagnostic::args ()
+
+inline
+
+ +

Definition at line 95 of file Diagnostic.h.

+ +
+
+ +

◆ args() [2/2]

+ +
+
+ + + + + +
+ + + + + + + +
const std::vector< std::string > & nixf::PartialDiagnostic::args () const
+
+inline
+
+ +

Definition at line 93 of file Diagnostic.h.

+ +

Referenced by nixf::Note::operator<<().

+ +
+
+ +

◆ format()

+ +
+
+ + + + + + + +
std::string nixf::PartialDiagnostic::format () const
+
+ +

Definition at line 84 of file Diagnostic.cpp.

+ +

References message().

+ +
+
+ +

◆ message()

+ +
+
+ + + + + +
+ + + + + + + +
virtual const char * nixf::PartialDiagnostic::message () const
+
+pure virtual
+
+ +

Implemented in nixf::Note, and nixf::Diagnostic.

+ +

Referenced by format().

+ +
+
+ +

◆ operator<<()

+ +
+
+ + + + + +
+ + + + + + + +
PartialDiagnostic & nixf::PartialDiagnostic::operator<< (std::string Var)
+
+inline
+
+ +

Definition at line 86 of file Diagnostic.h.

+ +
+
+ +

◆ range()

+ +
+
+ + + + + +
+ + + + + + + +
LexerCursorRange nixf::PartialDiagnostic::range () const
+
+inline
+
+ +

Definition at line 101 of file Diagnostic.h.

+ +
+
+ +

◆ tag()

+ +
+
+ + + + + +
+ + + + + + + +
void nixf::PartialDiagnostic::tag (DiagnosticTag Tag)
+
+inline
+
+ +

Definition at line 97 of file Diagnostic.h.

+ +

Referenced by nixf::Sema::checkFormalEmpty(), and nixf::Sema::lowerInheritName().

+ +
+
+ +

◆ tags()

+ +
+
+ + + + + +
+ + + + + + + +
const std::vector< DiagnosticTag > & nixf::PartialDiagnostic::tags () const
+
+inline
+
+ +

Definition at line 99 of file Diagnostic.h.

+ +
+
+
The documentation for this class was generated from the following files: +
+ + + + diff --git a/classnixf_1_1PartialDiagnostic__inherit__graph.map b/classnixf_1_1PartialDiagnostic__inherit__graph.map new file mode 100644 index 000000000..6f6abea5c --- /dev/null +++ b/classnixf_1_1PartialDiagnostic__inherit__graph.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/classnixf_1_1PartialDiagnostic__inherit__graph.md5 b/classnixf_1_1PartialDiagnostic__inherit__graph.md5 new file mode 100644 index 000000000..c56ee7a0c --- /dev/null +++ b/classnixf_1_1PartialDiagnostic__inherit__graph.md5 @@ -0,0 +1 @@ +fd22615c31ac90fec5b10cfcc78d2d21 \ No newline at end of file diff --git a/classnixf_1_1PartialDiagnostic__inherit__graph.svg b/classnixf_1_1PartialDiagnostic__inherit__graph.svg new file mode 100644 index 000000000..ee30b2c43 --- /dev/null +++ b/classnixf_1_1PartialDiagnostic__inherit__graph.svg @@ -0,0 +1,57 @@ + + + + + + +nixf::PartialDiagnostic + + +Node1 + + +nixf::PartialDiagnostic + + + + + +Node2 + + +nixf::Diagnostic + + + + + +Node1->Node2 + + + + + + + + +Node3 + + +nixf::Note + + + + + +Node1->Node3 + + + + + + + + diff --git a/classnixf_1_1Position-members.html b/classnixf_1_1Position-members.html new file mode 100644 index 000000000..299789ce1 --- /dev/null +++ b/classnixf_1_1Position-members.html @@ -0,0 +1,97 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
nixf::Position Member List
+
+
+ +

This is the complete list of members for nixf::Position, including all inherited members.

+ + + + + + + + +
column() constnixf::Positioninline
line() constnixf::Positioninline
operator<nixf::Positionfriend
operator<=nixf::Positionfriend
operator==nixf::Positionfriend
Position()=defaultnixf::Position
Position(int64_t Line, int64_t Column)nixf::Positioninline
+ + + + diff --git a/classnixf_1_1Position.html b/classnixf_1_1Position.html new file mode 100644 index 000000000..03999190c --- /dev/null +++ b/classnixf_1_1Position.html @@ -0,0 +1,326 @@ + + + + + + + +nixd: nixf::Position Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
nixf::Position Class Reference
+
+
+ +

#include <Range.h>

+ + + + + + + + + + +

+Public Member Functions

 Position ()=default
 
 Position (int64_t Line, int64_t Column)
 
int64_t line () const
 
int64_t column () const
 
+ + + + + + + +

+Friends

bool operator== (const Position &LHS, const Position &RHS)
 
bool operator< (const Position &LHS, const Position &RHS)
 
bool operator<= (const Position &LHS, const Position &RHS)
 
+

Detailed Description

+
+

Definition at line 8 of file Range.h.

+

Constructor & Destructor Documentation

+ +

◆ Position() [1/2]

+ +
+
+ + + + + +
+ + + + + + + +
nixf::Position::Position ()
+
+default
+
+ +
+
+ +

◆ Position() [2/2]

+ +
+
+ + + + + +
+ + + + + + + + + + + +
nixf::Position::Position (int64_t Line,
int64_t Column )
+
+inline
+
+ +

Definition at line 14 of file Range.h.

+ +
+
+

Member Function Documentation

+ +

◆ column()

+ +
+
+ + + + + +
+ + + + + + + +
int64_t nixf::Position::column () const
+
+inline
+
+ +

Definition at line 17 of file Range.h.

+ +
+
+ +

◆ line()

+ +
+
+ + + + + +
+ + + + + + + +
int64_t nixf::Position::line () const
+
+inline
+
+ +

Definition at line 16 of file Range.h.

+ +
+
+

Friends And Related Symbol Documentation

+ +

◆ operator<

+ +
+
+ + + + + +
+ + + + + + + + + + + +
bool operator< (const Position & LHS,
const Position & RHS )
+
+friend
+
+ +

Definition at line 23 of file Range.h.

+ +
+
+ +

◆ operator<=

+ +
+
+ + + + + +
+ + + + + + + + + + + +
bool operator<= (const Position & LHS,
const Position & RHS )
+
+friend
+
+ +

Definition at line 28 of file Range.h.

+ +
+
+ +

◆ operator==

+ +
+
+ + + + + +
+ + + + + + + + + + + +
bool operator== (const Position & LHS,
const Position & RHS )
+
+friend
+
+ +

Definition at line 19 of file Range.h.

+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/classnixf_1_1PositionRange-members.html b/classnixf_1_1PositionRange-members.html new file mode 100644 index 000000000..c51aae5d1 --- /dev/null +++ b/classnixf_1_1PositionRange-members.html @@ -0,0 +1,96 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
nixf::PositionRange Member List
+
+
+ +

This is the complete list of members for nixf::PositionRange, including all inherited members.

+ + + + + + + +
begin() constnixf::PositionRangeinline
contains(const PositionRange &Pos) constnixf::PositionRangeinline
end() constnixf::PositionRangeinline
PositionRange()=defaultnixf::PositionRange
PositionRange(Position Begin, Position End)nixf::PositionRangeinline
PositionRange(Position Pos)nixf::PositionRangeinlineexplicit
+ + + + diff --git a/classnixf_1_1PositionRange.html b/classnixf_1_1PositionRange.html new file mode 100644 index 000000000..b95cb7c5e --- /dev/null +++ b/classnixf_1_1PositionRange.html @@ -0,0 +1,285 @@ + + + + + + + +nixd: nixf::PositionRange Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
nixf::PositionRange Class Reference
+
+
+ +

#include <Range.h>

+ + + + + + + + + + + + + + + +

+Public Member Functions

 PositionRange ()=default
 
 PositionRange (Position Begin, Position End)
 
 PositionRange (Position Pos)
 
Position begin () const
 
Position end () const
 
bool contains (const PositionRange &Pos) const
 Check if the range contains another range.
 
+

Detailed Description

+
+

Definition at line 33 of file Range.h.

+

Constructor & Destructor Documentation

+ +

◆ PositionRange() [1/3]

+ +
+
+ + + + + +
+ + + + + + + +
nixf::PositionRange::PositionRange ()
+
+default
+
+ +
+
+ +

◆ PositionRange() [2/3]

+ +
+
+ + + + + +
+ + + + + + + + + + + +
nixf::PositionRange::PositionRange (Position Begin,
Position End )
+
+inline
+
+ +

Definition at line 40 of file Range.h.

+ +
+
+ +

◆ PositionRange() [3/3]

+ +
+
+ + + + + +
+ + + + + + + +
nixf::PositionRange::PositionRange (Position Pos)
+
+inlineexplicit
+
+ +

Definition at line 41 of file Range.h.

+ +
+
+

Member Function Documentation

+ +

◆ begin()

+ +
+
+ + + + + +
+ + + + + + + +
Position nixf::PositionRange::begin () const
+
+inline
+
+ +

Definition at line 43 of file Range.h.

+ +
+
+ +

◆ contains()

+ +
+
+ + + + + +
+ + + + + + + +
bool nixf::PositionRange::contains (const PositionRange & Pos) const
+
+inline
+
+ +

Check if the range contains another range.

+ +

Definition at line 47 of file Range.h.

+ +

Referenced by nixf::LexerCursorRange::contains().

+ +
+
+ +

◆ end()

+ +
+
+ + + + + +
+ + + + + + + +
Position nixf::PositionRange::end () const
+
+inline
+
+ +

Definition at line 44 of file Range.h.

+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/classnixf_1_1Sema-members.html b/classnixf_1_1Sema-members.html new file mode 100644 index 000000000..7f670ac52 --- /dev/null +++ b/classnixf_1_1Sema-members.html @@ -0,0 +1,109 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
nixf::Sema Member List
+
+
+ +

This is the complete list of members for nixf::Sema, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + +
addAttr(SemaAttrs &Attr, const AttrPath &Path, std::shared_ptr< Expr > E)nixf::Sema
checkAttrRecursiveForMerge(const ExprAttrs &XAttrs, const ExprAttrs &YAttrs)nixf::Sema
checkFormalEllipsis(const FormalVector &FV)nixf::Sema
checkFormalEmpty(const FormalVector &FV)nixf::Sema
checkFormalSep(const FormalVector &FV)nixf::Sema
dedupFormal(std::map< std::string, const Formal * > &Dedup, const FormalVector &FV)nixf::Sema
desugarInheritExpr(std::shared_ptr< AttrName > Name, std::shared_ptr< Expr > E)nixf::Semastatic
dupAttr(std::string Name, LexerCursorRange Range, LexerCursorRange Prev)nixf::Sema
FormalVector typedefnixf::Sema
insertAttr(SemaAttrs &SA, std::shared_ptr< AttrName > Name, std::shared_ptr< Expr > E, bool IsInherit)nixf::Sema
lowerBinds(SemaAttrs &SA, const Binds &B)nixf::Sema
lowerInherit(SemaAttrs &Attr, const Inherit &Inherit)nixf::Sema
lowerInheritName(SemaAttrs &SA, std::shared_ptr< AttrName > Name, std::shared_ptr< Expr > E)nixf::Sema
mergeAttrSets(SemaAttrs &XAttrs, const SemaAttrs &YAttrs)nixf::Sema
onExprAttrs(LexerCursorRange Range, std::shared_ptr< Binds > Binds, std::shared_ptr< Misc > Rec)nixf::Sema
onFormals(LexerCursorRange Range, FormalVector FV)nixf::Sema
removeFormal(Fix &F, const FormalVector::const_iterator &Rm, const FormalVector &FV)nixf::Semastatic
selectOrCreate(SemaAttrs &SA, const std::vector< std::shared_ptr< AttrName > > &Path)nixf::Sema
Sema(std::string_view Src, std::vector< Diagnostic > &Diags)nixf::Semainline
+ + + + diff --git a/classnixf_1_1Sema.html b/classnixf_1_1Sema.html new file mode 100644 index 000000000..4b7f3c10b --- /dev/null +++ b/classnixf_1_1Sema.html @@ -0,0 +1,729 @@ + + + + + + + +nixd: nixf::Sema Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+ +
+ +

#include <SemaActions.h>

+ + + + +

+Public Types

using FormalVector = Formals::FormalVector
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 Sema (std::string_view Src, std::vector< Diagnostic > &Diags)
 
void checkFormalSep (const FormalVector &FV)
 Check if there is a seperator "," between formals.
 
void checkFormalEllipsis (const FormalVector &FV)
 Check if ellipsis "...".
 
void checkFormalEmpty (const FormalVector &FV)
 Diagnose empty formal i.e. single comma.
 
void dedupFormal (std::map< std::string, const Formal * > &Dedup, const FormalVector &FV)
 Deduplicate formals.
 
std::shared_ptr< FormalsonFormals (LexerCursorRange Range, FormalVector FV)
 
void dupAttr (std::string Name, LexerCursorRange Range, LexerCursorRange Prev)
 
void checkAttrRecursiveForMerge (const ExprAttrs &XAttrs, const ExprAttrs &YAttrs)
 Check if these two attrsets has the same "recursive" modifier.
 
void mergeAttrSets (SemaAttrs &XAttrs, const SemaAttrs &YAttrs)
 Perform attrsets merging while duplicated fields are both attrsets.
 
void insertAttr (SemaAttrs &SA, std::shared_ptr< AttrName > Name, std::shared_ptr< Expr > E, bool IsInherit)
 
SemaAttrsselectOrCreate (SemaAttrs &SA, const std::vector< std::shared_ptr< AttrName > > &Path)
 
void addAttr (SemaAttrs &Attr, const AttrPath &Path, std::shared_ptr< Expr > E)
 Insert the binding: AttrPath = E; into Attr.
 
void lowerInheritName (SemaAttrs &SA, std::shared_ptr< AttrName > Name, std::shared_ptr< Expr > E)
 
void lowerInherit (SemaAttrs &Attr, const Inherit &Inherit)
 
void lowerBinds (SemaAttrs &SA, const Binds &B)
 
std::shared_ptr< ExprAttrsonExprAttrs (LexerCursorRange Range, std::shared_ptr< Binds > Binds, std::shared_ptr< Misc > Rec)
 
+ + + + + + + +

+Static Public Member Functions

static void removeFormal (Fix &F, const FormalVector::const_iterator &Rm, const FormalVector &FV)
 Make text edits to remove a formal.
 
static std::shared_ptr< ExprdesugarInheritExpr (std::shared_ptr< AttrName > Name, std::shared_ptr< Expr > E)
 Desugar inherit (expr) a, inherit a, into select, or variable.
 
+

Detailed Description

+
+

Definition at line 16 of file SemaActions.h.

+

Member Typedef Documentation

+ +

◆ FormalVector

+ +
+
+ +

Definition at line 24 of file SemaActions.h.

+ +
+
+

Constructor & Destructor Documentation

+ +

◆ Sema()

+ +
+
+ + + + + +
+ + + + + + + + + + + +
nixf::Sema::Sema (std::string_view Src,
std::vector< Diagnostic > & Diags )
+
+inline
+
+ +

Definition at line 21 of file SemaActions.h.

+ +
+
+

Member Function Documentation

+ +

◆ addAttr()

+ +
+
+ + + + + + + + + + + + + + + + +
void nixf::Sema::addAttr (SemaAttrs & Attr,
const AttrPath & Path,
std::shared_ptr< Expr > E )
+
+ +

Insert the binding: AttrPath = E; into Attr.

+ +

Definition at line 153 of file SemaActions.cpp.

+ +

References insertAttr(), and selectOrCreate().

+ +

Referenced by lowerBinds().

+ +
+
+ +

◆ checkAttrRecursiveForMerge()

+ +
+
+ + + + + + + + + + + +
void nixf::Sema::checkAttrRecursiveForMerge (const ExprAttrs & XAttrs,
const ExprAttrs & YAttrs )
+
+ +

Check if these two attrsets has the same "recursive" modifier.

+

Official nix implementation implicitly discards the second modifier, this is somehow error-prone, let's detect it.

+ +

Definition at line 22 of file SemaActions.cpp.

+ +

References nixf::ExprAttrs::isRecursive(), nixf::Node::range(), and nixf::ExprAttrs::rec().

+ +

Referenced by insertAttr().

+ +
+
+ +

◆ checkFormalEllipsis()

+ +
+
+ + + + + + + +
void nixf::Sema::checkFormalEllipsis (const FormalVector & FV)
+
+
+ +

◆ checkFormalEmpty()

+ +
+
+ + + + + + + +
void nixf::Sema::checkFormalEmpty (const FormalVector & FV)
+
+
+ +

◆ checkFormalSep()

+ +
+
+ + + + + + + +
void nixf::Sema::checkFormalSep (const FormalVector & FV)
+
+ +

Check if there is a seperator "," between formals.

+ +

Definition at line 212 of file SemaActions.cpp.

+ +

References nixf::Formal::comma(), nixf::Fix::edit(), nixf::Diagnostic::fix(), nixf::Node::lCur(), nixf::TextEdit::mkInsertion(), and nixf::Node::range().

+ +

Referenced by onFormals().

+ +
+
+ +

◆ dedupFormal()

+ +
+
+ + + + + + + + + + + +
void nixf::Sema::dedupFormal (std::map< std::string, const Formal * > & Dedup,
const FormalVector & FV )
+
+ +

Deduplicate formals.

+ +

Definition at line 241 of file SemaActions.cpp.

+ +

References nixf::Formal::id(), nixf::Identifier::name(), nixf::Diagnostic::note(), and nixf::Node::range().

+ +

Referenced by onFormals().

+ +
+
+ +

◆ desugarInheritExpr()

+ +
+
+ + + + + +
+ + + + + + + + + + + +
std::shared_ptr< Expr > nixf::Sema::desugarInheritExpr (std::shared_ptr< AttrName > Name,
std::shared_ptr< Expr > E )
+
+static
+
+ +

Desugar inherit (expr) a, inherit a, into select, or variable.

+ +

Definition at line 324 of file SemaActions.cpp.

+ +

Referenced by lowerInherit().

+ +
+
+ +

◆ dupAttr()

+ +
+
+ + + + + + + + + + + + + + + + +
void nixf::Sema::dupAttr (std::string Name,
LexerCursorRange Range,
LexerCursorRange Prev )
+
+ +

Definition at line 15 of file SemaActions.cpp.

+ +

Referenced by insertAttr(), lowerInheritName(), mergeAttrSets(), and selectOrCreate().

+ +
+
+ +

◆ insertAttr()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + +
void nixf::Sema::insertAttr (SemaAttrs & SA,
std::shared_ptr< AttrName > Name,
std::shared_ptr< Expr > E,
bool IsInherit )
+
+
Note
Name must not be null
+ +

Definition at line 67 of file SemaActions.cpp.

+ +

References checkAttrRecursiveForMerge(), dupAttr(), and mergeAttrSets().

+ +

Referenced by addAttr().

+ +
+
+ +

◆ lowerBinds()

+ +
+
+ + + + + + + + + + + +
void nixf::Sema::lowerBinds (SemaAttrs & SA,
const Binds & B )
+
+ +

Definition at line 304 of file SemaActions.cpp.

+ +

References addAttr(), nixf::Binds::bindings(), and lowerInherit().

+ +

Referenced by onExprAttrs().

+ +
+
+ +

◆ lowerInherit()

+ +
+
+ + + + + + + + + + + +
void nixf::Sema::lowerInherit (SemaAttrs & Attr,
const Inherit & Inherit )
+
+ +

Definition at line 296 of file SemaActions.cpp.

+ +

References desugarInheritExpr(), nixf::Inherit::expr(), lowerInheritName(), and nixf::Inherit::names().

+ +

Referenced by lowerBinds().

+ +
+
+ +

◆ lowerInheritName()

+ +
+
+ + + + + + + + + + + + + + + + +
void nixf::Sema::lowerInheritName (SemaAttrs & SA,
std::shared_ptr< AttrName > Name,
std::shared_ptr< Expr > E )
+
+
+ +

◆ mergeAttrSets()

+ +
+
+ + + + + + + + + + + +
void nixf::Sema::mergeAttrSets (SemaAttrs & XAttrs,
const SemaAttrs & YAttrs )
+
+ +

Perform attrsets merging while duplicated fields are both attrsets.

+

e.g.

{
+
a = { x = 1; };
+
a = { y = 1; };
+
}
+

We may want to merge both "a = " attrsets into a single one, instead of report duplicating attrs.

+ +

Definition at line 42 of file SemaActions.cpp.

+ +

References dupAttr().

+ +

Referenced by insertAttr().

+ +
+
+ +

◆ onExprAttrs()

+ +
+
+ + + + + + + + + + + + + + + + +
std::shared_ptr< ExprAttrs > nixf::Sema::onExprAttrs (LexerCursorRange Range,
std::shared_ptr< Binds > Binds,
std::shared_ptr< Misc > Rec )
+
+ +

Definition at line 336 of file SemaActions.cpp.

+ +

References lowerBinds().

+ +

Referenced by nixf::Parser::parseExprAttrs().

+ +
+
+ +

◆ onFormals()

+ +
+
+ + + + + + + + + + + +
std::shared_ptr< Formals > nixf::Sema::onFormals (LexerCursorRange Range,
FormalVector FV )
+
+ +

Definition at line 262 of file SemaActions.cpp.

+ +

References checkFormalEllipsis(), checkFormalEmpty(), checkFormalSep(), and dedupFormal().

+ +

Referenced by nixf::Parser::parseFormals().

+ +
+
+ +

◆ removeFormal()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + +
void nixf::Sema::removeFormal (Fix & F,
const FormalVector::const_iterator & Rm,
const FormalVector & FV )
+
+static
+
+ +

Make text edits to remove a formal.

+ +

Definition at line 167 of file SemaActions.cpp.

+ +

References nixf::Formal::comma(), nixf::Fix::edit(), nixf::TextEdit::mkRemoval(), and nixf::Node::range().

+ +

Referenced by checkFormalEllipsis().

+ +
+
+ +

◆ selectOrCreate()

+ +
+
+ + + + + + + + + + + +
SemaAttrs * nixf::Sema::selectOrCreate (SemaAttrs & SA,
const std::vector< std::shared_ptr< AttrName > > & Path )
+
+

Select into Attr the attribute specified by Path, or create one if not exists, until reached the inner-most attr. Similar to mkdir -p.

+
Returns
The selected or created attribute.
+ +

Definition at line 103 of file SemaActions.cpp.

+ +

References dupAttr().

+ +

Referenced by addAttr().

+ +
+
+
The documentation for this class was generated from the following files: +
+ + + + diff --git a/classnixf_1_1SemaAttrs-members.html b/classnixf_1_1SemaAttrs-members.html new file mode 100644 index 000000000..78c815639 --- /dev/null +++ b/classnixf_1_1SemaAttrs-members.html @@ -0,0 +1,96 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
nixf::SemaAttrs Member List
+
+
+ +

This is the complete list of members for nixf::SemaAttrs, including all inherited members.

+ + + + + + + +
dynamicAttrs() constnixf::SemaAttrsinline
isRecursive() constnixf::SemaAttrsinline
Semanixf::SemaAttrsfriend
SemaAttrs(Misc *Recursive)nixf::SemaAttrsinline
SemaAttrs(std::map< std::string, Attribute > Static, std::vector< Attribute > Dynamic, Misc *Recursive)nixf::SemaAttrsinline
staticAttrs() constnixf::SemaAttrsinline
+ + + + diff --git a/classnixf_1_1SemaAttrs.html b/classnixf_1_1SemaAttrs.html new file mode 100644 index 000000000..9a5321cf2 --- /dev/null +++ b/classnixf_1_1SemaAttrs.html @@ -0,0 +1,307 @@ + + + + + + + +nixd: nixf::SemaAttrs Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
nixf::SemaAttrs Class Reference
+
+
+ +

Attribute set after deduplication. + More...

+ +

#include <Attrs.h>

+ + + + + + + + + + + + + + + +

+Public Member Functions

 SemaAttrs (Misc *Recursive)
 
 SemaAttrs (std::map< std::string, Attribute > Static, std::vector< Attribute > Dynamic, Misc *Recursive)
 
const std::map< std::string, Attribute > & staticAttrs () const
 Static attributes, do not require evaluation to get the key.
 
const std::vector< Attribute > & dynamicAttrs () const
 Dynamic attributes, require evaluation to get the key.
 
bool isRecursive () const
 If the attribute set is rec.
 
+ + + +

+Friends

class Sema
 
+

Detailed Description

+

Attribute set after deduplication.

+

Represeting the attribute set suitable for variable lookups, evaluation.

+

The attrset cannot have duplicate keys, and keys will be desugared to strict K-V form.

+

e.g. { a.b.c = 1 } -> { a = { b = { c = 1; }; }; }

+ +

Definition at line 227 of file Attrs.h.

+

Constructor & Destructor Documentation

+ +

◆ SemaAttrs() [1/2]

+ +
+
+ + + + + +
+ + + + + + + +
nixf::SemaAttrs::SemaAttrs (Misc * Recursive)
+
+inline
+
+ +

Definition at line 237 of file Attrs.h.

+ +
+
+ +

◆ SemaAttrs() [2/2]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + +
nixf::SemaAttrs::SemaAttrs (std::map< std::string, Attribute > Static,
std::vector< Attribute > Dynamic,
Misc * Recursive )
+
+inline
+
+ +

Definition at line 238 of file Attrs.h.

+ +
+
+

Member Function Documentation

+ +

◆ dynamicAttrs()

+ +
+
+ + + + + +
+ + + + + + + +
const std::vector< Attribute > & nixf::SemaAttrs::dynamicAttrs () const
+
+inline
+
+ +

Dynamic attributes, require evaluation to get the key.

+

e.g. { "${asdasda}" = "asdasd"; }

+ +

Definition at line 253 of file Attrs.h.

+ +
+
+ +

◆ isRecursive()

+ +
+
+ + + + + +
+ + + + + + + +
bool nixf::SemaAttrs::isRecursive () const
+
+inline
+
+ +

If the attribute set is rec.

+ +

Definition at line 258 of file Attrs.h.

+ +
+
+ +

◆ staticAttrs()

+ +
+
+ + + + + +
+ + + + + + + +
const std::map< std::string, Attribute > & nixf::SemaAttrs::staticAttrs () const
+
+inline
+
+ +

Static attributes, do not require evaluation to get the key.

+

e.g. { a = 1; b = 2; }

+ +

Definition at line 246 of file Attrs.h.

+ +
+
+

Friends And Related Symbol Documentation

+ +

◆ Sema

+ +
+
+ + + + + +
+ + + + +
friend class Sema
+
+friend
+
+ +

Definition at line 234 of file Attrs.h.

+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/classnixf_1_1TextEdit-members.html b/classnixf_1_1TextEdit-members.html new file mode 100644 index 000000000..64e89c132 --- /dev/null +++ b/classnixf_1_1TextEdit-members.html @@ -0,0 +1,98 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
nixf::TextEdit Member List
+
+
+ +

This is the complete list of members for nixf::TextEdit, including all inherited members.

+ + + + + + + + + +
isInsertion() constnixf::TextEditinline
isRemoval() constnixf::TextEditinline
isReplace() constnixf::TextEditinline
mkInsertion(LexerCursor P, std::string NewText)nixf::TextEditinlinestatic
mkRemoval(LexerCursorRange RemovingRange)nixf::TextEditinlinestatic
newText() constnixf::TextEditinline
oldRange() constnixf::TextEditinline
TextEdit(LexerCursorRange OldRange, std::string NewText)nixf::TextEditinline
+ + + + diff --git a/classnixf_1_1TextEdit.html b/classnixf_1_1TextEdit.html new file mode 100644 index 000000000..69c498d7b --- /dev/null +++ b/classnixf_1_1TextEdit.html @@ -0,0 +1,366 @@ + + + + + + + +nixd: nixf::TextEdit Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+ +
+ +

#include <Diagnostic.h>

+ + + + + + + + + + + + + + +

+Public Member Functions

 TextEdit (LexerCursorRange OldRange, std::string NewText)
 
bool isReplace () const
 
bool isRemoval () const
 
bool isInsertion () const
 
LexerCursorRange oldRange () const
 
std::string_view newText () const
 
+ + + + + +

+Static Public Member Functions

static TextEdit mkInsertion (LexerCursor P, std::string NewText)
 
static TextEdit mkRemoval (LexerCursorRange RemovingRange)
 
+

Detailed Description

+

Remove the text at OldRange, and replace it as NewText Special cases:

    +
  1. Insertions: special OldRange that Begin == End.
  2. +
  3. Removals: empty NewText.
  4. +
+ +

Definition at line 26 of file Diagnostic.h.

+

Constructor & Destructor Documentation

+ +

◆ TextEdit()

+ +
+
+ + + + + +
+ + + + + + + + + + + +
nixf::TextEdit::TextEdit (LexerCursorRange OldRange,
std::string NewText )
+
+inline
+
+ +

Definition at line 31 of file Diagnostic.h.

+ +

References nixf::LexerCursorRange::lCur(), and nixf::LexerCursorRange::rCur().

+ +
+
+

Member Function Documentation

+ +

◆ isInsertion()

+ +
+
+ + + + + +
+ + + + + + + +
bool nixf::TextEdit::isInsertion () const
+
+inline
+
+ +

Definition at line 50 of file Diagnostic.h.

+ +

References nixf::LexerCursorRange::lCur(), and nixf::LexerCursorRange::rCur().

+ +

Referenced by isReplace().

+ +
+
+ +

◆ isRemoval()

+ +
+
+ + + + + +
+ + + + + + + +
bool nixf::TextEdit::isRemoval () const
+
+inline
+
+ +

Definition at line 48 of file Diagnostic.h.

+ +

Referenced by isReplace().

+ +
+
+ +

◆ isReplace()

+ +
+
+ + + + + +
+ + + + + + + +
bool nixf::TextEdit::isReplace () const
+
+inline
+
+ +

Definition at line 44 of file Diagnostic.h.

+ +

References isInsertion(), and isRemoval().

+ +
+
+ +

◆ mkInsertion()

+ +
+
+ + + + + +
+ + + + + + + + + + + +
static TextEdit nixf::TextEdit::mkInsertion (LexerCursor P,
std::string NewText )
+
+inlinestatic
+
+
+ +

◆ mkRemoval()

+ + + +

◆ newText()

+ +
+
+ + + + + +
+ + + + + + + +
std::string_view nixf::TextEdit::newText () const
+
+inline
+
+ +

Definition at line 55 of file Diagnostic.h.

+ +
+
+ +

◆ oldRange()

+ +
+
+ + + + + +
+ + + + + + + +
LexerCursorRange nixf::TextEdit::oldRange () const
+
+inline
+
+ +

Definition at line 54 of file Diagnostic.h.

+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/classnixf_1_1Token-members.html b/classnixf_1_1Token-members.html new file mode 100644 index 000000000..8d647e198 --- /dev/null +++ b/classnixf_1_1Token-members.html @@ -0,0 +1,96 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
nixf::Token Member List
+
+
+ +

This is the complete list of members for nixf::Token, including all inherited members.

+ + + + + + + +
kind() constnixf::Tokeninline
lCur() constnixf::Tokeninline
range() constnixf::Tokeninline
rCur() constnixf::Tokeninline
Token(tok::TokenKind Kind, LexerCursorRange Range, std::string_view View)nixf::Tokeninline
view() constnixf::Tokeninline
+ + + + diff --git a/classnixf_1_1Token.html b/classnixf_1_1Token.html new file mode 100644 index 000000000..b3235e539 --- /dev/null +++ b/classnixf_1_1Token.html @@ -0,0 +1,306 @@ + + + + + + + +nixd: nixf::Token Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
nixf::Token Class Reference
+
+
+ +

A token. With it's kind, and the range in source code. + More...

+ +

#include <Token.h>

+ + + + + + + + + + + + + + +

+Public Member Functions

 Token (tok::TokenKind Kind, LexerCursorRange Range, std::string_view View)
 
LexerCursor lCur () const
 
LexerCursor rCur () const
 
tok::TokenKind kind () const
 
LexerCursorRange range () const
 
std::string_view view () const
 
+

Detailed Description

+

A token. With it's kind, and the range in source code.

+

This class is trivially copyable.

+ +

Definition at line 56 of file Token.h.

+

Constructor & Destructor Documentation

+ +

◆ Token()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + +
nixf::Token::Token (tok::TokenKind Kind,
LexerCursorRange Range,
std::string_view View )
+
+inline
+
+ +

Definition at line 62 of file Token.h.

+ +
+
+

Member Function Documentation

+ +

◆ kind()

+ + + +

◆ lCur()

+ + + +

◆ range()

+ + + +

◆ rCur()

+ +
+
+ + + + + +
+ + + + + + + +
LexerCursor nixf::Token::rCur () const
+
+inline
+
+
+ +

◆ view()

+ +
+
+ + + + + +
+ + + + + + + +
std::string_view nixf::Token::view () const
+
+inline
+
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/classnixt_1_1ASTDeserializer-members.html b/classnixt_1_1ASTDeserializer-members.html new file mode 100644 index 000000000..cbbb7ab79 --- /dev/null +++ b/classnixt_1_1ASTDeserializer-members.html @@ -0,0 +1,94 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
nixt::ASTDeserializer Member List
+
+
+ +

This is the complete list of members for nixt::ASTDeserializer, including all inherited members.

+ + + + + +
ASTDeserializer(DeserializeContext &Ctx, PtrPool< nix::Expr > &Pool)nixt::ASTDeserializerinline
eatExprInt(std::string_view &Data)nixt::ASTDeserializer
eatHookable(std::string_view &Data, ValueMap &VMap, EnvMap &EMap)nixt::ASTDeserializer
eatSymbol(std::string_view &Data)nixt::ASTDeserializer
+ + + + diff --git a/classnixt_1_1ASTDeserializer.html b/classnixt_1_1ASTDeserializer.html new file mode 100644 index 000000000..c7e47c54b --- /dev/null +++ b/classnixt_1_1ASTDeserializer.html @@ -0,0 +1,218 @@ + + + + + + + +nixd: nixt::ASTDeserializer Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
nixt::ASTDeserializer Class Reference
+
+
+ +

#include <ASTReader.h>

+ + + + + + + + + + +

+Public Member Functions

 ASTDeserializer (DeserializeContext &Ctx, PtrPool< nix::Expr > &Pool)
 
nix::Expr * eatHookable (std::string_view &Data, ValueMap &VMap, EnvMap &EMap)
 
nix::Symbol eatSymbol (std::string_view &Data)
 
nix::ExprInt eatExprInt (std::string_view &Data)
 
+

Detailed Description

+
+

Definition at line 13 of file ASTReader.h.

+

Constructor & Destructor Documentation

+ +

◆ ASTDeserializer()

+ +
+
+ + + + + +
+ + + + + + + + + + + +
nixt::ASTDeserializer::ASTDeserializer (DeserializeContext & Ctx,
PtrPool< nix::Expr > & Pool )
+
+inline
+
+ +

Definition at line 20 of file ASTReader.h.

+ +
+
+

Member Function Documentation

+ +

◆ eatExprInt()

+ +
+
+ + + + + + + +
nix::ExprInt nixt::ASTDeserializer::eatExprInt (std::string_view & Data)
+
+ +

Definition at line 38 of file ASTReader.cpp.

+ +

Referenced by eatHookable().

+ +
+
+ +

◆ eatHookable()

+ +
+
+ + + + + + + + + + + + + + + + +
nix::Expr * nixt::ASTDeserializer::eatHookable (std::string_view & Data,
ValueMap & VMap,
EnvMap & EMap )
+
+ +

Definition at line 18 of file ASTReader.cpp.

+ +

References eatExprInt(), nixbc::EK_Int, and nixt::PtrPool< T >::record().

+ +

Referenced by nixt::deserializeHookable().

+ +
+
+ +

◆ eatSymbol()

+ +
+
+ + + + + + + +
nix::Symbol nixt::ASTDeserializer::eatSymbol (std::string_view & Data)
+
+ +

Definition at line 34 of file ASTReader.cpp.

+ +

References nixt::DeserializeContext::STable.

+ +
+
+
The documentation for this class was generated from the following files: +
+ + + + diff --git a/clipboard.js b/clipboard.js new file mode 100644 index 000000000..42c1fb0e0 --- /dev/null +++ b/clipboard.js @@ -0,0 +1,61 @@ +/** + +The code below is based on the Doxygen Awesome project, see +https://github.com/jothepro/doxygen-awesome-css + +MIT License + +Copyright (c) 2021 - 2022 jothepro + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +*/ + +let clipboard_title = "Copy to clipboard" +let clipboard_icon = `` +let clipboard_successIcon = `` +let clipboard_successDuration = 1000 + +$(function() { + if(navigator.clipboard) { + const fragments = document.getElementsByClassName("fragment") + for(const fragment of fragments) { + const clipboard_div = document.createElement("div") + clipboard_div.classList.add("clipboard") + clipboard_div.innerHTML = clipboard_icon + clipboard_div.title = clipboard_title + $(clipboard_div).click(function() { + const content = this.parentNode.cloneNode(true) + // filter out line number and folded fragments from file listings + content.querySelectorAll(".lineno, .ttc, .foldclosed").forEach((node) => { node.remove() }) + let text = content.textContent + // remove trailing newlines and trailing spaces from empty lines + text = text.replace(/^\s*\n/gm,'\n').replace(/\n*$/,'') + navigator.clipboard.writeText(text); + this.classList.add("success") + this.innerHTML = clipboard_successIcon + window.setTimeout(() => { // switch back to normal icon after timeout + this.classList.remove("success") + this.innerHTML = clipboard_icon + }, clipboard_successDuration); + }) + fragment.insertBefore(clipboard_div, fragment.firstChild) + } + } +}) diff --git a/closed.png b/closed.png new file mode 100644 index 0000000000000000000000000000000000000000..98cc2c909da37a6df914fbf67780eebd99c597f5 GIT binary patch literal 132 zcmeAS@N?(olHy`uVBq!ia0vp^oFL4>1|%O$WD@{V-kvUwAr*{o@8{^CZMh(5KoB^r_<4^zF@3)Cp&&t3hdujKf f*?bjBoY!V+E))@{xMcbjXe@)LtDnm{r-UW|*e5JT literal 0 HcmV?d00001 diff --git a/cookie.js b/cookie.js new file mode 100644 index 000000000..53ad21d98 --- /dev/null +++ b/cookie.js @@ -0,0 +1,58 @@ +/*! + Cookie helper functions + Copyright (c) 2023 Dimitri van Heesch + Released under MIT license. +*/ +let Cookie = { + cookie_namespace: 'doxygen_', + + readSetting(cookie,defVal) { + if (window.chrome) { + const val = localStorage.getItem(this.cookie_namespace+cookie) || + sessionStorage.getItem(this.cookie_namespace+cookie); + if (val) return val; + } else { + let myCookie = this.cookie_namespace+cookie+"="; + if (document.cookie) { + const index = document.cookie.indexOf(myCookie); + if (index != -1) { + const valStart = index + myCookie.length; + let valEnd = document.cookie.indexOf(";", valStart); + if (valEnd == -1) { + valEnd = document.cookie.length; + } + return document.cookie.substring(valStart, valEnd); + } + } + } + return defVal; + }, + + writeSetting(cookie,val,days=10*365) { // default days='forever', 0=session cookie, -1=delete + if (window.chrome) { + if (days==0) { + sessionStorage.setItem(this.cookie_namespace+cookie,val); + } else { + localStorage.setItem(this.cookie_namespace+cookie,val); + } + } else { + let date = new Date(); + date.setTime(date.getTime()+(days*24*60*60*1000)); + const expiration = days!=0 ? "expires="+date.toGMTString()+";" : ""; + document.cookie = this.cookie_namespace + cookie + "=" + + val + "; SameSite=Lax;" + expiration + "path=/"; + } + }, + + eraseSetting(cookie) { + if (window.chrome) { + if (localStorage.getItem(this.cookie_namespace+cookie)) { + localStorage.removeItem(this.cookie_namespace+cookie); + } else if (sessionStorage.getItem(this.cookie_namespace+cookie)) { + sessionStorage.removeItem(this.cookie_namespace+cookie); + } + } else { + this.writeSetting(cookie,'',-1); + } + }, +} diff --git a/dev_8md.html b/dev_8md.html new file mode 100644 index 000000000..811d8e1fb --- /dev/null +++ b/dev_8md.html @@ -0,0 +1,83 @@ + + + + + + + +nixd: dev.md File Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
+
dev.md File Reference
+
+
+
+ + + + diff --git a/dir_000000_000032.html b/dir_000000_000032.html new file mode 100644 index 000000000..bfb811afb --- /dev/null +++ b/dir_000000_000032.html @@ -0,0 +1,84 @@ + + + + + + + +nixd: Basic -> Nodes Relation + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+ + + + + diff --git a/dir_000001_000010.html b/dir_000001_000010.html new file mode 100644 index 000000000..2e611d14f --- /dev/null +++ b/dir_000001_000010.html @@ -0,0 +1,84 @@ + + + + + + + +nixd: Basic -> include Relation + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+

Basic → include Relation

File in libnixf/src/BasicIncludes file in libnixf/include
Diagnostic.cppnixf / Basic / Diagnostic.h
Diagnostic.cppnixf / Basic / DiagnosticKinds.inc
Diagnostic.cppnixf / Basic / NoteKinds.inc
Nodes.cppnixf / Basic / libnixf/include/nixf/Basic/Nodes.h
Nodes.cppnixf / Basic / NodeKinds.inc
+ + + + diff --git a/dir_000003_000000.html b/dir_000003_000000.html new file mode 100644 index 000000000..cfc0d50f4 --- /dev/null +++ b/dir_000003_000000.html @@ -0,0 +1,84 @@ + + + + + + + +nixd: Bytecode -> Basic Relation + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+

Bytecode → Basic Relation

File in libnixf/include/nixf/BytecodeIncludes file in libnixf/include/nixf/Basic
libnixf/include/nixf/Bytecode/Write.hlibnixf/include/nixf/Basic/Nodes.h
+ + + + diff --git a/dir_000004_000010.html b/dir_000004_000010.html new file mode 100644 index 000000000..97733d0b7 --- /dev/null +++ b/dir_000004_000010.html @@ -0,0 +1,84 @@ + + + + + + + +nixd: Bytecode -> include Relation + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+

Bytecode → include Relation

File in libnixf/src/BytecodeIncludes file in libnixf/include
libnixf/src/Bytecode/Write.hnixf / Bytecode / libnixf/include/nixf/Bytecode/Write.h
+ + + + diff --git a/dir_000004_000016.html b/dir_000004_000016.html new file mode 100644 index 000000000..b6611abd3 --- /dev/null +++ b/dir_000004_000016.html @@ -0,0 +1,84 @@ + + + + + + + +nixd: Bytecode -> libbc Relation + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+

Bytecode → libbc Relation

File in libnixf/src/BytecodeIncludes file in libbc
libnixf/src/Bytecode/Write.cppinclude / bc / libbc/include/bc/Write.h
+ + + + diff --git a/dir_000004_000017.html b/dir_000004_000017.html new file mode 100644 index 000000000..af7eeeaf4 --- /dev/null +++ b/dir_000004_000017.html @@ -0,0 +1,84 @@ + + + + + + + +nixd: Bytecode -> libnixbc Relation + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+

Bytecode → libnixbc Relation

File in libnixf/src/BytecodeIncludes file in libnixbc
libnixf/src/Bytecode/Write.cppinclude / nixbc / libnixbc/include/nixbc/Nodes.h
libnixf/src/Bytecode/Write.hinclude / nixbc / libnixbc/include/nixbc/Nodes.h
+ + + + diff --git a/dir_000009_000016.html b/dir_000009_000016.html new file mode 100644 index 000000000..d82e05f22 --- /dev/null +++ b/dir_000009_000016.html @@ -0,0 +1,84 @@ + + + + + + + +nixd: include -> libbc Relation + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+

include → libbc Relation

File in libnixbc/includeIncludes file in libbc
nixbc / Origin.hinclude / bc / Read.h
+ + + + diff --git a/dir_000011_000017.html b/dir_000011_000017.html new file mode 100644 index 000000000..9ba688ea1 --- /dev/null +++ b/dir_000011_000017.html @@ -0,0 +1,84 @@ + + + + + + + +nixd: include -> libnixbc Relation + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+

include → libnixbc Relation

File in libnixt/includeIncludes file in libnixbc
nixt / Serialize.hinclude / nixbc / Type.h
+ + + + diff --git a/dir_000013_000016.html b/dir_000013_000016.html new file mode 100644 index 000000000..35f194d7d --- /dev/null +++ b/dir_000013_000016.html @@ -0,0 +1,84 @@ + + + + + + + +nixd: include -> libbc Relation + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+

include → libbc Relation

File in nixd/librpc/includeIncludes file in libbc
nixd / rpc / nixd/librpc/include/nixd/rpc/Protocol.hinclude / bc / Read.h
nixd / rpc / nixd/librpc/include/nixd/rpc/Protocol.hinclude / bc / libbc/include/bc/Write.h
+ + + + diff --git a/dir_000015_000011.html b/dir_000015_000011.html new file mode 100644 index 000000000..c2c2e8ffc --- /dev/null +++ b/dir_000015_000011.html @@ -0,0 +1,84 @@ + + + + + + + +nixd: lib -> include Relation + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+ + + + + diff --git a/dir_000015_000016.html b/dir_000015_000016.html new file mode 100644 index 000000000..e8de4ec18 --- /dev/null +++ b/dir_000015_000016.html @@ -0,0 +1,84 @@ + + + + + + + +nixd: lib -> libbc Relation + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+

lib → libbc Relation

File in libnixt/libIncludes file in libbc
ASTReader.cppinclude / bc / Read.h
ASTReader.hinclude / bc / Read.h
+ + + + diff --git a/dir_000015_000017.html b/dir_000015_000017.html new file mode 100644 index 000000000..1711637f8 --- /dev/null +++ b/dir_000015_000017.html @@ -0,0 +1,84 @@ + + + + + + + +nixd: lib -> libnixbc Relation + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+

lib → libnixbc Relation

File in libnixt/libIncludes file in libnixbc
ASTReader.cppinclude / nixbc / FileHeader.h
ASTReader.cppinclude / nixbc / libnixbc/include/nixbc/Nodes.h
ASTReader.cppinclude / nixbc / Origin.h
ASTReader.cppinclude / nixbc / Type.h
+ + + + diff --git a/dir_000020_000016.html b/dir_000020_000016.html new file mode 100644 index 000000000..7e04a0d07 --- /dev/null +++ b/dir_000020_000016.html @@ -0,0 +1,84 @@ + + + + + + + +nixd: librpc -> libbc Relation + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+ + + + + diff --git a/dir_000024_000016.html b/dir_000024_000016.html new file mode 100644 index 000000000..4edae0a2a --- /dev/null +++ b/dir_000024_000016.html @@ -0,0 +1,84 @@ + + + + + + + +nixd: nix-node-eval -> libbc Relation + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+

nix-node-eval → libbc Relation

File in nixd/nix-node-evalIncludes file in libbc
src / EvalProvider.cppinclude / bc / Read.h
src / EvalProvider.cppinclude / bc / libbc/include/bc/Write.h
+ + + + diff --git a/dir_000024_000019.html b/dir_000024_000019.html new file mode 100644 index 000000000..f7507d4ca --- /dev/null +++ b/dir_000024_000019.html @@ -0,0 +1,84 @@ + + + + + + + +nixd: nix-node-eval -> libnixt Relation + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+

nix-node-eval → libnixt Relation

File in nixd/nix-node-evalIncludes file in libnixt
src / EvalProvider.cppinclude / nixt / Deserialize.h
src / EvalProvider.cppinclude / nixt / HackCache.h
src / EvalProvider.hinclude / nixt / HookExpr.h
src / EvalProvider.hinclude / nixt / PtrPool.h
src / nix-node-eval/src/Main.cppinclude / nixt / InitEval.h
+ + + + diff --git a/dir_000024_000020.html b/dir_000024_000020.html new file mode 100644 index 000000000..aec7f2dcb --- /dev/null +++ b/dir_000024_000020.html @@ -0,0 +1,84 @@ + + + + + + + +nixd: nix-node-eval -> librpc Relation + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+

nix-node-eval → librpc Relation

File in nixd/nix-node-evalIncludes file in nixd/librpc
src / EvalProvider.cppinclude / nixd / rpc / nixd/librpc/include/nixd/rpc/Protocol.h
src / EvalProvider.hinclude / nixd / rpc / nixd/librpc/include/nixd/rpc/Protocol.h
+ + + + diff --git a/dir_000024_000022.html b/dir_000024_000022.html new file mode 100644 index 000000000..67ab10f64 --- /dev/null +++ b/dir_000024_000022.html @@ -0,0 +1,84 @@ + + + + + + + +nixd: nix-node-eval -> lspserver Relation + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+

nix-node-eval → lspserver Relation

File in nixd/nix-node-evalIncludes file in lspserver
src / EvalProvider.cppinclude / lspserver / LSPServer.h
src / EvalProvider.hinclude / lspserver / Function.h
src / EvalProvider.hinclude / lspserver / LSPServer.h
src / nix-node-eval/src/Main.cppinclude / lspserver / Connection.h
+ + + + diff --git a/dir_000025_000016.html b/dir_000025_000016.html new file mode 100644 index 000000000..1ff1ee4d0 --- /dev/null +++ b/dir_000025_000016.html @@ -0,0 +1,84 @@ + + + + + + + +nixd: nixbc -> libbc Relation + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+

nixbc → libbc Relation

File in libnixbc/include/nixbcIncludes file in libbc
Origin.hinclude / bc / Read.h
+ + + + diff --git a/dir_000027_000016.html b/dir_000027_000016.html new file mode 100644 index 000000000..c31d06815 --- /dev/null +++ b/dir_000027_000016.html @@ -0,0 +1,84 @@ + + + + + + + +nixd: nixd -> libbc Relation + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+

nixd → libbc Relation

File in nixd/librpc/include/nixdIncludes file in libbc
rpc / nixd/librpc/include/nixd/rpc/Protocol.hinclude / bc / Read.h
rpc / nixd/librpc/include/nixd/rpc/Protocol.hinclude / bc / libbc/include/bc/Write.h
+ + + + diff --git a/dir_000029_000016.html b/dir_000029_000016.html new file mode 100644 index 000000000..db5ada43d --- /dev/null +++ b/dir_000029_000016.html @@ -0,0 +1,84 @@ + + + + + + + +nixd: nixd -> libbc Relation + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+

nixd → libbc Relation

File in nixd/tools/nixdIncludes file in libbc
src / EvalClient.cppinclude / bc / Read.h
src / EvalClient.cppinclude / bc / libbc/include/bc/Write.h
+ + + + diff --git a/dir_000029_000018.html b/dir_000029_000018.html new file mode 100644 index 000000000..0b457fe88 --- /dev/null +++ b/dir_000029_000018.html @@ -0,0 +1,84 @@ + + + + + + + +nixd: nixd -> libnixf Relation + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+

nixd → libnixf Relation

File in nixd/tools/nixdIncludes file in libnixf
src / Convert.hinclude / nixf / Basic / Diagnostic.h
src / Convert.hinclude / nixf / Basic / Range.h
src / NixTU.hinclude / nixf / Basic / Diagnostic.h
src / NixTU.hinclude / nixf / Basic / Nodes / Basic.h
src / Support.cppinclude / nixf / Basic / Diagnostic.h
src / Support.cppinclude / nixf / Bytecode / libnixf/include/nixf/Bytecode/Write.h
src / Support.cppinclude / nixf / Parse / include/nixf/Parse/Parser.h
+ + + + diff --git a/dir_000029_000020.html b/dir_000029_000020.html new file mode 100644 index 000000000..9a4e611b6 --- /dev/null +++ b/dir_000029_000020.html @@ -0,0 +1,84 @@ + + + + + + + +nixd: nixd -> librpc Relation + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+

nixd → librpc Relation

File in nixd/tools/nixdIncludes file in nixd/librpc
src / EvalClient.hinclude / nixd / rpc / nixd/librpc/include/nixd/rpc/Protocol.h
src / Support.cppinclude / nixd / rpc / nixd/librpc/include/nixd/rpc/Protocol.h
+ + + + diff --git a/dir_000029_000021.html b/dir_000029_000021.html new file mode 100644 index 000000000..6de91421c --- /dev/null +++ b/dir_000029_000021.html @@ -0,0 +1,84 @@ + + + + + + + +nixd: nixd -> libutil Relation + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+

nixd → libutil Relation

File in nixd/tools/nixdIncludes file in nixd/libutil
src / EvalClient.cppinclude / nixd / util / ForkPiped.h
src / EvalClient.hinclude / nixd / util / PipedProc.h
src / LifeTime.cppinclude / nixd / util / PipedProc.h
src / NixTU.hinclude / nixd / util / OwnedRegion.h
src / Support.cppinclude / nixd / util / OwnedRegion.h
+ + + + diff --git a/dir_000029_000022.html b/dir_000029_000022.html new file mode 100644 index 000000000..09e87f884 --- /dev/null +++ b/dir_000029_000022.html @@ -0,0 +1,84 @@ + + + + + + + +nixd: nixd -> lspserver Relation + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+ + + + + diff --git a/dir_000031_000017.html b/dir_000031_000017.html new file mode 100644 index 000000000..8e53af668 --- /dev/null +++ b/dir_000031_000017.html @@ -0,0 +1,84 @@ + + + + + + + +nixd: nixt -> libnixbc Relation + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+

nixt → libnixbc Relation

File in libnixt/include/nixtIncludes file in libnixbc
Serialize.hinclude / nixbc / Type.h
+ + + + diff --git a/dir_000034_000010.html b/dir_000034_000010.html new file mode 100644 index 000000000..df345f247 --- /dev/null +++ b/dir_000034_000010.html @@ -0,0 +1,84 @@ + + + + + + + +nixd: Parse -> include Relation + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+ + + + + diff --git a/dir_000035_000016.html b/dir_000035_000016.html new file mode 100644 index 000000000..4606c8d2f --- /dev/null +++ b/dir_000035_000016.html @@ -0,0 +1,84 @@ + + + + + + + +nixd: rpc -> libbc Relation + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+

rpc → libbc Relation

File in nixd/librpc/include/nixd/rpcIncludes file in libbc
nixd/librpc/include/nixd/rpc/Protocol.hinclude / bc / libbc/include/bc/Write.h
nixd/librpc/include/nixd/rpc/Protocol.hinclude / bc / Read.h
+ + + + diff --git a/dir_000036_000000.html b/dir_000036_000000.html new file mode 100644 index 000000000..4eda076b6 --- /dev/null +++ b/dir_000036_000000.html @@ -0,0 +1,84 @@ + + + + + + + +nixd: Sema -> Basic Relation + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+

Sema → Basic Relation

File in libnixf/include/nixf/SemaIncludes file in libnixf/include/nixf/Basic
SemaActions.hNodes / Attrs.h
SemaActions.hNodes / Basic.h
SemaActions.hDiagnostic.h
SemaActions.hNodes / Lambda.h
SemaActions.hRange.h
+ + + + diff --git a/dir_000037_000010.html b/dir_000037_000010.html new file mode 100644 index 000000000..425cc8199 --- /dev/null +++ b/dir_000037_000010.html @@ -0,0 +1,84 @@ + + + + + + + +nixd: Sema -> include Relation + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+

Sema → include Relation

File in libnixf/src/SemaIncludes file in libnixf/include
SemaActions.cppnixf / Basic / Nodes / Attrs.h
SemaActions.cppnixf / Basic / Diagnostic.h
SemaActions.cppnixf / Basic / Nodes / Expr.h
SemaActions.cppnixf / Sema / SemaActions.h
+ + + + diff --git a/dir_000038_000008.html b/dir_000038_000008.html new file mode 100644 index 000000000..e75334dfc --- /dev/null +++ b/dir_000038_000008.html @@ -0,0 +1,84 @@ + + + + + + + +nixd: src -> include Relation + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+

src → include Relation

File in libbc/srcIncludes file in libbc/include
libbc/src/Write.cppbc / libbc/include/bc/Write.h
Read.cppbc / Read.h
+ + + + diff --git a/dir_000039_000009.html b/dir_000039_000009.html new file mode 100644 index 000000000..af5bddfd6 --- /dev/null +++ b/dir_000039_000009.html @@ -0,0 +1,84 @@ + + + + + + + +nixd: src -> include Relation + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+

src → include Relation

File in libnixbc/srcIncludes file in libnixbc/include
Origin.cppnixbc / Origin.h
+ + + + diff --git a/dir_000040_000010.html b/dir_000040_000010.html new file mode 100644 index 000000000..15a1439f0 --- /dev/null +++ b/dir_000040_000010.html @@ -0,0 +1,84 @@ + + + + + + + +nixd: src -> include Relation + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+

src → include Relation

File in libnixf/srcIncludes file in libnixf/include
Basic / Diagnostic.cppnixf / Basic / Diagnostic.h
Basic / Diagnostic.cppnixf / Basic / DiagnosticKinds.inc
Basic / Diagnostic.cppnixf / Basic / NoteKinds.inc
Parse / Lexer.cppnixf / Basic / Range.h
Parse / Lexer.cppnixf / Basic / TokenKinds.inc
Parse / Lexer.hnixf / Basic / Diagnostic.h
Parse / Lexer.hnixf / Basic / Range.h
Bytecode / libnixf/src/Bytecode/Write.hnixf / Bytecode / libnixf/include/nixf/Bytecode/Write.h
Basic / Nodes.cppnixf / Basic / libnixf/include/nixf/Basic/Nodes.h
Basic / Nodes.cppnixf / Basic / NodeKinds.inc
Parse / ParseOp.cppnixf / Basic / Nodes / Op.h
Parse / ParseOp.cppnixf / Basic / TokenKinds.inc
Sema / SemaActions.cppnixf / Basic / Nodes / Attrs.h
Sema / SemaActions.cppnixf / Basic / Diagnostic.h
Sema / SemaActions.cppnixf / Basic / Nodes / Expr.h
Sema / SemaActions.cppnixf / Sema / SemaActions.h
Parse / src/Parse/Parser.hnixf / Basic / Nodes / Attrs.h
Parse / src/Parse/Parser.hnixf / Basic / Nodes / Basic.h
Parse / src/Parse/Parser.hnixf / Basic / Nodes / Expr.h
Parse / src/Parse/Parser.hnixf / Basic / Nodes / Lambda.h
Parse / src/Parse/Parser.hnixf / Basic / Range.h
Parse / src/Parse/Parser.hnixf / Sema / SemaActions.h
Parse / src/Parse/Parser.hnixf / Basic / Nodes / Simple.h
Parse / Token.hnixf / Basic / Range.h
Parse / Token.hnixf / Basic / TokenKinds.h
Parse / Token.hnixf / Basic / TokenKinds.inc
+ + + + diff --git a/dir_000040_000016.html b/dir_000040_000016.html new file mode 100644 index 000000000..654aa046b --- /dev/null +++ b/dir_000040_000016.html @@ -0,0 +1,84 @@ + + + + + + + +nixd: src -> libbc Relation + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+

src → libbc Relation

File in libnixf/srcIncludes file in libbc
Bytecode / libnixf/src/Bytecode/Write.cppinclude / bc / libbc/include/bc/Write.h
+ + + + diff --git a/dir_000040_000017.html b/dir_000040_000017.html new file mode 100644 index 000000000..89bf848c2 --- /dev/null +++ b/dir_000040_000017.html @@ -0,0 +1,84 @@ + + + + + + + +nixd: src -> libnixbc Relation + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+ + + + + diff --git a/dir_000041_000012.html b/dir_000041_000012.html new file mode 100644 index 000000000..23ced4a5a --- /dev/null +++ b/dir_000041_000012.html @@ -0,0 +1,84 @@ + + + + + + + +nixd: src -> include Relation + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+ + + + + diff --git a/dir_000042_000013.html b/dir_000042_000013.html new file mode 100644 index 000000000..81da97652 --- /dev/null +++ b/dir_000042_000013.html @@ -0,0 +1,84 @@ + + + + + + + +nixd: src -> include Relation + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+

src → include Relation

File in nixd/librpc/srcIncludes file in nixd/librpc/include
nixd/librpc/src/Protocol.cppnixd / rpc / nixd/librpc/include/nixd/rpc/Protocol.h
+ + + + diff --git a/dir_000042_000016.html b/dir_000042_000016.html new file mode 100644 index 000000000..509cfb989 --- /dev/null +++ b/dir_000042_000016.html @@ -0,0 +1,84 @@ + + + + + + + +nixd: src -> libbc Relation + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+

src → libbc Relation

File in nixd/librpc/srcIncludes file in libbc
nixd/librpc/src/Protocol.cppinclude / bc / libbc/include/bc/Write.h
nixd/librpc/src/Protocol.cppinclude / bc / Read.h
+ + + + diff --git a/dir_000043_000014.html b/dir_000043_000014.html new file mode 100644 index 000000000..3c221ed5e --- /dev/null +++ b/dir_000043_000014.html @@ -0,0 +1,84 @@ + + + + + + + +nixd: src -> include Relation + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+

src → include Relation

File in nixd/libutil/srcIncludes file in nixd/libutil/include
AutoCloseFD.cppnixd / util / AutoCloseFD.h
AutoRemoveShm.cppnixd / util / AutoRemoveShm.h
ForkPiped.cppnixd / util / ForkPiped.h
+ + + + diff --git a/dir_000044_000016.html b/dir_000044_000016.html new file mode 100644 index 000000000..141fd0984 --- /dev/null +++ b/dir_000044_000016.html @@ -0,0 +1,84 @@ + + + + + + + +nixd: src -> libbc Relation + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+

src → libbc Relation

File in nixd/nix-node-eval/srcIncludes file in libbc
EvalProvider.cppinclude / bc / libbc/include/bc/Write.h
EvalProvider.cppinclude / bc / Read.h
+ + + + diff --git a/dir_000044_000019.html b/dir_000044_000019.html new file mode 100644 index 000000000..a6277aa81 --- /dev/null +++ b/dir_000044_000019.html @@ -0,0 +1,84 @@ + + + + + + + +nixd: src -> libnixt Relation + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+

src → libnixt Relation

File in nixd/nix-node-eval/srcIncludes file in libnixt
EvalProvider.cppinclude / nixt / Deserialize.h
EvalProvider.cppinclude / nixt / HackCache.h
EvalProvider.hinclude / nixt / HookExpr.h
EvalProvider.hinclude / nixt / PtrPool.h
nix-node-eval/src/Main.cppinclude / nixt / InitEval.h
+ + + + diff --git a/dir_000044_000020.html b/dir_000044_000020.html new file mode 100644 index 000000000..aba521a40 --- /dev/null +++ b/dir_000044_000020.html @@ -0,0 +1,84 @@ + + + + + + + +nixd: src -> librpc Relation + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+

src → librpc Relation

File in nixd/nix-node-eval/srcIncludes file in nixd/librpc
EvalProvider.cppinclude / nixd / rpc / nixd/librpc/include/nixd/rpc/Protocol.h
EvalProvider.hinclude / nixd / rpc / nixd/librpc/include/nixd/rpc/Protocol.h
+ + + + diff --git a/dir_000044_000022.html b/dir_000044_000022.html new file mode 100644 index 000000000..53c837dc7 --- /dev/null +++ b/dir_000044_000022.html @@ -0,0 +1,84 @@ + + + + + + + +nixd: src -> lspserver Relation + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+

src → lspserver Relation

File in nixd/nix-node-eval/srcIncludes file in lspserver
EvalProvider.cppinclude / lspserver / LSPServer.h
EvalProvider.hinclude / lspserver / Function.h
EvalProvider.hinclude / lspserver / LSPServer.h
nix-node-eval/src/Main.cppinclude / lspserver / Connection.h
+ + + + diff --git a/dir_000045_000016.html b/dir_000045_000016.html new file mode 100644 index 000000000..6beb328c7 --- /dev/null +++ b/dir_000045_000016.html @@ -0,0 +1,84 @@ + + + + + + + +nixd: src -> libbc Relation + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+

src → libbc Relation

File in nixd/tools/nixd/srcIncludes file in libbc
EvalClient.cppinclude / bc / libbc/include/bc/Write.h
EvalClient.cppinclude / bc / Read.h
+ + + + diff --git a/dir_000045_000018.html b/dir_000045_000018.html new file mode 100644 index 000000000..e23ac17e9 --- /dev/null +++ b/dir_000045_000018.html @@ -0,0 +1,84 @@ + + + + + + + +nixd: src -> libnixf Relation + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+ + + + + diff --git a/dir_000045_000020.html b/dir_000045_000020.html new file mode 100644 index 000000000..0c9ba8f60 --- /dev/null +++ b/dir_000045_000020.html @@ -0,0 +1,84 @@ + + + + + + + +nixd: src -> librpc Relation + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+

src → librpc Relation

File in nixd/tools/nixd/srcIncludes file in nixd/librpc
EvalClient.hinclude / nixd / rpc / nixd/librpc/include/nixd/rpc/Protocol.h
Support.cppinclude / nixd / rpc / nixd/librpc/include/nixd/rpc/Protocol.h
+ + + + diff --git a/dir_000045_000021.html b/dir_000045_000021.html new file mode 100644 index 000000000..a343953c7 --- /dev/null +++ b/dir_000045_000021.html @@ -0,0 +1,84 @@ + + + + + + + +nixd: src -> libutil Relation + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+

src → libutil Relation

File in nixd/tools/nixd/srcIncludes file in nixd/libutil
EvalClient.cppinclude / nixd / util / ForkPiped.h
EvalClient.hinclude / nixd / util / PipedProc.h
LifeTime.cppinclude / nixd / util / PipedProc.h
NixTU.hinclude / nixd / util / OwnedRegion.h
Support.cppinclude / nixd / util / OwnedRegion.h
+ + + + diff --git a/dir_000045_000022.html b/dir_000045_000022.html new file mode 100644 index 000000000..8e20cc4ab --- /dev/null +++ b/dir_000045_000022.html @@ -0,0 +1,84 @@ + + + + + + + +nixd: src -> lspserver Relation + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+ + + + + diff --git a/dir_000046_000016.html b/dir_000046_000016.html new file mode 100644 index 000000000..004453040 --- /dev/null +++ b/dir_000046_000016.html @@ -0,0 +1,84 @@ + + + + + + + +nixd: tools -> libbc Relation + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+

tools → libbc Relation

File in nixd/toolsIncludes file in libbc
nixd / src / EvalClient.cppinclude / bc / libbc/include/bc/Write.h
nixd / src / EvalClient.cppinclude / bc / Read.h
+ + + + diff --git a/dir_000046_000018.html b/dir_000046_000018.html new file mode 100644 index 000000000..44eecc212 --- /dev/null +++ b/dir_000046_000018.html @@ -0,0 +1,84 @@ + + + + + + + +nixd: tools -> libnixf Relation + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+

tools → libnixf Relation

File in nixd/toolsIncludes file in libnixf
nixd / src / Convert.hinclude / nixf / Basic / Diagnostic.h
nixd / src / Convert.hinclude / nixf / Basic / Range.h
nixd / src / NixTU.hinclude / nixf / Basic / Nodes / Basic.h
nixd / src / NixTU.hinclude / nixf / Basic / Diagnostic.h
nixd / src / Support.cppinclude / nixf / Basic / Diagnostic.h
nixd / src / Support.cppinclude / nixf / Parse / include/nixf/Parse/Parser.h
nixd / src / Support.cppinclude / nixf / Bytecode / libnixf/include/nixf/Bytecode/Write.h
+ + + + diff --git a/dir_000046_000020.html b/dir_000046_000020.html new file mode 100644 index 000000000..284f94ed1 --- /dev/null +++ b/dir_000046_000020.html @@ -0,0 +1,84 @@ + + + + + + + +nixd: tools -> librpc Relation + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+

tools → librpc Relation

File in nixd/toolsIncludes file in nixd/librpc
nixd / src / EvalClient.hinclude / nixd / rpc / nixd/librpc/include/nixd/rpc/Protocol.h
nixd / src / Support.cppinclude / nixd / rpc / nixd/librpc/include/nixd/rpc/Protocol.h
+ + + + diff --git a/dir_000046_000021.html b/dir_000046_000021.html new file mode 100644 index 000000000..c221acf77 --- /dev/null +++ b/dir_000046_000021.html @@ -0,0 +1,84 @@ + + + + + + + +nixd: tools -> libutil Relation + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+

tools → libutil Relation

File in nixd/toolsIncludes file in nixd/libutil
nixd / src / EvalClient.cppinclude / nixd / util / ForkPiped.h
nixd / src / EvalClient.hinclude / nixd / util / PipedProc.h
nixd / src / LifeTime.cppinclude / nixd / util / PipedProc.h
nixd / src / NixTU.hinclude / nixd / util / OwnedRegion.h
nixd / src / Support.cppinclude / nixd / util / OwnedRegion.h
+ + + + diff --git a/dir_000046_000022.html b/dir_000046_000022.html new file mode 100644 index 000000000..b0abbb2cd --- /dev/null +++ b/dir_000046_000022.html @@ -0,0 +1,84 @@ + + + + + + + +nixd: tools -> lspserver Relation + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+ + + + + diff --git a/dir_06c9c436e967ae3668e9a4bfe5b7522b.html b/dir_06c9c436e967ae3668e9a4bfe5b7522b.html new file mode 100644 index 000000000..5901c794c --- /dev/null +++ b/dir_06c9c436e967ae3668e9a4bfe5b7522b.html @@ -0,0 +1,98 @@ + + + + + + + +nixd: src Directory Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
src Directory Reference
+
+
+
+Directory dependency graph for src:
+
+
+
+ + + + +

+Files

 Origin.cpp
 
+
+ + + + diff --git a/dir_06c9c436e967ae3668e9a4bfe5b7522b_dep.map b/dir_06c9c436e967ae3668e9a4bfe5b7522b_dep.map new file mode 100644 index 000000000..b104c3f75 --- /dev/null +++ b/dir_06c9c436e967ae3668e9a4bfe5b7522b_dep.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/dir_06c9c436e967ae3668e9a4bfe5b7522b_dep.md5 b/dir_06c9c436e967ae3668e9a4bfe5b7522b_dep.md5 new file mode 100644 index 000000000..876d53d0f --- /dev/null +++ b/dir_06c9c436e967ae3668e9a4bfe5b7522b_dep.md5 @@ -0,0 +1 @@ +a74925a048b9e01e0fd445eedb889e83 \ No newline at end of file diff --git a/dir_06c9c436e967ae3668e9a4bfe5b7522b_dep.svg b/dir_06c9c436e967ae3668e9a4bfe5b7522b_dep.svg new file mode 100644 index 000000000..21d80a7c7 --- /dev/null +++ b/dir_06c9c436e967ae3668e9a4bfe5b7522b_dep.svg @@ -0,0 +1,51 @@ + + + + + + +src + +clusterdir_4349c16129eefd7f3a9a5bf6d61e574a + + +libnixbc + + + + + +dir_646ab2de1d008c038fc8ab282a79163a + + +include + + + + + +dir_06c9c436e967ae3668e9a4bfe5b7522b + + +src + + + + + +dir_06c9c436e967ae3668e9a4bfe5b7522b->dir_646ab2de1d008c038fc8ab282a79163a + + + + + + +1 + + + + + diff --git a/dir_088a14879491eee6c6c569af955fa3b5.html b/dir_088a14879491eee6c6c569af955fa3b5.html new file mode 100644 index 000000000..0d3321607 --- /dev/null +++ b/dir_088a14879491eee6c6c569af955fa3b5.html @@ -0,0 +1,98 @@ + + + + + + + +nixd: nixd Directory Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
nixd Directory Reference
+
+
+
+Directory dependency graph for nixd:
+
+
+
+ + + + +

+Directories

 src
 
+
+ + + + diff --git a/dir_088a14879491eee6c6c569af955fa3b5_dep.map b/dir_088a14879491eee6c6c569af955fa3b5_dep.map new file mode 100644 index 000000000..ef2926fac --- /dev/null +++ b/dir_088a14879491eee6c6c569af955fa3b5_dep.map @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/dir_088a14879491eee6c6c569af955fa3b5_dep.md5 b/dir_088a14879491eee6c6c569af955fa3b5_dep.md5 new file mode 100644 index 000000000..8e32dd00f --- /dev/null +++ b/dir_088a14879491eee6c6c569af955fa3b5_dep.md5 @@ -0,0 +1 @@ +ab073a7b552b7851f715572f7e167065 \ No newline at end of file diff --git a/dir_088a14879491eee6c6c569af955fa3b5_dep.svg b/dir_088a14879491eee6c6c569af955fa3b5_dep.svg new file mode 100644 index 000000000..634c4ab16 --- /dev/null +++ b/dir_088a14879491eee6c6c569af955fa3b5_dep.svg @@ -0,0 +1,151 @@ + + + + + + +nixd + +clusterdir_43dccb67c075cdf61156590789c0ba7d + + +tools + + + + +clusterdir_088a14879491eee6c6c569af955fa3b5 + + + + + + + +dir_088a14879491eee6c6c569af955fa3b5 +nixd + + + +dir_2fce3de3a606fe8bc100a9ca8be3b4b7 + + +src + + + + + +dir_b78a71a762ff0582d59dc461a15bff38 + + +lspserver + + + + + +dir_2fce3de3a606fe8bc100a9ca8be3b4b7->dir_b78a71a762ff0582d59dc461a15bff38 + + + + + + +7 + + + + + +dir_9ff0e04ed484c0229c3bd8fc4cfe4cb8 + + +libnixf + + + + + +dir_2fce3de3a606fe8bc100a9ca8be3b4b7->dir_9ff0e04ed484c0229c3bd8fc4cfe4cb8 + + + + + + +7 + + + + + +dir_fea53f7f87b7ec4e08a74e8a64eb26a3 + + +libutil + + + + + +dir_2fce3de3a606fe8bc100a9ca8be3b4b7->dir_fea53f7f87b7ec4e08a74e8a64eb26a3 + + + + + + +5 + + + + + +dir_b55f34eed50f427f5a82f0c0c0b607fd + + +libbc + + + + + +dir_2fce3de3a606fe8bc100a9ca8be3b4b7->dir_b55f34eed50f427f5a82f0c0c0b607fd + + + + + + +2 + + + + + +dir_6fe8e64755d6ca8350089c43e24a597c + + +librpc + + + + + +dir_2fce3de3a606fe8bc100a9ca8be3b4b7->dir_6fe8e64755d6ca8350089c43e24a597c + + + + + + +2 + + + + + diff --git a/dir_09ded0d54f560121c4855637eac6443c.html b/dir_09ded0d54f560121c4855637eac6443c.html new file mode 100644 index 000000000..331079d44 --- /dev/null +++ b/dir_09ded0d54f560121c4855637eac6443c.html @@ -0,0 +1,98 @@ + + + + + + + +nixd: include Directory Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
include Directory Reference
+
+
+
+Directory dependency graph for include:
+
+
+
+ + + + +

+Directories

 nixd
 
+
+ + + + diff --git a/dir_09ded0d54f560121c4855637eac6443c_dep.map b/dir_09ded0d54f560121c4855637eac6443c_dep.map new file mode 100644 index 000000000..28203c455 --- /dev/null +++ b/dir_09ded0d54f560121c4855637eac6443c_dep.map @@ -0,0 +1,5 @@ + + + + + diff --git a/dir_09ded0d54f560121c4855637eac6443c_dep.md5 b/dir_09ded0d54f560121c4855637eac6443c_dep.md5 new file mode 100644 index 000000000..775c47d0b --- /dev/null +++ b/dir_09ded0d54f560121c4855637eac6443c_dep.md5 @@ -0,0 +1 @@ +c51d5376243127631b4c48eb6dc11ec8 \ No newline at end of file diff --git a/dir_09ded0d54f560121c4855637eac6443c_dep.svg b/dir_09ded0d54f560121c4855637eac6443c_dep.svg new file mode 100644 index 000000000..4ba1c9df8 --- /dev/null +++ b/dir_09ded0d54f560121c4855637eac6443c_dep.svg @@ -0,0 +1,41 @@ + + + + + + +include + +clusterdir_fea53f7f87b7ec4e08a74e8a64eb26a3 + + +libutil + + + + +clusterdir_09ded0d54f560121c4855637eac6443c + + + + + + + +dir_09ded0d54f560121c4855637eac6443c +include + + + +dir_d9ad98d6b7e68d846247cb3f237621ce + + +nixd + + + + + diff --git a/dir_0f13faf2cde331c4efb20e51fbf7d022.html b/dir_0f13faf2cde331c4efb20e51fbf7d022.html new file mode 100644 index 000000000..8386a463e --- /dev/null +++ b/dir_0f13faf2cde331c4efb20e51fbf7d022.html @@ -0,0 +1,122 @@ + + + + + + + +nixd: Parse Directory Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Parse Directory Reference
+
+
+
+Directory dependency graph for Parse:
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Files

 Lexer.cpp
 
 Lexer.h
 Lexer declaration. The lexer is a "stateful" lexer and highly tied to parser.
 
 ParseAttrs.cpp
 
 ParseExpr.cpp
 
 ParseLambda.cpp
 
 ParseOp.cpp
 This file implements parsing of operators.
 
 Parser.h
 Parser for the Nix expression language.
 
 ParseSimple.cpp
 
 ParseStrings.cpp
 
 ParseSupport.cpp
 Basic supporting functions for parsing.
 
 Token.h
 
+
+ + + + diff --git a/dir_0f13faf2cde331c4efb20e51fbf7d022_dep.map b/dir_0f13faf2cde331c4efb20e51fbf7d022_dep.map new file mode 100644 index 000000000..6a3372989 --- /dev/null +++ b/dir_0f13faf2cde331c4efb20e51fbf7d022_dep.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/dir_0f13faf2cde331c4efb20e51fbf7d022_dep.md5 b/dir_0f13faf2cde331c4efb20e51fbf7d022_dep.md5 new file mode 100644 index 000000000..6a57c6d3e --- /dev/null +++ b/dir_0f13faf2cde331c4efb20e51fbf7d022_dep.md5 @@ -0,0 +1 @@ +0637d2349072976b9a9add48b7c9ea5d \ No newline at end of file diff --git a/dir_0f13faf2cde331c4efb20e51fbf7d022_dep.svg b/dir_0f13faf2cde331c4efb20e51fbf7d022_dep.svg new file mode 100644 index 000000000..53a1d2935 --- /dev/null +++ b/dir_0f13faf2cde331c4efb20e51fbf7d022_dep.svg @@ -0,0 +1,51 @@ + + + + + + +Parse + +clusterdir_464f141540dd1f7c0b8c2d5e8b32798f + + +src + + + + + +dir_0f13faf2cde331c4efb20e51fbf7d022 + + +Parse + + + + + +dir_2ea7252d21588581e550b8cc37b5f8d9 + + +include + + + + + +dir_0f13faf2cde331c4efb20e51fbf7d022->dir_2ea7252d21588581e550b8cc37b5f8d9 + + + + + + +16 + + + + + diff --git a/dir_112255148183015961f1939285e5e65f.html b/dir_112255148183015961f1939285e5e65f.html new file mode 100644 index 000000000..9910dd6e0 --- /dev/null +++ b/dir_112255148183015961f1939285e5e65f.html @@ -0,0 +1,99 @@ + + + + + + + +nixd: Bytecode Directory Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Bytecode Directory Reference
+
+
+
+Directory dependency graph for Bytecode:
+
+
+
+ + + + + +

+Files

 Write.h
 Serialization of nixf nodes.
 
+
+ + + + diff --git a/dir_112255148183015961f1939285e5e65f_dep.map b/dir_112255148183015961f1939285e5e65f_dep.map new file mode 100644 index 000000000..6d1da9691 --- /dev/null +++ b/dir_112255148183015961f1939285e5e65f_dep.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/dir_112255148183015961f1939285e5e65f_dep.md5 b/dir_112255148183015961f1939285e5e65f_dep.md5 new file mode 100644 index 000000000..34b2a370b --- /dev/null +++ b/dir_112255148183015961f1939285e5e65f_dep.md5 @@ -0,0 +1 @@ +66ed37bc4bb2469fd9a0155d88a8f8d7 \ No newline at end of file diff --git a/dir_112255148183015961f1939285e5e65f_dep.svg b/dir_112255148183015961f1939285e5e65f_dep.svg new file mode 100644 index 000000000..b785ec5e1 --- /dev/null +++ b/dir_112255148183015961f1939285e5e65f_dep.svg @@ -0,0 +1,51 @@ + + + + + + +Bytecode + +clusterdir_3b3bb5973b23a394522075bcda2e76c3 + + +nixf + + + + + +dir_2449f2b6f5e00bc97ce2a2d4b7e7d3f4 + + +Basic + + + + + +dir_112255148183015961f1939285e5e65f + + +Bytecode + + + + + +dir_112255148183015961f1939285e5e65f->dir_2449f2b6f5e00bc97ce2a2d4b7e7d3f4 + + + + + + +1 + + + + + diff --git a/dir_1674159b14b5d6ba00b9e9bdffb50a16.html b/dir_1674159b14b5d6ba00b9e9bdffb50a16.html new file mode 100644 index 000000000..b3de0eff9 --- /dev/null +++ b/dir_1674159b14b5d6ba00b9e9bdffb50a16.html @@ -0,0 +1,98 @@ + + + + + + + +nixd: nix-node-eval Directory Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
nix-node-eval Directory Reference
+
+
+
+Directory dependency graph for nix-node-eval:
+
+
+
+ + + + +

+Directories

 src
 
+
+ + + + diff --git a/dir_1674159b14b5d6ba00b9e9bdffb50a16_dep.map b/dir_1674159b14b5d6ba00b9e9bdffb50a16_dep.map new file mode 100644 index 000000000..c4c8bcb13 --- /dev/null +++ b/dir_1674159b14b5d6ba00b9e9bdffb50a16_dep.map @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + diff --git a/dir_1674159b14b5d6ba00b9e9bdffb50a16_dep.md5 b/dir_1674159b14b5d6ba00b9e9bdffb50a16_dep.md5 new file mode 100644 index 000000000..bacd69a4d --- /dev/null +++ b/dir_1674159b14b5d6ba00b9e9bdffb50a16_dep.md5 @@ -0,0 +1 @@ +f75d661667dc093526dc56d506fdc944 \ No newline at end of file diff --git a/dir_1674159b14b5d6ba00b9e9bdffb50a16_dep.svg b/dir_1674159b14b5d6ba00b9e9bdffb50a16_dep.svg new file mode 100644 index 000000000..29f10b448 --- /dev/null +++ b/dir_1674159b14b5d6ba00b9e9bdffb50a16_dep.svg @@ -0,0 +1,129 @@ + + + + + + +nix-node-eval + +clusterdir_271d3aa807e54726686810b489123a0c + + +nixd + + + + +clusterdir_1674159b14b5d6ba00b9e9bdffb50a16 + + + + + + + +dir_6fe8e64755d6ca8350089c43e24a597c + + +librpc + + + + + +dir_1674159b14b5d6ba00b9e9bdffb50a16 +nix-node-eval + + + +dir_def84fe7d1b7eb360d50e0a32b0f5d1b + + +src + + + + + +dir_def84fe7d1b7eb360d50e0a32b0f5d1b->dir_6fe8e64755d6ca8350089c43e24a597c + + + + + + +2 + + + + + +dir_c40eb6f7b133789742bdf3cebb28ba81 + + +libnixt + + + + + +dir_def84fe7d1b7eb360d50e0a32b0f5d1b->dir_c40eb6f7b133789742bdf3cebb28ba81 + + + + + + +5 + + + + + +dir_b78a71a762ff0582d59dc461a15bff38 + + +lspserver + + + + + +dir_def84fe7d1b7eb360d50e0a32b0f5d1b->dir_b78a71a762ff0582d59dc461a15bff38 + + + + + + +4 + + + + + +dir_b55f34eed50f427f5a82f0c0c0b607fd + + +libbc + + + + + +dir_def84fe7d1b7eb360d50e0a32b0f5d1b->dir_b55f34eed50f427f5a82f0c0c0b607fd + + + + + + +2 + + + + + diff --git a/dir_210b2339cd755ef887faaab3c00d1334.html b/dir_210b2339cd755ef887faaab3c00d1334.html new file mode 100644 index 000000000..e1ff490d4 --- /dev/null +++ b/dir_210b2339cd755ef887faaab3c00d1334.html @@ -0,0 +1,99 @@ + + + + + + + +nixd: Sema Directory Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Sema Directory Reference
+
+
+
+Directory dependency graph for Sema:
+
+
+
+ + + + + +

+Files

 SemaActions.cpp
 Semantic Actions of AST nodes.
 
+
+ + + + diff --git a/dir_210b2339cd755ef887faaab3c00d1334_dep.map b/dir_210b2339cd755ef887faaab3c00d1334_dep.map new file mode 100644 index 000000000..c0d4cbe56 --- /dev/null +++ b/dir_210b2339cd755ef887faaab3c00d1334_dep.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/dir_210b2339cd755ef887faaab3c00d1334_dep.md5 b/dir_210b2339cd755ef887faaab3c00d1334_dep.md5 new file mode 100644 index 000000000..5a2a2b356 --- /dev/null +++ b/dir_210b2339cd755ef887faaab3c00d1334_dep.md5 @@ -0,0 +1 @@ +83b9aa0686a6ba67e3463d135287bc42 \ No newline at end of file diff --git a/dir_210b2339cd755ef887faaab3c00d1334_dep.svg b/dir_210b2339cd755ef887faaab3c00d1334_dep.svg new file mode 100644 index 000000000..784a91ab3 --- /dev/null +++ b/dir_210b2339cd755ef887faaab3c00d1334_dep.svg @@ -0,0 +1,51 @@ + + + + + + +Sema + +clusterdir_464f141540dd1f7c0b8c2d5e8b32798f + + +src + + + + + +dir_210b2339cd755ef887faaab3c00d1334 + + +Sema + + + + + +dir_2ea7252d21588581e550b8cc37b5f8d9 + + +include + + + + + +dir_210b2339cd755ef887faaab3c00d1334->dir_2ea7252d21588581e550b8cc37b5f8d9 + + + + + + +4 + + + + + diff --git a/dir_22156efa6ecaea66f2a00a9e5cade55f.html b/dir_22156efa6ecaea66f2a00a9e5cade55f.html new file mode 100644 index 000000000..8bd5a4dce --- /dev/null +++ b/dir_22156efa6ecaea66f2a00a9e5cade55f.html @@ -0,0 +1,98 @@ + + + + + + + +nixd: rpc Directory Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
rpc Directory Reference
+
+
+
+Directory dependency graph for rpc:
+
+
+
+ + + + +

+Files

 Protocol.h
 
+
+ + + + diff --git a/dir_22156efa6ecaea66f2a00a9e5cade55f_dep.map b/dir_22156efa6ecaea66f2a00a9e5cade55f_dep.map new file mode 100644 index 000000000..99b56178a --- /dev/null +++ b/dir_22156efa6ecaea66f2a00a9e5cade55f_dep.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/dir_22156efa6ecaea66f2a00a9e5cade55f_dep.md5 b/dir_22156efa6ecaea66f2a00a9e5cade55f_dep.md5 new file mode 100644 index 000000000..21f5eb51e --- /dev/null +++ b/dir_22156efa6ecaea66f2a00a9e5cade55f_dep.md5 @@ -0,0 +1 @@ +406d85e20a4eacaaeb19a44a45f8b431 \ No newline at end of file diff --git a/dir_22156efa6ecaea66f2a00a9e5cade55f_dep.svg b/dir_22156efa6ecaea66f2a00a9e5cade55f_dep.svg new file mode 100644 index 000000000..4841f8b04 --- /dev/null +++ b/dir_22156efa6ecaea66f2a00a9e5cade55f_dep.svg @@ -0,0 +1,51 @@ + + + + + + +rpc + +clusterdir_efab77534005e8b0ad9c0008c8b236a9 + + +nixd + + + + + +dir_22156efa6ecaea66f2a00a9e5cade55f + + +rpc + + + + + +dir_b55f34eed50f427f5a82f0c0c0b607fd + + +libbc + + + + + +dir_22156efa6ecaea66f2a00a9e5cade55f->dir_b55f34eed50f427f5a82f0c0c0b607fd + + + + + + +2 + + + + + diff --git a/dir_2449f2b6f5e00bc97ce2a2d4b7e7d3f4.html b/dir_2449f2b6f5e00bc97ce2a2d4b7e7d3f4.html new file mode 100644 index 000000000..6b3cd3e03 --- /dev/null +++ b/dir_2449f2b6f5e00bc97ce2a2d4b7e7d3f4.html @@ -0,0 +1,120 @@ + + + + + + + +nixd: Basic Directory Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Basic Directory Reference
+
+
+
+Directory dependency graph for Basic:
+
+
+
+ + + + +

+Directories

 Nodes
 
+ + + + + + + + + + + + + + + + + + + + +

+Files

 Diagnostic.h
 
 DiagnosticKinds.inc
 
 NodeKinds.inc
 
 Nodes.h
 AST nodes.
 
 NoteKinds.inc
 
 Range.h
 
 TokenKinds.h
 
 TokenKinds.inc
 
 Tokens.inc
 
+
+ + + + diff --git a/dir_2449f2b6f5e00bc97ce2a2d4b7e7d3f4_dep.map b/dir_2449f2b6f5e00bc97ce2a2d4b7e7d3f4_dep.map new file mode 100644 index 000000000..657aaf502 --- /dev/null +++ b/dir_2449f2b6f5e00bc97ce2a2d4b7e7d3f4_dep.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/dir_2449f2b6f5e00bc97ce2a2d4b7e7d3f4_dep.md5 b/dir_2449f2b6f5e00bc97ce2a2d4b7e7d3f4_dep.md5 new file mode 100644 index 000000000..3bd90f85f --- /dev/null +++ b/dir_2449f2b6f5e00bc97ce2a2d4b7e7d3f4_dep.md5 @@ -0,0 +1 @@ +606a0d8770bf6595e9ca83acee1bc044 \ No newline at end of file diff --git a/dir_2449f2b6f5e00bc97ce2a2d4b7e7d3f4_dep.svg b/dir_2449f2b6f5e00bc97ce2a2d4b7e7d3f4_dep.svg new file mode 100644 index 000000000..197eeb9d6 --- /dev/null +++ b/dir_2449f2b6f5e00bc97ce2a2d4b7e7d3f4_dep.svg @@ -0,0 +1,54 @@ + + + + + + +Basic + +clusterdir_3b3bb5973b23a394522075bcda2e76c3 + + +nixf + + + + +clusterdir_2449f2b6f5e00bc97ce2a2d4b7e7d3f4 + + + + + + + +dir_2449f2b6f5e00bc97ce2a2d4b7e7d3f4 +Basic + + + +dir_ae82c439e3273bbaefa18569b027ae03 + + +Nodes + + + + + +dir_2449f2b6f5e00bc97ce2a2d4b7e7d3f4->dir_ae82c439e3273bbaefa18569b027ae03 + + + + + + +6 + + + + + diff --git a/dir_271d3aa807e54726686810b489123a0c.html b/dir_271d3aa807e54726686810b489123a0c.html new file mode 100644 index 000000000..60378a8cf --- /dev/null +++ b/dir_271d3aa807e54726686810b489123a0c.html @@ -0,0 +1,106 @@ + + + + + + + +nixd: nixd Directory Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
nixd Directory Reference
+
+
+
+Directory dependency graph for nixd:
+
+
+
+ + + + + + + + + + + + +

+Directories

 docs
 
 librpc
 
 libutil
 
 nix-node-eval
 
 tools
 
+
+ + + + diff --git a/dir_271d3aa807e54726686810b489123a0c_dep.map b/dir_271d3aa807e54726686810b489123a0c_dep.map new file mode 100644 index 000000000..0feba4f3f --- /dev/null +++ b/dir_271d3aa807e54726686810b489123a0c_dep.map @@ -0,0 +1,32 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/dir_271d3aa807e54726686810b489123a0c_dep.md5 b/dir_271d3aa807e54726686810b489123a0c_dep.md5 new file mode 100644 index 000000000..574c8dc20 --- /dev/null +++ b/dir_271d3aa807e54726686810b489123a0c_dep.md5 @@ -0,0 +1 @@ +e724636cb7d7682da219e2e610e043ff \ No newline at end of file diff --git a/dir_271d3aa807e54726686810b489123a0c_dep.svg b/dir_271d3aa807e54726686810b489123a0c_dep.svg new file mode 100644 index 000000000..efcce38e5 --- /dev/null +++ b/dir_271d3aa807e54726686810b489123a0c_dep.svg @@ -0,0 +1,235 @@ + + + + + + +nixd + +clusterdir_271d3aa807e54726686810b489123a0c + + + + + + + +dir_271d3aa807e54726686810b489123a0c +nixd + + + +dir_fbf4781f84a2dfdac7fb8e01b68aa402 + + +docs + + + + + +dir_6fe8e64755d6ca8350089c43e24a597c + + +librpc + + + + + +dir_b55f34eed50f427f5a82f0c0c0b607fd + + +libbc + + + + + +dir_6fe8e64755d6ca8350089c43e24a597c->dir_b55f34eed50f427f5a82f0c0c0b607fd + + + + + + +4 + + + + + +dir_fea53f7f87b7ec4e08a74e8a64eb26a3 + + +libutil + + + + + +dir_1674159b14b5d6ba00b9e9bdffb50a16 + + +nix-node-eval + + + + + +dir_1674159b14b5d6ba00b9e9bdffb50a16->dir_6fe8e64755d6ca8350089c43e24a597c + + + + + + +2 + + + + + +dir_1674159b14b5d6ba00b9e9bdffb50a16->dir_b55f34eed50f427f5a82f0c0c0b607fd + + + + + + +2 + + + + + +dir_c40eb6f7b133789742bdf3cebb28ba81 + + +libnixt + + + + + +dir_1674159b14b5d6ba00b9e9bdffb50a16->dir_c40eb6f7b133789742bdf3cebb28ba81 + + + + + + +5 + + + + + +dir_b78a71a762ff0582d59dc461a15bff38 + + +lspserver + + + + + +dir_1674159b14b5d6ba00b9e9bdffb50a16->dir_b78a71a762ff0582d59dc461a15bff38 + + + + + + +4 + + + + + +dir_43dccb67c075cdf61156590789c0ba7d + + +tools + + + + + +dir_43dccb67c075cdf61156590789c0ba7d->dir_6fe8e64755d6ca8350089c43e24a597c + + + + + + +2 + + + + + +dir_43dccb67c075cdf61156590789c0ba7d->dir_fea53f7f87b7ec4e08a74e8a64eb26a3 + + + + + + +5 + + + + + +dir_43dccb67c075cdf61156590789c0ba7d->dir_b55f34eed50f427f5a82f0c0c0b607fd + + + + + + +2 + + + + + +dir_43dccb67c075cdf61156590789c0ba7d->dir_b78a71a762ff0582d59dc461a15bff38 + + + + + + +7 + + + + + +dir_9ff0e04ed484c0229c3bd8fc4cfe4cb8 + + +libnixf + + + + + +dir_43dccb67c075cdf61156590789c0ba7d->dir_9ff0e04ed484c0229c3bd8fc4cfe4cb8 + + + + + + +7 + + + + + diff --git a/dir_2da3afe9fedcaed30827aea0999c7ca3.html b/dir_2da3afe9fedcaed30827aea0999c7ca3.html new file mode 100644 index 000000000..1ee224880 --- /dev/null +++ b/dir_2da3afe9fedcaed30827aea0999c7ca3.html @@ -0,0 +1,102 @@ + + + + + + + +nixd: src Directory Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
src Directory Reference
+
+
+
+Directory dependency graph for src:
+
+
+
+ + + + + + + + +

+Files

 AutoCloseFD.cpp
 
 AutoRemoveShm.cpp
 
 ForkPiped.cpp
 
+
+ + + + diff --git a/dir_2da3afe9fedcaed30827aea0999c7ca3_dep.map b/dir_2da3afe9fedcaed30827aea0999c7ca3_dep.map new file mode 100644 index 000000000..ef999d26e --- /dev/null +++ b/dir_2da3afe9fedcaed30827aea0999c7ca3_dep.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/dir_2da3afe9fedcaed30827aea0999c7ca3_dep.md5 b/dir_2da3afe9fedcaed30827aea0999c7ca3_dep.md5 new file mode 100644 index 000000000..f9eafd95f --- /dev/null +++ b/dir_2da3afe9fedcaed30827aea0999c7ca3_dep.md5 @@ -0,0 +1 @@ +41317e0c0f9b8890aaeb30377fa6d9bf \ No newline at end of file diff --git a/dir_2da3afe9fedcaed30827aea0999c7ca3_dep.svg b/dir_2da3afe9fedcaed30827aea0999c7ca3_dep.svg new file mode 100644 index 000000000..acadec81a --- /dev/null +++ b/dir_2da3afe9fedcaed30827aea0999c7ca3_dep.svg @@ -0,0 +1,51 @@ + + + + + + +src + +clusterdir_fea53f7f87b7ec4e08a74e8a64eb26a3 + + +libutil + + + + + +dir_09ded0d54f560121c4855637eac6443c + + +include + + + + + +dir_2da3afe9fedcaed30827aea0999c7ca3 + + +src + + + + + +dir_2da3afe9fedcaed30827aea0999c7ca3->dir_09ded0d54f560121c4855637eac6443c + + + + + + +3 + + + + + diff --git a/dir_2ea7252d21588581e550b8cc37b5f8d9.html b/dir_2ea7252d21588581e550b8cc37b5f8d9.html new file mode 100644 index 000000000..ce85bf797 --- /dev/null +++ b/dir_2ea7252d21588581e550b8cc37b5f8d9.html @@ -0,0 +1,98 @@ + + + + + + + +nixd: include Directory Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
include Directory Reference
+
+
+
+Directory dependency graph for include:
+
+
+
+ + + + +

+Directories

 nixf
 
+
+ + + + diff --git a/dir_2ea7252d21588581e550b8cc37b5f8d9_dep.map b/dir_2ea7252d21588581e550b8cc37b5f8d9_dep.map new file mode 100644 index 000000000..303b6b79a --- /dev/null +++ b/dir_2ea7252d21588581e550b8cc37b5f8d9_dep.map @@ -0,0 +1,5 @@ + + + + + diff --git a/dir_2ea7252d21588581e550b8cc37b5f8d9_dep.md5 b/dir_2ea7252d21588581e550b8cc37b5f8d9_dep.md5 new file mode 100644 index 000000000..e9657d7c0 --- /dev/null +++ b/dir_2ea7252d21588581e550b8cc37b5f8d9_dep.md5 @@ -0,0 +1 @@ +8aa7968b8a57aa0cb3e643a4b2f22512 \ No newline at end of file diff --git a/dir_2ea7252d21588581e550b8cc37b5f8d9_dep.svg b/dir_2ea7252d21588581e550b8cc37b5f8d9_dep.svg new file mode 100644 index 000000000..6350981cb --- /dev/null +++ b/dir_2ea7252d21588581e550b8cc37b5f8d9_dep.svg @@ -0,0 +1,41 @@ + + + + + + +include + +clusterdir_9ff0e04ed484c0229c3bd8fc4cfe4cb8 + + +libnixf + + + + +clusterdir_2ea7252d21588581e550b8cc37b5f8d9 + + + + + + + +dir_2ea7252d21588581e550b8cc37b5f8d9 +include + + + +dir_3b3bb5973b23a394522075bcda2e76c3 + + +nixf + + + + + diff --git a/dir_2fce3de3a606fe8bc100a9ca8be3b4b7.html b/dir_2fce3de3a606fe8bc100a9ca8be3b4b7.html new file mode 100644 index 000000000..a23068f6e --- /dev/null +++ b/dir_2fce3de3a606fe8bc100a9ca8be3b4b7.html @@ -0,0 +1,128 @@ + + + + + + + +nixd: src Directory Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
src Directory Reference
+
+
+
+Directory dependency graph for src:
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Files

 CodeAction.cpp
 Implementation of Code Action.
 
 Controller.h
 
 Convert.cpp
 
 Convert.h
 Convert between LSP and nixf types.
 
 Diagnostics.cpp
 Implementation of PublishDiagnostics Notification.
 
 EvalClient.cpp
 
 EvalClient.h
 
 Hover.cpp
 Implementation of Hover Request.
 
 LifeTime.cpp
 Implementation of Server Lifecycle.
 
 Main.cpp
 
 NixTU.h
 
 Support.cpp
 
 TextDocumentSync.cpp
 Implementation of the text document sync.
 
+
+ + + + diff --git a/dir_2fce3de3a606fe8bc100a9ca8be3b4b7_dep.map b/dir_2fce3de3a606fe8bc100a9ca8be3b4b7_dep.map new file mode 100644 index 000000000..09a2c6cc8 --- /dev/null +++ b/dir_2fce3de3a606fe8bc100a9ca8be3b4b7_dep.map @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + diff --git a/dir_2fce3de3a606fe8bc100a9ca8be3b4b7_dep.md5 b/dir_2fce3de3a606fe8bc100a9ca8be3b4b7_dep.md5 new file mode 100644 index 000000000..0a0b6ebdb --- /dev/null +++ b/dir_2fce3de3a606fe8bc100a9ca8be3b4b7_dep.md5 @@ -0,0 +1 @@ +4a1c40751e5ca362800dff57dcc31436 \ No newline at end of file diff --git a/dir_2fce3de3a606fe8bc100a9ca8be3b4b7_dep.svg b/dir_2fce3de3a606fe8bc100a9ca8be3b4b7_dep.svg new file mode 100644 index 000000000..fde8cf5bf --- /dev/null +++ b/dir_2fce3de3a606fe8bc100a9ca8be3b4b7_dep.svg @@ -0,0 +1,139 @@ + + + + + + +src + +clusterdir_088a14879491eee6c6c569af955fa3b5 + + +nixd + + + + + +dir_2fce3de3a606fe8bc100a9ca8be3b4b7 + + +src + + + + + +dir_6fe8e64755d6ca8350089c43e24a597c + + +librpc + + + + + +dir_2fce3de3a606fe8bc100a9ca8be3b4b7->dir_6fe8e64755d6ca8350089c43e24a597c + + + + + + +2 + + + + + +dir_9ff0e04ed484c0229c3bd8fc4cfe4cb8 + + +libnixf + + + + + +dir_2fce3de3a606fe8bc100a9ca8be3b4b7->dir_9ff0e04ed484c0229c3bd8fc4cfe4cb8 + + + + + + +7 + + + + + +dir_b55f34eed50f427f5a82f0c0c0b607fd + + +libbc + + + + + +dir_2fce3de3a606fe8bc100a9ca8be3b4b7->dir_b55f34eed50f427f5a82f0c0c0b607fd + + + + + + +2 + + + + + +dir_b78a71a762ff0582d59dc461a15bff38 + + +lspserver + + + + + +dir_2fce3de3a606fe8bc100a9ca8be3b4b7->dir_b78a71a762ff0582d59dc461a15bff38 + + + + + + +7 + + + + + +dir_fea53f7f87b7ec4e08a74e8a64eb26a3 + + +libutil + + + + + +dir_2fce3de3a606fe8bc100a9ca8be3b4b7->dir_fea53f7f87b7ec4e08a74e8a64eb26a3 + + + + + + +5 + + + + + diff --git a/dir_32f167dda2f41d40ac9e24aee0c779a4.html b/dir_32f167dda2f41d40ac9e24aee0c779a4.html new file mode 100644 index 000000000..8a9a02835 --- /dev/null +++ b/dir_32f167dda2f41d40ac9e24aee0c779a4.html @@ -0,0 +1,101 @@ + + + + + + + +nixd: Parse Directory Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Parse Directory Reference
+
+
+
+Directory dependency graph for Parse:
+
+
+
+ + + + + + + +

+Files

 Parser.h
 Parser interface.
 
 SyntaxKinds.inc
 
+
+ + + + diff --git a/dir_32f167dda2f41d40ac9e24aee0c779a4_dep.map b/dir_32f167dda2f41d40ac9e24aee0c779a4_dep.map new file mode 100644 index 000000000..d819232b3 --- /dev/null +++ b/dir_32f167dda2f41d40ac9e24aee0c779a4_dep.map @@ -0,0 +1,4 @@ + + + + diff --git a/dir_32f167dda2f41d40ac9e24aee0c779a4_dep.md5 b/dir_32f167dda2f41d40ac9e24aee0c779a4_dep.md5 new file mode 100644 index 000000000..0d60863e8 --- /dev/null +++ b/dir_32f167dda2f41d40ac9e24aee0c779a4_dep.md5 @@ -0,0 +1 @@ +8e528f91243fe9ceb599db1a90fb5e37 \ No newline at end of file diff --git a/dir_32f167dda2f41d40ac9e24aee0c779a4_dep.svg b/dir_32f167dda2f41d40ac9e24aee0c779a4_dep.svg new file mode 100644 index 000000000..631da3cef --- /dev/null +++ b/dir_32f167dda2f41d40ac9e24aee0c779a4_dep.svg @@ -0,0 +1,29 @@ + + + + + + +Parse + +clusterdir_3b3bb5973b23a394522075bcda2e76c3 + + +nixf + + + + + +dir_32f167dda2f41d40ac9e24aee0c779a4 + + +Parse + + + + + diff --git a/dir_3b3bb5973b23a394522075bcda2e76c3.html b/dir_3b3bb5973b23a394522075bcda2e76c3.html new file mode 100644 index 000000000..56b69a373 --- /dev/null +++ b/dir_3b3bb5973b23a394522075bcda2e76c3.html @@ -0,0 +1,104 @@ + + + + + + + +nixd: nixf Directory Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
nixf Directory Reference
+
+
+
+Directory dependency graph for nixf:
+
+
+
+ + + + + + + + + + +

+Directories

 Basic
 
 Bytecode
 
 Parse
 
 Sema
 
+
+ + + + diff --git a/dir_3b3bb5973b23a394522075bcda2e76c3_dep.map b/dir_3b3bb5973b23a394522075bcda2e76c3_dep.map new file mode 100644 index 000000000..2a009a2c9 --- /dev/null +++ b/dir_3b3bb5973b23a394522075bcda2e76c3_dep.map @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/dir_3b3bb5973b23a394522075bcda2e76c3_dep.md5 b/dir_3b3bb5973b23a394522075bcda2e76c3_dep.md5 new file mode 100644 index 000000000..c0278f65b --- /dev/null +++ b/dir_3b3bb5973b23a394522075bcda2e76c3_dep.md5 @@ -0,0 +1 @@ +ded8395831e0db668abeb86150aa734d \ No newline at end of file diff --git a/dir_3b3bb5973b23a394522075bcda2e76c3_dep.svg b/dir_3b3bb5973b23a394522075bcda2e76c3_dep.svg new file mode 100644 index 000000000..3f1856a7b --- /dev/null +++ b/dir_3b3bb5973b23a394522075bcda2e76c3_dep.svg @@ -0,0 +1,94 @@ + + + + + + +nixf + +clusterdir_2ea7252d21588581e550b8cc37b5f8d9 + + +include + + + + +clusterdir_3b3bb5973b23a394522075bcda2e76c3 + + + + + + + +dir_3b3bb5973b23a394522075bcda2e76c3 +nixf + + + +dir_2449f2b6f5e00bc97ce2a2d4b7e7d3f4 + + +Basic + + + + + +dir_112255148183015961f1939285e5e65f + + +Bytecode + + + + + +dir_112255148183015961f1939285e5e65f->dir_2449f2b6f5e00bc97ce2a2d4b7e7d3f4 + + + + + + +1 + + + + + +dir_32f167dda2f41d40ac9e24aee0c779a4 + + +Parse + + + + + +dir_7b6db9abfae4478ed416ef77953b66b0 + + +Sema + + + + + +dir_7b6db9abfae4478ed416ef77953b66b0->dir_2449f2b6f5e00bc97ce2a2d4b7e7d3f4 + + + + + + +5 + + + + + diff --git a/dir_4116e555bb27d140ae95b1be9a93ad9a.html b/dir_4116e555bb27d140ae95b1be9a93ad9a.html new file mode 100644 index 000000000..a8cf4c4b9 --- /dev/null +++ b/dir_4116e555bb27d140ae95b1be9a93ad9a.html @@ -0,0 +1,108 @@ + + + + + + + +nixd: lib Directory Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
lib Directory Reference
+
+
+
+Directory dependency graph for lib:
+
+
+
+ + + + + + + + + + + + + + +

+Files

 ASTReader.cpp
 
 ASTReader.h
 
 Displacement.cpp
 
 HookExpr.cpp
 
 Kinds.cpp
 
 ParentMap.cpp
 
+
+ + + + diff --git a/dir_4116e555bb27d140ae95b1be9a93ad9a_dep.map b/dir_4116e555bb27d140ae95b1be9a93ad9a_dep.map new file mode 100644 index 000000000..52c506189 --- /dev/null +++ b/dir_4116e555bb27d140ae95b1be9a93ad9a_dep.map @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/dir_4116e555bb27d140ae95b1be9a93ad9a_dep.md5 b/dir_4116e555bb27d140ae95b1be9a93ad9a_dep.md5 new file mode 100644 index 000000000..a649c3e5c --- /dev/null +++ b/dir_4116e555bb27d140ae95b1be9a93ad9a_dep.md5 @@ -0,0 +1 @@ +1d17959d029f45bf55e5ae4c04f84537 \ No newline at end of file diff --git a/dir_4116e555bb27d140ae95b1be9a93ad9a_dep.svg b/dir_4116e555bb27d140ae95b1be9a93ad9a_dep.svg new file mode 100644 index 000000000..7d36c5fcd --- /dev/null +++ b/dir_4116e555bb27d140ae95b1be9a93ad9a_dep.svg @@ -0,0 +1,95 @@ + + + + + + +lib + +clusterdir_c40eb6f7b133789742bdf3cebb28ba81 + + +libnixt + + + + + +dir_b4b9fd25dbc0c6a28797e91ec2fee054 + + +include + + + + + +dir_4116e555bb27d140ae95b1be9a93ad9a + + +lib + + + + + +dir_4116e555bb27d140ae95b1be9a93ad9a->dir_b4b9fd25dbc0c6a28797e91ec2fee054 + + + + + + +10 + + + + + +dir_4349c16129eefd7f3a9a5bf6d61e574a + + +libnixbc + + + + + +dir_4116e555bb27d140ae95b1be9a93ad9a->dir_4349c16129eefd7f3a9a5bf6d61e574a + + + + + + +4 + + + + + +dir_b55f34eed50f427f5a82f0c0c0b607fd + + +libbc + + + + + +dir_4116e555bb27d140ae95b1be9a93ad9a->dir_b55f34eed50f427f5a82f0c0c0b607fd + + + + + + +2 + + + + + diff --git a/dir_4349c16129eefd7f3a9a5bf6d61e574a.html b/dir_4349c16129eefd7f3a9a5bf6d61e574a.html new file mode 100644 index 000000000..48d5f93ff --- /dev/null +++ b/dir_4349c16129eefd7f3a9a5bf6d61e574a.html @@ -0,0 +1,100 @@ + + + + + + + +nixd: libnixbc Directory Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
libnixbc Directory Reference
+
+
+
+Directory dependency graph for libnixbc:
+
+
+
+ + + + + + +

+Directories

 include
 
 src
 
+
+ + + + diff --git a/dir_4349c16129eefd7f3a9a5bf6d61e574a_dep.map b/dir_4349c16129eefd7f3a9a5bf6d61e574a_dep.map new file mode 100644 index 000000000..910172e77 --- /dev/null +++ b/dir_4349c16129eefd7f3a9a5bf6d61e574a_dep.map @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/dir_4349c16129eefd7f3a9a5bf6d61e574a_dep.md5 b/dir_4349c16129eefd7f3a9a5bf6d61e574a_dep.md5 new file mode 100644 index 000000000..7b9202973 --- /dev/null +++ b/dir_4349c16129eefd7f3a9a5bf6d61e574a_dep.md5 @@ -0,0 +1 @@ +c7d82c140aced8c6c9cdcbfd70d75d80 \ No newline at end of file diff --git a/dir_4349c16129eefd7f3a9a5bf6d61e574a_dep.svg b/dir_4349c16129eefd7f3a9a5bf6d61e574a_dep.svg new file mode 100644 index 000000000..81ba4a710 --- /dev/null +++ b/dir_4349c16129eefd7f3a9a5bf6d61e574a_dep.svg @@ -0,0 +1,77 @@ + + + + + + +libnixbc + +clusterdir_4349c16129eefd7f3a9a5bf6d61e574a + + + + + + + +dir_4349c16129eefd7f3a9a5bf6d61e574a +libnixbc + + + +dir_646ab2de1d008c038fc8ab282a79163a + + +include + + + + + +dir_b55f34eed50f427f5a82f0c0c0b607fd + + +libbc + + + + + +dir_646ab2de1d008c038fc8ab282a79163a->dir_b55f34eed50f427f5a82f0c0c0b607fd + + + + + + +1 + + + + + +dir_06c9c436e967ae3668e9a4bfe5b7522b + + +src + + + + + +dir_06c9c436e967ae3668e9a4bfe5b7522b->dir_646ab2de1d008c038fc8ab282a79163a + + + + + + +1 + + + + + diff --git a/dir_43dccb67c075cdf61156590789c0ba7d.html b/dir_43dccb67c075cdf61156590789c0ba7d.html new file mode 100644 index 000000000..1fbd61b1f --- /dev/null +++ b/dir_43dccb67c075cdf61156590789c0ba7d.html @@ -0,0 +1,98 @@ + + + + + + + +nixd: tools Directory Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
tools Directory Reference
+
+
+
+Directory dependency graph for tools:
+
+
+
+ + + + +

+Directories

 nixd
 
+
+ + + + diff --git a/dir_43dccb67c075cdf61156590789c0ba7d_dep.map b/dir_43dccb67c075cdf61156590789c0ba7d_dep.map new file mode 100644 index 000000000..f6c855764 --- /dev/null +++ b/dir_43dccb67c075cdf61156590789c0ba7d_dep.map @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/dir_43dccb67c075cdf61156590789c0ba7d_dep.md5 b/dir_43dccb67c075cdf61156590789c0ba7d_dep.md5 new file mode 100644 index 000000000..2f750190d --- /dev/null +++ b/dir_43dccb67c075cdf61156590789c0ba7d_dep.md5 @@ -0,0 +1 @@ +006a370f2faabec46202ff8d38ca49d4 \ No newline at end of file diff --git a/dir_43dccb67c075cdf61156590789c0ba7d_dep.svg b/dir_43dccb67c075cdf61156590789c0ba7d_dep.svg new file mode 100644 index 000000000..89633cf43 --- /dev/null +++ b/dir_43dccb67c075cdf61156590789c0ba7d_dep.svg @@ -0,0 +1,151 @@ + + + + + + +tools + +clusterdir_271d3aa807e54726686810b489123a0c + + +nixd + + + + +clusterdir_43dccb67c075cdf61156590789c0ba7d + + + + + + + +dir_6fe8e64755d6ca8350089c43e24a597c + + +librpc + + + + + +dir_fea53f7f87b7ec4e08a74e8a64eb26a3 + + +libutil + + + + + +dir_43dccb67c075cdf61156590789c0ba7d +tools + + + +dir_088a14879491eee6c6c569af955fa3b5 + + +nixd + + + + + +dir_088a14879491eee6c6c569af955fa3b5->dir_6fe8e64755d6ca8350089c43e24a597c + + + + + + +2 + + + + + +dir_088a14879491eee6c6c569af955fa3b5->dir_fea53f7f87b7ec4e08a74e8a64eb26a3 + + + + + + +5 + + + + + +dir_9ff0e04ed484c0229c3bd8fc4cfe4cb8 + + +libnixf + + + + + +dir_088a14879491eee6c6c569af955fa3b5->dir_9ff0e04ed484c0229c3bd8fc4cfe4cb8 + + + + + + +7 + + + + + +dir_b55f34eed50f427f5a82f0c0c0b607fd + + +libbc + + + + + +dir_088a14879491eee6c6c569af955fa3b5->dir_b55f34eed50f427f5a82f0c0c0b607fd + + + + + + +2 + + + + + +dir_b78a71a762ff0582d59dc461a15bff38 + + +lspserver + + + + + +dir_088a14879491eee6c6c569af955fa3b5->dir_b78a71a762ff0582d59dc461a15bff38 + + + + + + +7 + + + + + diff --git a/dir_464f141540dd1f7c0b8c2d5e8b32798f.html b/dir_464f141540dd1f7c0b8c2d5e8b32798f.html new file mode 100644 index 000000000..7376e507a --- /dev/null +++ b/dir_464f141540dd1f7c0b8c2d5e8b32798f.html @@ -0,0 +1,104 @@ + + + + + + + +nixd: src Directory Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
src Directory Reference
+
+
+
+Directory dependency graph for src:
+
+
+
+ + + + + + + + + + +

+Directories

 Basic
 
 Bytecode
 
 Parse
 
 Sema
 
+
+ + + + diff --git a/dir_464f141540dd1f7c0b8c2d5e8b32798f_dep.map b/dir_464f141540dd1f7c0b8c2d5e8b32798f_dep.map new file mode 100644 index 000000000..675379a69 --- /dev/null +++ b/dir_464f141540dd1f7c0b8c2d5e8b32798f_dep.map @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/dir_464f141540dd1f7c0b8c2d5e8b32798f_dep.md5 b/dir_464f141540dd1f7c0b8c2d5e8b32798f_dep.md5 new file mode 100644 index 000000000..5179d6e20 --- /dev/null +++ b/dir_464f141540dd1f7c0b8c2d5e8b32798f_dep.md5 @@ -0,0 +1 @@ +274cfa882f80c037623a820f1bee05e7 \ No newline at end of file diff --git a/dir_464f141540dd1f7c0b8c2d5e8b32798f_dep.svg b/dir_464f141540dd1f7c0b8c2d5e8b32798f_dep.svg new file mode 100644 index 000000000..85441e5d3 --- /dev/null +++ b/dir_464f141540dd1f7c0b8c2d5e8b32798f_dep.svg @@ -0,0 +1,173 @@ + + + + + + +src + +clusterdir_9ff0e04ed484c0229c3bd8fc4cfe4cb8 + + +libnixf + + + + +clusterdir_464f141540dd1f7c0b8c2d5e8b32798f + + + + + + + +dir_2ea7252d21588581e550b8cc37b5f8d9 + + +include + + + + + +dir_464f141540dd1f7c0b8c2d5e8b32798f +src + + + +dir_baff22c637407b0f380d92646d04d3e0 + + +Basic + + + + + +dir_baff22c637407b0f380d92646d04d3e0->dir_2ea7252d21588581e550b8cc37b5f8d9 + + + + + + +5 + + + + + +dir_7f09ace0ca86f6c57f7c2abeffa8ec39 + + +Bytecode + + + + + +dir_7f09ace0ca86f6c57f7c2abeffa8ec39->dir_2ea7252d21588581e550b8cc37b5f8d9 + + + + + + +1 + + + + + +dir_4349c16129eefd7f3a9a5bf6d61e574a + + +libnixbc + + + + + +dir_7f09ace0ca86f6c57f7c2abeffa8ec39->dir_4349c16129eefd7f3a9a5bf6d61e574a + + + + + + +2 + + + + + +dir_b55f34eed50f427f5a82f0c0c0b607fd + + +libbc + + + + + +dir_7f09ace0ca86f6c57f7c2abeffa8ec39->dir_b55f34eed50f427f5a82f0c0c0b607fd + + + + + + +1 + + + + + +dir_0f13faf2cde331c4efb20e51fbf7d022 + + +Parse + + + + + +dir_0f13faf2cde331c4efb20e51fbf7d022->dir_2ea7252d21588581e550b8cc37b5f8d9 + + + + + + +16 + + + + + +dir_210b2339cd755ef887faaab3c00d1334 + + +Sema + + + + + +dir_210b2339cd755ef887faaab3c00d1334->dir_2ea7252d21588581e550b8cc37b5f8d9 + + + + + + +4 + + + + + diff --git a/dir_6008d110f60d9bcc4c39f0eae5b860bc.html b/dir_6008d110f60d9bcc4c39f0eae5b860bc.html new file mode 100644 index 000000000..42583ec87 --- /dev/null +++ b/dir_6008d110f60d9bcc4c39f0eae5b860bc.html @@ -0,0 +1,92 @@ + + + + + + + +nixd: editors Directory Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
editors Directory Reference
+
+
+
+Directory dependency graph for editors:
+
+
+
+
+ + + + diff --git a/dir_6008d110f60d9bcc4c39f0eae5b860bc_dep.map b/dir_6008d110f60d9bcc4c39f0eae5b860bc_dep.map new file mode 100644 index 000000000..72d5534c7 --- /dev/null +++ b/dir_6008d110f60d9bcc4c39f0eae5b860bc_dep.map @@ -0,0 +1,4 @@ + + + + diff --git a/dir_6008d110f60d9bcc4c39f0eae5b860bc_dep.md5 b/dir_6008d110f60d9bcc4c39f0eae5b860bc_dep.md5 new file mode 100644 index 000000000..e3bf9991e --- /dev/null +++ b/dir_6008d110f60d9bcc4c39f0eae5b860bc_dep.md5 @@ -0,0 +1 @@ +bfb2420ebab54f867be5eca7525c7c71 \ No newline at end of file diff --git a/dir_6008d110f60d9bcc4c39f0eae5b860bc_dep.svg b/dir_6008d110f60d9bcc4c39f0eae5b860bc_dep.svg new file mode 100644 index 000000000..6717f01fe --- /dev/null +++ b/dir_6008d110f60d9bcc4c39f0eae5b860bc_dep.svg @@ -0,0 +1,29 @@ + + + + + + +editors + +clusterdir_fbf4781f84a2dfdac7fb8e01b68aa402 + + +docs + + + + + +dir_6008d110f60d9bcc4c39f0eae5b860bc + + +editors + + + + + diff --git a/dir_6165467763ba3881d53184c580d97216.html b/dir_6165467763ba3881d53184c580d97216.html new file mode 100644 index 000000000..ad1d9efcb --- /dev/null +++ b/dir_6165467763ba3881d53184c580d97216.html @@ -0,0 +1,104 @@ + + + + + + + +nixd: nixbc Directory Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
nixbc Directory Reference
+
+
+
+Directory dependency graph for nixbc:
+
+
+
+ + + + + + + + + + +

+Files

 FileHeader.h
 
 Nodes.h
 
 Origin.h
 
 Type.h
 
+
+ + + + diff --git a/dir_6165467763ba3881d53184c580d97216_dep.map b/dir_6165467763ba3881d53184c580d97216_dep.map new file mode 100644 index 000000000..8d33f7648 --- /dev/null +++ b/dir_6165467763ba3881d53184c580d97216_dep.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/dir_6165467763ba3881d53184c580d97216_dep.md5 b/dir_6165467763ba3881d53184c580d97216_dep.md5 new file mode 100644 index 000000000..3ed3f212c --- /dev/null +++ b/dir_6165467763ba3881d53184c580d97216_dep.md5 @@ -0,0 +1 @@ +d4c631467d08a576b0e8113289d34110 \ No newline at end of file diff --git a/dir_6165467763ba3881d53184c580d97216_dep.svg b/dir_6165467763ba3881d53184c580d97216_dep.svg new file mode 100644 index 000000000..62c4e5664 --- /dev/null +++ b/dir_6165467763ba3881d53184c580d97216_dep.svg @@ -0,0 +1,51 @@ + + + + + + +nixbc + +clusterdir_646ab2de1d008c038fc8ab282a79163a + + +include + + + + + +dir_6165467763ba3881d53184c580d97216 + + +nixbc + + + + + +dir_b55f34eed50f427f5a82f0c0c0b607fd + + +libbc + + + + + +dir_6165467763ba3881d53184c580d97216->dir_b55f34eed50f427f5a82f0c0c0b607fd + + + + + + +1 + + + + + diff --git a/dir_646ab2de1d008c038fc8ab282a79163a.html b/dir_646ab2de1d008c038fc8ab282a79163a.html new file mode 100644 index 000000000..ef4fc201c --- /dev/null +++ b/dir_646ab2de1d008c038fc8ab282a79163a.html @@ -0,0 +1,98 @@ + + + + + + + +nixd: include Directory Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
include Directory Reference
+
+
+
+Directory dependency graph for include:
+
+
+
+ + + + +

+Directories

 nixbc
 
+
+ + + + diff --git a/dir_646ab2de1d008c038fc8ab282a79163a_dep.map b/dir_646ab2de1d008c038fc8ab282a79163a_dep.map new file mode 100644 index 000000000..0585fa217 --- /dev/null +++ b/dir_646ab2de1d008c038fc8ab282a79163a_dep.map @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/dir_646ab2de1d008c038fc8ab282a79163a_dep.md5 b/dir_646ab2de1d008c038fc8ab282a79163a_dep.md5 new file mode 100644 index 000000000..00551df41 --- /dev/null +++ b/dir_646ab2de1d008c038fc8ab282a79163a_dep.md5 @@ -0,0 +1 @@ +1abf312b5ae1238b75daeb5dea0f41d6 \ No newline at end of file diff --git a/dir_646ab2de1d008c038fc8ab282a79163a_dep.svg b/dir_646ab2de1d008c038fc8ab282a79163a_dep.svg new file mode 100644 index 000000000..066cbf79b --- /dev/null +++ b/dir_646ab2de1d008c038fc8ab282a79163a_dep.svg @@ -0,0 +1,63 @@ + + + + + + +include + +clusterdir_4349c16129eefd7f3a9a5bf6d61e574a + + +libnixbc + + + + +clusterdir_646ab2de1d008c038fc8ab282a79163a + + + + + + + +dir_646ab2de1d008c038fc8ab282a79163a +include + + + +dir_6165467763ba3881d53184c580d97216 + + +nixbc + + + + + +dir_b55f34eed50f427f5a82f0c0c0b607fd + + +libbc + + + + + +dir_6165467763ba3881d53184c580d97216->dir_b55f34eed50f427f5a82f0c0c0b607fd + + + + + + +1 + + + + + diff --git a/dir_6fe8e64755d6ca8350089c43e24a597c.html b/dir_6fe8e64755d6ca8350089c43e24a597c.html new file mode 100644 index 000000000..bccedb817 --- /dev/null +++ b/dir_6fe8e64755d6ca8350089c43e24a597c.html @@ -0,0 +1,100 @@ + + + + + + + +nixd: librpc Directory Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
librpc Directory Reference
+
+
+
+Directory dependency graph for librpc:
+
+
+
+ + + + + + +

+Directories

 include
 
 src
 
+
+ + + + diff --git a/dir_6fe8e64755d6ca8350089c43e24a597c_dep.map b/dir_6fe8e64755d6ca8350089c43e24a597c_dep.map new file mode 100644 index 000000000..2fa188c97 --- /dev/null +++ b/dir_6fe8e64755d6ca8350089c43e24a597c_dep.map @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/dir_6fe8e64755d6ca8350089c43e24a597c_dep.md5 b/dir_6fe8e64755d6ca8350089c43e24a597c_dep.md5 new file mode 100644 index 000000000..facdd8127 --- /dev/null +++ b/dir_6fe8e64755d6ca8350089c43e24a597c_dep.md5 @@ -0,0 +1 @@ +5346c13a1bf9af3bd0a519d6c8816904 \ No newline at end of file diff --git a/dir_6fe8e64755d6ca8350089c43e24a597c_dep.svg b/dir_6fe8e64755d6ca8350089c43e24a597c_dep.svg new file mode 100644 index 000000000..132e0928a --- /dev/null +++ b/dir_6fe8e64755d6ca8350089c43e24a597c_dep.svg @@ -0,0 +1,98 @@ + + + + + + +librpc + +clusterdir_271d3aa807e54726686810b489123a0c + + +nixd + + + + +clusterdir_6fe8e64755d6ca8350089c43e24a597c + + + + + + + +dir_6fe8e64755d6ca8350089c43e24a597c +librpc + + + +dir_d9199c6151642fcd85009fc170803620 + + +include + + + + + +dir_b55f34eed50f427f5a82f0c0c0b607fd + + +libbc + + + + + +dir_d9199c6151642fcd85009fc170803620->dir_b55f34eed50f427f5a82f0c0c0b607fd + + + + + + +2 + + + + + +dir_edac7a1ad68f351284f3b97795b57890 + + +src + + + + + +dir_edac7a1ad68f351284f3b97795b57890->dir_d9199c6151642fcd85009fc170803620 + + + + + + +1 + + + + + +dir_edac7a1ad68f351284f3b97795b57890->dir_b55f34eed50f427f5a82f0c0c0b607fd + + + + + + +2 + + + + + diff --git a/dir_7b6db9abfae4478ed416ef77953b66b0.html b/dir_7b6db9abfae4478ed416ef77953b66b0.html new file mode 100644 index 000000000..499b59e7f --- /dev/null +++ b/dir_7b6db9abfae4478ed416ef77953b66b0.html @@ -0,0 +1,99 @@ + + + + + + + +nixd: Sema Directory Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Sema Directory Reference
+
+
+
+Directory dependency graph for Sema:
+
+
+
+ + + + + +

+Files

 SemaActions.h
 Semantic Actions while building the AST.
 
+
+ + + + diff --git a/dir_7b6db9abfae4478ed416ef77953b66b0_dep.map b/dir_7b6db9abfae4478ed416ef77953b66b0_dep.map new file mode 100644 index 000000000..b97f4492d --- /dev/null +++ b/dir_7b6db9abfae4478ed416ef77953b66b0_dep.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/dir_7b6db9abfae4478ed416ef77953b66b0_dep.md5 b/dir_7b6db9abfae4478ed416ef77953b66b0_dep.md5 new file mode 100644 index 000000000..bc33143e4 --- /dev/null +++ b/dir_7b6db9abfae4478ed416ef77953b66b0_dep.md5 @@ -0,0 +1 @@ +6b375455c84152da7117af081fdd6db7 \ No newline at end of file diff --git a/dir_7b6db9abfae4478ed416ef77953b66b0_dep.svg b/dir_7b6db9abfae4478ed416ef77953b66b0_dep.svg new file mode 100644 index 000000000..c23c735e7 --- /dev/null +++ b/dir_7b6db9abfae4478ed416ef77953b66b0_dep.svg @@ -0,0 +1,51 @@ + + + + + + +Sema + +clusterdir_3b3bb5973b23a394522075bcda2e76c3 + + +nixf + + + + + +dir_2449f2b6f5e00bc97ce2a2d4b7e7d3f4 + + +Basic + + + + + +dir_7b6db9abfae4478ed416ef77953b66b0 + + +Sema + + + + + +dir_7b6db9abfae4478ed416ef77953b66b0->dir_2449f2b6f5e00bc97ce2a2d4b7e7d3f4 + + + + + + +5 + + + + + diff --git a/dir_7cf1c5e79fe8b656cb1f8e1912ed8027.html b/dir_7cf1c5e79fe8b656cb1f8e1912ed8027.html new file mode 100644 index 000000000..eb2739561 --- /dev/null +++ b/dir_7cf1c5e79fe8b656cb1f8e1912ed8027.html @@ -0,0 +1,108 @@ + + + + + + + +nixd: util Directory Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
util Directory Reference
+
+
+
+Directory dependency graph for util:
+
+
+
+ + + + + + + + + + + + + + +

+Files

 AutoCloseFD.h
 
 AutoHUPPID.h
 
 AutoRemoveShm.h
 
 ForkPiped.h
 
 OwnedRegion.h
 
 PipedProc.h
 
+
+ + + + diff --git a/dir_7cf1c5e79fe8b656cb1f8e1912ed8027_dep.map b/dir_7cf1c5e79fe8b656cb1f8e1912ed8027_dep.map new file mode 100644 index 000000000..0d4ee7cfe --- /dev/null +++ b/dir_7cf1c5e79fe8b656cb1f8e1912ed8027_dep.map @@ -0,0 +1,4 @@ + + + + diff --git a/dir_7cf1c5e79fe8b656cb1f8e1912ed8027_dep.md5 b/dir_7cf1c5e79fe8b656cb1f8e1912ed8027_dep.md5 new file mode 100644 index 000000000..79fdcd014 --- /dev/null +++ b/dir_7cf1c5e79fe8b656cb1f8e1912ed8027_dep.md5 @@ -0,0 +1 @@ +8a1fa2d086138e51ee0a6fca55708e29 \ No newline at end of file diff --git a/dir_7cf1c5e79fe8b656cb1f8e1912ed8027_dep.svg b/dir_7cf1c5e79fe8b656cb1f8e1912ed8027_dep.svg new file mode 100644 index 000000000..6c1c81675 --- /dev/null +++ b/dir_7cf1c5e79fe8b656cb1f8e1912ed8027_dep.svg @@ -0,0 +1,29 @@ + + + + + + +util + +clusterdir_d9ad98d6b7e68d846247cb3f237621ce + + +nixd + + + + + +dir_7cf1c5e79fe8b656cb1f8e1912ed8027 + + +util + + + + + diff --git a/dir_7f09ace0ca86f6c57f7c2abeffa8ec39.html b/dir_7f09ace0ca86f6c57f7c2abeffa8ec39.html new file mode 100644 index 000000000..f783c558a --- /dev/null +++ b/dir_7f09ace0ca86f6c57f7c2abeffa8ec39.html @@ -0,0 +1,100 @@ + + + + + + + +nixd: Bytecode Directory Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Bytecode Directory Reference
+
+
+
+Directory dependency graph for Bytecode:
+
+
+
+ + + + + + +

+Files

 Write.cpp
 
 Write.h
 
+
+ + + + diff --git a/dir_7f09ace0ca86f6c57f7c2abeffa8ec39_dep.map b/dir_7f09ace0ca86f6c57f7c2abeffa8ec39_dep.map new file mode 100644 index 000000000..648f0f027 --- /dev/null +++ b/dir_7f09ace0ca86f6c57f7c2abeffa8ec39_dep.map @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/dir_7f09ace0ca86f6c57f7c2abeffa8ec39_dep.md5 b/dir_7f09ace0ca86f6c57f7c2abeffa8ec39_dep.md5 new file mode 100644 index 000000000..628c45330 --- /dev/null +++ b/dir_7f09ace0ca86f6c57f7c2abeffa8ec39_dep.md5 @@ -0,0 +1 @@ +e7a54f34064d910b0a54744f44ea2e97 \ No newline at end of file diff --git a/dir_7f09ace0ca86f6c57f7c2abeffa8ec39_dep.svg b/dir_7f09ace0ca86f6c57f7c2abeffa8ec39_dep.svg new file mode 100644 index 000000000..ec47c1bb1 --- /dev/null +++ b/dir_7f09ace0ca86f6c57f7c2abeffa8ec39_dep.svg @@ -0,0 +1,95 @@ + + + + + + +Bytecode + +clusterdir_464f141540dd1f7c0b8c2d5e8b32798f + + +src + + + + + +dir_7f09ace0ca86f6c57f7c2abeffa8ec39 + + +Bytecode + + + + + +dir_2ea7252d21588581e550b8cc37b5f8d9 + + +include + + + + + +dir_7f09ace0ca86f6c57f7c2abeffa8ec39->dir_2ea7252d21588581e550b8cc37b5f8d9 + + + + + + +1 + + + + + +dir_4349c16129eefd7f3a9a5bf6d61e574a + + +libnixbc + + + + + +dir_7f09ace0ca86f6c57f7c2abeffa8ec39->dir_4349c16129eefd7f3a9a5bf6d61e574a + + + + + + +2 + + + + + +dir_b55f34eed50f427f5a82f0c0c0b607fd + + +libbc + + + + + +dir_7f09ace0ca86f6c57f7c2abeffa8ec39->dir_b55f34eed50f427f5a82f0c0c0b607fd + + + + + + +1 + + + + + diff --git a/dir_90abaedaf2f01f4bbe0d30f918a527f7.html b/dir_90abaedaf2f01f4bbe0d30f918a527f7.html new file mode 100644 index 000000000..a1ce3eada --- /dev/null +++ b/dir_90abaedaf2f01f4bbe0d30f918a527f7.html @@ -0,0 +1,98 @@ + + + + + + + +nixd: include Directory Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
include Directory Reference
+
+
+
+Directory dependency graph for include:
+
+
+
+ + + + +

+Directories

 bc
 
+
+ + + + diff --git a/dir_90abaedaf2f01f4bbe0d30f918a527f7_dep.map b/dir_90abaedaf2f01f4bbe0d30f918a527f7_dep.map new file mode 100644 index 000000000..1a238f8db --- /dev/null +++ b/dir_90abaedaf2f01f4bbe0d30f918a527f7_dep.map @@ -0,0 +1,5 @@ + + + + + diff --git a/dir_90abaedaf2f01f4bbe0d30f918a527f7_dep.md5 b/dir_90abaedaf2f01f4bbe0d30f918a527f7_dep.md5 new file mode 100644 index 000000000..040820616 --- /dev/null +++ b/dir_90abaedaf2f01f4bbe0d30f918a527f7_dep.md5 @@ -0,0 +1 @@ +70b024b4f906bbcad284857d95c62db7 \ No newline at end of file diff --git a/dir_90abaedaf2f01f4bbe0d30f918a527f7_dep.svg b/dir_90abaedaf2f01f4bbe0d30f918a527f7_dep.svg new file mode 100644 index 000000000..2d0ece2e9 --- /dev/null +++ b/dir_90abaedaf2f01f4bbe0d30f918a527f7_dep.svg @@ -0,0 +1,41 @@ + + + + + + +include + +clusterdir_b55f34eed50f427f5a82f0c0c0b607fd + + +libbc + + + + +clusterdir_90abaedaf2f01f4bbe0d30f918a527f7 + + + + + + + +dir_90abaedaf2f01f4bbe0d30f918a527f7 +include + + + +dir_bb7a21030e493a163f9c4d8a347b0f9d + + +bc + + + + + diff --git a/dir_959444a7ffdeab047d49bfbb9e695df2.html b/dir_959444a7ffdeab047d49bfbb9e695df2.html new file mode 100644 index 000000000..4395c7b42 --- /dev/null +++ b/dir_959444a7ffdeab047d49bfbb9e695df2.html @@ -0,0 +1,116 @@ + + + + + + + +nixd: lspserver Directory Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
lspserver Directory Reference
+
+
+
+Directory dependency graph for lspserver:
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + +

+Files

 Connection.h
 
 DraftStore.h
 
 Function.h
 
 Logger.h
 
 LSPBinder.h
 
 LSPServer.h
 
 Path.h
 
 Protocol.h
 
 SourceCode.h
 
 URI.h
 
+
+ + + + diff --git a/dir_959444a7ffdeab047d49bfbb9e695df2_dep.map b/dir_959444a7ffdeab047d49bfbb9e695df2_dep.map new file mode 100644 index 000000000..778d483be --- /dev/null +++ b/dir_959444a7ffdeab047d49bfbb9e695df2_dep.map @@ -0,0 +1,4 @@ + + + + diff --git a/dir_959444a7ffdeab047d49bfbb9e695df2_dep.md5 b/dir_959444a7ffdeab047d49bfbb9e695df2_dep.md5 new file mode 100644 index 000000000..e5f1a62a1 --- /dev/null +++ b/dir_959444a7ffdeab047d49bfbb9e695df2_dep.md5 @@ -0,0 +1 @@ +05969d0783a36fd850bd80d91f761980 \ No newline at end of file diff --git a/dir_959444a7ffdeab047d49bfbb9e695df2_dep.svg b/dir_959444a7ffdeab047d49bfbb9e695df2_dep.svg new file mode 100644 index 000000000..6af271c7d --- /dev/null +++ b/dir_959444a7ffdeab047d49bfbb9e695df2_dep.svg @@ -0,0 +1,29 @@ + + + + + + +lspserver + +clusterdir_aa6b5210de392905622ee32a54b5c40b + + +include + + + + + +dir_959444a7ffdeab047d49bfbb9e695df2 + + +lspserver + + + + + diff --git a/dir_9ff0e04ed484c0229c3bd8fc4cfe4cb8.html b/dir_9ff0e04ed484c0229c3bd8fc4cfe4cb8.html new file mode 100644 index 000000000..4d7602531 --- /dev/null +++ b/dir_9ff0e04ed484c0229c3bd8fc4cfe4cb8.html @@ -0,0 +1,100 @@ + + + + + + + +nixd: libnixf Directory Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
libnixf Directory Reference
+
+
+
+Directory dependency graph for libnixf:
+
+
+
+ + + + + + +

+Directories

 include
 
 src
 
+
+ + + + diff --git a/dir_9ff0e04ed484c0229c3bd8fc4cfe4cb8_dep.map b/dir_9ff0e04ed484c0229c3bd8fc4cfe4cb8_dep.map new file mode 100644 index 000000000..71e9d9374 --- /dev/null +++ b/dir_9ff0e04ed484c0229c3bd8fc4cfe4cb8_dep.map @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/dir_9ff0e04ed484c0229c3bd8fc4cfe4cb8_dep.md5 b/dir_9ff0e04ed484c0229c3bd8fc4cfe4cb8_dep.md5 new file mode 100644 index 000000000..89b729136 --- /dev/null +++ b/dir_9ff0e04ed484c0229c3bd8fc4cfe4cb8_dep.md5 @@ -0,0 +1 @@ +207da4ddc8d6a450b2fb575d3a27ad7f \ No newline at end of file diff --git a/dir_9ff0e04ed484c0229c3bd8fc4cfe4cb8_dep.svg b/dir_9ff0e04ed484c0229c3bd8fc4cfe4cb8_dep.svg new file mode 100644 index 000000000..2bb9280b4 --- /dev/null +++ b/dir_9ff0e04ed484c0229c3bd8fc4cfe4cb8_dep.svg @@ -0,0 +1,99 @@ + + + + + + +libnixf + +clusterdir_9ff0e04ed484c0229c3bd8fc4cfe4cb8 + + + + + + + +dir_9ff0e04ed484c0229c3bd8fc4cfe4cb8 +libnixf + + + +dir_2ea7252d21588581e550b8cc37b5f8d9 + + +include + + + + + +dir_464f141540dd1f7c0b8c2d5e8b32798f + + +src + + + + + +dir_464f141540dd1f7c0b8c2d5e8b32798f->dir_2ea7252d21588581e550b8cc37b5f8d9 + + + + + + +26 + + + + + +dir_4349c16129eefd7f3a9a5bf6d61e574a + + +libnixbc + + + + + +dir_464f141540dd1f7c0b8c2d5e8b32798f->dir_4349c16129eefd7f3a9a5bf6d61e574a + + + + + + +2 + + + + + +dir_b55f34eed50f427f5a82f0c0c0b607fd + + +libbc + + + + + +dir_464f141540dd1f7c0b8c2d5e8b32798f->dir_b55f34eed50f427f5a82f0c0c0b607fd + + + + + + +1 + + + + + diff --git a/dir_aa6b5210de392905622ee32a54b5c40b.html b/dir_aa6b5210de392905622ee32a54b5c40b.html new file mode 100644 index 000000000..f9bf9c351 --- /dev/null +++ b/dir_aa6b5210de392905622ee32a54b5c40b.html @@ -0,0 +1,98 @@ + + + + + + + +nixd: include Directory Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
include Directory Reference
+
+
+
+Directory dependency graph for include:
+
+
+
+ + + + +

+Directories

 lspserver
 
+
+ + + + diff --git a/dir_aa6b5210de392905622ee32a54b5c40b_dep.map b/dir_aa6b5210de392905622ee32a54b5c40b_dep.map new file mode 100644 index 000000000..e83f5e082 --- /dev/null +++ b/dir_aa6b5210de392905622ee32a54b5c40b_dep.map @@ -0,0 +1,5 @@ + + + + + diff --git a/dir_aa6b5210de392905622ee32a54b5c40b_dep.md5 b/dir_aa6b5210de392905622ee32a54b5c40b_dep.md5 new file mode 100644 index 000000000..1a3952c5b --- /dev/null +++ b/dir_aa6b5210de392905622ee32a54b5c40b_dep.md5 @@ -0,0 +1 @@ +f6e28c855bf4dce5092ca529f241e00e \ No newline at end of file diff --git a/dir_aa6b5210de392905622ee32a54b5c40b_dep.svg b/dir_aa6b5210de392905622ee32a54b5c40b_dep.svg new file mode 100644 index 000000000..ea15dc1f0 --- /dev/null +++ b/dir_aa6b5210de392905622ee32a54b5c40b_dep.svg @@ -0,0 +1,41 @@ + + + + + + +include + +clusterdir_b78a71a762ff0582d59dc461a15bff38 + + +lspserver + + + + +clusterdir_aa6b5210de392905622ee32a54b5c40b + + + + + + + +dir_aa6b5210de392905622ee32a54b5c40b +include + + + +dir_959444a7ffdeab047d49bfbb9e695df2 + + +lspserver + + + + + diff --git a/dir_ae82c439e3273bbaefa18569b027ae03.html b/dir_ae82c439e3273bbaefa18569b027ae03.html new file mode 100644 index 000000000..8852e8ce3 --- /dev/null +++ b/dir_ae82c439e3273bbaefa18569b027ae03.html @@ -0,0 +1,108 @@ + + + + + + + +nixd: Nodes Directory Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Nodes Directory Reference
+
+
+
+Directory dependency graph for Nodes:
+
+
+
+ + + + + + + + + + + + + + +

+Files

 Attrs.h
 
 Basic.h
 
 Expr.h
 
 Lambda.h
 
 Op.h
 
 Simple.h
 
+
+ + + + diff --git a/dir_ae82c439e3273bbaefa18569b027ae03_dep.map b/dir_ae82c439e3273bbaefa18569b027ae03_dep.map new file mode 100644 index 000000000..7ad96b484 --- /dev/null +++ b/dir_ae82c439e3273bbaefa18569b027ae03_dep.map @@ -0,0 +1,4 @@ + + + + diff --git a/dir_ae82c439e3273bbaefa18569b027ae03_dep.md5 b/dir_ae82c439e3273bbaefa18569b027ae03_dep.md5 new file mode 100644 index 000000000..e8db414a6 --- /dev/null +++ b/dir_ae82c439e3273bbaefa18569b027ae03_dep.md5 @@ -0,0 +1 @@ +6693cad2bd1708dc9b3326799999fd19 \ No newline at end of file diff --git a/dir_ae82c439e3273bbaefa18569b027ae03_dep.svg b/dir_ae82c439e3273bbaefa18569b027ae03_dep.svg new file mode 100644 index 000000000..8371610eb --- /dev/null +++ b/dir_ae82c439e3273bbaefa18569b027ae03_dep.svg @@ -0,0 +1,29 @@ + + + + + + +Nodes + +clusterdir_2449f2b6f5e00bc97ce2a2d4b7e7d3f4 + + +Basic + + + + + +dir_ae82c439e3273bbaefa18569b027ae03 + + +Nodes + + + + + diff --git a/dir_b4b9fd25dbc0c6a28797e91ec2fee054.html b/dir_b4b9fd25dbc0c6a28797e91ec2fee054.html new file mode 100644 index 000000000..eb361ca2a --- /dev/null +++ b/dir_b4b9fd25dbc0c6a28797e91ec2fee054.html @@ -0,0 +1,98 @@ + + + + + + + +nixd: include Directory Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
include Directory Reference
+
+
+
+Directory dependency graph for include:
+
+
+
+ + + + +

+Directories

 nixt
 
+
+ + + + diff --git a/dir_b4b9fd25dbc0c6a28797e91ec2fee054_dep.map b/dir_b4b9fd25dbc0c6a28797e91ec2fee054_dep.map new file mode 100644 index 000000000..6ad5c64ac --- /dev/null +++ b/dir_b4b9fd25dbc0c6a28797e91ec2fee054_dep.map @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/dir_b4b9fd25dbc0c6a28797e91ec2fee054_dep.md5 b/dir_b4b9fd25dbc0c6a28797e91ec2fee054_dep.md5 new file mode 100644 index 000000000..61fa9ebe4 --- /dev/null +++ b/dir_b4b9fd25dbc0c6a28797e91ec2fee054_dep.md5 @@ -0,0 +1 @@ +9873671b5e8b93d0e29a53ba2694d543 \ No newline at end of file diff --git a/dir_b4b9fd25dbc0c6a28797e91ec2fee054_dep.svg b/dir_b4b9fd25dbc0c6a28797e91ec2fee054_dep.svg new file mode 100644 index 000000000..618ae6a67 --- /dev/null +++ b/dir_b4b9fd25dbc0c6a28797e91ec2fee054_dep.svg @@ -0,0 +1,63 @@ + + + + + + +include + +clusterdir_c40eb6f7b133789742bdf3cebb28ba81 + + +libnixt + + + + +clusterdir_b4b9fd25dbc0c6a28797e91ec2fee054 + + + + + + + +dir_b4b9fd25dbc0c6a28797e91ec2fee054 +include + + + +dir_f31a81659f826c680a95cd6e61881ea8 + + +nixt + + + + + +dir_4349c16129eefd7f3a9a5bf6d61e574a + + +libnixbc + + + + + +dir_f31a81659f826c680a95cd6e61881ea8->dir_4349c16129eefd7f3a9a5bf6d61e574a + + + + + + +1 + + + + + diff --git a/dir_b55f34eed50f427f5a82f0c0c0b607fd.html b/dir_b55f34eed50f427f5a82f0c0c0b607fd.html new file mode 100644 index 000000000..7b0f596aa --- /dev/null +++ b/dir_b55f34eed50f427f5a82f0c0c0b607fd.html @@ -0,0 +1,100 @@ + + + + + + + +nixd: libbc Directory Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
libbc Directory Reference
+
+
+
+Directory dependency graph for libbc:
+
+
+
+ + + + + + +

+Directories

 include
 
 src
 
+
+ + + + diff --git a/dir_b55f34eed50f427f5a82f0c0c0b607fd_dep.map b/dir_b55f34eed50f427f5a82f0c0c0b607fd_dep.map new file mode 100644 index 000000000..e20358d40 --- /dev/null +++ b/dir_b55f34eed50f427f5a82f0c0c0b607fd_dep.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/dir_b55f34eed50f427f5a82f0c0c0b607fd_dep.md5 b/dir_b55f34eed50f427f5a82f0c0c0b607fd_dep.md5 new file mode 100644 index 000000000..2c701d9a2 --- /dev/null +++ b/dir_b55f34eed50f427f5a82f0c0c0b607fd_dep.md5 @@ -0,0 +1 @@ +cd37fdc0e39cadfb384d212111691da2 \ No newline at end of file diff --git a/dir_b55f34eed50f427f5a82f0c0c0b607fd_dep.svg b/dir_b55f34eed50f427f5a82f0c0c0b607fd_dep.svg new file mode 100644 index 000000000..57c20e35b --- /dev/null +++ b/dir_b55f34eed50f427f5a82f0c0c0b607fd_dep.svg @@ -0,0 +1,55 @@ + + + + + + +libbc + +clusterdir_b55f34eed50f427f5a82f0c0c0b607fd + + + + + + + +dir_b55f34eed50f427f5a82f0c0c0b607fd +libbc + + + +dir_90abaedaf2f01f4bbe0d30f918a527f7 + + +include + + + + + +dir_f33fbbb530b991b087f0cf6db5420114 + + +src + + + + + +dir_f33fbbb530b991b087f0cf6db5420114->dir_90abaedaf2f01f4bbe0d30f918a527f7 + + + + + + +2 + + + + + diff --git a/dir_b78a71a762ff0582d59dc461a15bff38.html b/dir_b78a71a762ff0582d59dc461a15bff38.html new file mode 100644 index 000000000..dded5ce4d --- /dev/null +++ b/dir_b78a71a762ff0582d59dc461a15bff38.html @@ -0,0 +1,100 @@ + + + + + + + +nixd: lspserver Directory Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
lspserver Directory Reference
+
+
+
+Directory dependency graph for lspserver:
+
+
+
+ + + + + + +

+Directories

 include
 
 src
 
+
+ + + + diff --git a/dir_b78a71a762ff0582d59dc461a15bff38_dep.map b/dir_b78a71a762ff0582d59dc461a15bff38_dep.map new file mode 100644 index 000000000..d66728a2b --- /dev/null +++ b/dir_b78a71a762ff0582d59dc461a15bff38_dep.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/dir_b78a71a762ff0582d59dc461a15bff38_dep.md5 b/dir_b78a71a762ff0582d59dc461a15bff38_dep.md5 new file mode 100644 index 000000000..f048dfacb --- /dev/null +++ b/dir_b78a71a762ff0582d59dc461a15bff38_dep.md5 @@ -0,0 +1 @@ +0ca69a2f34c5c80f45c541723404dc7c \ No newline at end of file diff --git a/dir_b78a71a762ff0582d59dc461a15bff38_dep.svg b/dir_b78a71a762ff0582d59dc461a15bff38_dep.svg new file mode 100644 index 000000000..473861c84 --- /dev/null +++ b/dir_b78a71a762ff0582d59dc461a15bff38_dep.svg @@ -0,0 +1,55 @@ + + + + + + +lspserver + +clusterdir_b78a71a762ff0582d59dc461a15bff38 + + + + + + + +dir_b78a71a762ff0582d59dc461a15bff38 +lspserver + + + +dir_aa6b5210de392905622ee32a54b5c40b + + +include + + + + + +dir_e82bd5edcbbd64efaf54ec823872edb1 + + +src + + + + + +dir_e82bd5edcbbd64efaf54ec823872edb1->dir_aa6b5210de392905622ee32a54b5c40b + + + + + + +16 + + + + + diff --git a/dir_baff22c637407b0f380d92646d04d3e0.html b/dir_baff22c637407b0f380d92646d04d3e0.html new file mode 100644 index 000000000..5ed3a6011 --- /dev/null +++ b/dir_baff22c637407b0f380d92646d04d3e0.html @@ -0,0 +1,100 @@ + + + + + + + +nixd: Basic Directory Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Basic Directory Reference
+
+
+
+Directory dependency graph for Basic:
+
+
+
+ + + + + + +

+Files

 Diagnostic.cpp
 
 Nodes.cpp
 
+
+ + + + diff --git a/dir_baff22c637407b0f380d92646d04d3e0_dep.map b/dir_baff22c637407b0f380d92646d04d3e0_dep.map new file mode 100644 index 000000000..7a6ce58ff --- /dev/null +++ b/dir_baff22c637407b0f380d92646d04d3e0_dep.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/dir_baff22c637407b0f380d92646d04d3e0_dep.md5 b/dir_baff22c637407b0f380d92646d04d3e0_dep.md5 new file mode 100644 index 000000000..7e0c976b2 --- /dev/null +++ b/dir_baff22c637407b0f380d92646d04d3e0_dep.md5 @@ -0,0 +1 @@ +09b3d21bbc355ce69f641ad5252afc17 \ No newline at end of file diff --git a/dir_baff22c637407b0f380d92646d04d3e0_dep.svg b/dir_baff22c637407b0f380d92646d04d3e0_dep.svg new file mode 100644 index 000000000..3e4c855ec --- /dev/null +++ b/dir_baff22c637407b0f380d92646d04d3e0_dep.svg @@ -0,0 +1,51 @@ + + + + + + +Basic + +clusterdir_464f141540dd1f7c0b8c2d5e8b32798f + + +src + + + + + +dir_baff22c637407b0f380d92646d04d3e0 + + +Basic + + + + + +dir_2ea7252d21588581e550b8cc37b5f8d9 + + +include + + + + + +dir_baff22c637407b0f380d92646d04d3e0->dir_2ea7252d21588581e550b8cc37b5f8d9 + + + + + + +5 + + + + + diff --git a/dir_bb7a21030e493a163f9c4d8a347b0f9d.html b/dir_bb7a21030e493a163f9c4d8a347b0f9d.html new file mode 100644 index 000000000..dfec8e1a5 --- /dev/null +++ b/dir_bb7a21030e493a163f9c4d8a347b0f9d.html @@ -0,0 +1,100 @@ + + + + + + + +nixd: bc Directory Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
bc Directory Reference
+
+
+
+Directory dependency graph for bc:
+
+
+
+ + + + + + +

+Files

 Read.h
 
 Write.h
 
+
+ + + + diff --git a/dir_bb7a21030e493a163f9c4d8a347b0f9d_dep.map b/dir_bb7a21030e493a163f9c4d8a347b0f9d_dep.map new file mode 100644 index 000000000..8b4b144b4 --- /dev/null +++ b/dir_bb7a21030e493a163f9c4d8a347b0f9d_dep.map @@ -0,0 +1,4 @@ + + + + diff --git a/dir_bb7a21030e493a163f9c4d8a347b0f9d_dep.md5 b/dir_bb7a21030e493a163f9c4d8a347b0f9d_dep.md5 new file mode 100644 index 000000000..aaeab96d3 --- /dev/null +++ b/dir_bb7a21030e493a163f9c4d8a347b0f9d_dep.md5 @@ -0,0 +1 @@ +8f8e379f3c5605b1ec23ef4c91931510 \ No newline at end of file diff --git a/dir_bb7a21030e493a163f9c4d8a347b0f9d_dep.svg b/dir_bb7a21030e493a163f9c4d8a347b0f9d_dep.svg new file mode 100644 index 000000000..9282a3932 --- /dev/null +++ b/dir_bb7a21030e493a163f9c4d8a347b0f9d_dep.svg @@ -0,0 +1,29 @@ + + + + + + +bc + +clusterdir_90abaedaf2f01f4bbe0d30f918a527f7 + + +include + + + + + +dir_bb7a21030e493a163f9c4d8a347b0f9d + + +bc + + + + + diff --git a/dir_c40eb6f7b133789742bdf3cebb28ba81.html b/dir_c40eb6f7b133789742bdf3cebb28ba81.html new file mode 100644 index 000000000..5334d70cc --- /dev/null +++ b/dir_c40eb6f7b133789742bdf3cebb28ba81.html @@ -0,0 +1,100 @@ + + + + + + + +nixd: libnixt Directory Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
libnixt Directory Reference
+
+
+
+Directory dependency graph for libnixt:
+
+
+
+ + + + + + +

+Directories

 include
 
 lib
 
+
+ + + + diff --git a/dir_c40eb6f7b133789742bdf3cebb28ba81_dep.map b/dir_c40eb6f7b133789742bdf3cebb28ba81_dep.map new file mode 100644 index 000000000..ed8ba91ec --- /dev/null +++ b/dir_c40eb6f7b133789742bdf3cebb28ba81_dep.map @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/dir_c40eb6f7b133789742bdf3cebb28ba81_dep.md5 b/dir_c40eb6f7b133789742bdf3cebb28ba81_dep.md5 new file mode 100644 index 000000000..6ae9b77ab --- /dev/null +++ b/dir_c40eb6f7b133789742bdf3cebb28ba81_dep.md5 @@ -0,0 +1 @@ +a5093c53cb53d466a5aab4f705f0fcd9 \ No newline at end of file diff --git a/dir_c40eb6f7b133789742bdf3cebb28ba81_dep.svg b/dir_c40eb6f7b133789742bdf3cebb28ba81_dep.svg new file mode 100644 index 000000000..f03a9f25a --- /dev/null +++ b/dir_c40eb6f7b133789742bdf3cebb28ba81_dep.svg @@ -0,0 +1,112 @@ + + + + + + +libnixt + +clusterdir_c40eb6f7b133789742bdf3cebb28ba81 + + + + + + + +dir_c40eb6f7b133789742bdf3cebb28ba81 +libnixt + + + +dir_b4b9fd25dbc0c6a28797e91ec2fee054 + + +include + + + + + +dir_4349c16129eefd7f3a9a5bf6d61e574a + + +libnixbc + + + + + +dir_b4b9fd25dbc0c6a28797e91ec2fee054->dir_4349c16129eefd7f3a9a5bf6d61e574a + + + + + + +1 + + + + + +dir_4116e555bb27d140ae95b1be9a93ad9a + + +lib + + + + + +dir_4116e555bb27d140ae95b1be9a93ad9a->dir_b4b9fd25dbc0c6a28797e91ec2fee054 + + + + + + +10 + + + + + +dir_4116e555bb27d140ae95b1be9a93ad9a->dir_4349c16129eefd7f3a9a5bf6d61e574a + + + + + + +4 + + + + + +dir_b55f34eed50f427f5a82f0c0c0b607fd + + +libbc + + + + + +dir_4116e555bb27d140ae95b1be9a93ad9a->dir_b55f34eed50f427f5a82f0c0c0b607fd + + + + + + +2 + + + + + diff --git a/dir_cb50a63b385a4cbdfb0a90c8791c9e29.html b/dir_cb50a63b385a4cbdfb0a90c8791c9e29.html new file mode 100644 index 000000000..75c6d90bd --- /dev/null +++ b/dir_cb50a63b385a4cbdfb0a90c8791c9e29.html @@ -0,0 +1,92 @@ + + + + + + + +nixd: examples Directory Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
examples Directory Reference
+
+
+
+Directory dependency graph for examples:
+
+
+
+
+ + + + diff --git a/dir_cb50a63b385a4cbdfb0a90c8791c9e29_dep.map b/dir_cb50a63b385a4cbdfb0a90c8791c9e29_dep.map new file mode 100644 index 000000000..c8890673d --- /dev/null +++ b/dir_cb50a63b385a4cbdfb0a90c8791c9e29_dep.map @@ -0,0 +1,4 @@ + + + + diff --git a/dir_cb50a63b385a4cbdfb0a90c8791c9e29_dep.md5 b/dir_cb50a63b385a4cbdfb0a90c8791c9e29_dep.md5 new file mode 100644 index 000000000..a4b4e7f12 --- /dev/null +++ b/dir_cb50a63b385a4cbdfb0a90c8791c9e29_dep.md5 @@ -0,0 +1 @@ +e724dfb4ec2ea810d82a8b689f98f15e \ No newline at end of file diff --git a/dir_cb50a63b385a4cbdfb0a90c8791c9e29_dep.svg b/dir_cb50a63b385a4cbdfb0a90c8791c9e29_dep.svg new file mode 100644 index 000000000..3ab291b24 --- /dev/null +++ b/dir_cb50a63b385a4cbdfb0a90c8791c9e29_dep.svg @@ -0,0 +1,29 @@ + + + + + + +examples + +clusterdir_fbf4781f84a2dfdac7fb8e01b68aa402 + + +docs + + + + + +dir_cb50a63b385a4cbdfb0a90c8791c9e29 + + +examples + + + + + diff --git a/dir_d9199c6151642fcd85009fc170803620.html b/dir_d9199c6151642fcd85009fc170803620.html new file mode 100644 index 000000000..f388a424f --- /dev/null +++ b/dir_d9199c6151642fcd85009fc170803620.html @@ -0,0 +1,98 @@ + + + + + + + +nixd: include Directory Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
include Directory Reference
+
+
+
+Directory dependency graph for include:
+
+
+
+ + + + +

+Directories

 nixd
 
+
+ + + + diff --git a/dir_d9199c6151642fcd85009fc170803620_dep.map b/dir_d9199c6151642fcd85009fc170803620_dep.map new file mode 100644 index 000000000..5f1e654ec --- /dev/null +++ b/dir_d9199c6151642fcd85009fc170803620_dep.map @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/dir_d9199c6151642fcd85009fc170803620_dep.md5 b/dir_d9199c6151642fcd85009fc170803620_dep.md5 new file mode 100644 index 000000000..ea700e0d9 --- /dev/null +++ b/dir_d9199c6151642fcd85009fc170803620_dep.md5 @@ -0,0 +1 @@ +85e2c4f2b54b050633cf7a28b6013a85 \ No newline at end of file diff --git a/dir_d9199c6151642fcd85009fc170803620_dep.svg b/dir_d9199c6151642fcd85009fc170803620_dep.svg new file mode 100644 index 000000000..ae51c84f3 --- /dev/null +++ b/dir_d9199c6151642fcd85009fc170803620_dep.svg @@ -0,0 +1,63 @@ + + + + + + +include + +clusterdir_6fe8e64755d6ca8350089c43e24a597c + + +librpc + + + + +clusterdir_d9199c6151642fcd85009fc170803620 + + + + + + + +dir_d9199c6151642fcd85009fc170803620 +include + + + +dir_efab77534005e8b0ad9c0008c8b236a9 + + +nixd + + + + + +dir_b55f34eed50f427f5a82f0c0c0b607fd + + +libbc + + + + + +dir_efab77534005e8b0ad9c0008c8b236a9->dir_b55f34eed50f427f5a82f0c0c0b607fd + + + + + + +2 + + + + + diff --git a/dir_d9ad98d6b7e68d846247cb3f237621ce.html b/dir_d9ad98d6b7e68d846247cb3f237621ce.html new file mode 100644 index 000000000..9ef2651ef --- /dev/null +++ b/dir_d9ad98d6b7e68d846247cb3f237621ce.html @@ -0,0 +1,98 @@ + + + + + + + +nixd: nixd Directory Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
nixd Directory Reference
+
+
+
+Directory dependency graph for nixd:
+
+
+
+ + + + +

+Directories

 util
 
+
+ + + + diff --git a/dir_d9ad98d6b7e68d846247cb3f237621ce_dep.map b/dir_d9ad98d6b7e68d846247cb3f237621ce_dep.map new file mode 100644 index 000000000..99202cc32 --- /dev/null +++ b/dir_d9ad98d6b7e68d846247cb3f237621ce_dep.map @@ -0,0 +1,5 @@ + + + + + diff --git a/dir_d9ad98d6b7e68d846247cb3f237621ce_dep.md5 b/dir_d9ad98d6b7e68d846247cb3f237621ce_dep.md5 new file mode 100644 index 000000000..728d34c7a --- /dev/null +++ b/dir_d9ad98d6b7e68d846247cb3f237621ce_dep.md5 @@ -0,0 +1 @@ +a4c6c0a3408c9dbd1327e4d53fa0d35d \ No newline at end of file diff --git a/dir_d9ad98d6b7e68d846247cb3f237621ce_dep.svg b/dir_d9ad98d6b7e68d846247cb3f237621ce_dep.svg new file mode 100644 index 000000000..b8b3724af --- /dev/null +++ b/dir_d9ad98d6b7e68d846247cb3f237621ce_dep.svg @@ -0,0 +1,41 @@ + + + + + + +nixd + +clusterdir_09ded0d54f560121c4855637eac6443c + + +include + + + + +clusterdir_d9ad98d6b7e68d846247cb3f237621ce + + + + + + + +dir_d9ad98d6b7e68d846247cb3f237621ce +nixd + + + +dir_7cf1c5e79fe8b656cb1f8e1912ed8027 + + +util + + + + + diff --git a/dir_def84fe7d1b7eb360d50e0a32b0f5d1b.html b/dir_def84fe7d1b7eb360d50e0a32b0f5d1b.html new file mode 100644 index 000000000..0dfc3edea --- /dev/null +++ b/dir_def84fe7d1b7eb360d50e0a32b0f5d1b.html @@ -0,0 +1,102 @@ + + + + + + + +nixd: src Directory Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
src Directory Reference
+
+
+
+Directory dependency graph for src:
+
+
+
+ + + + + + + + +

+Files

 EvalProvider.cpp
 
 EvalProvider.h
 
 Main.cpp
 
+
+ + + + diff --git a/dir_def84fe7d1b7eb360d50e0a32b0f5d1b_dep.map b/dir_def84fe7d1b7eb360d50e0a32b0f5d1b_dep.map new file mode 100644 index 000000000..825bf288b --- /dev/null +++ b/dir_def84fe7d1b7eb360d50e0a32b0f5d1b_dep.map @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + diff --git a/dir_def84fe7d1b7eb360d50e0a32b0f5d1b_dep.md5 b/dir_def84fe7d1b7eb360d50e0a32b0f5d1b_dep.md5 new file mode 100644 index 000000000..df954e561 --- /dev/null +++ b/dir_def84fe7d1b7eb360d50e0a32b0f5d1b_dep.md5 @@ -0,0 +1 @@ +39607aefaa948ed0def49a5391dd521c \ No newline at end of file diff --git a/dir_def84fe7d1b7eb360d50e0a32b0f5d1b_dep.svg b/dir_def84fe7d1b7eb360d50e0a32b0f5d1b_dep.svg new file mode 100644 index 000000000..bae5fe6c7 --- /dev/null +++ b/dir_def84fe7d1b7eb360d50e0a32b0f5d1b_dep.svg @@ -0,0 +1,117 @@ + + + + + + +src + +clusterdir_1674159b14b5d6ba00b9e9bdffb50a16 + + +nix-node-eval + + + + + +dir_def84fe7d1b7eb360d50e0a32b0f5d1b + + +src + + + + + +dir_6fe8e64755d6ca8350089c43e24a597c + + +librpc + + + + + +dir_def84fe7d1b7eb360d50e0a32b0f5d1b->dir_6fe8e64755d6ca8350089c43e24a597c + + + + + + +2 + + + + + +dir_b55f34eed50f427f5a82f0c0c0b607fd + + +libbc + + + + + +dir_def84fe7d1b7eb360d50e0a32b0f5d1b->dir_b55f34eed50f427f5a82f0c0c0b607fd + + + + + + +2 + + + + + +dir_b78a71a762ff0582d59dc461a15bff38 + + +lspserver + + + + + +dir_def84fe7d1b7eb360d50e0a32b0f5d1b->dir_b78a71a762ff0582d59dc461a15bff38 + + + + + + +4 + + + + + +dir_c40eb6f7b133789742bdf3cebb28ba81 + + +libnixt + + + + + +dir_def84fe7d1b7eb360d50e0a32b0f5d1b->dir_c40eb6f7b133789742bdf3cebb28ba81 + + + + + + +5 + + + + + diff --git a/dir_e82bd5edcbbd64efaf54ec823872edb1.html b/dir_e82bd5edcbbd64efaf54ec823872edb1.html new file mode 100644 index 000000000..223c80c55 --- /dev/null +++ b/dir_e82bd5edcbbd64efaf54ec823872edb1.html @@ -0,0 +1,110 @@ + + + + + + + +nixd: src Directory Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
src Directory Reference
+
+
+
+Directory dependency graph for src:
+
+
+
+ + + + + + + + + + + + + + + + +

+Files

 Connection.cpp
 
 DraftStore.cpp
 
 Logger.cpp
 
 LSPServer.cpp
 
 Protocol.cpp
 
 SourceCode.cpp
 
 URI.cpp
 
+
+ + + + diff --git a/dir_e82bd5edcbbd64efaf54ec823872edb1_dep.map b/dir_e82bd5edcbbd64efaf54ec823872edb1_dep.map new file mode 100644 index 000000000..dcf3af963 --- /dev/null +++ b/dir_e82bd5edcbbd64efaf54ec823872edb1_dep.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/dir_e82bd5edcbbd64efaf54ec823872edb1_dep.md5 b/dir_e82bd5edcbbd64efaf54ec823872edb1_dep.md5 new file mode 100644 index 000000000..9123a8c98 --- /dev/null +++ b/dir_e82bd5edcbbd64efaf54ec823872edb1_dep.md5 @@ -0,0 +1 @@ +002f2e688d7a61c7fbc0b151cfac8c13 \ No newline at end of file diff --git a/dir_e82bd5edcbbd64efaf54ec823872edb1_dep.svg b/dir_e82bd5edcbbd64efaf54ec823872edb1_dep.svg new file mode 100644 index 000000000..fd1da1850 --- /dev/null +++ b/dir_e82bd5edcbbd64efaf54ec823872edb1_dep.svg @@ -0,0 +1,51 @@ + + + + + + +src + +clusterdir_b78a71a762ff0582d59dc461a15bff38 + + +lspserver + + + + + +dir_aa6b5210de392905622ee32a54b5c40b + + +include + + + + + +dir_e82bd5edcbbd64efaf54ec823872edb1 + + +src + + + + + +dir_e82bd5edcbbd64efaf54ec823872edb1->dir_aa6b5210de392905622ee32a54b5c40b + + + + + + +16 + + + + + diff --git a/dir_edac7a1ad68f351284f3b97795b57890.html b/dir_edac7a1ad68f351284f3b97795b57890.html new file mode 100644 index 000000000..d694d34a9 --- /dev/null +++ b/dir_edac7a1ad68f351284f3b97795b57890.html @@ -0,0 +1,98 @@ + + + + + + + +nixd: src Directory Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
src Directory Reference
+
+
+
+Directory dependency graph for src:
+
+
+
+ + + + +

+Files

 Protocol.cpp
 
+
+ + + + diff --git a/dir_edac7a1ad68f351284f3b97795b57890_dep.map b/dir_edac7a1ad68f351284f3b97795b57890_dep.map new file mode 100644 index 000000000..896054c76 --- /dev/null +++ b/dir_edac7a1ad68f351284f3b97795b57890_dep.map @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/dir_edac7a1ad68f351284f3b97795b57890_dep.md5 b/dir_edac7a1ad68f351284f3b97795b57890_dep.md5 new file mode 100644 index 000000000..caaeab0e2 --- /dev/null +++ b/dir_edac7a1ad68f351284f3b97795b57890_dep.md5 @@ -0,0 +1 @@ +3047d8bf793daa571bc8a5226fced412 \ No newline at end of file diff --git a/dir_edac7a1ad68f351284f3b97795b57890_dep.svg b/dir_edac7a1ad68f351284f3b97795b57890_dep.svg new file mode 100644 index 000000000..db21af2a1 --- /dev/null +++ b/dir_edac7a1ad68f351284f3b97795b57890_dep.svg @@ -0,0 +1,73 @@ + + + + + + +src + +clusterdir_6fe8e64755d6ca8350089c43e24a597c + + +librpc + + + + + +dir_d9199c6151642fcd85009fc170803620 + + +include + + + + + +dir_edac7a1ad68f351284f3b97795b57890 + + +src + + + + + +dir_edac7a1ad68f351284f3b97795b57890->dir_d9199c6151642fcd85009fc170803620 + + + + + + +1 + + + + + +dir_b55f34eed50f427f5a82f0c0c0b607fd + + +libbc + + + + + +dir_edac7a1ad68f351284f3b97795b57890->dir_b55f34eed50f427f5a82f0c0c0b607fd + + + + + + +2 + + + + + diff --git a/dir_efab77534005e8b0ad9c0008c8b236a9.html b/dir_efab77534005e8b0ad9c0008c8b236a9.html new file mode 100644 index 000000000..d3b88aa1a --- /dev/null +++ b/dir_efab77534005e8b0ad9c0008c8b236a9.html @@ -0,0 +1,98 @@ + + + + + + + +nixd: nixd Directory Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
nixd Directory Reference
+
+
+
+Directory dependency graph for nixd:
+
+
+
+ + + + +

+Directories

 rpc
 
+
+ + + + diff --git a/dir_efab77534005e8b0ad9c0008c8b236a9_dep.map b/dir_efab77534005e8b0ad9c0008c8b236a9_dep.map new file mode 100644 index 000000000..2a6ff88fc --- /dev/null +++ b/dir_efab77534005e8b0ad9c0008c8b236a9_dep.map @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/dir_efab77534005e8b0ad9c0008c8b236a9_dep.md5 b/dir_efab77534005e8b0ad9c0008c8b236a9_dep.md5 new file mode 100644 index 000000000..decc91fe3 --- /dev/null +++ b/dir_efab77534005e8b0ad9c0008c8b236a9_dep.md5 @@ -0,0 +1 @@ +5bcd694047dfde330a605e544d5f9d55 \ No newline at end of file diff --git a/dir_efab77534005e8b0ad9c0008c8b236a9_dep.svg b/dir_efab77534005e8b0ad9c0008c8b236a9_dep.svg new file mode 100644 index 000000000..189293f95 --- /dev/null +++ b/dir_efab77534005e8b0ad9c0008c8b236a9_dep.svg @@ -0,0 +1,63 @@ + + + + + + +nixd + +clusterdir_d9199c6151642fcd85009fc170803620 + + +include + + + + +clusterdir_efab77534005e8b0ad9c0008c8b236a9 + + + + + + + +dir_efab77534005e8b0ad9c0008c8b236a9 +nixd + + + +dir_22156efa6ecaea66f2a00a9e5cade55f + + +rpc + + + + + +dir_b55f34eed50f427f5a82f0c0c0b607fd + + +libbc + + + + + +dir_22156efa6ecaea66f2a00a9e5cade55f->dir_b55f34eed50f427f5a82f0c0c0b607fd + + + + + + +2 + + + + + diff --git a/dir_f31a81659f826c680a95cd6e61881ea8.html b/dir_f31a81659f826c680a95cd6e61881ea8.html new file mode 100644 index 000000000..8aee5433e --- /dev/null +++ b/dir_f31a81659f826c680a95cd6e61881ea8.html @@ -0,0 +1,129 @@ + + + + + + + +nixd: nixt Directory Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
nixt Directory Reference
+
+
+
+Directory dependency graph for nixt:
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Files

 ArrayRef.h
 ArrayRef, BytesRef, and related functions.
 
 Deserialize.h
 
 Displacement.h
 Get nix::PosIdx of an nix::Expr, from nix::Displacement.
 
 HackCache.h
 
 HookExpr.h
 
 InitEval.h
 
 Kinds.h
 Determine the kind of nix::Expr.
 
 Nodes.inc
 
 ParentMap.h
 Construct child -> parent relations of nix::Expr nodes.
 
 PtrPool.h
 Pointer pool, for RAII memory management.
 
 Serialize.h
 Serialize nix::Expr to bytes & deserialize from bytes.
 
 Traverse.inc
 
 Visitor.h
 Describe how to traverse upon nix::Expr * nodes.
 
+
+ + + + diff --git a/dir_f31a81659f826c680a95cd6e61881ea8_dep.map b/dir_f31a81659f826c680a95cd6e61881ea8_dep.map new file mode 100644 index 000000000..e9b3731ff --- /dev/null +++ b/dir_f31a81659f826c680a95cd6e61881ea8_dep.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/dir_f31a81659f826c680a95cd6e61881ea8_dep.md5 b/dir_f31a81659f826c680a95cd6e61881ea8_dep.md5 new file mode 100644 index 000000000..572dd5595 --- /dev/null +++ b/dir_f31a81659f826c680a95cd6e61881ea8_dep.md5 @@ -0,0 +1 @@ +c662e909316981a14654caa55ee584ac \ No newline at end of file diff --git a/dir_f31a81659f826c680a95cd6e61881ea8_dep.svg b/dir_f31a81659f826c680a95cd6e61881ea8_dep.svg new file mode 100644 index 000000000..83ec60740 --- /dev/null +++ b/dir_f31a81659f826c680a95cd6e61881ea8_dep.svg @@ -0,0 +1,51 @@ + + + + + + +nixt + +clusterdir_b4b9fd25dbc0c6a28797e91ec2fee054 + + +include + + + + + +dir_f31a81659f826c680a95cd6e61881ea8 + + +nixt + + + + + +dir_4349c16129eefd7f3a9a5bf6d61e574a + + +libnixbc + + + + + +dir_f31a81659f826c680a95cd6e61881ea8->dir_4349c16129eefd7f3a9a5bf6d61e574a + + + + + + +1 + + + + + diff --git a/dir_f33fbbb530b991b087f0cf6db5420114.html b/dir_f33fbbb530b991b087f0cf6db5420114.html new file mode 100644 index 000000000..52df57c83 --- /dev/null +++ b/dir_f33fbbb530b991b087f0cf6db5420114.html @@ -0,0 +1,100 @@ + + + + + + + +nixd: src Directory Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
src Directory Reference
+
+
+
+Directory dependency graph for src:
+
+
+
+ + + + + + +

+Files

 Read.cpp
 
 Write.cpp
 
+
+ + + + diff --git a/dir_f33fbbb530b991b087f0cf6db5420114_dep.map b/dir_f33fbbb530b991b087f0cf6db5420114_dep.map new file mode 100644 index 000000000..1bb161a03 --- /dev/null +++ b/dir_f33fbbb530b991b087f0cf6db5420114_dep.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/dir_f33fbbb530b991b087f0cf6db5420114_dep.md5 b/dir_f33fbbb530b991b087f0cf6db5420114_dep.md5 new file mode 100644 index 000000000..b9fc72525 --- /dev/null +++ b/dir_f33fbbb530b991b087f0cf6db5420114_dep.md5 @@ -0,0 +1 @@ +5f22fb9670d7b349945cb7f1e81a8fb4 \ No newline at end of file diff --git a/dir_f33fbbb530b991b087f0cf6db5420114_dep.svg b/dir_f33fbbb530b991b087f0cf6db5420114_dep.svg new file mode 100644 index 000000000..8bfc16b0d --- /dev/null +++ b/dir_f33fbbb530b991b087f0cf6db5420114_dep.svg @@ -0,0 +1,51 @@ + + + + + + +src + +clusterdir_b55f34eed50f427f5a82f0c0c0b607fd + + +libbc + + + + + +dir_90abaedaf2f01f4bbe0d30f918a527f7 + + +include + + + + + +dir_f33fbbb530b991b087f0cf6db5420114 + + +src + + + + + +dir_f33fbbb530b991b087f0cf6db5420114->dir_90abaedaf2f01f4bbe0d30f918a527f7 + + + + + + +2 + + + + + diff --git a/dir_fbf4781f84a2dfdac7fb8e01b68aa402.html b/dir_fbf4781f84a2dfdac7fb8e01b68aa402.html new file mode 100644 index 000000000..26916f908 --- /dev/null +++ b/dir_fbf4781f84a2dfdac7fb8e01b68aa402.html @@ -0,0 +1,100 @@ + + + + + + + +nixd: docs Directory Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
docs Directory Reference
+
+
+
+Directory dependency graph for docs:
+
+
+
+ + + + + + +

+Directories

 editors
 
 examples
 
+
+ + + + diff --git a/dir_fbf4781f84a2dfdac7fb8e01b68aa402_dep.map b/dir_fbf4781f84a2dfdac7fb8e01b68aa402_dep.map new file mode 100644 index 000000000..453e9fb4a --- /dev/null +++ b/dir_fbf4781f84a2dfdac7fb8e01b68aa402_dep.map @@ -0,0 +1,6 @@ + + + + + + diff --git a/dir_fbf4781f84a2dfdac7fb8e01b68aa402_dep.md5 b/dir_fbf4781f84a2dfdac7fb8e01b68aa402_dep.md5 new file mode 100644 index 000000000..7ce330ba2 --- /dev/null +++ b/dir_fbf4781f84a2dfdac7fb8e01b68aa402_dep.md5 @@ -0,0 +1 @@ +6c62fe15e6d1ec35bfa2422650ffa96f \ No newline at end of file diff --git a/dir_fbf4781f84a2dfdac7fb8e01b68aa402_dep.svg b/dir_fbf4781f84a2dfdac7fb8e01b68aa402_dep.svg new file mode 100644 index 000000000..5626b651a --- /dev/null +++ b/dir_fbf4781f84a2dfdac7fb8e01b68aa402_dep.svg @@ -0,0 +1,50 @@ + + + + + + +docs + +clusterdir_271d3aa807e54726686810b489123a0c + + +nixd + + + + +clusterdir_fbf4781f84a2dfdac7fb8e01b68aa402 + + + + + + + +dir_fbf4781f84a2dfdac7fb8e01b68aa402 +docs + + + +dir_6008d110f60d9bcc4c39f0eae5b860bc + + +editors + + + + + +dir_cb50a63b385a4cbdfb0a90c8791c9e29 + + +examples + + + + + diff --git a/dir_fea53f7f87b7ec4e08a74e8a64eb26a3.html b/dir_fea53f7f87b7ec4e08a74e8a64eb26a3.html new file mode 100644 index 000000000..c10fb1a1a --- /dev/null +++ b/dir_fea53f7f87b7ec4e08a74e8a64eb26a3.html @@ -0,0 +1,100 @@ + + + + + + + +nixd: libutil Directory Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
libutil Directory Reference
+
+
+
+Directory dependency graph for libutil:
+
+
+
+ + + + + + +

+Directories

 include
 
 src
 
+
+ + + + diff --git a/dir_fea53f7f87b7ec4e08a74e8a64eb26a3_dep.map b/dir_fea53f7f87b7ec4e08a74e8a64eb26a3_dep.map new file mode 100644 index 000000000..746dde5b9 --- /dev/null +++ b/dir_fea53f7f87b7ec4e08a74e8a64eb26a3_dep.map @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/dir_fea53f7f87b7ec4e08a74e8a64eb26a3_dep.md5 b/dir_fea53f7f87b7ec4e08a74e8a64eb26a3_dep.md5 new file mode 100644 index 000000000..114ee1043 --- /dev/null +++ b/dir_fea53f7f87b7ec4e08a74e8a64eb26a3_dep.md5 @@ -0,0 +1 @@ +d75fb089923237b46511beb4eb81e731 \ No newline at end of file diff --git a/dir_fea53f7f87b7ec4e08a74e8a64eb26a3_dep.svg b/dir_fea53f7f87b7ec4e08a74e8a64eb26a3_dep.svg new file mode 100644 index 000000000..373fdd1c8 --- /dev/null +++ b/dir_fea53f7f87b7ec4e08a74e8a64eb26a3_dep.svg @@ -0,0 +1,63 @@ + + + + + + +libutil + +clusterdir_271d3aa807e54726686810b489123a0c + + +nixd + + + + +clusterdir_fea53f7f87b7ec4e08a74e8a64eb26a3 + + + + + + + +dir_fea53f7f87b7ec4e08a74e8a64eb26a3 +libutil + + + +dir_09ded0d54f560121c4855637eac6443c + + +include + + + + + +dir_2da3afe9fedcaed30827aea0999c7ca3 + + +src + + + + + +dir_2da3afe9fedcaed30827aea0999c7ca3->dir_09ded0d54f560121c4855637eac6443c + + + + + + +3 + + + + + diff --git a/doc.svg b/doc.svg new file mode 100644 index 000000000..0b928a531 --- /dev/null +++ b/doc.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + diff --git a/docd.svg b/docd.svg new file mode 100644 index 000000000..ac18b2755 --- /dev/null +++ b/docd.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + diff --git a/doxygen.css b/doxygen.css new file mode 100644 index 000000000..7b7d851b8 --- /dev/null +++ b/doxygen.css @@ -0,0 +1,2225 @@ +/* The standard CSS for doxygen 1.10.0*/ + +html { +/* page base colors */ +--page-background-color: white; +--page-foreground-color: black; +--page-link-color: #3D578C; +--page-visited-link-color: #4665A2; + +/* index */ +--index-odd-item-bg-color: #F8F9FC; +--index-even-item-bg-color: white; +--index-header-color: black; +--index-separator-color: #A0A0A0; + +/* header */ +--header-background-color: #F9FAFC; +--header-separator-color: #C4CFE5; +--header-gradient-image: url('nav_h.png'); +--group-header-separator-color: #879ECB; +--group-header-color: #354C7B; +--inherit-header-color: gray; + +--footer-foreground-color: #2A3D61; +--footer-logo-width: 104px; +--citation-label-color: #334975; +--glow-color: cyan; + +--title-background-color: white; +--title-separator-color: #5373B4; +--directory-separator-color: #9CAFD4; +--separator-color: #4A6AAA; + +--blockquote-background-color: #F7F8FB; +--blockquote-border-color: #9CAFD4; + +--scrollbar-thumb-color: #9CAFD4; +--scrollbar-background-color: #F9FAFC; + +--icon-background-color: #728DC1; +--icon-foreground-color: white; +--icon-doc-image: url('doc.svg'); +--icon-folder-open-image: url('folderopen.svg'); +--icon-folder-closed-image: url('folderclosed.svg'); + +/* brief member declaration list */ +--memdecl-background-color: #F9FAFC; +--memdecl-separator-color: #DEE4F0; +--memdecl-foreground-color: #555; +--memdecl-template-color: #4665A2; + +/* detailed member list */ +--memdef-border-color: #A8B8D9; +--memdef-title-background-color: #E2E8F2; +--memdef-title-gradient-image: url('nav_f.png'); +--memdef-proto-background-color: #DFE5F1; +--memdef-proto-text-color: #253555; +--memdef-proto-text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); +--memdef-doc-background-color: white; +--memdef-param-name-color: #602020; +--memdef-template-color: #4665A2; + +/* tables */ +--table-cell-border-color: #2D4068; +--table-header-background-color: #374F7F; +--table-header-foreground-color: #FFFFFF; + +/* labels */ +--label-background-color: #728DC1; +--label-left-top-border-color: #5373B4; +--label-right-bottom-border-color: #C4CFE5; +--label-foreground-color: white; + +/** navigation bar/tree/menu */ +--nav-background-color: #F9FAFC; +--nav-foreground-color: #364D7C; +--nav-gradient-image: url('tab_b.png'); +--nav-gradient-hover-image: url('tab_h.png'); +--nav-gradient-active-image: url('tab_a.png'); +--nav-gradient-active-image-parent: url("../tab_a.png"); +--nav-separator-image: url('tab_s.png'); +--nav-breadcrumb-image: url('bc_s.png'); +--nav-breadcrumb-border-color: #C2CDE4; +--nav-splitbar-image: url('splitbar.png'); +--nav-font-size-level1: 13px; +--nav-font-size-level2: 10px; +--nav-font-size-level3: 9px; +--nav-text-normal-color: #283A5D; +--nav-text-hover-color: white; +--nav-text-active-color: white; +--nav-text-normal-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); +--nav-text-hover-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0); +--nav-text-active-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0); +--nav-menu-button-color: #364D7C; +--nav-menu-background-color: white; +--nav-menu-foreground-color: #555555; +--nav-menu-toggle-color: rgba(255, 255, 255, 0.5); +--nav-arrow-color: #9CAFD4; +--nav-arrow-selected-color: #9CAFD4; + +/* table of contents */ +--toc-background-color: #F4F6FA; +--toc-border-color: #D8DFEE; +--toc-header-color: #4665A2; +--toc-down-arrow-image: url("data:image/svg+xml;utf8,&%238595;"); + +/** search field */ +--search-background-color: white; +--search-foreground-color: #909090; +--search-magnification-image: url('mag.svg'); +--search-magnification-select-image: url('mag_sel.svg'); +--search-active-color: black; +--search-filter-background-color: #F9FAFC; +--search-filter-foreground-color: black; +--search-filter-border-color: #90A5CE; +--search-filter-highlight-text-color: white; +--search-filter-highlight-bg-color: #3D578C; +--search-results-foreground-color: #425E97; +--search-results-background-color: #EEF1F7; +--search-results-border-color: black; +--search-box-shadow: inset 0.5px 0.5px 3px 0px #555; + +/** code fragments */ +--code-keyword-color: #008000; +--code-type-keyword-color: #604020; +--code-flow-keyword-color: #E08000; +--code-comment-color: #800000; +--code-preprocessor-color: #806020; +--code-string-literal-color: #002080; +--code-char-literal-color: #008080; +--code-xml-cdata-color: black; +--code-vhdl-digit-color: #FF00FF; +--code-vhdl-char-color: #000000; +--code-vhdl-keyword-color: #700070; +--code-vhdl-logic-color: #FF0000; +--code-link-color: #4665A2; +--code-external-link-color: #4665A2; +--fragment-foreground-color: black; +--fragment-background-color: #FBFCFD; +--fragment-border-color: #C4CFE5; +--fragment-lineno-border-color: #00FF00; +--fragment-lineno-background-color: #E8E8E8; +--fragment-lineno-foreground-color: black; +--fragment-lineno-link-fg-color: #4665A2; +--fragment-lineno-link-bg-color: #D8D8D8; +--fragment-lineno-link-hover-fg-color: #4665A2; +--fragment-lineno-link-hover-bg-color: #C8C8C8; +--fragment-copy-ok-color: #2EC82E; +--tooltip-foreground-color: black; +--tooltip-background-color: white; +--tooltip-border-color: gray; +--tooltip-doc-color: grey; +--tooltip-declaration-color: #006318; +--tooltip-link-color: #4665A2; +--tooltip-shadow: 1px 1px 7px gray; +--fold-line-color: #808080; +--fold-minus-image: url('minus.svg'); +--fold-plus-image: url('plus.svg'); +--fold-minus-image-relpath: url('../../minus.svg'); +--fold-plus-image-relpath: url('../../plus.svg'); + +/** font-family */ +--font-family-normal: Roboto,sans-serif; +--font-family-monospace: 'JetBrains Mono',Consolas,Monaco,'Andale Mono','Ubuntu Mono',monospace,fixed; +--font-family-nav: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif; +--font-family-title: Tahoma,Arial,sans-serif; +--font-family-toc: Verdana,'DejaVu Sans',Geneva,sans-serif; +--font-family-search: Arial,Verdana,sans-serif; +--font-family-icon: Arial,Helvetica; +--font-family-tooltip: Roboto,sans-serif; + +/** special sections */ +--warning-color-bg: #f8d1cc; +--warning-color-hl: #b61825; +--warning-color-text: #75070f; +--note-color-bg: #faf3d8; +--note-color-hl: #f3a600; +--note-color-text: #5f4204; +--todo-color-bg: #e4f3ff; +--todo-color-hl: #1879C4; +--todo-color-text: #274a5c; +--test-color-bg: #e8e8ff; +--test-color-hl: #3939C4; +--test-color-text: #1a1a5c; +--deprecated-color-bg: #ecf0f3; +--deprecated-color-hl: #5b6269; +--deprecated-color-text: #43454a; +--bug-color-bg: #e4dafd; +--bug-color-hl: #5b2bdd; +--bug-color-text: #2a0d72; +--invariant-color-bg: #d8f1e3; +--invariant-color-hl: #44b86f; +--invariant-color-text: #265532; +} + +@media (prefers-color-scheme: dark) { + html:not(.dark-mode) { + color-scheme: dark; + +/* page base colors */ +--page-background-color: black; +--page-foreground-color: #C9D1D9; +--page-link-color: #90A5CE; +--page-visited-link-color: #A3B4D7; + +/* index */ +--index-odd-item-bg-color: #0B101A; +--index-even-item-bg-color: black; +--index-header-color: #C4CFE5; +--index-separator-color: #334975; + +/* header */ +--header-background-color: #070B11; +--header-separator-color: #141C2E; +--header-gradient-image: url('nav_hd.png'); +--group-header-separator-color: #283A5D; +--group-header-color: #90A5CE; +--inherit-header-color: #A0A0A0; + +--footer-foreground-color: #5B7AB7; +--footer-logo-width: 60px; +--citation-label-color: #90A5CE; +--glow-color: cyan; + +--title-background-color: #090D16; +--title-separator-color: #354C79; +--directory-separator-color: #283A5D; +--separator-color: #283A5D; + +--blockquote-background-color: #101826; +--blockquote-border-color: #283A5D; + +--scrollbar-thumb-color: #283A5D; +--scrollbar-background-color: #070B11; + +--icon-background-color: #334975; +--icon-foreground-color: #C4CFE5; +--icon-doc-image: url('docd.svg'); +--icon-folder-open-image: url('folderopend.svg'); +--icon-folder-closed-image: url('folderclosedd.svg'); + +/* brief member declaration list */ +--memdecl-background-color: #0B101A; +--memdecl-separator-color: #2C3F65; +--memdecl-foreground-color: #BBB; +--memdecl-template-color: #7C95C6; + +/* detailed member list */ +--memdef-border-color: #233250; +--memdef-title-background-color: #1B2840; +--memdef-title-gradient-image: url('nav_fd.png'); +--memdef-proto-background-color: #19243A; +--memdef-proto-text-color: #9DB0D4; +--memdef-proto-text-shadow: 0px 1px 1px rgba(0, 0, 0, 0.9); +--memdef-doc-background-color: black; +--memdef-param-name-color: #D28757; +--memdef-template-color: #7C95C6; + +/* tables */ +--table-cell-border-color: #283A5D; +--table-header-background-color: #283A5D; +--table-header-foreground-color: #C4CFE5; + +/* labels */ +--label-background-color: #354C7B; +--label-left-top-border-color: #4665A2; +--label-right-bottom-border-color: #283A5D; +--label-foreground-color: #CCCCCC; + +/** navigation bar/tree/menu */ +--nav-background-color: #101826; +--nav-foreground-color: #364D7C; +--nav-gradient-image: url('tab_bd.png'); +--nav-gradient-hover-image: url('tab_hd.png'); +--nav-gradient-active-image: url('tab_ad.png'); +--nav-gradient-active-image-parent: url("../tab_ad.png"); +--nav-separator-image: url('tab_sd.png'); +--nav-breadcrumb-image: url('bc_sd.png'); +--nav-breadcrumb-border-color: #2A3D61; +--nav-splitbar-image: url('splitbard.png'); +--nav-font-size-level1: 13px; +--nav-font-size-level2: 10px; +--nav-font-size-level3: 9px; +--nav-text-normal-color: #B6C4DF; +--nav-text-hover-color: #DCE2EF; +--nav-text-active-color: #DCE2EF; +--nav-text-normal-shadow: 0px 1px 1px black; +--nav-text-hover-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0); +--nav-text-active-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0); +--nav-menu-button-color: #B6C4DF; +--nav-menu-background-color: #05070C; +--nav-menu-foreground-color: #BBBBBB; +--nav-menu-toggle-color: rgba(255, 255, 255, 0.2); +--nav-arrow-color: #334975; +--nav-arrow-selected-color: #90A5CE; + +/* table of contents */ +--toc-background-color: #151E30; +--toc-border-color: #202E4A; +--toc-header-color: #A3B4D7; +--toc-down-arrow-image: url("data:image/svg+xml;utf8,&%238595;"); + +/** search field */ +--search-background-color: black; +--search-foreground-color: #C5C5C5; +--search-magnification-image: url('mag_d.svg'); +--search-magnification-select-image: url('mag_seld.svg'); +--search-active-color: #C5C5C5; +--search-filter-background-color: #101826; +--search-filter-foreground-color: #90A5CE; +--search-filter-border-color: #7C95C6; +--search-filter-highlight-text-color: #BCC9E2; +--search-filter-highlight-bg-color: #283A5D; +--search-results-background-color: #101826; +--search-results-foreground-color: #90A5CE; +--search-results-border-color: #7C95C6; +--search-box-shadow: inset 0.5px 0.5px 3px 0px #2F436C; + +/** code fragments */ +--code-keyword-color: #CC99CD; +--code-type-keyword-color: #AB99CD; +--code-flow-keyword-color: #E08000; +--code-comment-color: #717790; +--code-preprocessor-color: #65CABE; +--code-string-literal-color: #7EC699; +--code-char-literal-color: #00E0F0; +--code-xml-cdata-color: #C9D1D9; +--code-vhdl-digit-color: #FF00FF; +--code-vhdl-char-color: #C0C0C0; +--code-vhdl-keyword-color: #CF53C9; +--code-vhdl-logic-color: #FF0000; +--code-link-color: #79C0FF; +--code-external-link-color: #79C0FF; +--fragment-foreground-color: #C9D1D9; +--fragment-background-color: #090D16; +--fragment-border-color: #30363D; +--fragment-lineno-border-color: #30363D; +--fragment-lineno-background-color: black; +--fragment-lineno-foreground-color: #6E7681; +--fragment-lineno-link-fg-color: #6E7681; +--fragment-lineno-link-bg-color: #303030; +--fragment-lineno-link-hover-fg-color: #8E96A1; +--fragment-lineno-link-hover-bg-color: #505050; +--fragment-copy-ok-color: #0EA80E; +--tooltip-foreground-color: #C9D1D9; +--tooltip-background-color: #202020; +--tooltip-border-color: #C9D1D9; +--tooltip-doc-color: #D9E1E9; +--tooltip-declaration-color: #20C348; +--tooltip-link-color: #79C0FF; +--tooltip-shadow: none; +--fold-line-color: #808080; +--fold-minus-image: url('minusd.svg'); +--fold-plus-image: url('plusd.svg'); +--fold-minus-image-relpath: url('../../minusd.svg'); +--fold-plus-image-relpath: url('../../plusd.svg'); + +/** font-family */ +--font-family-normal: Roboto,sans-serif; +--font-family-monospace: 'JetBrains Mono',Consolas,Monaco,'Andale Mono','Ubuntu Mono',monospace,fixed; +--font-family-nav: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif; +--font-family-title: Tahoma,Arial,sans-serif; +--font-family-toc: Verdana,'DejaVu Sans',Geneva,sans-serif; +--font-family-search: Arial,Verdana,sans-serif; +--font-family-icon: Arial,Helvetica; +--font-family-tooltip: Roboto,sans-serif; + +/** special sections */ +--warning-color-bg: #2e1917; +--warning-color-hl: #ad2617; +--warning-color-text: #f5b1aa; +--note-color-bg: #3b2e04; +--note-color-hl: #f1b602; +--note-color-text: #ceb670; +--todo-color-bg: #163750; +--todo-color-hl: #1982D2; +--todo-color-text: #dcf0fa; +--test-color-bg: #121258; +--test-color-hl: #4242cf; +--test-color-text: #c0c0da; +--deprecated-color-bg: #2e323b; +--deprecated-color-hl: #738396; +--deprecated-color-text: #abb0bd; +--bug-color-bg: #2a2536; +--bug-color-hl: #7661b3; +--bug-color-text: #ae9ed6; +--invariant-color-bg: #303a35; +--invariant-color-hl: #76ce96; +--invariant-color-text: #cceed5; +}} +body { + background-color: var(--page-background-color); + color: var(--page-foreground-color); +} + +body, table, div, p, dl { + font-weight: 400; + font-size: 14px; + font-family: var(--font-family-normal); + line-height: 22px; +} + +/* @group Heading Levels */ + +.title { + font-family: var(--font-family-normal); + line-height: 28px; + font-size: 150%; + font-weight: bold; + margin: 10px 2px; +} + +h1.groupheader { + font-size: 150%; +} + +h2.groupheader { + border-bottom: 1px solid var(--group-header-separator-color); + color: var(--group-header-color); + font-size: 150%; + font-weight: normal; + margin-top: 1.75em; + padding-top: 8px; + padding-bottom: 4px; + width: 100%; +} + +h3.groupheader { + font-size: 100%; +} + +h1, h2, h3, h4, h5, h6 { + -webkit-transition: text-shadow 0.5s linear; + -moz-transition: text-shadow 0.5s linear; + -ms-transition: text-shadow 0.5s linear; + -o-transition: text-shadow 0.5s linear; + transition: text-shadow 0.5s linear; + margin-right: 15px; +} + +h1.glow, h2.glow, h3.glow, h4.glow, h5.glow, h6.glow { + text-shadow: 0 0 15px var(--glow-color); +} + +dt { + font-weight: bold; +} + +p.startli, p.startdd { + margin-top: 2px; +} + +th p.starttd, th p.intertd, th p.endtd { + font-size: 100%; + font-weight: 700; +} + +p.starttd { + margin-top: 0px; +} + +p.endli { + margin-bottom: 0px; +} + +p.enddd { + margin-bottom: 4px; +} + +p.endtd { + margin-bottom: 2px; +} + +p.interli { +} + +p.interdd { +} + +p.intertd { +} + +/* @end */ + +caption { + font-weight: bold; +} + +span.legend { + font-size: 70%; + text-align: center; +} + +h3.version { + font-size: 90%; + text-align: center; +} + +div.navtab { + padding-right: 15px; + text-align: right; + line-height: 110%; +} + +div.navtab table { + border-spacing: 0; +} + +td.navtab { + padding-right: 6px; + padding-left: 6px; +} + +td.navtabHL { + background-image: var(--nav-gradient-active-image); + background-repeat:repeat-x; + padding-right: 6px; + padding-left: 6px; +} + +td.navtabHL a, td.navtabHL a:visited { + color: var(--nav-text-hover-color); + text-shadow: var(--nav-text-hover-shadow); +} + +a.navtab { + font-weight: bold; +} + +div.qindex{ + text-align: center; + width: 100%; + line-height: 140%; + font-size: 130%; + color: var(--index-separator-color); +} + +#main-menu a:focus { + outline: auto; + z-index: 10; + position: relative; +} + +dt.alphachar{ + font-size: 180%; + font-weight: bold; +} + +.alphachar a{ + color: var(--index-header-color); +} + +.alphachar a:hover, .alphachar a:visited{ + text-decoration: none; +} + +.classindex dl { + padding: 25px; + column-count:1 +} + +.classindex dd { + display:inline-block; + margin-left: 50px; + width: 90%; + line-height: 1.15em; +} + +.classindex dl.even { + background-color: var(--index-even-item-bg-color); +} + +.classindex dl.odd { + background-color: var(--index-odd-item-bg-color); +} + +@media(min-width: 1120px) { + .classindex dl { + column-count:2 + } +} + +@media(min-width: 1320px) { + .classindex dl { + column-count:3 + } +} + + +/* @group Link Styling */ + +a { + color: var(--page-link-color); + font-weight: normal; + text-decoration: none; +} + +.contents a:visited { + color: var(--page-visited-link-color); +} + +a:hover { + text-decoration: none; + background: linear-gradient(to bottom, transparent 0,transparent calc(100% - 1px), currentColor 100%); +} + +a:hover > span.arrow { + text-decoration: none; + background : var(--nav-background-color); +} + +a.el { + font-weight: bold; +} + +a.elRef { +} + +a.code, a.code:visited, a.line, a.line:visited { + color: var(--code-link-color); +} + +a.codeRef, a.codeRef:visited, a.lineRef, a.lineRef:visited { + color: var(--code-external-link-color); +} + +a.code.hl_class { /* style for links to class names in code snippets */ } +a.code.hl_struct { /* style for links to struct names in code snippets */ } +a.code.hl_union { /* style for links to union names in code snippets */ } +a.code.hl_interface { /* style for links to interface names in code snippets */ } +a.code.hl_protocol { /* style for links to protocol names in code snippets */ } +a.code.hl_category { /* style for links to category names in code snippets */ } +a.code.hl_exception { /* style for links to exception names in code snippets */ } +a.code.hl_service { /* style for links to service names in code snippets */ } +a.code.hl_singleton { /* style for links to singleton names in code snippets */ } +a.code.hl_concept { /* style for links to concept names in code snippets */ } +a.code.hl_namespace { /* style for links to namespace names in code snippets */ } +a.code.hl_package { /* style for links to package names in code snippets */ } +a.code.hl_define { /* style for links to macro names in code snippets */ } +a.code.hl_function { /* style for links to function names in code snippets */ } +a.code.hl_variable { /* style for links to variable names in code snippets */ } +a.code.hl_typedef { /* style for links to typedef names in code snippets */ } +a.code.hl_enumvalue { /* style for links to enum value names in code snippets */ } +a.code.hl_enumeration { /* style for links to enumeration names in code snippets */ } +a.code.hl_signal { /* style for links to Qt signal names in code snippets */ } +a.code.hl_slot { /* style for links to Qt slot names in code snippets */ } +a.code.hl_friend { /* style for links to friend names in code snippets */ } +a.code.hl_dcop { /* style for links to KDE3 DCOP names in code snippets */ } +a.code.hl_property { /* style for links to property names in code snippets */ } +a.code.hl_event { /* style for links to event names in code snippets */ } +a.code.hl_sequence { /* style for links to sequence names in code snippets */ } +a.code.hl_dictionary { /* style for links to dictionary names in code snippets */ } + +/* @end */ + +dl.el { + margin-left: -1cm; +} + +ul { + overflow: visible; +} + +ul.multicol { + -moz-column-gap: 1em; + -webkit-column-gap: 1em; + column-gap: 1em; + -moz-column-count: 3; + -webkit-column-count: 3; + column-count: 3; + list-style-type: none; +} + +#side-nav ul { + overflow: visible; /* reset ul rule for scroll bar in GENERATE_TREEVIEW window */ +} + +#main-nav ul { + overflow: visible; /* reset ul rule for the navigation bar drop down lists */ +} + +.fragment { + text-align: left; + direction: ltr; + overflow-x: auto; + overflow-y: hidden; + position: relative; + min-height: 12px; + margin: 10px 0px; + padding: 10px 10px; + border: 1px solid var(--fragment-border-color); + border-radius: 4px; + background-color: var(--fragment-background-color); + color: var(--fragment-foreground-color); +} + +pre.fragment { + word-wrap: break-word; + font-size: 10pt; + line-height: 125%; + font-family: var(--font-family-monospace); +} + +.clipboard { + width: 24px; + height: 24px; + right: 5px; + top: 5px; + opacity: 0; + position: absolute; + display: inline; + overflow: auto; + fill: var(--fragment-foreground-color); + justify-content: center; + align-items: center; + cursor: pointer; +} + +.clipboard.success { + border: 1px solid var(--fragment-foreground-color); + border-radius: 4px; +} + +.fragment:hover .clipboard, .clipboard.success { + opacity: .28; +} + +.clipboard:hover, .clipboard.success { + opacity: 1 !important; +} + +.clipboard:active:not([class~=success]) svg { + transform: scale(.91); +} + +.clipboard.success svg { + fill: var(--fragment-copy-ok-color); +} + +.clipboard.success { + border-color: var(--fragment-copy-ok-color); +} + +div.line { + font-family: var(--font-family-monospace); + font-size: 13px; + min-height: 13px; + line-height: 1.2; + text-wrap: unrestricted; + white-space: -moz-pre-wrap; /* Moz */ + white-space: -pre-wrap; /* Opera 4-6 */ + white-space: -o-pre-wrap; /* Opera 7 */ + white-space: pre-wrap; /* CSS3 */ + word-wrap: break-word; /* IE 5.5+ */ + text-indent: -53px; + padding-left: 53px; + padding-bottom: 0px; + margin: 0px; + -webkit-transition-property: background-color, box-shadow; + -webkit-transition-duration: 0.5s; + -moz-transition-property: background-color, box-shadow; + -moz-transition-duration: 0.5s; + -ms-transition-property: background-color, box-shadow; + -ms-transition-duration: 0.5s; + -o-transition-property: background-color, box-shadow; + -o-transition-duration: 0.5s; + transition-property: background-color, box-shadow; + transition-duration: 0.5s; +} + +div.line:after { + content:"\000A"; + white-space: pre; +} + +div.line.glow { + background-color: var(--glow-color); + box-shadow: 0 0 10px var(--glow-color); +} + +span.fold { + margin-left: 5px; + margin-right: 1px; + margin-top: 0px; + margin-bottom: 0px; + padding: 0px; + display: inline-block; + width: 12px; + height: 12px; + background-repeat:no-repeat; + background-position:center; +} + +span.lineno { + padding-right: 4px; + margin-right: 9px; + text-align: right; + border-right: 2px solid var(--fragment-lineno-border-color); + color: var(--fragment-lineno-foreground-color); + background-color: var(--fragment-lineno-background-color); + white-space: pre; +} +span.lineno a, span.lineno a:visited { + color: var(--fragment-lineno-link-fg-color); + background-color: var(--fragment-lineno-link-bg-color); +} + +span.lineno a:hover { + color: var(--fragment-lineno-link-hover-fg-color); + background-color: var(--fragment-lineno-link-hover-bg-color); +} + +.lineno { + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +div.classindex ul { + list-style: none; + padding-left: 0; +} + +div.classindex span.ai { + display: inline-block; +} + +div.groupHeader { + margin-left: 16px; + margin-top: 12px; + font-weight: bold; +} + +div.groupText { + margin-left: 16px; + font-style: italic; +} + +body { + color: var(--page-foreground-color); + margin: 0; +} + +div.contents { + margin-top: 10px; + margin-left: 12px; + margin-right: 8px; +} + +p.formulaDsp { + text-align: center; +} + +img.dark-mode-visible { + display: none; +} +img.light-mode-visible { + display: none; +} + +img.formulaInl, img.inline { + vertical-align: middle; +} + +div.center { + text-align: center; + margin-top: 0px; + margin-bottom: 0px; + padding: 0px; +} + +div.center img { + border: 0px; +} + +address.footer { + text-align: right; + padding-right: 12px; +} + +img.footer { + border: 0px; + vertical-align: middle; + width: var(--footer-logo-width); +} + +.compoundTemplParams { + color: var(--memdecl-template-color); + font-size: 80%; + line-height: 120%; +} + +/* @group Code Colorization */ + +span.keyword { + color: var(--code-keyword-color); +} + +span.keywordtype { + color: var(--code-type-keyword-color); +} + +span.keywordflow { + color: var(--code-flow-keyword-color); +} + +span.comment { + color: var(--code-comment-color); +} + +span.preprocessor { + color: var(--code-preprocessor-color); +} + +span.stringliteral { + color: var(--code-string-literal-color); +} + +span.charliteral { + color: var(--code-char-literal-color); +} + +span.xmlcdata { + color: var(--code-xml-cdata-color); +} + +span.vhdldigit { + color: var(--code-vhdl-digit-color); +} + +span.vhdlchar { + color: var(--code-vhdl-char-color); +} + +span.vhdlkeyword { + color: var(--code-vhdl-keyword-color); +} + +span.vhdllogic { + color: var(--code-vhdl-logic-color); +} + +blockquote { + background-color: var(--blockquote-background-color); + border-left: 2px solid var(--blockquote-border-color); + margin: 0 24px 0 4px; + padding: 0 12px 0 16px; +} + +/* @end */ + +td.tiny { + font-size: 75%; +} + +.dirtab { + padding: 4px; + border-collapse: collapse; + border: 1px solid var(--table-cell-border-color); +} + +th.dirtab { + background-color: var(--table-header-background-color); + color: var(--table-header-foreground-color); + font-weight: bold; +} + +hr { + height: 0px; + border: none; + border-top: 1px solid var(--separator-color); +} + +hr.footer { + height: 1px; +} + +/* @group Member Descriptions */ + +table.memberdecls { + border-spacing: 0px; + padding: 0px; +} + +.memberdecls td, .fieldtable tr { + -webkit-transition-property: background-color, box-shadow; + -webkit-transition-duration: 0.5s; + -moz-transition-property: background-color, box-shadow; + -moz-transition-duration: 0.5s; + -ms-transition-property: background-color, box-shadow; + -ms-transition-duration: 0.5s; + -o-transition-property: background-color, box-shadow; + -o-transition-duration: 0.5s; + transition-property: background-color, box-shadow; + transition-duration: 0.5s; +} + +.memberdecls td.glow, .fieldtable tr.glow { + background-color: var(--glow-color); + box-shadow: 0 0 15px var(--glow-color); +} + +.mdescLeft, .mdescRight, +.memItemLeft, .memItemRight, +.memTemplItemLeft, .memTemplItemRight, .memTemplParams { + background-color: var(--memdecl-background-color); + border: none; + margin: 4px; + padding: 1px 0 0 8px; +} + +.mdescLeft, .mdescRight { + padding: 0px 8px 4px 8px; + color: var(--memdecl-foreground-color); +} + +.memSeparator { + border-bottom: 1px solid var(--memdecl-separator-color); + line-height: 1px; + margin: 0px; + padding: 0px; +} + +.memItemLeft, .memTemplItemLeft { + white-space: nowrap; +} + +.memItemRight, .memTemplItemRight { + width: 100%; +} + +.memTemplParams { + color: var(--memdecl-template-color); + white-space: nowrap; + font-size: 80%; +} + +/* @end */ + +/* @group Member Details */ + +/* Styles for detailed member documentation */ + +.memtitle { + padding: 8px; + border-top: 1px solid var(--memdef-border-color); + border-left: 1px solid var(--memdef-border-color); + border-right: 1px solid var(--memdef-border-color); + border-top-right-radius: 4px; + border-top-left-radius: 4px; + margin-bottom: -1px; + background-image: var(--memdef-title-gradient-image); + background-repeat: repeat-x; + background-color: var(--memdef-title-background-color); + line-height: 1.25; + font-weight: 300; + float:left; +} + +.permalink +{ + font-size: 65%; + display: inline-block; + vertical-align: middle; +} + +.memtemplate { + font-size: 80%; + color: var(--memdef-template-color); + font-weight: normal; + margin-left: 9px; +} + +.mempage { + width: 100%; +} + +.memitem { + padding: 0; + margin-bottom: 10px; + margin-right: 5px; + -webkit-transition: box-shadow 0.5s linear; + -moz-transition: box-shadow 0.5s linear; + -ms-transition: box-shadow 0.5s linear; + -o-transition: box-shadow 0.5s linear; + transition: box-shadow 0.5s linear; + display: table !important; + width: 100%; +} + +.memitem.glow { + box-shadow: 0 0 15px var(--glow-color); +} + +.memname { + font-weight: 400; + margin-left: 6px; +} + +.memname td { + vertical-align: bottom; +} + +.memproto, dl.reflist dt { + border-top: 1px solid var(--memdef-border-color); + border-left: 1px solid var(--memdef-border-color); + border-right: 1px solid var(--memdef-border-color); + padding: 6px 0px 6px 0px; + color: var(--memdef-proto-text-color); + font-weight: bold; + text-shadow: var(--memdef-proto-text-shadow); + background-color: var(--memdef-proto-background-color); + box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + border-top-right-radius: 4px; +} + +.overload { + font-family: var(--font-family-monospace); + font-size: 65%; +} + +.memdoc, dl.reflist dd { + border-bottom: 1px solid var(--memdef-border-color); + border-left: 1px solid var(--memdef-border-color); + border-right: 1px solid var(--memdef-border-color); + padding: 6px 10px 2px 10px; + border-top-width: 0; + background-image:url('nav_g.png'); + background-repeat:repeat-x; + background-color: var(--memdef-doc-background-color); + /* opera specific markup */ + border-bottom-left-radius: 4px; + border-bottom-right-radius: 4px; + box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + /* firefox specific markup */ + -moz-border-radius-bottomleft: 4px; + -moz-border-radius-bottomright: 4px; + -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px; + /* webkit specific markup */ + -webkit-border-bottom-left-radius: 4px; + -webkit-border-bottom-right-radius: 4px; + -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); +} + +dl.reflist dt { + padding: 5px; +} + +dl.reflist dd { + margin: 0px 0px 10px 0px; + padding: 5px; +} + +.paramkey { + text-align: right; +} + +.paramtype { + white-space: nowrap; + padding: 0px; + padding-bottom: 1px; +} + +.paramname { + white-space: nowrap; + padding: 0px; + padding-bottom: 1px; + margin-left: 2px; +} + +.paramname em { + color: var(--memdef-param-name-color); + font-style: normal; + margin-right: 1px; +} + +.paramname .paramdefval { + font-family: var(--font-family-monospace); +} + +.params, .retval, .exception, .tparams { + margin-left: 0px; + padding-left: 0px; +} + +.params .paramname, .retval .paramname, .tparams .paramname, .exception .paramname { + font-weight: bold; + vertical-align: top; +} + +.params .paramtype, .tparams .paramtype { + font-style: italic; + vertical-align: top; +} + +.params .paramdir, .tparams .paramdir { + font-family: var(--font-family-monospace); + vertical-align: top; +} + +table.mlabels { + border-spacing: 0px; +} + +td.mlabels-left { + width: 100%; + padding: 0px; +} + +td.mlabels-right { + vertical-align: bottom; + padding: 0px; + white-space: nowrap; +} + +span.mlabels { + margin-left: 8px; +} + +span.mlabel { + background-color: var(--label-background-color); + border-top:1px solid var(--label-left-top-border-color); + border-left:1px solid var(--label-left-top-border-color); + border-right:1px solid var(--label-right-bottom-border-color); + border-bottom:1px solid var(--label-right-bottom-border-color); + text-shadow: none; + color: var(--label-foreground-color); + margin-right: 4px; + padding: 2px 3px; + border-radius: 3px; + font-size: 7pt; + white-space: nowrap; + vertical-align: middle; +} + + + +/* @end */ + +/* these are for tree view inside a (index) page */ + +div.directory { + margin: 10px 0px; + border-top: 1px solid var(--directory-separator-color); + border-bottom: 1px solid var(--directory-separator-color); + width: 100%; +} + +.directory table { + border-collapse:collapse; +} + +.directory td { + margin: 0px; + padding: 0px; + vertical-align: top; +} + +.directory td.entry { + white-space: nowrap; + padding-right: 6px; + padding-top: 3px; +} + +.directory td.entry a { + outline:none; +} + +.directory td.entry a img { + border: none; +} + +.directory td.desc { + width: 100%; + padding-left: 6px; + padding-right: 6px; + padding-top: 3px; + border-left: 1px solid rgba(0,0,0,0.05); +} + +.directory tr.odd { + padding-left: 6px; + background-color: var(--index-odd-item-bg-color); +} + +.directory tr.even { + padding-left: 6px; + background-color: var(--index-even-item-bg-color); +} + +.directory img { + vertical-align: -30%; +} + +.directory .levels { + white-space: nowrap; + width: 100%; + text-align: right; + font-size: 9pt; +} + +.directory .levels span { + cursor: pointer; + padding-left: 2px; + padding-right: 2px; + color: var(--page-link-color); +} + +.arrow { + color: var(--nav-arrow-color); + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + cursor: pointer; + font-size: 80%; + display: inline-block; + width: 16px; + height: 22px; +} + +.icon { + font-family: var(--font-family-icon); + line-height: normal; + font-weight: bold; + font-size: 12px; + height: 14px; + width: 16px; + display: inline-block; + background-color: var(--icon-background-color); + color: var(--icon-foreground-color); + text-align: center; + border-radius: 4px; + margin-left: 2px; + margin-right: 2px; +} + +.icona { + width: 24px; + height: 22px; + display: inline-block; +} + +.iconfopen { + width: 24px; + height: 18px; + margin-bottom: 4px; + background-image:var(--icon-folder-open-image); + background-repeat: repeat-y; + vertical-align:top; + display: inline-block; +} + +.iconfclosed { + width: 24px; + height: 18px; + margin-bottom: 4px; + background-image:var(--icon-folder-closed-image); + background-repeat: repeat-y; + vertical-align:top; + display: inline-block; +} + +.icondoc { + width: 24px; + height: 18px; + margin-bottom: 4px; + background-image:var(--icon-doc-image); + background-position: 0px -4px; + background-repeat: repeat-y; + vertical-align:top; + display: inline-block; +} + +/* @end */ + +div.dynheader { + margin-top: 8px; + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +address { + font-style: normal; + color: var(--footer-foreground-color); +} + +table.doxtable caption { + caption-side: top; +} + +table.doxtable { + border-collapse:collapse; + margin-top: 4px; + margin-bottom: 4px; +} + +table.doxtable td, table.doxtable th { + border: 1px solid var(--table-cell-border-color); + padding: 3px 7px 2px; +} + +table.doxtable th { + background-color: var(--table-header-background-color); + color: var(--table-header-foreground-color); + font-size: 110%; + padding-bottom: 4px; + padding-top: 5px; +} + +table.fieldtable { + margin-bottom: 10px; + border: 1px solid var(--memdef-border-color); + border-spacing: 0px; + border-radius: 4px; + box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15); +} + +.fieldtable td, .fieldtable th { + padding: 3px 7px 2px; +} + +.fieldtable td.fieldtype, .fieldtable td.fieldname { + white-space: nowrap; + border-right: 1px solid var(--memdef-border-color); + border-bottom: 1px solid var(--memdef-border-color); + vertical-align: top; +} + +.fieldtable td.fieldname { + padding-top: 3px; +} + +.fieldtable td.fielddoc { + border-bottom: 1px solid var(--memdef-border-color); +} + +.fieldtable td.fielddoc p:first-child { + margin-top: 0px; +} + +.fieldtable td.fielddoc p:last-child { + margin-bottom: 2px; +} + +.fieldtable tr:last-child td { + border-bottom: none; +} + +.fieldtable th { + background-image: var(--memdef-title-gradient-image); + background-repeat:repeat-x; + background-color: var(--memdef-title-background-color); + font-size: 90%; + color: var(--memdef-proto-text-color); + padding-bottom: 4px; + padding-top: 5px; + text-align:left; + font-weight: 400; + border-top-left-radius: 4px; + border-top-right-radius: 4px; + border-bottom: 1px solid var(--memdef-border-color); +} + + +.tabsearch { + top: 0px; + left: 10px; + height: 36px; + background-image: var(--nav-gradient-image); + z-index: 101; + overflow: hidden; + font-size: 13px; +} + +.navpath ul +{ + font-size: 11px; + background-image: var(--nav-gradient-image); + background-repeat:repeat-x; + background-position: 0 -5px; + height:30px; + line-height:30px; + color:var(--nav-text-normal-color); + border:solid 1px var(--nav-breadcrumb-border-color); + overflow:hidden; + margin:0px; + padding:0px; +} + +.navpath li +{ + list-style-type:none; + float:left; + padding-left:10px; + padding-right:15px; + background-image:var(--nav-breadcrumb-image); + background-repeat:no-repeat; + background-position:right; + color: var(--nav-foreground-color); +} + +.navpath li.navelem a +{ + height:32px; + display:block; + outline: none; + color: var(--nav-text-normal-color); + font-family: var(--font-family-nav); + text-shadow: var(--nav-text-normal-shadow); + text-decoration: none; +} + +.navpath li.navelem a:hover +{ + color: var(--nav-text-hover-color); + text-shadow: var(--nav-text-hover-shadow); +} + +.navpath li.footer +{ + list-style-type:none; + float:right; + padding-left:10px; + padding-right:15px; + background-image:none; + background-repeat:no-repeat; + background-position:right; + color: var(--footer-foreground-color); + font-size: 8pt; +} + + +div.summary +{ + float: right; + font-size: 8pt; + padding-right: 5px; + width: 50%; + text-align: right; +} + +div.summary a +{ + white-space: nowrap; +} + +table.classindex +{ + margin: 10px; + white-space: nowrap; + margin-left: 3%; + margin-right: 3%; + width: 94%; + border: 0; + border-spacing: 0; + padding: 0; +} + +div.ingroups +{ + font-size: 8pt; + width: 50%; + text-align: left; +} + +div.ingroups a +{ + white-space: nowrap; +} + +div.header +{ + background-image: var(--header-gradient-image); + background-repeat:repeat-x; + background-color: var(--header-background-color); + margin: 0px; + border-bottom: 1px solid var(--header-separator-color); +} + +div.headertitle +{ + padding: 5px 5px 5px 10px; +} + +.PageDocRTL-title div.headertitle { + text-align: right; + direction: rtl; +} + +dl { + padding: 0 0 0 0; +} + +/* + +dl.section { + margin-left: 0px; + padding-left: 0px; +} + +dl.note { + margin-left: -7px; + padding-left: 3px; + border-left: 4px solid; + border-color: #D0C000; +} + +dl.warning, dl.attention { + margin-left: -7px; + padding-left: 3px; + border-left: 4px solid; + border-color: #FF0000; +} + +dl.pre, dl.post, dl.invariant { + margin-left: -7px; + padding-left: 3px; + border-left: 4px solid; + border-color: #00D000; +} + +dl.deprecated { + margin-left: -7px; + padding-left: 3px; + border-left: 4px solid; + border-color: #505050; +} + +dl.todo { + margin-left: -7px; + padding-left: 3px; + border-left: 4px solid; + border-color: #00C0E0; +} + +dl.test { + margin-left: -7px; + padding-left: 3px; + border-left: 4px solid; + border-color: #3030E0; +} + +dl.bug { + margin-left: -7px; + padding-left: 3px; + border-left: 4px solid; + border-color: #C08050; +} + +*/ + +dl.bug dt a, dl.deprecated dt a, dl.todo dt a, dl.test a { + font-weight: bold !important; +} + +dl.warning, dl.attention, dl.note, dl.deprecated, dl.bug, +dl.invariant, dl.pre, dl.post, dl.todo, dl.test, dl.remark { + padding: 10px; + margin: 10px 0px; + overflow: hidden; + margin-left: 0; + border-radius: 4px; +} + +dl.section dd { + margin-bottom: 2px; +} + +dl.warning, dl.attention { + background: var(--warning-color-bg); + border-left: 8px solid var(--warning-color-hl); + color: var(--warning-color-text); +} + +dl.warning dt, dl.attention dt { + color: var(--warning-color-hl); +} + +dl.note, dl.remark { + background: var(--note-color-bg); + border-left: 8px solid var(--note-color-hl); + color: var(--note-color-text); +} + +dl.note dt, dl.remark dt { + color: var(--note-color-hl); +} + +dl.todo { + background: var(--todo-color-bg); + border-left: 8px solid var(--todo-color-hl); + color: var(--todo-color-text); +} + +dl.todo dt { + color: var(--todo-color-hl); +} + +dl.test { + background: var(--test-color-bg); + border-left: 8px solid var(--test-color-hl); + color: var(--test-color-text); +} + +dl.test dt { + color: var(--test-color-hl); +} + +dl.bug dt a { + color: var(--bug-color-hl) !important; +} + +dl.bug { + background: var(--bug-color-bg); + border-left: 8px solid var(--bug-color-hl); + color: var(--bug-color-text); +} + +dl.bug dt a { + color: var(--bug-color-hl) !important; +} + +dl.deprecated { + background: var(--deprecated-color-bg); + border-left: 8px solid var(--deprecated-color-hl); + color: var(--deprecated-color-text); +} + +dl.deprecated dt a { + color: var(--deprecated-color-hl) !important; +} + +dl.section dd, dl.bug dd, dl.deprecated dd, dl.todo dd, dl.test dd { + margin-inline-start: 0px; +} + +dl.invariant, dl.pre, dl.post { + background: var(--invariant-color-bg); + border-left: 8px solid var(--invariant-color-hl); + color: var(--invariant-color-text); +} + +dl.invariant dt, dl.pre dt, dl.post dt { + color: var(--invariant-color-hl); +} + + +#projectrow +{ + height: 56px; +} + +#projectlogo +{ + text-align: center; + vertical-align: bottom; + border-collapse: separate; +} + +#projectlogo img +{ + border: 0px none; +} + +#projectalign +{ + vertical-align: middle; + padding-left: 0.5em; +} + +#projectname +{ + font-size: 200%; + font-family: var(--font-family-title); + margin: 0px; + padding: 2px 0px; +} + +#projectbrief +{ + font-size: 90%; + font-family: var(--font-family-title); + margin: 0px; + padding: 0px; +} + +#projectnumber +{ + font-size: 50%; + font-family: 50% var(--font-family-title); + margin: 0px; + padding: 0px; +} + +#titlearea +{ + padding: 0px; + margin: 0px; + width: 100%; + border-bottom: 1px solid var(--title-separator-color); + background-color: var(--title-background-color); +} + +.image +{ + text-align: center; +} + +.dotgraph +{ + text-align: center; +} + +.mscgraph +{ + text-align: center; +} + +.plantumlgraph +{ + text-align: center; +} + +.diagraph +{ + text-align: center; +} + +.caption +{ + font-weight: bold; +} + +dl.citelist { + margin-bottom:50px; +} + +dl.citelist dt { + color:var(--citation-label-color); + float:left; + font-weight:bold; + margin-right:10px; + padding:5px; + text-align:right; + width:52px; +} + +dl.citelist dd { + margin:2px 0 2px 72px; + padding:5px 0; +} + +div.toc { + padding: 14px 25px; + background-color: var(--toc-background-color); + border: 1px solid var(--toc-border-color); + border-radius: 7px 7px 7px 7px; + float: right; + height: auto; + margin: 0 8px 10px 10px; + width: 200px; +} + +div.toc li { + background: var(--toc-down-arrow-image) no-repeat scroll 0 5px transparent; + font: 10px/1.2 var(--font-family-toc); + margin-top: 5px; + padding-left: 10px; + padding-top: 2px; +} + +div.toc h3 { + font: bold 12px/1.2 var(--font-family-toc); + color: var(--toc-header-color); + border-bottom: 0 none; + margin: 0; +} + +div.toc ul { + list-style: none outside none; + border: medium none; + padding: 0px; +} + +div.toc li.level1 { + margin-left: 0px; +} + +div.toc li.level2 { + margin-left: 15px; +} + +div.toc li.level3 { + margin-left: 15px; +} + +div.toc li.level4 { + margin-left: 15px; +} + +span.emoji { + /* font family used at the site: https://unicode.org/emoji/charts/full-emoji-list.html + * font-family: "Noto Color Emoji", "Apple Color Emoji", "Segoe UI Emoji", Times, Symbola, Aegyptus, Code2000, Code2001, Code2002, Musica, serif, LastResort; + */ +} + +span.obfuscator { + display: none; +} + +.inherit_header { + font-weight: bold; + color: var(--inherit-header-color); + cursor: pointer; + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +.inherit_header td { + padding: 6px 0px 2px 5px; +} + +.inherit { + display: none; +} + +tr.heading h2 { + margin-top: 12px; + margin-bottom: 4px; +} + +/* tooltip related style info */ + +.ttc { + position: absolute; + display: none; +} + +#powerTip { + cursor: default; + /*white-space: nowrap;*/ + color: var(--tooltip-foreground-color); + background-color: var(--tooltip-background-color); + border: 1px solid var(--tooltip-border-color); + border-radius: 4px 4px 4px 4px; + box-shadow: var(--tooltip-shadow); + display: none; + font-size: smaller; + max-width: 80%; + opacity: 0.9; + padding: 1ex 1em 1em; + position: absolute; + z-index: 2147483647; +} + +#powerTip div.ttdoc { + color: var(--tooltip-doc-color); + font-style: italic; +} + +#powerTip div.ttname a { + font-weight: bold; +} + +#powerTip a { + color: var(--tooltip-link-color); +} + +#powerTip div.ttname { + font-weight: bold; +} + +#powerTip div.ttdeci { + color: var(--tooltip-declaration-color); +} + +#powerTip div { + margin: 0px; + padding: 0px; + font-size: 12px; + font-family: var(--font-family-tooltip); + line-height: 16px; +} + +#powerTip:before, #powerTip:after { + content: ""; + position: absolute; + margin: 0px; +} + +#powerTip.n:after, #powerTip.n:before, +#powerTip.s:after, #powerTip.s:before, +#powerTip.w:after, #powerTip.w:before, +#powerTip.e:after, #powerTip.e:before, +#powerTip.ne:after, #powerTip.ne:before, +#powerTip.se:after, #powerTip.se:before, +#powerTip.nw:after, #powerTip.nw:before, +#powerTip.sw:after, #powerTip.sw:before { + border: solid transparent; + content: " "; + height: 0; + width: 0; + position: absolute; +} + +#powerTip.n:after, #powerTip.s:after, +#powerTip.w:after, #powerTip.e:after, +#powerTip.nw:after, #powerTip.ne:after, +#powerTip.sw:after, #powerTip.se:after { + border-color: rgba(255, 255, 255, 0); +} + +#powerTip.n:before, #powerTip.s:before, +#powerTip.w:before, #powerTip.e:before, +#powerTip.nw:before, #powerTip.ne:before, +#powerTip.sw:before, #powerTip.se:before { + border-color: rgba(128, 128, 128, 0); +} + +#powerTip.n:after, #powerTip.n:before, +#powerTip.ne:after, #powerTip.ne:before, +#powerTip.nw:after, #powerTip.nw:before { + top: 100%; +} + +#powerTip.n:after, #powerTip.ne:after, #powerTip.nw:after { + border-top-color: var(--tooltip-background-color); + border-width: 10px; + margin: 0px -10px; +} +#powerTip.n:before, #powerTip.ne:before, #powerTip.nw:before { + border-top-color: var(--tooltip-border-color); + border-width: 11px; + margin: 0px -11px; +} +#powerTip.n:after, #powerTip.n:before { + left: 50%; +} + +#powerTip.nw:after, #powerTip.nw:before { + right: 14px; +} + +#powerTip.ne:after, #powerTip.ne:before { + left: 14px; +} + +#powerTip.s:after, #powerTip.s:before, +#powerTip.se:after, #powerTip.se:before, +#powerTip.sw:after, #powerTip.sw:before { + bottom: 100%; +} + +#powerTip.s:after, #powerTip.se:after, #powerTip.sw:after { + border-bottom-color: var(--tooltip-background-color); + border-width: 10px; + margin: 0px -10px; +} + +#powerTip.s:before, #powerTip.se:before, #powerTip.sw:before { + border-bottom-color: var(--tooltip-border-color); + border-width: 11px; + margin: 0px -11px; +} + +#powerTip.s:after, #powerTip.s:before { + left: 50%; +} + +#powerTip.sw:after, #powerTip.sw:before { + right: 14px; +} + +#powerTip.se:after, #powerTip.se:before { + left: 14px; +} + +#powerTip.e:after, #powerTip.e:before { + left: 100%; +} +#powerTip.e:after { + border-left-color: var(--tooltip-border-color); + border-width: 10px; + top: 50%; + margin-top: -10px; +} +#powerTip.e:before { + border-left-color: var(--tooltip-border-color); + border-width: 11px; + top: 50%; + margin-top: -11px; +} + +#powerTip.w:after, #powerTip.w:before { + right: 100%; +} +#powerTip.w:after { + border-right-color: var(--tooltip-border-color); + border-width: 10px; + top: 50%; + margin-top: -10px; +} +#powerTip.w:before { + border-right-color: var(--tooltip-border-color); + border-width: 11px; + top: 50%; + margin-top: -11px; +} + +@media print +{ + #top { display: none; } + #side-nav { display: none; } + #nav-path { display: none; } + body { overflow:visible; } + h1, h2, h3, h4, h5, h6 { page-break-after: avoid; } + .summary { display: none; } + .memitem { page-break-inside: avoid; } + #doc-content + { + margin-left:0 !important; + height:auto !important; + width:auto !important; + overflow:inherit; + display:inline; + } +} + +/* @group Markdown */ + +table.markdownTable { + border-collapse:collapse; + margin-top: 4px; + margin-bottom: 4px; +} + +table.markdownTable td, table.markdownTable th { + border: 1px solid var(--table-cell-border-color); + padding: 3px 7px 2px; +} + +table.markdownTable tr { +} + +th.markdownTableHeadLeft, th.markdownTableHeadRight, th.markdownTableHeadCenter, th.markdownTableHeadNone { + background-color: var(--table-header-background-color); + color: var(--table-header-foreground-color); + font-size: 110%; + padding-bottom: 4px; + padding-top: 5px; +} + +th.markdownTableHeadLeft, td.markdownTableBodyLeft { + text-align: left +} + +th.markdownTableHeadRight, td.markdownTableBodyRight { + text-align: right +} + +th.markdownTableHeadCenter, td.markdownTableBodyCenter { + text-align: center +} + +tt, code, kbd, samp +{ + display: inline-block; +} +/* @end */ + +u { + text-decoration: underline; +} + +details>summary { + list-style-type: none; +} + +details > summary::-webkit-details-marker { + display: none; +} + +details>summary::before { + content: "\25ba"; + padding-right:4px; + font-size: 80%; +} + +details[open]>summary::before { + content: "\25bc"; + padding-right:4px; + font-size: 80%; +} + +body { + scrollbar-color: var(--scrollbar-thumb-color) var(--scrollbar-background-color); +} + +::-webkit-scrollbar { + background-color: var(--scrollbar-background-color); + height: 12px; + width: 12px; +} +::-webkit-scrollbar-thumb { + border-radius: 6px; + box-shadow: inset 0 0 12px 12px var(--scrollbar-thumb-color); + border: solid 2px transparent; +} +::-webkit-scrollbar-corner { + background-color: var(--scrollbar-background-color); +} + diff --git a/doxygen.svg b/doxygen.svg new file mode 100644 index 000000000..79a763540 --- /dev/null +++ b/doxygen.svg @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/doxygen_crawl.html b/doxygen_crawl.html new file mode 100644 index 000000000..6631beb55 --- /dev/null +++ b/doxygen_crawl.html @@ -0,0 +1,926 @@ + + + +Validator / crawler helper + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/dynsections.js b/dynsections.js new file mode 100644 index 000000000..24dfe9c85 --- /dev/null +++ b/dynsections.js @@ -0,0 +1,201 @@ +/* + @licstart The following is the entire license notice for the JavaScript code in this file. + + The MIT License (MIT) + + Copyright (C) 1997-2020 by Dimitri van Heesch + + Permission is hereby granted, free of charge, to any person obtaining a copy of this software + and associated documentation files (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, publish, distribute, + sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all copies or + substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING + BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, + DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + @licend The above is the entire license notice for the JavaScript code in this file + */ + +let dynsection = { + + // helper function + updateStripes : function() { + $('table.directory tr'). + removeClass('even').filter(':visible:even').addClass('even'); + $('table.directory tr'). + removeClass('odd').filter(':visible:odd').addClass('odd'); + }, + + toggleVisibility : function(linkObj) { + const base = $(linkObj).attr('id'); + const summary = $('#'+base+'-summary'); + const content = $('#'+base+'-content'); + const trigger = $('#'+base+'-trigger'); + const src=$(trigger).attr('src'); + if (content.is(':visible')===true) { + content.hide(); + summary.show(); + $(linkObj).addClass('closed').removeClass('opened'); + $(trigger).attr('src',src.substring(0,src.length-8)+'closed.png'); + } else { + content.show(); + summary.hide(); + $(linkObj).removeClass('closed').addClass('opened'); + $(trigger).attr('src',src.substring(0,src.length-10)+'open.png'); + } + return false; + }, + + toggleLevel : function(level) { + $('table.directory tr').each(function() { + const l = this.id.split('_').length-1; + const i = $('#img'+this.id.substring(3)); + const a = $('#arr'+this.id.substring(3)); + if (l'); + // add vertical lines to other rows + $('span[class=lineno]').not(':eq(0)').append(''); + // add toggle controls to lines with fold divs + $('div[class=foldopen]').each(function() { + // extract specific id to use + const id = $(this).attr('id').replace('foldopen',''); + // extract start and end foldable fragment attributes + const start = $(this).attr('data-start'); + const end = $(this).attr('data-end'); + // replace normal fold span with controls for the first line of a foldable fragment + $(this).find('span[class=fold]:first').replaceWith(''); + // append div for folded (closed) representation + $(this).after(''); + // extract the first line from the "open" section to represent closed content + const line = $(this).children().first().clone(); + // remove any glow that might still be active on the original line + $(line).removeClass('glow'); + if (start) { + // if line already ends with a start marker (e.g. trailing {), remove it + $(line).html($(line).html().replace(new RegExp('\\s*'+start+'\\s*$','g'),'')); + } + // replace minus with plus symbol + $(line).find('span[class=fold]').css('background-image',codefold.plusImg[relPath]); + // append ellipsis + $(line).append(' '+start+''+end); + // insert constructed line into closed div + $('#foldclosed'+id).html(line); + }); + }, +}; +/* @license-end */ +$(function() { + $('.code,.codeRef').each(function() { + $(this).data('powertip',$('#a'+$(this).attr('href').replace(/.*\//,'').replace(/[^a-z_A-Z0-9]/g,'_')).html()); + $.fn.powerTip.smartPlacementLists.s = [ 's', 'n', 'ne', 'se' ]; + $(this).powerTip({ placement: 's', smartPlacement: true, mouseOnToPopup: true }); + }); +}); diff --git a/editor-setup_8md.html b/editor-setup_8md.html new file mode 100644 index 000000000..9c91273ad --- /dev/null +++ b/editor-setup_8md.html @@ -0,0 +1,83 @@ + + + + + + + +nixd: editor-setup.md File Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
+
editor-setup.md File Reference
+
+
+
+ + + + diff --git a/editors_8md.html b/editors_8md.html new file mode 100644 index 000000000..7b8ea2f8b --- /dev/null +++ b/editors_8md.html @@ -0,0 +1,83 @@ + + + + + + + +nixd: editors.md File Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
+
editors.md File Reference
+
+
+
+ + + + diff --git a/files.html b/files.html new file mode 100644 index 000000000..2373974ac --- /dev/null +++ b/files.html @@ -0,0 +1,242 @@ + + + + + + + +nixd: File List + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
File List
+
+
+
Here is a list of all files with brief descriptions:
+
[detail level 123456]
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  libbc
  include
  bc
  src
 Read.cpp
 Write.cpp
  libnixbc
  include
  nixbc
  src
 Origin.cpp
  libnixf
  include
  nixf
  src
  Basic
  Bytecode
  Parse
  Sema
  libnixt
  include
  nixt
  lib
 ASTReader.cpp
 ASTReader.h
 Displacement.cpp
 HookExpr.cpp
 Kinds.cpp
 ParentMap.cpp
  lspserver
  include
  lspserver
  src
 Connection.cpp
 DraftStore.cpp
 Logger.cpp
 LSPServer.cpp
 Protocol.cpp
 SourceCode.cpp
 URI.cpp
  nixd
  docs
 editors
 examples
  librpc
  include
  src
  libutil
  include
  src
  nix-node-eval
  src
  tools
  nixd
+
+
+ + + + diff --git a/folderclosed.svg b/folderclosed.svg new file mode 100644 index 000000000..b04bed2e7 --- /dev/null +++ b/folderclosed.svg @@ -0,0 +1,11 @@ + + + + + + + + + + diff --git a/folderclosedd.svg b/folderclosedd.svg new file mode 100644 index 000000000..52f0166a2 --- /dev/null +++ b/folderclosedd.svg @@ -0,0 +1,11 @@ + + + + + + + + + + diff --git a/folderopen.svg b/folderopen.svg new file mode 100644 index 000000000..f6896dd25 --- /dev/null +++ b/folderopen.svg @@ -0,0 +1,17 @@ + + + + + + + + + + diff --git a/folderopend.svg b/folderopend.svg new file mode 100644 index 000000000..2d1f06e7b --- /dev/null +++ b/folderopend.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + diff --git a/functions.html b/functions.html new file mode 100644 index 000000000..9e93307d8 --- /dev/null +++ b/functions.html @@ -0,0 +1,115 @@ + + + + + + + +nixd: Class Members + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Here is a list of all class members with links to the classes they belong to:
+ +

- a -

+
+ + + + diff --git a/functions_b.html b/functions_b.html new file mode 100644 index 000000000..d0c6d45c7 --- /dev/null +++ b/functions_b.html @@ -0,0 +1,93 @@ + + + + + + + +nixd: Class Members + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Here is a list of all class members with links to the classes they belong to:
+ +

- b -

+
+ + + + diff --git a/functions_c.html b/functions_c.html new file mode 100644 index 000000000..2b48a8bb7 --- /dev/null +++ b/functions_c.html @@ -0,0 +1,135 @@ + + + + + + + +nixd: Class Members + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Here is a list of all class members with links to the classes they belong to:
+ +

- c -

+
+ + + + diff --git a/functions_d.html b/functions_d.html new file mode 100644 index 000000000..fae4d759b --- /dev/null +++ b/functions_d.html @@ -0,0 +1,114 @@ + + + + + + + +nixd: Class Members + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Here is a list of all class members with links to the classes they belong to:
+ +

- d -

+
+ + + + diff --git a/functions_e.html b/functions_e.html new file mode 100644 index 000000000..a02d37d0c --- /dev/null +++ b/functions_e.html @@ -0,0 +1,125 @@ + + + + + + + +nixd: Class Members + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Here is a list of all class members with links to the classes they belong to:
+ +

- e -

+
+ + + + diff --git a/functions_enum.html b/functions_enum.html new file mode 100644 index 000000000..3ca96b511 --- /dev/null +++ b/functions_enum.html @@ -0,0 +1,93 @@ + + + + + + + +nixd: Class Members - Enumerations + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Here is a list of all enums with links to the classes they belong to:
+
+ + + + diff --git a/functions_eval.html b/functions_eval.html new file mode 100644 index 000000000..62fea6168 --- /dev/null +++ b/functions_eval.html @@ -0,0 +1,110 @@ + + + + + + + +nixd: Class Members - Enumerator + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Here is a list of all enum values with links to the classes they belong to:
+
+ + + + diff --git a/functions_f.html b/functions_f.html new file mode 100644 index 000000000..b2cfa278c --- /dev/null +++ b/functions_f.html @@ -0,0 +1,108 @@ + + + + + + + +nixd: Class Members + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Here is a list of all class members with links to the classes they belong to:
+ +

- f -

+
+ + + + diff --git a/functions_func.html b/functions_func.html new file mode 100644 index 000000000..e3f4c0765 --- /dev/null +++ b/functions_func.html @@ -0,0 +1,103 @@ + + + + + + + +nixd: Class Members - Functions + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Here is a list of all functions with links to the classes they belong to:
+ +

- a -

+
+ + + + diff --git a/functions_func_b.html b/functions_func_b.html new file mode 100644 index 000000000..610c3efd2 --- /dev/null +++ b/functions_func_b.html @@ -0,0 +1,91 @@ + + + + + + + +nixd: Class Members - Functions + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Here is a list of all functions with links to the classes they belong to:
+ +

- b -

+
+ + + + diff --git a/functions_func_c.html b/functions_func_c.html new file mode 100644 index 000000000..e84e92e15 --- /dev/null +++ b/functions_func_c.html @@ -0,0 +1,103 @@ + + + + + + + +nixd: Class Members - Functions + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + + + + + diff --git a/functions_func_d.html b/functions_func_d.html new file mode 100644 index 000000000..e541be46f --- /dev/null +++ b/functions_func_d.html @@ -0,0 +1,95 @@ + + + + + + + +nixd: Class Members - Functions + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Here is a list of all functions with links to the classes they belong to:
+ +

- d -

+
+ + + + diff --git a/functions_func_e.html b/functions_func_e.html new file mode 100644 index 000000000..791166c24 --- /dev/null +++ b/functions_func_e.html @@ -0,0 +1,118 @@ + + + + + + + +nixd: Class Members - Functions + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Here is a list of all functions with links to the classes they belong to:
+ +

- e -

+
+ + + + diff --git a/functions_func_f.html b/functions_func_f.html new file mode 100644 index 000000000..df4bca7dd --- /dev/null +++ b/functions_func_f.html @@ -0,0 +1,97 @@ + + + + + + + +nixd: Class Members - Functions + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Here is a list of all functions with links to the classes they belong to:
+ +

- f -

+
+ + + + diff --git a/functions_func_g.html b/functions_func_g.html new file mode 100644 index 000000000..a81f13b40 --- /dev/null +++ b/functions_func_g.html @@ -0,0 +1,90 @@ + + + + + + + +nixd: Class Members - Functions + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Here is a list of all functions with links to the classes they belong to:
+ +

- g -

+
+ + + + diff --git a/functions_func_h.html b/functions_func_h.html new file mode 100644 index 000000000..daa1578a8 --- /dev/null +++ b/functions_func_h.html @@ -0,0 +1,85 @@ + + + + + + + +nixd: Class Members - Functions + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Here is a list of all functions with links to the classes they belong to:
+ +

- h -

+
+ + + + diff --git a/functions_func_i.html b/functions_func_i.html new file mode 100644 index 000000000..d534292b7 --- /dev/null +++ b/functions_func_i.html @@ -0,0 +1,106 @@ + + + + + + + +nixd: Class Members - Functions + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Here is a list of all functions with links to the classes they belong to:
+ +

- i -

+
+ + + + diff --git a/functions_func_k.html b/functions_func_k.html new file mode 100644 index 000000000..666567a33 --- /dev/null +++ b/functions_func_k.html @@ -0,0 +1,87 @@ + + + + + + + +nixd: Class Members - Functions + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Here is a list of all functions with links to the classes they belong to:
+ +

- k -

+
+ + + + diff --git a/functions_func_l.html b/functions_func_l.html new file mode 100644 index 000000000..3bd54260f --- /dev/null +++ b/functions_func_l.html @@ -0,0 +1,106 @@ + + + + + + + +nixd: Class Members - Functions + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Here is a list of all functions with links to the classes they belong to:
+ +

- l -

+
+ + + + diff --git a/functions_func_m.html b/functions_func_m.html new file mode 100644 index 000000000..6bfba5bd9 --- /dev/null +++ b/functions_func_m.html @@ -0,0 +1,91 @@ + + + + + + + +nixd: Class Members - Functions + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Here is a list of all functions with links to the classes they belong to:
+ +

- m -

+
+ + + + diff --git a/functions_func_n.html b/functions_func_n.html new file mode 100644 index 000000000..5d310807e --- /dev/null +++ b/functions_func_n.html @@ -0,0 +1,93 @@ + + + + + + + +nixd: Class Members - Functions + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Here is a list of all functions with links to the classes they belong to:
+ +

- n -

+
+ + + + diff --git a/functions_func_o.html b/functions_func_o.html new file mode 100644 index 000000000..37fcc66da --- /dev/null +++ b/functions_func_o.html @@ -0,0 +1,108 @@ + + + + + + + +nixd: Class Members - Functions + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Here is a list of all functions with links to the classes they belong to:
+ +

- o -

+
+ + + + diff --git a/functions_func_p.html b/functions_func_p.html new file mode 100644 index 000000000..3a8240596 --- /dev/null +++ b/functions_func_p.html @@ -0,0 +1,119 @@ + + + + + + + +nixd: Class Members - Functions + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Here is a list of all functions with links to the classes they belong to:
+ +

- p -

+
+ + + + diff --git a/functions_func_r.html b/functions_func_r.html new file mode 100644 index 000000000..d337dbe3b --- /dev/null +++ b/functions_func_r.html @@ -0,0 +1,100 @@ + + + + + + + +nixd: Class Members - Functions + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Here is a list of all functions with links to the classes they belong to:
+ +

- r -

+
+ + + + diff --git a/functions_func_s.html b/functions_func_s.html new file mode 100644 index 000000000..17278decf --- /dev/null +++ b/functions_func_s.html @@ -0,0 +1,102 @@ + + + + + + + +nixd: Class Members - Functions + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Here is a list of all functions with links to the classes they belong to:
+ +

- s -

+
+ + + + diff --git a/functions_func_t.html b/functions_func_t.html new file mode 100644 index 000000000..cba04889a --- /dev/null +++ b/functions_func_t.html @@ -0,0 +1,91 @@ + + + + + + + +nixd: Class Members - Functions + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Here is a list of all functions with links to the classes they belong to:
+ +

- t -

+
+ + + + diff --git a/functions_func_u.html b/functions_func_u.html new file mode 100644 index 000000000..e094e8b21 --- /dev/null +++ b/functions_func_u.html @@ -0,0 +1,89 @@ + + + + + + + +nixd: Class Members - Functions + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Here is a list of all functions with links to the classes they belong to:
+ +

- u -

+
+ + + + diff --git a/functions_func_v.html b/functions_func_v.html new file mode 100644 index 000000000..547b5be79 --- /dev/null +++ b/functions_func_v.html @@ -0,0 +1,87 @@ + + + + + + + +nixd: Class Members - Functions + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Here is a list of all functions with links to the classes they belong to:
+ +

- v -

+
+ + + + diff --git a/functions_func_w.html b/functions_func_w.html new file mode 100644 index 000000000..ad77236bf --- /dev/null +++ b/functions_func_w.html @@ -0,0 +1,85 @@ + + + + + + + +nixd: Class Members - Functions + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Here is a list of all functions with links to the classes they belong to:
+ +

- w -

+
+ + + + diff --git a/functions_func_~.html b/functions_func_~.html new file mode 100644 index 000000000..fd8c5eda9 --- /dev/null +++ b/functions_func_~.html @@ -0,0 +1,97 @@ + + + + + + + +nixd: Class Members - Functions + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Here is a list of all functions with links to the classes they belong to:
+ +

- ~ -

+
+ + + + diff --git a/functions_g.html b/functions_g.html new file mode 100644 index 000000000..8441afc98 --- /dev/null +++ b/functions_g.html @@ -0,0 +1,90 @@ + + + + + + + +nixd: Class Members + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Here is a list of all class members with links to the classes they belong to:
+ +

- g -

+
+ + + + diff --git a/functions_h.html b/functions_h.html new file mode 100644 index 000000000..d1211dfec --- /dev/null +++ b/functions_h.html @@ -0,0 +1,91 @@ + + + + + + + +nixd: Class Members + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Here is a list of all class members with links to the classes they belong to:
+ +

- h -

+
+ + + + diff --git a/functions_i.html b/functions_i.html new file mode 100644 index 000000000..aa9199476 --- /dev/null +++ b/functions_i.html @@ -0,0 +1,123 @@ + + + + + + + +nixd: Class Members + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Here is a list of all class members with links to the classes they belong to:
+ +

- i -

+
+ + + + diff --git a/functions_j.html b/functions_j.html new file mode 100644 index 000000000..ab5598623 --- /dev/null +++ b/functions_j.html @@ -0,0 +1,85 @@ + + + + + + + +nixd: Class Members + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Here is a list of all class members with links to the classes they belong to:
+ +

- j -

+
+ + + + diff --git a/functions_k.html b/functions_k.html new file mode 100644 index 000000000..a4754c876 --- /dev/null +++ b/functions_k.html @@ -0,0 +1,89 @@ + + + + + + + +nixd: Class Members + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + + + + + diff --git a/functions_l.html b/functions_l.html new file mode 100644 index 000000000..3a3090c47 --- /dev/null +++ b/functions_l.html @@ -0,0 +1,116 @@ + + + + + + + +nixd: Class Members + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Here is a list of all class members with links to the classes they belong to:
+ +

- l -

+
+ + + + diff --git a/functions_m.html b/functions_m.html new file mode 100644 index 000000000..8a1c0f612 --- /dev/null +++ b/functions_m.html @@ -0,0 +1,98 @@ + + + + + + + +nixd: Class Members + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Here is a list of all class members with links to the classes they belong to:
+ +

- m -

+
+ + + + diff --git a/functions_n.html b/functions_n.html new file mode 100644 index 000000000..015b4f640 --- /dev/null +++ b/functions_n.html @@ -0,0 +1,103 @@ + + + + + + + +nixd: Class Members + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Here is a list of all class members with links to the classes they belong to:
+ +

- n -

+
+ + + + diff --git a/functions_o.html b/functions_o.html new file mode 100644 index 000000000..d1a25f35b --- /dev/null +++ b/functions_o.html @@ -0,0 +1,121 @@ + + + + + + + +nixd: Class Members + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Here is a list of all class members with links to the classes they belong to:
+ +

- o -

+
+ + + + diff --git a/functions_p.html b/functions_p.html new file mode 100644 index 000000000..22439be5b --- /dev/null +++ b/functions_p.html @@ -0,0 +1,136 @@ + + + + + + + +nixd: Class Members + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Here is a list of all class members with links to the classes they belong to:
+ +

- p -

+
+ + + + diff --git a/functions_q.html b/functions_q.html new file mode 100644 index 000000000..b8951295a --- /dev/null +++ b/functions_q.html @@ -0,0 +1,86 @@ + + + + + + + +nixd: Class Members + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Here is a list of all class members with links to the classes they belong to:
+ +

- q -

+
+ + + + diff --git a/functions_r.html b/functions_r.html new file mode 100644 index 000000000..7018e67c4 --- /dev/null +++ b/functions_r.html @@ -0,0 +1,117 @@ + + + + + + + +nixd: Class Members + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Here is a list of all class members with links to the classes they belong to:
+ +

- r -

+
+ + + + diff --git a/functions_rela.html b/functions_rela.html new file mode 100644 index 000000000..911bea07d --- /dev/null +++ b/functions_rela.html @@ -0,0 +1,88 @@ + + + + + + + +nixd: Class Members - Related Symbols + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + + + + + diff --git a/functions_s.html b/functions_s.html new file mode 100644 index 000000000..0059ae49d --- /dev/null +++ b/functions_s.html @@ -0,0 +1,131 @@ + + + + + + + +nixd: Class Members + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Here is a list of all class members with links to the classes they belong to:
+ +

- s -

+
+ + + + diff --git a/functions_t.html b/functions_t.html new file mode 100644 index 000000000..104c710ef --- /dev/null +++ b/functions_t.html @@ -0,0 +1,109 @@ + + + + + + + +nixd: Class Members + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Here is a list of all class members with links to the classes they belong to:
+ +

- t -

+
+ + + + diff --git a/functions_type.html b/functions_type.html new file mode 100644 index 000000000..16107a60b --- /dev/null +++ b/functions_type.html @@ -0,0 +1,89 @@ + + + + + + + +nixd: Class Members - Typedefs + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Here is a list of all typedefs with links to the classes they belong to:
+
+ + + + diff --git a/functions_u.html b/functions_u.html new file mode 100644 index 000000000..8bc651305 --- /dev/null +++ b/functions_u.html @@ -0,0 +1,90 @@ + + + + + + + +nixd: Class Members + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Here is a list of all class members with links to the classes they belong to:
+ +

- u -

+
+ + + + diff --git a/functions_v.html b/functions_v.html new file mode 100644 index 000000000..1e2db9d25 --- /dev/null +++ b/functions_v.html @@ -0,0 +1,94 @@ + + + + + + + +nixd: Class Members + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + + + + + diff --git a/functions_vars.html b/functions_vars.html new file mode 100644 index 000000000..f065f2770 --- /dev/null +++ b/functions_vars.html @@ -0,0 +1,92 @@ + + + + + + + +nixd: Class Members - Variables + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Here is a list of all variables with links to the classes they belong to:
+ +

- a -

+
+ + + + diff --git a/functions_vars_b.html b/functions_vars_b.html new file mode 100644 index 000000000..5fb309dde --- /dev/null +++ b/functions_vars_b.html @@ -0,0 +1,86 @@ + + + + + + + +nixd: Class Members - Variables + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Here is a list of all variables with links to the classes they belong to:
+ +

- b -

+
+ + + + diff --git a/functions_vars_c.html b/functions_vars_c.html new file mode 100644 index 000000000..d082655ca --- /dev/null +++ b/functions_vars_c.html @@ -0,0 +1,116 @@ + + + + + + + +nixd: Class Members - Variables + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Here is a list of all variables with links to the classes they belong to:
+ +

- c -

+
+ + + + diff --git a/functions_vars_d.html b/functions_vars_d.html new file mode 100644 index 000000000..ae800c4a2 --- /dev/null +++ b/functions_vars_d.html @@ -0,0 +1,99 @@ + + + + + + + +nixd: Class Members - Variables + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + + + + + diff --git a/functions_vars_e.html b/functions_vars_e.html new file mode 100644 index 000000000..77c6c3773 --- /dev/null +++ b/functions_vars_e.html @@ -0,0 +1,92 @@ + + + + + + + +nixd: Class Members - Variables + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Here is a list of all variables with links to the classes they belong to:
+ +

- e -

+
+ + + + diff --git a/functions_vars_f.html b/functions_vars_f.html new file mode 100644 index 000000000..f7de95d24 --- /dev/null +++ b/functions_vars_f.html @@ -0,0 +1,93 @@ + + + + + + + +nixd: Class Members - Variables + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Here is a list of all variables with links to the classes they belong to:
+ +

- f -

+
+ + + + diff --git a/functions_vars_h.html b/functions_vars_h.html new file mode 100644 index 000000000..1e89ff8f0 --- /dev/null +++ b/functions_vars_h.html @@ -0,0 +1,89 @@ + + + + + + + +nixd: Class Members - Variables + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Here is a list of all variables with links to the classes they belong to:
+ +

- h -

+
+ + + + diff --git a/functions_vars_i.html b/functions_vars_i.html new file mode 100644 index 000000000..ff5a5301c --- /dev/null +++ b/functions_vars_i.html @@ -0,0 +1,98 @@ + + + + + + + +nixd: Class Members - Variables + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Here is a list of all variables with links to the classes they belong to:
+ +

- i -

+
+ + + + diff --git a/functions_vars_k.html b/functions_vars_k.html new file mode 100644 index 000000000..120987817 --- /dev/null +++ b/functions_vars_k.html @@ -0,0 +1,86 @@ + + + + + + + +nixd: Class Members - Variables + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + + + + + diff --git a/functions_vars_l.html b/functions_vars_l.html new file mode 100644 index 000000000..a79f27168 --- /dev/null +++ b/functions_vars_l.html @@ -0,0 +1,93 @@ + + + + + + + +nixd: Class Members - Variables + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + + + + + diff --git a/functions_vars_m.html b/functions_vars_m.html new file mode 100644 index 000000000..d3ed87b7f --- /dev/null +++ b/functions_vars_m.html @@ -0,0 +1,92 @@ + + + + + + + +nixd: Class Members - Variables + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Here is a list of all variables with links to the classes they belong to:
+ +

- m -

+
+ + + + diff --git a/functions_vars_n.html b/functions_vars_n.html new file mode 100644 index 000000000..bd8335700 --- /dev/null +++ b/functions_vars_n.html @@ -0,0 +1,90 @@ + + + + + + + +nixd: Class Members - Variables + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Here is a list of all variables with links to the classes they belong to:
+ +

- n -

+
+ + + + diff --git a/functions_vars_o.html b/functions_vars_o.html new file mode 100644 index 000000000..527323d1c --- /dev/null +++ b/functions_vars_o.html @@ -0,0 +1,88 @@ + + + + + + + +nixd: Class Members - Variables + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Here is a list of all variables with links to the classes they belong to:
+ +

- o -

+
+ + + + diff --git a/functions_vars_p.html b/functions_vars_p.html new file mode 100644 index 000000000..de0918610 --- /dev/null +++ b/functions_vars_p.html @@ -0,0 +1,97 @@ + + + + + + + +nixd: Class Members - Variables + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + + + + + diff --git a/functions_vars_q.html b/functions_vars_q.html new file mode 100644 index 000000000..4b15c2e80 --- /dev/null +++ b/functions_vars_q.html @@ -0,0 +1,86 @@ + + + + + + + +nixd: Class Members - Variables + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Here is a list of all variables with links to the classes they belong to:
+ +

- q -

+
+ + + + diff --git a/functions_vars_r.html b/functions_vars_r.html new file mode 100644 index 000000000..0136072bd --- /dev/null +++ b/functions_vars_r.html @@ -0,0 +1,102 @@ + + + + + + + +nixd: Class Members - Variables + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + + + + + diff --git a/functions_vars_s.html b/functions_vars_s.html new file mode 100644 index 000000000..e333d3ace --- /dev/null +++ b/functions_vars_s.html @@ -0,0 +1,109 @@ + + + + + + + +nixd: Class Members - Variables + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Here is a list of all variables with links to the classes they belong to:
+ +

- s -

+
+ + + + diff --git a/functions_vars_t.html b/functions_vars_t.html new file mode 100644 index 000000000..f216e8294 --- /dev/null +++ b/functions_vars_t.html @@ -0,0 +1,103 @@ + + + + + + + +nixd: Class Members - Variables + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Here is a list of all variables with links to the classes they belong to:
+ +

- t -

+
+ + + + diff --git a/functions_vars_u.html b/functions_vars_u.html new file mode 100644 index 000000000..59075b7b2 --- /dev/null +++ b/functions_vars_u.html @@ -0,0 +1,85 @@ + + + + + + + +nixd: Class Members - Variables + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + + + + + diff --git a/functions_vars_v.html b/functions_vars_v.html new file mode 100644 index 000000000..cf3ed7c17 --- /dev/null +++ b/functions_vars_v.html @@ -0,0 +1,90 @@ + + + + + + + +nixd: Class Members - Variables + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + + + + + diff --git a/functions_vars_w.html b/functions_vars_w.html new file mode 100644 index 000000000..0be394d1f --- /dev/null +++ b/functions_vars_w.html @@ -0,0 +1,89 @@ + + + + + + + +nixd: Class Members - Variables + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Here is a list of all variables with links to the classes they belong to:
+ +

- w -

+
+ + + + diff --git a/functions_w.html b/functions_w.html new file mode 100644 index 000000000..2a08065a3 --- /dev/null +++ b/functions_w.html @@ -0,0 +1,90 @@ + + + + + + + +nixd: Class Members + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Here is a list of all class members with links to the classes they belong to:
+ +

- w -

+
+ + + + diff --git a/functions_~.html b/functions_~.html new file mode 100644 index 000000000..743b48d10 --- /dev/null +++ b/functions_~.html @@ -0,0 +1,97 @@ + + + + + + + +nixd: Class Members + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Here is a list of all class members with links to the classes they belong to:
+ +

- ~ -

+
+ + + + diff --git a/globals.html b/globals.html new file mode 100644 index 000000000..e11e40d76 --- /dev/null +++ b/globals.html @@ -0,0 +1,94 @@ + + + + + + + +nixd: File Members + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Here is a list of all file members with links to the files they belong to:
+
+ + + + diff --git a/globals_defs.html b/globals_defs.html new file mode 100644 index 000000000..85b4c9e3c --- /dev/null +++ b/globals_defs.html @@ -0,0 +1,93 @@ + + + + + + + +nixd: File Members + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Here is a list of all macros with links to the files they belong to:
+
+ + + + diff --git a/globals_func.html b/globals_func.html new file mode 100644 index 000000000..fcb82a043 --- /dev/null +++ b/globals_func.html @@ -0,0 +1,83 @@ + + + + + + + +nixd: File Members + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Here is a list of all functions with links to the files they belong to:
+
+ + + + diff --git a/graph_legend.html b/graph_legend.html new file mode 100644 index 000000000..7f94fae2b --- /dev/null +++ b/graph_legend.html @@ -0,0 +1,143 @@ + + + + + + + +nixd: Graph Legend + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Graph Legend
+
+
+

This page explains how to interpret the graphs that are generated by doxygen.

+

Consider the following example:

/*! Invisible class because of truncation */
+
class Invisible { };
+
+
/*! Truncated class, inheritance relation is hidden */
+
class Truncated : public Invisible { };
+
+
/* Class not documented with doxygen comments */
+
class Undocumented { };
+
+
/*! Class that is inherited using public inheritance */
+
class PublicBase : public Truncated { };
+
+
/*! A template class */
+
template<class T> class Templ { };
+
+
/*! Class that is inherited using protected inheritance */
+
class ProtectedBase { };
+
+
/*! Class that is inherited using private inheritance */
+
class PrivateBase { };
+
+
/*! Class that is used by the Inherited class */
+
class Used { };
+
+
/*! Super class that inherits a number of other classes */
+
class Inherited : public PublicBase,
+
protected ProtectedBase,
+
private PrivateBase,
+
public Undocumented,
+
public Templ<int>
+
{
+
private:
+
Used *m_usedClass;
+
};
+

This will result in the following graph:

+

The boxes in the above graph have the following meaning:

+
    +
  • +A filled gray box represents the struct or class for which the graph is generated.
  • +
  • +A box with a black border denotes a documented struct or class.
  • +
  • +A box with a gray border denotes an undocumented struct or class.
  • +
  • +A box with a red border denotes a documented struct or class forwhich not all inheritance/containment relations are shown. A graph is truncated if it does not fit within the specified boundaries.
  • +
+

The arrows have the following meaning:

+
    +
  • +A blue arrow is used to visualize a public inheritance relation between two classes.
  • +
  • +A dark green arrow is used for protected inheritance.
  • +
  • +A dark red arrow is used for private inheritance.
  • +
  • +A purple dashed arrow is used if a class is contained or used by another class. The arrow is labelled with the variable(s) through which the pointed class or struct is accessible.
  • +
  • +A yellow dashed arrow denotes a relation between a template instance and the template class it was instantiated from. The arrow is labelled with the template parameters of the instance.
  • +
+
+ + + + diff --git a/graph_legend.md5 b/graph_legend.md5 new file mode 100644 index 000000000..da515da9d --- /dev/null +++ b/graph_legend.md5 @@ -0,0 +1 @@ +f74606a252eb303675caf37987d0b7af \ No newline at end of file diff --git a/graph_legend.svg b/graph_legend.svg new file mode 100644 index 000000000..5dbccc683 --- /dev/null +++ b/graph_legend.svg @@ -0,0 +1,167 @@ + + + + + + +Graph Legend + + +Node9 + + +Inherited + + + + + +Node10 + + +PublicBase + + + + + +Node10->Node9 + + + + + + + + +Node11 + + +Truncated + + + + + +Node11->Node10 + + + + + + + + +Node13 + + +ProtectedBase + + + + + +Node13->Node9 + + + + + + + + +Node14 + + +PrivateBase + + + + + +Node14->Node9 + + + + + + + + +Node15 + + +Undocumented + + + + + +Node15->Node9 + + + + + + + + +Node16 + + +Templ< int > + + + + + +Node16->Node9 + + + + + + + + +Node17 + + +Templ< T > + + + + + +Node17->Node16 + + + + + +< int > + + + +Node18 + + +Used + + + + + +Node18->Node9 + + + + + +m_usedClass + + + diff --git a/hierarchy.html b/hierarchy.html new file mode 100644 index 000000000..aab003256 --- /dev/null +++ b/hierarchy.html @@ -0,0 +1,281 @@ + + + + + + + +nixd: Class Hierarchy + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Class Hierarchy
+
+
+
+

Go to the graphical class hierarchy

+This inheritance list is sorted roughly, but not completely, alphabetically:
+
[detail level 1234]
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
 Clspserver::ApplyWorkspaceEditParams
 Clspserver::ApplyWorkspaceEditResponse
 Cnixt::ArrayRef< T >Weak reference to an array, with begin and end pointers
 Cnixt::ASTDeserializer
 Cnixt::ASTHeaderHeader of serialized AST
 Clspserver::ASTNode
 Clspserver::ASTParams
 Cnixf::Attribute
 Cnixd::util::AutoCloseFDFile Descriptor RAII wrapper
 Cnixd::util::AutoHUPPID
 Cnixd::util::AutoRemoveShmShared memory object, the object will be removed in dtor
 Clspserver::CallHierarchyIncomingCallRepresents an incoming call, e.g. a caller of a method or constructor
 Clspserver::CallHierarchyIncomingCallsParamsThe parameter of a callHierarchy/incomingCalls request
 Clspserver::CallHierarchyItem
 Clspserver::CallHierarchyOutgoingCall
 Clspserver::CallHierarchyOutgoingCallsParamsThe parameter of a callHierarchy/outgoingCalls request
 Clspserver::ChangeAnnotation
 Clspserver::ClangdCompileCommand
 Clspserver::ClientCapabilities
 Clspserver::CodeAction
 Clspserver::CodeActionContext
 Clspserver::CodeActionParams
 Clspserver::CodeDescriptionStructure to capture a description for an error code
 Clspserver::CompletionContext
 Clspserver::CompletionItem
 Clspserver::CompletionListRepresents a collection of completion items to be presented in the editor
 Clspserver::ConfigurationItem
 Clspserver::ConfigurationParams
 Clspserver::ConfigurationSettings
 Cnixt::DeserializeContextAPI Wrapper around nix::
 Clspserver::Diagnostic
 Clspserver::DiagnosticRelatedInformation
 Clspserver::DidChangeConfigurationParams
 Clspserver::DidChangeTextDocumentParams
 Clspserver::DidChangeWatchedFilesParams
 Clspserver::DidCloseTextDocumentParams
 Clspserver::DidOpenTextDocumentParams
 Clspserver::DidSaveTextDocumentParams
 Clspserver::DocumentFormattingParams
 Clspserver::DocumentHighlight
 Clspserver::DocumentLink
 Clspserver::DocumentLinkParamsParameters for the document link request
 Clspserver::DocumentOnTypeFormattingParams
 Clspserver::DocumentRangeFormattingParams
 Clspserver::DocumentSymbol
 Clspserver::DocumentSymbolParams
 Clspserver::DraftStore::Draft
 Clspserver::DraftStore
 Cllvm::ErrorInfo
 Clspserver::Event< T >An Event<T> allows events of type T to be broadcast to listeners
 Clspserver::ExecuteCommandParams
 Cnixd::rpc::ExprValueParams
 Cnixd::rpc::ExprValueResponse
 Cnixt::detail::RB< Tag, p >::F
 Clspserver::FileEvent
 Cnixbc::FileHeader
 Clspserver::FileStatus
 Cnixf::Fix
 Clspserver::FoldingRangeStores information about a region of code that can be folded
 Clspserver::FoldingRangeParams
 Cllvm::format_provider< lspserver::Position >
 Clspserver::HandlerRegistry
 Clspserver::Hover
 Clspserver::InactiveRegionsParams
 Clspserver::InboundPort
 Clspserver::InitializationOptions
 Clspserver::InitializeParams
 Clspserver::InlayHintInlay hint information
 Clspserver::InlayHintsParamsA parameter literal used in inlay hint requests
 Cnixf::InterpolablePart
 Clspserver::Key< Type >
 Cnixf::Lexer
 Cnixf::LexerCursorA point in the source file
 Cnixf::LexerCursorRange
 Clspserver::Location
 Clspserver::LoggerInterface to allow custom logging in clangd
 Clspserver::LoggingSessionOnly one LoggingSession can be active at a time
 Clspserver::LSPDiagnosticCompare
 Clspserver::MarkupContent
 Clspserver::MessageHandler
 Cnixd::NixTUHolds analyzed information about a document
 Cnixf::Node
 Cnixbc::NodeHeader
 Clspserver::NoParams
 Cnixbc::Origin
 Clspserver::OutboundPort
 Cnixd::util::OwnedRegion
 Clspserver::ParameterInformationA single parameter of a particular signature
 Cnixt::detail::ParseCacheF
 Cnixf::Parser
 Cnixf::PartialDiagnostic
 Cnixd::util::PipedProc
 Clspserver::Position
 Cnixf::Position
 Cnixf::PositionRange
 Clspserver::ProgressParams< T >
 Cnixt::PtrPool< T >A simple pointer pool, a vector of unique_ptrs
 Cnixt::PtrPool< nix::Expr >
 Clspserver::PublishDiagnosticsParams
 Cnixt::detail::R< Tag >
 Clspserver::Range
 Cnixt::RecursiveASTVisitor< Derived >A CRTP base class for traversing nix::Expr * nodes
 Clspserver::ReferenceContext
 Cnixd::rpc::RegisterBCParams
 Clspserver::RenameParams
 Clspserver::TypeHierarchyItem::ResolveParamsUsed to resolve a client provided item back
 Clspserver::ResolveTypeHierarchyItemParamsParameters for the typeHierarchy/resolve request
 Clspserver::SelectionRange
 Clspserver::SelectionRangeParams
 Cnixf::Sema
 Cnixf::SemaAttrsAttribute set after deduplication
 Clspserver::SemanticToken
 Clspserver::SemanticTokensA versioned set of tokens
 Clspserver::SemanticTokensDeltaParams
 Clspserver::SemanticTokensEditDescribes a replacement of a contiguous range of semanticTokens
 Clspserver::SemanticTokensOrDelta
 Clspserver::SemanticTokensParamsBody of textDocument/semanticTokens/full request
 Clspserver::ShowMessageParams
 Clspserver::SignatureHelpRepresents the signature of a callable
 Clspserver::SignatureInformationRepresents the signature of something callable
 Clspserver::Event< T >::Subscription
 Clspserver::SymbolInformation
 Clspserver::TextDocumentContentChangeEvent
 Clspserver::TextDocumentEdit
 Clspserver::TextDocumentIdentifier
 Clspserver::TextDocumentItem
 Clspserver::TextDocumentPositionParams
 Clspserver::TextEdit
 Cnixf::TextEdit
 Cnixf::TokenA token. With it's kind, and the range in source code
 Clspserver::TweakArgs
 Clspserver::TypeHierarchyItem
 Clspserver::URI
 Clspserver::URIForFile
 Clspserver::URIScheme
 Clspserver::WorkDoneProgressBegin
 Clspserver::WorkDoneProgressCreateParams
 Clspserver::WorkDoneProgressEndSignals the end of progress reporting
 Clspserver::WorkDoneProgressReportReporting progress is done using the following payload
 Clspserver::WorkspaceEdit
 Clspserver::WorkspaceSymbolParamsThe parameters of a Workspace Symbol Request
+
+
+ + + + diff --git a/include_2nixf_2Parse_2Parser_8h.html b/include_2nixf_2Parse_2Parser_8h.html new file mode 100644 index 000000000..534c63367 --- /dev/null +++ b/include_2nixf_2Parse_2Parser_8h.html @@ -0,0 +1,115 @@ + + + + + + + +nixd: Parser.h File Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
Parser.h File Reference
+
+
+ +

Parser interface. +More...

+
#include <memory>
+#include <string_view>
+#include <vector>
+
+

Go to the source code of this file.

+ + + + +

+Namespaces

namespace  nixf
 
+ + + + +

+Functions

std::shared_ptr< Nodenixf::parse (std::string_view Src, std::vector< Diagnostic > &Diags)
 Parse a string.
 
+

Detailed Description

+

Parser interface.

+

libnixf parser. This is a recursive descent parser, focusing on error recovery.

+ +

Definition in file include/nixf/Parse/Parser.h.

+
+ + + + diff --git a/include_2nixf_2Parse_2Parser_8h_source.html b/include_2nixf_2Parse_2Parser_8h_source.html new file mode 100644 index 000000000..fb8b0bf7f --- /dev/null +++ b/include_2nixf_2Parse_2Parser_8h_source.html @@ -0,0 +1,117 @@ + + + + + + + +nixd: Parser.h Source File + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
include/nixf/Parse/Parser.h
+
+
+Go to the documentation of this file.
1/// \file
+
2/// \brief Parser interface.
+
3///
+
4/// libnixf parser. This is a recursive descent parser, focusing on error
+
5/// recovery.
+
6#pragma once
+
7
+
8#include <memory>
+
9#include <string_view>
+
10#include <vector>
+
11
+
12namespace nixf {
+
13
+
14class Node;
+
15class Diagnostic;
+
16
+
17/// \brief Parse a string.
+
18/// \param Src The string to parse.
+
19/// \param Diags Diagnostics will be appended to this vector.
+
20std::shared_ptr<Node> parse(std::string_view Src,
+
21 std::vector<Diagnostic> &Diags);
+
22
+
23} // namespace nixf
+ +
std::shared_ptr< Node > parse(std::string_view Src, std::vector< Diagnostic > &Diags)
Parse a string.
+
+ + + + diff --git a/index.html b/index.html new file mode 100644 index 000000000..7e2418352 --- /dev/null +++ b/index.html @@ -0,0 +1,84 @@ + + + + + + + +nixd: Main Page + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
nixd Documentation
+
+
+ +
+ + + + diff --git a/inherit_graph_0.map b/inherit_graph_0.map new file mode 100644 index 000000000..6a8eb3a6b --- /dev/null +++ b/inherit_graph_0.map @@ -0,0 +1,5 @@ + + + + + diff --git a/inherit_graph_0.md5 b/inherit_graph_0.md5 new file mode 100644 index 000000000..2924c1da8 --- /dev/null +++ b/inherit_graph_0.md5 @@ -0,0 +1 @@ +fd6877c502be81b5459451ff21de38d0 \ No newline at end of file diff --git a/inherit_graph_0.svg b/inherit_graph_0.svg new file mode 100644 index 000000000..ffee1f0c4 --- /dev/null +++ b/inherit_graph_0.svg @@ -0,0 +1,39 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +llvm::ErrorInfo + + + + + +Node1 + + +lspserver::LSPError + + + + + +Node0->Node1 + + + + + + + + diff --git a/inherit_graph_1.map b/inherit_graph_1.map new file mode 100644 index 000000000..1cae43a0d --- /dev/null +++ b/inherit_graph_1.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_1.md5 b/inherit_graph_1.md5 new file mode 100644 index 000000000..f3b94b58f --- /dev/null +++ b/inherit_graph_1.md5 @@ -0,0 +1 @@ +da5dfa82f5146fe6fd534e1369ecfd71 \ No newline at end of file diff --git a/inherit_graph_1.svg b/inherit_graph_1.svg new file mode 100644 index 000000000..df4ce9f9d --- /dev/null +++ b/inherit_graph_1.svg @@ -0,0 +1,22 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +llvm::format_provider +< lspserver::Position > + + + + + diff --git a/inherit_graph_10.map b/inherit_graph_10.map new file mode 100644 index 000000000..2a5c61675 --- /dev/null +++ b/inherit_graph_10.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_10.md5 b/inherit_graph_10.md5 new file mode 100644 index 000000000..4c4c6db09 --- /dev/null +++ b/inherit_graph_10.md5 @@ -0,0 +1 @@ +e3829402309165b6448eb466143d3675 \ No newline at end of file diff --git a/inherit_graph_10.svg b/inherit_graph_10.svg new file mode 100644 index 000000000..b8842e6db --- /dev/null +++ b/inherit_graph_10.svg @@ -0,0 +1,22 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +lspserver::CallHierarchy +OutgoingCallsParams + + + + + diff --git a/inherit_graph_100.map b/inherit_graph_100.map new file mode 100644 index 000000000..e043b8799 --- /dev/null +++ b/inherit_graph_100.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_100.md5 b/inherit_graph_100.md5 new file mode 100644 index 000000000..e0ca3ac5d --- /dev/null +++ b/inherit_graph_100.md5 @@ -0,0 +1 @@ +247b2cf554ef1d38296e88c871d3c0b8 \ No newline at end of file diff --git a/inherit_graph_100.svg b/inherit_graph_100.svg new file mode 100644 index 000000000..22f8e1eb6 --- /dev/null +++ b/inherit_graph_100.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +lspserver::WorkDoneProgressEnd + + + + + diff --git a/inherit_graph_101.map b/inherit_graph_101.map new file mode 100644 index 000000000..d7105d09c --- /dev/null +++ b/inherit_graph_101.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_101.md5 b/inherit_graph_101.md5 new file mode 100644 index 000000000..9ef66f9f7 --- /dev/null +++ b/inherit_graph_101.md5 @@ -0,0 +1 @@ +0010260fd7e3f6d994dcfd776ab9600d \ No newline at end of file diff --git a/inherit_graph_101.svg b/inherit_graph_101.svg new file mode 100644 index 000000000..9cc366f83 --- /dev/null +++ b/inherit_graph_101.svg @@ -0,0 +1,22 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +lspserver::WorkDoneProgress +Report + + + + + diff --git a/inherit_graph_102.map b/inherit_graph_102.map new file mode 100644 index 000000000..710646c89 --- /dev/null +++ b/inherit_graph_102.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_102.md5 b/inherit_graph_102.md5 new file mode 100644 index 000000000..e2a4ba6ff --- /dev/null +++ b/inherit_graph_102.md5 @@ -0,0 +1 @@ +ac9c725812f70f8801db115b99a9832d \ No newline at end of file diff --git a/inherit_graph_102.svg b/inherit_graph_102.svg new file mode 100644 index 000000000..218e589c5 --- /dev/null +++ b/inherit_graph_102.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +lspserver::WorkspaceEdit + + + + + diff --git a/inherit_graph_103.map b/inherit_graph_103.map new file mode 100644 index 000000000..f5b6d48a4 --- /dev/null +++ b/inherit_graph_103.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_103.md5 b/inherit_graph_103.md5 new file mode 100644 index 000000000..374efae5d --- /dev/null +++ b/inherit_graph_103.md5 @@ -0,0 +1 @@ +0c8a4defee72ee4f24ceb9e20fddb677 \ No newline at end of file diff --git a/inherit_graph_103.svg b/inherit_graph_103.svg new file mode 100644 index 000000000..b6b6f1ea5 --- /dev/null +++ b/inherit_graph_103.svg @@ -0,0 +1,22 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +lspserver::WorkspaceSymbol +Params + + + + + diff --git a/inherit_graph_104.map b/inherit_graph_104.map new file mode 100644 index 000000000..57d4c8a33 --- /dev/null +++ b/inherit_graph_104.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_104.md5 b/inherit_graph_104.md5 new file mode 100644 index 000000000..7cdfbb053 --- /dev/null +++ b/inherit_graph_104.md5 @@ -0,0 +1 @@ +ba42c3e66726ef3239535da39a2390d5 \ No newline at end of file diff --git a/inherit_graph_104.svg b/inherit_graph_104.svg new file mode 100644 index 000000000..0c60e4fc1 --- /dev/null +++ b/inherit_graph_104.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +nixbc::FileHeader + + + + + diff --git a/inherit_graph_105.map b/inherit_graph_105.map new file mode 100644 index 000000000..e93214e38 --- /dev/null +++ b/inherit_graph_105.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_105.md5 b/inherit_graph_105.md5 new file mode 100644 index 000000000..bbe42d123 --- /dev/null +++ b/inherit_graph_105.md5 @@ -0,0 +1 @@ +e01a1b3bd43c9add2d58dd8b8a218a13 \ No newline at end of file diff --git a/inherit_graph_105.svg b/inherit_graph_105.svg new file mode 100644 index 000000000..8e8d9a84b --- /dev/null +++ b/inherit_graph_105.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +nixbc::NodeHeader + + + + + diff --git a/inherit_graph_106.map b/inherit_graph_106.map new file mode 100644 index 000000000..71951e1b6 --- /dev/null +++ b/inherit_graph_106.map @@ -0,0 +1,5 @@ + + + + + diff --git a/inherit_graph_106.md5 b/inherit_graph_106.md5 new file mode 100644 index 000000000..d61702e45 --- /dev/null +++ b/inherit_graph_106.md5 @@ -0,0 +1 @@ +81bb8a74bde0b9b869e0eda4b89e2f08 \ No newline at end of file diff --git a/inherit_graph_106.svg b/inherit_graph_106.svg new file mode 100644 index 000000000..58f7f39d6 --- /dev/null +++ b/inherit_graph_106.svg @@ -0,0 +1,39 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +nixbc::Origin + + + + + +Node1 + + +nixbc::OriginPath + + + + + +Node0->Node1 + + + + + + + + diff --git a/inherit_graph_107.map b/inherit_graph_107.map new file mode 100644 index 000000000..7635064b2 --- /dev/null +++ b/inherit_graph_107.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_107.md5 b/inherit_graph_107.md5 new file mode 100644 index 000000000..c1423e99a --- /dev/null +++ b/inherit_graph_107.md5 @@ -0,0 +1 @@ +1ba5dbbc0819a530158ef76316583644 \ No newline at end of file diff --git a/inherit_graph_107.svg b/inherit_graph_107.svg new file mode 100644 index 000000000..d1b717bbb --- /dev/null +++ b/inherit_graph_107.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +nixd::NixTU + + + + + diff --git a/inherit_graph_108.map b/inherit_graph_108.map new file mode 100644 index 000000000..74b7a5f58 --- /dev/null +++ b/inherit_graph_108.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_108.md5 b/inherit_graph_108.md5 new file mode 100644 index 000000000..dd450abb2 --- /dev/null +++ b/inherit_graph_108.md5 @@ -0,0 +1 @@ +9eac6dbd6b70be6034b4ba6820df6880 \ No newline at end of file diff --git a/inherit_graph_108.svg b/inherit_graph_108.svg new file mode 100644 index 000000000..02a9507e3 --- /dev/null +++ b/inherit_graph_108.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +nixd::rpc::ExprValueParams + + + + + diff --git a/inherit_graph_109.map b/inherit_graph_109.map new file mode 100644 index 000000000..18869ad92 --- /dev/null +++ b/inherit_graph_109.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_109.md5 b/inherit_graph_109.md5 new file mode 100644 index 000000000..0392bd4ec --- /dev/null +++ b/inherit_graph_109.md5 @@ -0,0 +1 @@ +550a1fd19834aa810b46e4e4dabda154 \ No newline at end of file diff --git a/inherit_graph_109.svg b/inherit_graph_109.svg new file mode 100644 index 000000000..ec0a9e9e0 --- /dev/null +++ b/inherit_graph_109.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +nixd::rpc::ExprValueResponse + + + + + diff --git a/inherit_graph_11.map b/inherit_graph_11.map new file mode 100644 index 000000000..715ba2258 --- /dev/null +++ b/inherit_graph_11.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_11.md5 b/inherit_graph_11.md5 new file mode 100644 index 000000000..3ace054fa --- /dev/null +++ b/inherit_graph_11.md5 @@ -0,0 +1 @@ +c7f7aaa648ae8a1b7bc4b64ba364ce70 \ No newline at end of file diff --git a/inherit_graph_11.svg b/inherit_graph_11.svg new file mode 100644 index 000000000..081350a54 --- /dev/null +++ b/inherit_graph_11.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +lspserver::ChangeAnnotation + + + + + diff --git a/inherit_graph_110.map b/inherit_graph_110.map new file mode 100644 index 000000000..5e994e037 --- /dev/null +++ b/inherit_graph_110.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_110.md5 b/inherit_graph_110.md5 new file mode 100644 index 000000000..105ecd331 --- /dev/null +++ b/inherit_graph_110.md5 @@ -0,0 +1 @@ +966713de3357624194a9b5dfcc93165c \ No newline at end of file diff --git a/inherit_graph_110.svg b/inherit_graph_110.svg new file mode 100644 index 000000000..525eff15d --- /dev/null +++ b/inherit_graph_110.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +nixd::rpc::RegisterBCParams + + + + + diff --git a/inherit_graph_111.map b/inherit_graph_111.map new file mode 100644 index 000000000..1a69823d9 --- /dev/null +++ b/inherit_graph_111.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_111.md5 b/inherit_graph_111.md5 new file mode 100644 index 000000000..98b93e246 --- /dev/null +++ b/inherit_graph_111.md5 @@ -0,0 +1 @@ +f0c255b33ed30d203284c5243d998ce5 \ No newline at end of file diff --git a/inherit_graph_111.svg b/inherit_graph_111.svg new file mode 100644 index 000000000..efe0e9779 --- /dev/null +++ b/inherit_graph_111.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +nixd::util::AutoCloseFD + + + + + diff --git a/inherit_graph_112.map b/inherit_graph_112.map new file mode 100644 index 000000000..69c4fb2ab --- /dev/null +++ b/inherit_graph_112.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_112.md5 b/inherit_graph_112.md5 new file mode 100644 index 000000000..5b44802b4 --- /dev/null +++ b/inherit_graph_112.md5 @@ -0,0 +1 @@ +f6ad3b7d6dae04afc6916c8ca316cc1a \ No newline at end of file diff --git a/inherit_graph_112.svg b/inherit_graph_112.svg new file mode 100644 index 000000000..969c4ffc0 --- /dev/null +++ b/inherit_graph_112.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +nixd::util::AutoHUPPID + + + + + diff --git a/inherit_graph_113.map b/inherit_graph_113.map new file mode 100644 index 000000000..3ccab938e --- /dev/null +++ b/inherit_graph_113.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_113.md5 b/inherit_graph_113.md5 new file mode 100644 index 000000000..a00f5d946 --- /dev/null +++ b/inherit_graph_113.md5 @@ -0,0 +1 @@ +6aef7d262ce8c80d8b2ec9f1d194b068 \ No newline at end of file diff --git a/inherit_graph_113.svg b/inherit_graph_113.svg new file mode 100644 index 000000000..8ce0e734b --- /dev/null +++ b/inherit_graph_113.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +nixd::util::AutoRemoveShm + + + + + diff --git a/inherit_graph_114.map b/inherit_graph_114.map new file mode 100644 index 000000000..29a1d7fdb --- /dev/null +++ b/inherit_graph_114.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_114.md5 b/inherit_graph_114.md5 new file mode 100644 index 000000000..891cb91eb --- /dev/null +++ b/inherit_graph_114.md5 @@ -0,0 +1 @@ +929c4c26f00b7aee82561dea39e6c450 \ No newline at end of file diff --git a/inherit_graph_114.svg b/inherit_graph_114.svg new file mode 100644 index 000000000..aca47ef00 --- /dev/null +++ b/inherit_graph_114.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +nixd::util::OwnedRegion + + + + + diff --git a/inherit_graph_115.map b/inherit_graph_115.map new file mode 100644 index 000000000..c2a90a74b --- /dev/null +++ b/inherit_graph_115.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_115.md5 b/inherit_graph_115.md5 new file mode 100644 index 000000000..71e5c6156 --- /dev/null +++ b/inherit_graph_115.md5 @@ -0,0 +1 @@ +21e18c19217e2f11ae5aca71ccb3644b \ No newline at end of file diff --git a/inherit_graph_115.svg b/inherit_graph_115.svg new file mode 100644 index 000000000..35dd00e90 --- /dev/null +++ b/inherit_graph_115.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +nixd::util::PipedProc + + + + + diff --git a/inherit_graph_116.map b/inherit_graph_116.map new file mode 100644 index 000000000..8187aac58 --- /dev/null +++ b/inherit_graph_116.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_116.md5 b/inherit_graph_116.md5 new file mode 100644 index 000000000..7036a624f --- /dev/null +++ b/inherit_graph_116.md5 @@ -0,0 +1 @@ +8c7474faec7a0ce34ac4d78bfc026857 \ No newline at end of file diff --git a/inherit_graph_116.svg b/inherit_graph_116.svg new file mode 100644 index 000000000..3f70732b4 --- /dev/null +++ b/inherit_graph_116.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +nixf::Attribute + + + + + diff --git a/inherit_graph_117.map b/inherit_graph_117.map new file mode 100644 index 000000000..934a54033 --- /dev/null +++ b/inherit_graph_117.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_117.md5 b/inherit_graph_117.md5 new file mode 100644 index 000000000..b14dbc77b --- /dev/null +++ b/inherit_graph_117.md5 @@ -0,0 +1 @@ +3c9e80f5091f4de3b4ac09a0f9432e96 \ No newline at end of file diff --git a/inherit_graph_117.svg b/inherit_graph_117.svg new file mode 100644 index 000000000..13bf0b015 --- /dev/null +++ b/inherit_graph_117.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +nixf::Fix + + + + + diff --git a/inherit_graph_118.map b/inherit_graph_118.map new file mode 100644 index 000000000..a556c92dc --- /dev/null +++ b/inherit_graph_118.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_118.md5 b/inherit_graph_118.md5 new file mode 100644 index 000000000..4e51ed2be --- /dev/null +++ b/inherit_graph_118.md5 @@ -0,0 +1 @@ +2b2223c6d7e3ad7a2838cc0a9ebe31e6 \ No newline at end of file diff --git a/inherit_graph_118.svg b/inherit_graph_118.svg new file mode 100644 index 000000000..f19e22ca1 --- /dev/null +++ b/inherit_graph_118.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +nixf::InterpolablePart + + + + + diff --git a/inherit_graph_119.map b/inherit_graph_119.map new file mode 100644 index 000000000..61319f563 --- /dev/null +++ b/inherit_graph_119.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_119.md5 b/inherit_graph_119.md5 new file mode 100644 index 000000000..8567d9a83 --- /dev/null +++ b/inherit_graph_119.md5 @@ -0,0 +1 @@ +c1e431ca5ab7622fa8b136e78b4df7f5 \ No newline at end of file diff --git a/inherit_graph_119.svg b/inherit_graph_119.svg new file mode 100644 index 000000000..d539348a4 --- /dev/null +++ b/inherit_graph_119.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +nixf::Lexer + + + + + diff --git a/inherit_graph_12.map b/inherit_graph_12.map new file mode 100644 index 000000000..ac84762fa --- /dev/null +++ b/inherit_graph_12.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_12.md5 b/inherit_graph_12.md5 new file mode 100644 index 000000000..d0503565f --- /dev/null +++ b/inherit_graph_12.md5 @@ -0,0 +1 @@ +7145f1fcbfa72832b6e52a89d9603802 \ No newline at end of file diff --git a/inherit_graph_12.svg b/inherit_graph_12.svg new file mode 100644 index 000000000..2ae940a4b --- /dev/null +++ b/inherit_graph_12.svg @@ -0,0 +1,22 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +lspserver::ClangdCompile +Command + + + + + diff --git a/inherit_graph_120.map b/inherit_graph_120.map new file mode 100644 index 000000000..272e29732 --- /dev/null +++ b/inherit_graph_120.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_120.md5 b/inherit_graph_120.md5 new file mode 100644 index 000000000..893b3f3ea --- /dev/null +++ b/inherit_graph_120.md5 @@ -0,0 +1 @@ +d50e474a811cf2329c2dea8dd7994fe1 \ No newline at end of file diff --git a/inherit_graph_120.svg b/inherit_graph_120.svg new file mode 100644 index 000000000..356dc05c7 --- /dev/null +++ b/inherit_graph_120.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +nixf::LexerCursor + + + + + diff --git a/inherit_graph_121.map b/inherit_graph_121.map new file mode 100644 index 000000000..9e2efe393 --- /dev/null +++ b/inherit_graph_121.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_121.md5 b/inherit_graph_121.md5 new file mode 100644 index 000000000..90aa1f27a --- /dev/null +++ b/inherit_graph_121.md5 @@ -0,0 +1 @@ +dff48bb4006af41743d4ad500699e1c0 \ No newline at end of file diff --git a/inherit_graph_121.svg b/inherit_graph_121.svg new file mode 100644 index 000000000..caa4100d7 --- /dev/null +++ b/inherit_graph_121.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +nixf::LexerCursorRange + + + + + diff --git a/inherit_graph_122.map b/inherit_graph_122.map new file mode 100644 index 000000000..f7f874041 --- /dev/null +++ b/inherit_graph_122.map @@ -0,0 +1,69 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/inherit_graph_122.md5 b/inherit_graph_122.md5 new file mode 100644 index 000000000..a141ec565 --- /dev/null +++ b/inherit_graph_122.md5 @@ -0,0 +1 @@ +a47f05119731647916554bd101868670 \ No newline at end of file diff --git a/inherit_graph_122.svg b/inherit_graph_122.svg new file mode 100644 index 000000000..ce99c4f2d --- /dev/null +++ b/inherit_graph_122.svg @@ -0,0 +1,615 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +nixf::Node + + + + + +Node1 + + +nixf::AttrName + + + + + +Node0->Node1 + + + + + + + + +Node2 + + +nixf::AttrPath + + + + + +Node0->Node2 + + + + + + + + +Node3 + + +nixf::Binding + + + + + +Node0->Node3 + + + + + + + + +Node4 + + +nixf::Binds + + + + + +Node0->Node4 + + + + + + + + +Node5 + + +nixf::Expr + + + + + +Node0->Node5 + + + + + + + + +Node25 + + +nixf::Formal + + + + + +Node0->Node25 + + + + + + + + +Node26 + + +nixf::Formals + + + + + +Node0->Node26 + + + + + + + + +Node27 + + +nixf::Identifier + + + + + +Node0->Node27 + + + + + + + + +Node28 + + +nixf::Inherit + + + + + +Node0->Node28 + + + + + + + + +Node29 + + +nixf::InterpolatedParts + + + + + +Node0->Node29 + + + + + + + + +Node30 + + +nixf::Interpolation + + + + + +Node0->Node30 + + + + + + + + +Node31 + + +nixf::LambdaArg + + + + + +Node0->Node31 + + + + + + + + +Node32 + + +nixf::Misc + + + + + +Node0->Node32 + + + + + + + + +Node33 + + +nixf::Op + + + + + +Node0->Node33 + + + + + + + + +Node6 + + +nixf::ExprAssert + + + + + +Node5->Node6 + + + + + + + + +Node7 + + +nixf::ExprAttrs + + + + + +Node5->Node7 + + + + + + + + +Node8 + + +nixf::ExprCall + + + + + +Node5->Node8 + + + + + + + + +Node9 + + +nixf::ExprFloat + + + + + +Node5->Node9 + + + + + + + + +Node10 + + +nixf::ExprIf + + + + + +Node5->Node10 + + + + + + + + +Node11 + + +nixf::ExprInt + + + + + +Node5->Node11 + + + + + + + + +Node12 + + +nixf::ExprLambda + + + + + +Node5->Node12 + + + + + + + + +Node13 + + +nixf::ExprLet + + + + + +Node5->Node13 + + + + + + + + +Node14 + + +nixf::ExprList + + + + + +Node5->Node14 + + + + + + + + +Node15 + + +nixf::ExprOp + + + + + +Node5->Node15 + + + + + + + + +Node19 + + +nixf::ExprParen + + + + + +Node5->Node19 + + + + + + + + +Node20 + + +nixf::ExprPath + + + + + +Node5->Node20 + + + + + + + + +Node21 + + +nixf::ExprSelect + + + + + +Node5->Node21 + + + + + + + + +Node22 + + +nixf::ExprString + + + + + +Node5->Node22 + + + + + + + + +Node23 + + +nixf::ExprVar + + + + + +Node5->Node23 + + + + + + + + +Node24 + + +nixf::ExprWith + + + + + +Node5->Node24 + + + + + + + + +Node16 + + +nixf::ExprBinOp + + + + + +Node15->Node16 + + + + + + + + +Node17 + + +nixf::ExprOpHasAttr + + + + + +Node15->Node17 + + + + + + + + +Node18 + + +nixf::ExprUnaryOp + + + + + +Node15->Node18 + + + + + + + + diff --git a/inherit_graph_123.map b/inherit_graph_123.map new file mode 100644 index 000000000..41bf6828b --- /dev/null +++ b/inherit_graph_123.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_123.md5 b/inherit_graph_123.md5 new file mode 100644 index 000000000..0efd945d5 --- /dev/null +++ b/inherit_graph_123.md5 @@ -0,0 +1 @@ +35b1e6bb8b7445497b1482ce737bd955 \ No newline at end of file diff --git a/inherit_graph_123.svg b/inherit_graph_123.svg new file mode 100644 index 000000000..d7367e4d7 --- /dev/null +++ b/inherit_graph_123.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +nixf::Parser + + + + + diff --git a/inherit_graph_124.map b/inherit_graph_124.map new file mode 100644 index 000000000..2c15225db --- /dev/null +++ b/inherit_graph_124.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/inherit_graph_124.md5 b/inherit_graph_124.md5 new file mode 100644 index 000000000..41fd97e84 --- /dev/null +++ b/inherit_graph_124.md5 @@ -0,0 +1 @@ +155dae6b4eeaf0e38453b65a2d69451f \ No newline at end of file diff --git a/inherit_graph_124.svg b/inherit_graph_124.svg new file mode 100644 index 000000000..9db822826 --- /dev/null +++ b/inherit_graph_124.svg @@ -0,0 +1,57 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +nixf::PartialDiagnostic + + + + + +Node1 + + +nixf::Diagnostic + + + + + +Node0->Node1 + + + + + + + + +Node2 + + +nixf::Note + + + + + +Node0->Node2 + + + + + + + + diff --git a/inherit_graph_125.map b/inherit_graph_125.map new file mode 100644 index 000000000..8e1d733ac --- /dev/null +++ b/inherit_graph_125.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_125.md5 b/inherit_graph_125.md5 new file mode 100644 index 000000000..b83ee99c8 --- /dev/null +++ b/inherit_graph_125.md5 @@ -0,0 +1 @@ +2fe4ea90867358896c3f2e8816f7d411 \ No newline at end of file diff --git a/inherit_graph_125.svg b/inherit_graph_125.svg new file mode 100644 index 000000000..acdb9720a --- /dev/null +++ b/inherit_graph_125.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +nixf::Position + + + + + diff --git a/inherit_graph_126.map b/inherit_graph_126.map new file mode 100644 index 000000000..997e50a4d --- /dev/null +++ b/inherit_graph_126.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_126.md5 b/inherit_graph_126.md5 new file mode 100644 index 000000000..2a4c6f9d1 --- /dev/null +++ b/inherit_graph_126.md5 @@ -0,0 +1 @@ +c6b95418a41baa2d3006d9cc670f7322 \ No newline at end of file diff --git a/inherit_graph_126.svg b/inherit_graph_126.svg new file mode 100644 index 000000000..d207c8d69 --- /dev/null +++ b/inherit_graph_126.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +nixf::PositionRange + + + + + diff --git a/inherit_graph_127.map b/inherit_graph_127.map new file mode 100644 index 000000000..15fbf9e8b --- /dev/null +++ b/inherit_graph_127.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_127.md5 b/inherit_graph_127.md5 new file mode 100644 index 000000000..6ac6ea95d --- /dev/null +++ b/inherit_graph_127.md5 @@ -0,0 +1 @@ +ed609be1784bca96237c02a8ed8bba53 \ No newline at end of file diff --git a/inherit_graph_127.svg b/inherit_graph_127.svg new file mode 100644 index 000000000..7fc8e9f76 --- /dev/null +++ b/inherit_graph_127.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +nixf::Sema + + + + + diff --git a/inherit_graph_128.map b/inherit_graph_128.map new file mode 100644 index 000000000..91d09feb8 --- /dev/null +++ b/inherit_graph_128.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_128.md5 b/inherit_graph_128.md5 new file mode 100644 index 000000000..2cb70b145 --- /dev/null +++ b/inherit_graph_128.md5 @@ -0,0 +1 @@ +bd8692e55d47afa628889e61cb7f4f67 \ No newline at end of file diff --git a/inherit_graph_128.svg b/inherit_graph_128.svg new file mode 100644 index 000000000..b27960fa6 --- /dev/null +++ b/inherit_graph_128.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +nixf::SemaAttrs + + + + + diff --git a/inherit_graph_129.map b/inherit_graph_129.map new file mode 100644 index 000000000..6c76705f5 --- /dev/null +++ b/inherit_graph_129.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_129.md5 b/inherit_graph_129.md5 new file mode 100644 index 000000000..b38919708 --- /dev/null +++ b/inherit_graph_129.md5 @@ -0,0 +1 @@ +28be3343f9a1094d387c5e27753fdacc \ No newline at end of file diff --git a/inherit_graph_129.svg b/inherit_graph_129.svg new file mode 100644 index 000000000..bd726ef49 --- /dev/null +++ b/inherit_graph_129.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +nixf::TextEdit + + + + + diff --git a/inherit_graph_13.map b/inherit_graph_13.map new file mode 100644 index 000000000..a9180fd74 --- /dev/null +++ b/inherit_graph_13.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_13.md5 b/inherit_graph_13.md5 new file mode 100644 index 000000000..d02f7dec2 --- /dev/null +++ b/inherit_graph_13.md5 @@ -0,0 +1 @@ +78cfb01d52304b55f6632c6711502209 \ No newline at end of file diff --git a/inherit_graph_13.svg b/inherit_graph_13.svg new file mode 100644 index 000000000..c0be68f50 --- /dev/null +++ b/inherit_graph_13.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +lspserver::ClientCapabilities + + + + + diff --git a/inherit_graph_130.map b/inherit_graph_130.map new file mode 100644 index 000000000..c46124628 --- /dev/null +++ b/inherit_graph_130.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_130.md5 b/inherit_graph_130.md5 new file mode 100644 index 000000000..4ddc7ed52 --- /dev/null +++ b/inherit_graph_130.md5 @@ -0,0 +1 @@ +9b8a248b016a9795b17284e25fe332a2 \ No newline at end of file diff --git a/inherit_graph_130.svg b/inherit_graph_130.svg new file mode 100644 index 000000000..481e3e4b2 --- /dev/null +++ b/inherit_graph_130.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +nixf::Token + + + + + diff --git a/inherit_graph_131.map b/inherit_graph_131.map new file mode 100644 index 000000000..b716416d7 --- /dev/null +++ b/inherit_graph_131.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_131.md5 b/inherit_graph_131.md5 new file mode 100644 index 000000000..d5eae7f2d --- /dev/null +++ b/inherit_graph_131.md5 @@ -0,0 +1 @@ +dcabaf74515323db6c05a69816a5cd27 \ No newline at end of file diff --git a/inherit_graph_131.svg b/inherit_graph_131.svg new file mode 100644 index 000000000..9d7211887 --- /dev/null +++ b/inherit_graph_131.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +nixt::ArrayRef< T > + + + + + diff --git a/inherit_graph_132.map b/inherit_graph_132.map new file mode 100644 index 000000000..6ba9db112 --- /dev/null +++ b/inherit_graph_132.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_132.md5 b/inherit_graph_132.md5 new file mode 100644 index 000000000..6a2ea50fc --- /dev/null +++ b/inherit_graph_132.md5 @@ -0,0 +1 @@ +a2eb90e8b7b60a829749125f01824e4b \ No newline at end of file diff --git a/inherit_graph_132.svg b/inherit_graph_132.svg new file mode 100644 index 000000000..cd76a73c1 --- /dev/null +++ b/inherit_graph_132.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +nixt::ASTDeserializer + + + + + diff --git a/inherit_graph_133.map b/inherit_graph_133.map new file mode 100644 index 000000000..40b524c47 --- /dev/null +++ b/inherit_graph_133.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_133.md5 b/inherit_graph_133.md5 new file mode 100644 index 000000000..a3fcdbb50 --- /dev/null +++ b/inherit_graph_133.md5 @@ -0,0 +1 @@ +f9d0ea46cd4e9c70a054ad39d8b9258d \ No newline at end of file diff --git a/inherit_graph_133.svg b/inherit_graph_133.svg new file mode 100644 index 000000000..155d08706 --- /dev/null +++ b/inherit_graph_133.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +nixt::ASTHeader + + + + + diff --git a/inherit_graph_134.map b/inherit_graph_134.map new file mode 100644 index 000000000..52721bbeb --- /dev/null +++ b/inherit_graph_134.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_134.md5 b/inherit_graph_134.md5 new file mode 100644 index 000000000..cde1a663c --- /dev/null +++ b/inherit_graph_134.md5 @@ -0,0 +1 @@ +aa4b1b85ca6240e79e3e95e5166611fe \ No newline at end of file diff --git a/inherit_graph_134.svg b/inherit_graph_134.svg new file mode 100644 index 000000000..51b3c822e --- /dev/null +++ b/inherit_graph_134.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +nixt::DeserializeContext + + + + + diff --git a/inherit_graph_135.map b/inherit_graph_135.map new file mode 100644 index 000000000..f1de0dbef --- /dev/null +++ b/inherit_graph_135.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_135.md5 b/inherit_graph_135.md5 new file mode 100644 index 000000000..aabd188eb --- /dev/null +++ b/inherit_graph_135.md5 @@ -0,0 +1 @@ +5cc4087fa2b378434663ae04e19f80dc \ No newline at end of file diff --git a/inherit_graph_135.svg b/inherit_graph_135.svg new file mode 100644 index 000000000..23ceb592b --- /dev/null +++ b/inherit_graph_135.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +nixt::detail::ParseCacheF + + + + + diff --git a/inherit_graph_136.map b/inherit_graph_136.map new file mode 100644 index 000000000..f5c3b810d --- /dev/null +++ b/inherit_graph_136.map @@ -0,0 +1,5 @@ + + + + + diff --git a/inherit_graph_136.md5 b/inherit_graph_136.md5 new file mode 100644 index 000000000..1abb88703 --- /dev/null +++ b/inherit_graph_136.md5 @@ -0,0 +1 @@ +7d4b88fe00d8d9f814faf454efb0e69f \ No newline at end of file diff --git a/inherit_graph_136.svg b/inherit_graph_136.svg new file mode 100644 index 000000000..ce2b1ec4d --- /dev/null +++ b/inherit_graph_136.svg @@ -0,0 +1,39 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +nixt::detail::R< Tag > + + + + + +Node1 + + +nixt::detail::RB< Tag, p > + + + + + +Node0->Node1 + + + + + + + + diff --git a/inherit_graph_137.map b/inherit_graph_137.map new file mode 100644 index 000000000..818320c04 --- /dev/null +++ b/inherit_graph_137.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_137.md5 b/inherit_graph_137.md5 new file mode 100644 index 000000000..180ba90c8 --- /dev/null +++ b/inherit_graph_137.md5 @@ -0,0 +1 @@ +50ef14b1574587338860f0fd8da4eb5a \ No newline at end of file diff --git a/inherit_graph_137.svg b/inherit_graph_137.svg new file mode 100644 index 000000000..e196fc455 --- /dev/null +++ b/inherit_graph_137.svg @@ -0,0 +1,22 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +nixt::detail::RB< Tag, + p >::F + + + + + diff --git a/inherit_graph_138.map b/inherit_graph_138.map new file mode 100644 index 000000000..342b32e09 --- /dev/null +++ b/inherit_graph_138.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_138.md5 b/inherit_graph_138.md5 new file mode 100644 index 000000000..23eae37d4 --- /dev/null +++ b/inherit_graph_138.md5 @@ -0,0 +1 @@ +f3a48caa41803c253b6c1ea38779bcb0 \ No newline at end of file diff --git a/inherit_graph_138.svg b/inherit_graph_138.svg new file mode 100644 index 000000000..d425d7ed3 --- /dev/null +++ b/inherit_graph_138.svg @@ -0,0 +1,22 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +nixt::PtrPool< nix +::Expr > + + + + + diff --git a/inherit_graph_139.map b/inherit_graph_139.map new file mode 100644 index 000000000..7c7a7ceac --- /dev/null +++ b/inherit_graph_139.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_139.md5 b/inherit_graph_139.md5 new file mode 100644 index 000000000..eb2ce64ea --- /dev/null +++ b/inherit_graph_139.md5 @@ -0,0 +1 @@ +1f0b0f75b6950817aa7fa888199494cb \ No newline at end of file diff --git a/inherit_graph_139.svg b/inherit_graph_139.svg new file mode 100644 index 000000000..3f022cc6e --- /dev/null +++ b/inherit_graph_139.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +nixt::PtrPool< T > + + + + + diff --git a/inherit_graph_14.map b/inherit_graph_14.map new file mode 100644 index 000000000..6961c5d9b --- /dev/null +++ b/inherit_graph_14.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_14.md5 b/inherit_graph_14.md5 new file mode 100644 index 000000000..26b43e953 --- /dev/null +++ b/inherit_graph_14.md5 @@ -0,0 +1 @@ +4894d4e67faff017788bf434fe3b7db6 \ No newline at end of file diff --git a/inherit_graph_14.svg b/inherit_graph_14.svg new file mode 100644 index 000000000..7a9257089 --- /dev/null +++ b/inherit_graph_14.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +lspserver::CodeAction + + + + + diff --git a/inherit_graph_140.map b/inherit_graph_140.map new file mode 100644 index 000000000..cbc43f66a --- /dev/null +++ b/inherit_graph_140.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_140.md5 b/inherit_graph_140.md5 new file mode 100644 index 000000000..2680b28e5 --- /dev/null +++ b/inherit_graph_140.md5 @@ -0,0 +1 @@ +3205507a413eed214175a605de6040c4 \ No newline at end of file diff --git a/inherit_graph_140.svg b/inherit_graph_140.svg new file mode 100644 index 000000000..fc39aaf35 --- /dev/null +++ b/inherit_graph_140.svg @@ -0,0 +1,22 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +nixt::RecursiveASTVisitor +< Derived > + + + + + diff --git a/inherit_graph_15.map b/inherit_graph_15.map new file mode 100644 index 000000000..74fb9c7a2 --- /dev/null +++ b/inherit_graph_15.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_15.md5 b/inherit_graph_15.md5 new file mode 100644 index 000000000..23f3de44e --- /dev/null +++ b/inherit_graph_15.md5 @@ -0,0 +1 @@ +5b02ebfef2da4af7e58cd889a22cd13b \ No newline at end of file diff --git a/inherit_graph_15.svg b/inherit_graph_15.svg new file mode 100644 index 000000000..e6154af25 --- /dev/null +++ b/inherit_graph_15.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +lspserver::CodeActionContext + + + + + diff --git a/inherit_graph_16.map b/inherit_graph_16.map new file mode 100644 index 000000000..34c607c79 --- /dev/null +++ b/inherit_graph_16.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_16.md5 b/inherit_graph_16.md5 new file mode 100644 index 000000000..6c3cd91af --- /dev/null +++ b/inherit_graph_16.md5 @@ -0,0 +1 @@ +bb810e6a51367be2a0bc94d53daa5038 \ No newline at end of file diff --git a/inherit_graph_16.svg b/inherit_graph_16.svg new file mode 100644 index 000000000..67eb34491 --- /dev/null +++ b/inherit_graph_16.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +lspserver::CodeActionParams + + + + + diff --git a/inherit_graph_17.map b/inherit_graph_17.map new file mode 100644 index 000000000..b7b4f84af --- /dev/null +++ b/inherit_graph_17.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_17.md5 b/inherit_graph_17.md5 new file mode 100644 index 000000000..8cf37eded --- /dev/null +++ b/inherit_graph_17.md5 @@ -0,0 +1 @@ +dd5a1b811dae249d09fdf8369590e029 \ No newline at end of file diff --git a/inherit_graph_17.svg b/inherit_graph_17.svg new file mode 100644 index 000000000..ddb074540 --- /dev/null +++ b/inherit_graph_17.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +lspserver::CodeDescription + + + + + diff --git a/inherit_graph_18.map b/inherit_graph_18.map new file mode 100644 index 000000000..378ccf671 --- /dev/null +++ b/inherit_graph_18.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_18.md5 b/inherit_graph_18.md5 new file mode 100644 index 000000000..4aa17bab6 --- /dev/null +++ b/inherit_graph_18.md5 @@ -0,0 +1 @@ +6b30356f5c040db2790ebce0c3d8b379 \ No newline at end of file diff --git a/inherit_graph_18.svg b/inherit_graph_18.svg new file mode 100644 index 000000000..e344ce403 --- /dev/null +++ b/inherit_graph_18.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +lspserver::CompletionContext + + + + + diff --git a/inherit_graph_19.map b/inherit_graph_19.map new file mode 100644 index 000000000..e782d1653 --- /dev/null +++ b/inherit_graph_19.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_19.md5 b/inherit_graph_19.md5 new file mode 100644 index 000000000..fb039ddde --- /dev/null +++ b/inherit_graph_19.md5 @@ -0,0 +1 @@ +c6951525f2edd765a7ddcc80f8a6c61c \ No newline at end of file diff --git a/inherit_graph_19.svg b/inherit_graph_19.svg new file mode 100644 index 000000000..4ccde8b7b --- /dev/null +++ b/inherit_graph_19.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +lspserver::CompletionItem + + + + + diff --git a/inherit_graph_2.map b/inherit_graph_2.map new file mode 100644 index 000000000..45da0ded9 --- /dev/null +++ b/inherit_graph_2.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_2.md5 b/inherit_graph_2.md5 new file mode 100644 index 000000000..676b3f98a --- /dev/null +++ b/inherit_graph_2.md5 @@ -0,0 +1 @@ +f03cfc1ed29f6f4fb3f1d3c410556fcf \ No newline at end of file diff --git a/inherit_graph_2.svg b/inherit_graph_2.svg new file mode 100644 index 000000000..db3eba343 --- /dev/null +++ b/inherit_graph_2.svg @@ -0,0 +1,22 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +lspserver::ApplyWorkspace +EditParams + + + + + diff --git a/inherit_graph_20.map b/inherit_graph_20.map new file mode 100644 index 000000000..0cbfed513 --- /dev/null +++ b/inherit_graph_20.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_20.md5 b/inherit_graph_20.md5 new file mode 100644 index 000000000..9d5dda05f --- /dev/null +++ b/inherit_graph_20.md5 @@ -0,0 +1 @@ +09b04aad1aca96ed9a23e7781bf26555 \ No newline at end of file diff --git a/inherit_graph_20.svg b/inherit_graph_20.svg new file mode 100644 index 000000000..c561f2d13 --- /dev/null +++ b/inherit_graph_20.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +lspserver::CompletionList + + + + + diff --git a/inherit_graph_21.map b/inherit_graph_21.map new file mode 100644 index 000000000..ddbdfb04e --- /dev/null +++ b/inherit_graph_21.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_21.md5 b/inherit_graph_21.md5 new file mode 100644 index 000000000..bdf84e448 --- /dev/null +++ b/inherit_graph_21.md5 @@ -0,0 +1 @@ +fa13a783678aec54cbc431c6e538b07a \ No newline at end of file diff --git a/inherit_graph_21.svg b/inherit_graph_21.svg new file mode 100644 index 000000000..7fa7b5ed1 --- /dev/null +++ b/inherit_graph_21.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +lspserver::ConfigurationItem + + + + + diff --git a/inherit_graph_22.map b/inherit_graph_22.map new file mode 100644 index 000000000..9be6747ac --- /dev/null +++ b/inherit_graph_22.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_22.md5 b/inherit_graph_22.md5 new file mode 100644 index 000000000..1c046e405 --- /dev/null +++ b/inherit_graph_22.md5 @@ -0,0 +1 @@ +596bf0c19ef8fd666b65359e0fbac330 \ No newline at end of file diff --git a/inherit_graph_22.svg b/inherit_graph_22.svg new file mode 100644 index 000000000..2238493d6 --- /dev/null +++ b/inherit_graph_22.svg @@ -0,0 +1,22 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +lspserver::Configuration +Params + + + + + diff --git a/inherit_graph_23.map b/inherit_graph_23.map new file mode 100644 index 000000000..7e3ecf094 --- /dev/null +++ b/inherit_graph_23.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_23.md5 b/inherit_graph_23.md5 new file mode 100644 index 000000000..05e231322 --- /dev/null +++ b/inherit_graph_23.md5 @@ -0,0 +1 @@ +8a9137b2936ee778c3ae68258d3824aa \ No newline at end of file diff --git a/inherit_graph_23.svg b/inherit_graph_23.svg new file mode 100644 index 000000000..5b2e2fd55 --- /dev/null +++ b/inherit_graph_23.svg @@ -0,0 +1,22 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +lspserver::Configuration +Settings + + + + + diff --git a/inherit_graph_24.map b/inherit_graph_24.map new file mode 100644 index 000000000..f10db04ec --- /dev/null +++ b/inherit_graph_24.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_24.md5 b/inherit_graph_24.md5 new file mode 100644 index 000000000..865c58d05 --- /dev/null +++ b/inherit_graph_24.md5 @@ -0,0 +1 @@ +dabd6561a4e4e49d7368f51f31296c64 \ No newline at end of file diff --git a/inherit_graph_24.svg b/inherit_graph_24.svg new file mode 100644 index 000000000..7580d60db --- /dev/null +++ b/inherit_graph_24.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +lspserver::Diagnostic + + + + + diff --git a/inherit_graph_25.map b/inherit_graph_25.map new file mode 100644 index 000000000..22ead5484 --- /dev/null +++ b/inherit_graph_25.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_25.md5 b/inherit_graph_25.md5 new file mode 100644 index 000000000..7a19e113e --- /dev/null +++ b/inherit_graph_25.md5 @@ -0,0 +1 @@ +a714d8b77781a40778f797164fa6f8b2 \ No newline at end of file diff --git a/inherit_graph_25.svg b/inherit_graph_25.svg new file mode 100644 index 000000000..8bb3bfb31 --- /dev/null +++ b/inherit_graph_25.svg @@ -0,0 +1,22 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +lspserver::DiagnosticRelated +Information + + + + + diff --git a/inherit_graph_26.map b/inherit_graph_26.map new file mode 100644 index 000000000..04e1af98a --- /dev/null +++ b/inherit_graph_26.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_26.md5 b/inherit_graph_26.md5 new file mode 100644 index 000000000..5a932e4f9 --- /dev/null +++ b/inherit_graph_26.md5 @@ -0,0 +1 @@ +543e4dc8943c23256eaf6e3f6de46d5c \ No newline at end of file diff --git a/inherit_graph_26.svg b/inherit_graph_26.svg new file mode 100644 index 000000000..c3cf3c651 --- /dev/null +++ b/inherit_graph_26.svg @@ -0,0 +1,22 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +lspserver::DidChangeConfiguration +Params + + + + + diff --git a/inherit_graph_27.map b/inherit_graph_27.map new file mode 100644 index 000000000..ab8e18a21 --- /dev/null +++ b/inherit_graph_27.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_27.md5 b/inherit_graph_27.md5 new file mode 100644 index 000000000..b79aa98c3 --- /dev/null +++ b/inherit_graph_27.md5 @@ -0,0 +1 @@ +e1a75794d1c956694b6ba0ec2da5e28c \ No newline at end of file diff --git a/inherit_graph_27.svg b/inherit_graph_27.svg new file mode 100644 index 000000000..295a32a5f --- /dev/null +++ b/inherit_graph_27.svg @@ -0,0 +1,22 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +lspserver::DidChangeText +DocumentParams + + + + + diff --git a/inherit_graph_28.map b/inherit_graph_28.map new file mode 100644 index 000000000..4538d990e --- /dev/null +++ b/inherit_graph_28.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_28.md5 b/inherit_graph_28.md5 new file mode 100644 index 000000000..cc994ec2b --- /dev/null +++ b/inherit_graph_28.md5 @@ -0,0 +1 @@ +1e8be6234a31fd50f6b86458e6d6e9a2 \ No newline at end of file diff --git a/inherit_graph_28.svg b/inherit_graph_28.svg new file mode 100644 index 000000000..9bb91b5ce --- /dev/null +++ b/inherit_graph_28.svg @@ -0,0 +1,22 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +lspserver::DidChangeWatched +FilesParams + + + + + diff --git a/inherit_graph_29.map b/inherit_graph_29.map new file mode 100644 index 000000000..368727097 --- /dev/null +++ b/inherit_graph_29.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_29.md5 b/inherit_graph_29.md5 new file mode 100644 index 000000000..523a75f11 --- /dev/null +++ b/inherit_graph_29.md5 @@ -0,0 +1 @@ +a54ab49d60871ff4d07c0e07b334b39d \ No newline at end of file diff --git a/inherit_graph_29.svg b/inherit_graph_29.svg new file mode 100644 index 000000000..c2256f813 --- /dev/null +++ b/inherit_graph_29.svg @@ -0,0 +1,22 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +lspserver::DidCloseTextDocument +Params + + + + + diff --git a/inherit_graph_3.map b/inherit_graph_3.map new file mode 100644 index 000000000..646cbf927 --- /dev/null +++ b/inherit_graph_3.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_3.md5 b/inherit_graph_3.md5 new file mode 100644 index 000000000..b8117d149 --- /dev/null +++ b/inherit_graph_3.md5 @@ -0,0 +1 @@ +9f1e4009b707524757a4a4fd69a24ad2 \ No newline at end of file diff --git a/inherit_graph_3.svg b/inherit_graph_3.svg new file mode 100644 index 000000000..94fd7ba44 --- /dev/null +++ b/inherit_graph_3.svg @@ -0,0 +1,22 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +lspserver::ApplyWorkspace +EditResponse + + + + + diff --git a/inherit_graph_30.map b/inherit_graph_30.map new file mode 100644 index 000000000..81ff702a8 --- /dev/null +++ b/inherit_graph_30.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_30.md5 b/inherit_graph_30.md5 new file mode 100644 index 000000000..781236ac7 --- /dev/null +++ b/inherit_graph_30.md5 @@ -0,0 +1 @@ +0ab6dc40bb3422eca24e3605c18367ff \ No newline at end of file diff --git a/inherit_graph_30.svg b/inherit_graph_30.svg new file mode 100644 index 000000000..68ec1a3c5 --- /dev/null +++ b/inherit_graph_30.svg @@ -0,0 +1,22 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +lspserver::DidOpenTextDocument +Params + + + + + diff --git a/inherit_graph_31.map b/inherit_graph_31.map new file mode 100644 index 000000000..aeb957bbd --- /dev/null +++ b/inherit_graph_31.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_31.md5 b/inherit_graph_31.md5 new file mode 100644 index 000000000..6938fcdd9 --- /dev/null +++ b/inherit_graph_31.md5 @@ -0,0 +1 @@ +be4e7ea251eddc835a04524607d48a01 \ No newline at end of file diff --git a/inherit_graph_31.svg b/inherit_graph_31.svg new file mode 100644 index 000000000..0fb45af94 --- /dev/null +++ b/inherit_graph_31.svg @@ -0,0 +1,22 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +lspserver::DidSaveTextDocument +Params + + + + + diff --git a/inherit_graph_32.map b/inherit_graph_32.map new file mode 100644 index 000000000..71e3070c1 --- /dev/null +++ b/inherit_graph_32.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_32.md5 b/inherit_graph_32.md5 new file mode 100644 index 000000000..1786d80e3 --- /dev/null +++ b/inherit_graph_32.md5 @@ -0,0 +1 @@ +2cf9a4003b0f7e903ba741e79b00f071 \ No newline at end of file diff --git a/inherit_graph_32.svg b/inherit_graph_32.svg new file mode 100644 index 000000000..910edb2e6 --- /dev/null +++ b/inherit_graph_32.svg @@ -0,0 +1,22 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +lspserver::DocumentFormatting +Params + + + + + diff --git a/inherit_graph_33.map b/inherit_graph_33.map new file mode 100644 index 000000000..ac372e6f1 --- /dev/null +++ b/inherit_graph_33.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_33.md5 b/inherit_graph_33.md5 new file mode 100644 index 000000000..fa9192193 --- /dev/null +++ b/inherit_graph_33.md5 @@ -0,0 +1 @@ +4b1badfa84091190a38b31184b8dc6ee \ No newline at end of file diff --git a/inherit_graph_33.svg b/inherit_graph_33.svg new file mode 100644 index 000000000..0cd222778 --- /dev/null +++ b/inherit_graph_33.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +lspserver::DocumentHighlight + + + + + diff --git a/inherit_graph_34.map b/inherit_graph_34.map new file mode 100644 index 000000000..a563ce98d --- /dev/null +++ b/inherit_graph_34.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_34.md5 b/inherit_graph_34.md5 new file mode 100644 index 000000000..5903a3820 --- /dev/null +++ b/inherit_graph_34.md5 @@ -0,0 +1 @@ +a4c081e9cc5947c6ae7738403d27a430 \ No newline at end of file diff --git a/inherit_graph_34.svg b/inherit_graph_34.svg new file mode 100644 index 000000000..87fd8a0be --- /dev/null +++ b/inherit_graph_34.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +lspserver::DocumentLink + + + + + diff --git a/inherit_graph_35.map b/inherit_graph_35.map new file mode 100644 index 000000000..ed3b6fe52 --- /dev/null +++ b/inherit_graph_35.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_35.md5 b/inherit_graph_35.md5 new file mode 100644 index 000000000..21a00f49b --- /dev/null +++ b/inherit_graph_35.md5 @@ -0,0 +1 @@ +5dafa36bcb8dcc92c74aac5d6f337138 \ No newline at end of file diff --git a/inherit_graph_35.svg b/inherit_graph_35.svg new file mode 100644 index 000000000..49e2a4a01 --- /dev/null +++ b/inherit_graph_35.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +lspserver::DocumentLinkParams + + + + + diff --git a/inherit_graph_36.map b/inherit_graph_36.map new file mode 100644 index 000000000..c6fa2807f --- /dev/null +++ b/inherit_graph_36.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_36.md5 b/inherit_graph_36.md5 new file mode 100644 index 000000000..bc09d4349 --- /dev/null +++ b/inherit_graph_36.md5 @@ -0,0 +1 @@ +b32b47244602f6f208f146525a016e0b \ No newline at end of file diff --git a/inherit_graph_36.svg b/inherit_graph_36.svg new file mode 100644 index 000000000..87ad240ce --- /dev/null +++ b/inherit_graph_36.svg @@ -0,0 +1,22 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +lspserver::DocumentOnType +FormattingParams + + + + + diff --git a/inherit_graph_37.map b/inherit_graph_37.map new file mode 100644 index 000000000..677774ffc --- /dev/null +++ b/inherit_graph_37.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_37.md5 b/inherit_graph_37.md5 new file mode 100644 index 000000000..7e55e0e5a --- /dev/null +++ b/inherit_graph_37.md5 @@ -0,0 +1 @@ +a09fdab62bf473e8f387e8d8db97fbe2 \ No newline at end of file diff --git a/inherit_graph_37.svg b/inherit_graph_37.svg new file mode 100644 index 000000000..afab92a36 --- /dev/null +++ b/inherit_graph_37.svg @@ -0,0 +1,22 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +lspserver::DocumentRange +FormattingParams + + + + + diff --git a/inherit_graph_38.map b/inherit_graph_38.map new file mode 100644 index 000000000..e2d4389c2 --- /dev/null +++ b/inherit_graph_38.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_38.md5 b/inherit_graph_38.md5 new file mode 100644 index 000000000..e784e22c4 --- /dev/null +++ b/inherit_graph_38.md5 @@ -0,0 +1 @@ +583019ab01d01aeb6953753e44c6e694 \ No newline at end of file diff --git a/inherit_graph_38.svg b/inherit_graph_38.svg new file mode 100644 index 000000000..a1364e9e2 --- /dev/null +++ b/inherit_graph_38.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +lspserver::DocumentSymbol + + + + + diff --git a/inherit_graph_39.map b/inherit_graph_39.map new file mode 100644 index 000000000..541ecc625 --- /dev/null +++ b/inherit_graph_39.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_39.md5 b/inherit_graph_39.md5 new file mode 100644 index 000000000..299e26a0c --- /dev/null +++ b/inherit_graph_39.md5 @@ -0,0 +1 @@ +c7e2d2dbb03eb1d36f79a2ed9096ca79 \ No newline at end of file diff --git a/inherit_graph_39.svg b/inherit_graph_39.svg new file mode 100644 index 000000000..bebef16b3 --- /dev/null +++ b/inherit_graph_39.svg @@ -0,0 +1,22 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +lspserver::DocumentSymbol +Params + + + + + diff --git a/inherit_graph_4.map b/inherit_graph_4.map new file mode 100644 index 000000000..8f76ada71 --- /dev/null +++ b/inherit_graph_4.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_4.md5 b/inherit_graph_4.md5 new file mode 100644 index 000000000..a004d1839 --- /dev/null +++ b/inherit_graph_4.md5 @@ -0,0 +1 @@ +699515f3e9c8d6e52f3d49757db2aadd \ No newline at end of file diff --git a/inherit_graph_4.svg b/inherit_graph_4.svg new file mode 100644 index 000000000..ce5c59d65 --- /dev/null +++ b/inherit_graph_4.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +lspserver::ASTNode + + + + + diff --git a/inherit_graph_40.map b/inherit_graph_40.map new file mode 100644 index 000000000..f45d1bf04 --- /dev/null +++ b/inherit_graph_40.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_40.md5 b/inherit_graph_40.md5 new file mode 100644 index 000000000..4f55dc89c --- /dev/null +++ b/inherit_graph_40.md5 @@ -0,0 +1 @@ +1083ace1d23bd54269b9a153e6c7422c \ No newline at end of file diff --git a/inherit_graph_40.svg b/inherit_graph_40.svg new file mode 100644 index 000000000..c3c6c4dbc --- /dev/null +++ b/inherit_graph_40.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +lspserver::DraftStore + + + + + diff --git a/inherit_graph_41.map b/inherit_graph_41.map new file mode 100644 index 000000000..ac2dea24d --- /dev/null +++ b/inherit_graph_41.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_41.md5 b/inherit_graph_41.md5 new file mode 100644 index 000000000..eb9ccbff8 --- /dev/null +++ b/inherit_graph_41.md5 @@ -0,0 +1 @@ +be5192850a158fbb589befd66c81c46f \ No newline at end of file diff --git a/inherit_graph_41.svg b/inherit_graph_41.svg new file mode 100644 index 000000000..56cdf4a21 --- /dev/null +++ b/inherit_graph_41.svg @@ -0,0 +1,22 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +lspserver::DraftStore +::Draft + + + + + diff --git a/inherit_graph_42.map b/inherit_graph_42.map new file mode 100644 index 000000000..a87865073 --- /dev/null +++ b/inherit_graph_42.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_42.md5 b/inherit_graph_42.md5 new file mode 100644 index 000000000..204881772 --- /dev/null +++ b/inherit_graph_42.md5 @@ -0,0 +1 @@ +89849241e538be19be1babd8fb556638 \ No newline at end of file diff --git a/inherit_graph_42.svg b/inherit_graph_42.svg new file mode 100644 index 000000000..12126d54c --- /dev/null +++ b/inherit_graph_42.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +lspserver::Event< T > + + + + + diff --git a/inherit_graph_43.map b/inherit_graph_43.map new file mode 100644 index 000000000..6df3f57f5 --- /dev/null +++ b/inherit_graph_43.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_43.md5 b/inherit_graph_43.md5 new file mode 100644 index 000000000..ea9301fd1 --- /dev/null +++ b/inherit_graph_43.md5 @@ -0,0 +1 @@ +c5b5c0e24b5cae5ca8b430505bbbbc66 \ No newline at end of file diff --git a/inherit_graph_43.svg b/inherit_graph_43.svg new file mode 100644 index 000000000..7733dfd97 --- /dev/null +++ b/inherit_graph_43.svg @@ -0,0 +1,22 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +lspserver::Event< T + >::Subscription + + + + + diff --git a/inherit_graph_44.map b/inherit_graph_44.map new file mode 100644 index 000000000..2c68c209e --- /dev/null +++ b/inherit_graph_44.map @@ -0,0 +1,5 @@ + + + + + diff --git a/inherit_graph_44.md5 b/inherit_graph_44.md5 new file mode 100644 index 000000000..0077fd027 --- /dev/null +++ b/inherit_graph_44.md5 @@ -0,0 +1 @@ +c62011d9e7941625cdf32bf5d47c03aa \ No newline at end of file diff --git a/inherit_graph_44.svg b/inherit_graph_44.svg new file mode 100644 index 000000000..0ff1221f7 --- /dev/null +++ b/inherit_graph_44.svg @@ -0,0 +1,40 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +lspserver::ExecuteCommand +Params + + + + + +Node1 + + +lspserver::Command + + + + + +Node0->Node1 + + + + + + + + diff --git a/inherit_graph_45.map b/inherit_graph_45.map new file mode 100644 index 000000000..4989036ad --- /dev/null +++ b/inherit_graph_45.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_45.md5 b/inherit_graph_45.md5 new file mode 100644 index 000000000..056088b25 --- /dev/null +++ b/inherit_graph_45.md5 @@ -0,0 +1 @@ +b63e20a2c888854a4ce868568ed037a6 \ No newline at end of file diff --git a/inherit_graph_45.svg b/inherit_graph_45.svg new file mode 100644 index 000000000..bda69d91f --- /dev/null +++ b/inherit_graph_45.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +lspserver::FileEvent + + + + + diff --git a/inherit_graph_46.map b/inherit_graph_46.map new file mode 100644 index 000000000..e15d8f672 --- /dev/null +++ b/inherit_graph_46.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_46.md5 b/inherit_graph_46.md5 new file mode 100644 index 000000000..1fa925006 --- /dev/null +++ b/inherit_graph_46.md5 @@ -0,0 +1 @@ +6859ebec7c43fa3fa5651617b98b64e4 \ No newline at end of file diff --git a/inherit_graph_46.svg b/inherit_graph_46.svg new file mode 100644 index 000000000..498a78386 --- /dev/null +++ b/inherit_graph_46.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +lspserver::FileStatus + + + + + diff --git a/inherit_graph_47.map b/inherit_graph_47.map new file mode 100644 index 000000000..28f2c5cd2 --- /dev/null +++ b/inherit_graph_47.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_47.md5 b/inherit_graph_47.md5 new file mode 100644 index 000000000..2da4c3c86 --- /dev/null +++ b/inherit_graph_47.md5 @@ -0,0 +1 @@ +17c613058029017f1a478f488c011f6d \ No newline at end of file diff --git a/inherit_graph_47.svg b/inherit_graph_47.svg new file mode 100644 index 000000000..de60630a2 --- /dev/null +++ b/inherit_graph_47.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +lspserver::FoldingRange + + + + + diff --git a/inherit_graph_48.map b/inherit_graph_48.map new file mode 100644 index 000000000..a7392618d --- /dev/null +++ b/inherit_graph_48.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_48.md5 b/inherit_graph_48.md5 new file mode 100644 index 000000000..ee447ebc4 --- /dev/null +++ b/inherit_graph_48.md5 @@ -0,0 +1 @@ +4bf13c6fcad0f4b7a80a59699b17ad16 \ No newline at end of file diff --git a/inherit_graph_48.svg b/inherit_graph_48.svg new file mode 100644 index 000000000..54e7b1562 --- /dev/null +++ b/inherit_graph_48.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +lspserver::FoldingRangeParams + + + + + diff --git a/inherit_graph_49.map b/inherit_graph_49.map new file mode 100644 index 000000000..4f460bb02 --- /dev/null +++ b/inherit_graph_49.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_49.md5 b/inherit_graph_49.md5 new file mode 100644 index 000000000..1ddd167bd --- /dev/null +++ b/inherit_graph_49.md5 @@ -0,0 +1 @@ +84f27a4091404218d7eabbb0edc9f8a4 \ No newline at end of file diff --git a/inherit_graph_49.svg b/inherit_graph_49.svg new file mode 100644 index 000000000..d877b5481 --- /dev/null +++ b/inherit_graph_49.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +lspserver::HandlerRegistry + + + + + diff --git a/inherit_graph_5.map b/inherit_graph_5.map new file mode 100644 index 000000000..088130245 --- /dev/null +++ b/inherit_graph_5.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_5.md5 b/inherit_graph_5.md5 new file mode 100644 index 000000000..2927eb235 --- /dev/null +++ b/inherit_graph_5.md5 @@ -0,0 +1 @@ +376bd1f441ef5e274b582cfec308d72b \ No newline at end of file diff --git a/inherit_graph_5.svg b/inherit_graph_5.svg new file mode 100644 index 000000000..193332999 --- /dev/null +++ b/inherit_graph_5.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +lspserver::ASTParams + + + + + diff --git a/inherit_graph_50.map b/inherit_graph_50.map new file mode 100644 index 000000000..ab33d3109 --- /dev/null +++ b/inherit_graph_50.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_50.md5 b/inherit_graph_50.md5 new file mode 100644 index 000000000..ef0bec671 --- /dev/null +++ b/inherit_graph_50.md5 @@ -0,0 +1 @@ +6058faa207c6256d509c9d62efe6033a \ No newline at end of file diff --git a/inherit_graph_50.svg b/inherit_graph_50.svg new file mode 100644 index 000000000..c316fb503 --- /dev/null +++ b/inherit_graph_50.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +lspserver::Hover + + + + + diff --git a/inherit_graph_51.map b/inherit_graph_51.map new file mode 100644 index 000000000..9cfb716ca --- /dev/null +++ b/inherit_graph_51.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_51.md5 b/inherit_graph_51.md5 new file mode 100644 index 000000000..47a43a3b9 --- /dev/null +++ b/inherit_graph_51.md5 @@ -0,0 +1 @@ +74c59d233d708619f34406151807b34c \ No newline at end of file diff --git a/inherit_graph_51.svg b/inherit_graph_51.svg new file mode 100644 index 000000000..8a8576859 --- /dev/null +++ b/inherit_graph_51.svg @@ -0,0 +1,22 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +lspserver::InactiveRegions +Params + + + + + diff --git a/inherit_graph_52.map b/inherit_graph_52.map new file mode 100644 index 000000000..46cde1332 --- /dev/null +++ b/inherit_graph_52.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_52.md5 b/inherit_graph_52.md5 new file mode 100644 index 000000000..4aa32134a --- /dev/null +++ b/inherit_graph_52.md5 @@ -0,0 +1 @@ +b38cd0a8ed7e59e453ffb926ca100ea7 \ No newline at end of file diff --git a/inherit_graph_52.svg b/inherit_graph_52.svg new file mode 100644 index 000000000..83b1cb2b9 --- /dev/null +++ b/inherit_graph_52.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +lspserver::InboundPort + + + + + diff --git a/inherit_graph_53.map b/inherit_graph_53.map new file mode 100644 index 000000000..64b4ef040 --- /dev/null +++ b/inherit_graph_53.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_53.md5 b/inherit_graph_53.md5 new file mode 100644 index 000000000..c11189bd5 --- /dev/null +++ b/inherit_graph_53.md5 @@ -0,0 +1 @@ +f9379bff28c28c183d703445709639a1 \ No newline at end of file diff --git a/inherit_graph_53.svg b/inherit_graph_53.svg new file mode 100644 index 000000000..d3b3ad504 --- /dev/null +++ b/inherit_graph_53.svg @@ -0,0 +1,22 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +lspserver::Initialization +Options + + + + + diff --git a/inherit_graph_54.map b/inherit_graph_54.map new file mode 100644 index 000000000..07ecb3091 --- /dev/null +++ b/inherit_graph_54.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_54.md5 b/inherit_graph_54.md5 new file mode 100644 index 000000000..4ab9d3867 --- /dev/null +++ b/inherit_graph_54.md5 @@ -0,0 +1 @@ +c192c25a8916a761bb71d2a38be91ff0 \ No newline at end of file diff --git a/inherit_graph_54.svg b/inherit_graph_54.svg new file mode 100644 index 000000000..fe2ef08cc --- /dev/null +++ b/inherit_graph_54.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +lspserver::InitializeParams + + + + + diff --git a/inherit_graph_55.map b/inherit_graph_55.map new file mode 100644 index 000000000..e08919441 --- /dev/null +++ b/inherit_graph_55.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_55.md5 b/inherit_graph_55.md5 new file mode 100644 index 000000000..c95df9ec1 --- /dev/null +++ b/inherit_graph_55.md5 @@ -0,0 +1 @@ +693c43c8fc438809224f534791f2cfcc \ No newline at end of file diff --git a/inherit_graph_55.svg b/inherit_graph_55.svg new file mode 100644 index 000000000..ec6bda5f7 --- /dev/null +++ b/inherit_graph_55.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +lspserver::InlayHint + + + + + diff --git a/inherit_graph_56.map b/inherit_graph_56.map new file mode 100644 index 000000000..c999ecc89 --- /dev/null +++ b/inherit_graph_56.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_56.md5 b/inherit_graph_56.md5 new file mode 100644 index 000000000..50e6d932d --- /dev/null +++ b/inherit_graph_56.md5 @@ -0,0 +1 @@ +520cfc2871f02dc0b90b8aa4c93878ce \ No newline at end of file diff --git a/inherit_graph_56.svg b/inherit_graph_56.svg new file mode 100644 index 000000000..f46de69e1 --- /dev/null +++ b/inherit_graph_56.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +lspserver::InlayHintsParams + + + + + diff --git a/inherit_graph_57.map b/inherit_graph_57.map new file mode 100644 index 000000000..79637ce96 --- /dev/null +++ b/inherit_graph_57.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_57.md5 b/inherit_graph_57.md5 new file mode 100644 index 000000000..2d5819280 --- /dev/null +++ b/inherit_graph_57.md5 @@ -0,0 +1 @@ +d07471d324b2aae91d5d5d3f2486e9b7 \ No newline at end of file diff --git a/inherit_graph_57.svg b/inherit_graph_57.svg new file mode 100644 index 000000000..95b86e7e0 --- /dev/null +++ b/inherit_graph_57.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +lspserver::Key< Type > + + + + + diff --git a/inherit_graph_58.map b/inherit_graph_58.map new file mode 100644 index 000000000..26600d1c4 --- /dev/null +++ b/inherit_graph_58.map @@ -0,0 +1,5 @@ + + + + + diff --git a/inherit_graph_58.md5 b/inherit_graph_58.md5 new file mode 100644 index 000000000..118274955 --- /dev/null +++ b/inherit_graph_58.md5 @@ -0,0 +1 @@ +6fa47bdd88136b1535c830a32c9f040f \ No newline at end of file diff --git a/inherit_graph_58.svg b/inherit_graph_58.svg new file mode 100644 index 000000000..55a7d67c9 --- /dev/null +++ b/inherit_graph_58.svg @@ -0,0 +1,39 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +lspserver::Location + + + + + +Node1 + + +lspserver::ReferenceLocation + + + + + +Node0->Node1 + + + + + + + + diff --git a/inherit_graph_59.map b/inherit_graph_59.map new file mode 100644 index 000000000..ac9c57f3f --- /dev/null +++ b/inherit_graph_59.map @@ -0,0 +1,5 @@ + + + + + diff --git a/inherit_graph_59.md5 b/inherit_graph_59.md5 new file mode 100644 index 000000000..3a15bbc4b --- /dev/null +++ b/inherit_graph_59.md5 @@ -0,0 +1 @@ +0501b6befedef185cdc34d162334a51b \ No newline at end of file diff --git a/inherit_graph_59.svg b/inherit_graph_59.svg new file mode 100644 index 000000000..f05672231 --- /dev/null +++ b/inherit_graph_59.svg @@ -0,0 +1,39 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +lspserver::Logger + + + + + +Node1 + + +lspserver::StreamLogger + + + + + +Node0->Node1 + + + + + + + + diff --git a/inherit_graph_6.map b/inherit_graph_6.map new file mode 100644 index 000000000..7e1be496e --- /dev/null +++ b/inherit_graph_6.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_6.md5 b/inherit_graph_6.md5 new file mode 100644 index 000000000..f4b1d3b06 --- /dev/null +++ b/inherit_graph_6.md5 @@ -0,0 +1 @@ +460b754ecac96c9f8a78aab96135e5d7 \ No newline at end of file diff --git a/inherit_graph_6.svg b/inherit_graph_6.svg new file mode 100644 index 000000000..2cf110486 --- /dev/null +++ b/inherit_graph_6.svg @@ -0,0 +1,22 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +lspserver::CallHierarchy +IncomingCall + + + + + diff --git a/inherit_graph_60.map b/inherit_graph_60.map new file mode 100644 index 000000000..fc433d0e3 --- /dev/null +++ b/inherit_graph_60.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_60.md5 b/inherit_graph_60.md5 new file mode 100644 index 000000000..d16394de8 --- /dev/null +++ b/inherit_graph_60.md5 @@ -0,0 +1 @@ +369909e74cb7ad9a57b7ce75da493d6e \ No newline at end of file diff --git a/inherit_graph_60.svg b/inherit_graph_60.svg new file mode 100644 index 000000000..84c6d0f7f --- /dev/null +++ b/inherit_graph_60.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +lspserver::LoggingSession + + + + + diff --git a/inherit_graph_61.map b/inherit_graph_61.map new file mode 100644 index 000000000..af8b5130f --- /dev/null +++ b/inherit_graph_61.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_61.md5 b/inherit_graph_61.md5 new file mode 100644 index 000000000..6c27feb33 --- /dev/null +++ b/inherit_graph_61.md5 @@ -0,0 +1 @@ +38ca2900f2a4cce43b59775d99bc7a00 \ No newline at end of file diff --git a/inherit_graph_61.svg b/inherit_graph_61.svg new file mode 100644 index 000000000..f8f51d617 --- /dev/null +++ b/inherit_graph_61.svg @@ -0,0 +1,22 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +lspserver::LSPDiagnostic +Compare + + + + + diff --git a/inherit_graph_62.map b/inherit_graph_62.map new file mode 100644 index 000000000..03466186f --- /dev/null +++ b/inherit_graph_62.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_62.md5 b/inherit_graph_62.md5 new file mode 100644 index 000000000..ecba7fcb2 --- /dev/null +++ b/inherit_graph_62.md5 @@ -0,0 +1 @@ +9a83d2641d04ce774e8a67d152b0688c \ No newline at end of file diff --git a/inherit_graph_62.svg b/inherit_graph_62.svg new file mode 100644 index 000000000..30c25ed9e --- /dev/null +++ b/inherit_graph_62.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +lspserver::MarkupContent + + + + + diff --git a/inherit_graph_63.map b/inherit_graph_63.map new file mode 100644 index 000000000..4e6779865 --- /dev/null +++ b/inherit_graph_63.map @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/inherit_graph_63.md5 b/inherit_graph_63.md5 new file mode 100644 index 000000000..1ecd10ad9 --- /dev/null +++ b/inherit_graph_63.md5 @@ -0,0 +1 @@ +6ba324e44935e63a9284a8ac001fcfe2 \ No newline at end of file diff --git a/inherit_graph_63.svg b/inherit_graph_63.svg new file mode 100644 index 000000000..15f462e20 --- /dev/null +++ b/inherit_graph_63.svg @@ -0,0 +1,111 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +lspserver::MessageHandler + + + + + +Node1 + + +lspserver::LSPServer + + + + + +Node0->Node1 + + + + + + + + +Node2 + + +nixd::Controller + + + + + +Node1->Node2 + + + + + + + + +Node3 + + +nixd::EvalClient + + + + + +Node1->Node3 + + + + + + + + +Node5 + + +nixd::EvalProvider + + + + + +Node1->Node5 + + + + + + + + +Node4 + + +nixd::OwnedEvalClient + + + + + +Node3->Node4 + + + + + + + + diff --git a/inherit_graph_64.map b/inherit_graph_64.map new file mode 100644 index 000000000..08df3b49a --- /dev/null +++ b/inherit_graph_64.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_64.md5 b/inherit_graph_64.md5 new file mode 100644 index 000000000..124c2fe36 --- /dev/null +++ b/inherit_graph_64.md5 @@ -0,0 +1 @@ +30a31bd7a90140f84d7a39181f2c84e8 \ No newline at end of file diff --git a/inherit_graph_64.svg b/inherit_graph_64.svg new file mode 100644 index 000000000..9a90553d4 --- /dev/null +++ b/inherit_graph_64.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +lspserver::NoParams + + + + + diff --git a/inherit_graph_65.map b/inherit_graph_65.map new file mode 100644 index 000000000..a5e30d7cf --- /dev/null +++ b/inherit_graph_65.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_65.md5 b/inherit_graph_65.md5 new file mode 100644 index 000000000..f9e49ddcd --- /dev/null +++ b/inherit_graph_65.md5 @@ -0,0 +1 @@ +bffac4ceb3fc571bf410e456a2098306 \ No newline at end of file diff --git a/inherit_graph_65.svg b/inherit_graph_65.svg new file mode 100644 index 000000000..9dbab988e --- /dev/null +++ b/inherit_graph_65.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +lspserver::OutboundPort + + + + + diff --git a/inherit_graph_66.map b/inherit_graph_66.map new file mode 100644 index 000000000..99e4cfee8 --- /dev/null +++ b/inherit_graph_66.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_66.md5 b/inherit_graph_66.md5 new file mode 100644 index 000000000..e8aeeaf70 --- /dev/null +++ b/inherit_graph_66.md5 @@ -0,0 +1 @@ +be72c2f833f44eb0cfe34e713bdf16c8 \ No newline at end of file diff --git a/inherit_graph_66.svg b/inherit_graph_66.svg new file mode 100644 index 000000000..7a75db2db --- /dev/null +++ b/inherit_graph_66.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +lspserver::ParameterInformation + + + + + diff --git a/inherit_graph_67.map b/inherit_graph_67.map new file mode 100644 index 000000000..82e5daf09 --- /dev/null +++ b/inherit_graph_67.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_67.md5 b/inherit_graph_67.md5 new file mode 100644 index 000000000..cfa0c7f7c --- /dev/null +++ b/inherit_graph_67.md5 @@ -0,0 +1 @@ +2bea51a9808af1b70df05f3ce0ad3242 \ No newline at end of file diff --git a/inherit_graph_67.svg b/inherit_graph_67.svg new file mode 100644 index 000000000..077498853 --- /dev/null +++ b/inherit_graph_67.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +lspserver::Position + + + + + diff --git a/inherit_graph_68.map b/inherit_graph_68.map new file mode 100644 index 000000000..6a65002d6 --- /dev/null +++ b/inherit_graph_68.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_68.md5 b/inherit_graph_68.md5 new file mode 100644 index 000000000..45cc361bd --- /dev/null +++ b/inherit_graph_68.md5 @@ -0,0 +1 @@ +517fa1eee919a2ac05b396066f011ab1 \ No newline at end of file diff --git a/inherit_graph_68.svg b/inherit_graph_68.svg new file mode 100644 index 000000000..5b72d04c5 --- /dev/null +++ b/inherit_graph_68.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +lspserver::ProgressParams< T > + + + + + diff --git a/inherit_graph_69.map b/inherit_graph_69.map new file mode 100644 index 000000000..8df069794 --- /dev/null +++ b/inherit_graph_69.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_69.md5 b/inherit_graph_69.md5 new file mode 100644 index 000000000..6ab0d167b --- /dev/null +++ b/inherit_graph_69.md5 @@ -0,0 +1 @@ +f7978c39b4920d494eddfa9184b7bde1 \ No newline at end of file diff --git a/inherit_graph_69.svg b/inherit_graph_69.svg new file mode 100644 index 000000000..5002c423e --- /dev/null +++ b/inherit_graph_69.svg @@ -0,0 +1,22 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +lspserver::PublishDiagnostics +Params + + + + + diff --git a/inherit_graph_7.map b/inherit_graph_7.map new file mode 100644 index 000000000..85c2a18c6 --- /dev/null +++ b/inherit_graph_7.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_7.md5 b/inherit_graph_7.md5 new file mode 100644 index 000000000..93f168748 --- /dev/null +++ b/inherit_graph_7.md5 @@ -0,0 +1 @@ +37ddfec3c0734edbfb98d0dbaf8482d7 \ No newline at end of file diff --git a/inherit_graph_7.svg b/inherit_graph_7.svg new file mode 100644 index 000000000..6bbf2b0fb --- /dev/null +++ b/inherit_graph_7.svg @@ -0,0 +1,22 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +lspserver::CallHierarchy +IncomingCallsParams + + + + + diff --git a/inherit_graph_70.map b/inherit_graph_70.map new file mode 100644 index 000000000..faaba0728 --- /dev/null +++ b/inherit_graph_70.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_70.md5 b/inherit_graph_70.md5 new file mode 100644 index 000000000..13d910267 --- /dev/null +++ b/inherit_graph_70.md5 @@ -0,0 +1 @@ +12ea04e22c13fe8e6cc87590eae8afd3 \ No newline at end of file diff --git a/inherit_graph_70.svg b/inherit_graph_70.svg new file mode 100644 index 000000000..876b0d69e --- /dev/null +++ b/inherit_graph_70.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +lspserver::Range + + + + + diff --git a/inherit_graph_71.map b/inherit_graph_71.map new file mode 100644 index 000000000..cddce530b --- /dev/null +++ b/inherit_graph_71.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_71.md5 b/inherit_graph_71.md5 new file mode 100644 index 000000000..7f184b541 --- /dev/null +++ b/inherit_graph_71.md5 @@ -0,0 +1 @@ +9a9bc9df4a3c281544b20224a35cc450 \ No newline at end of file diff --git a/inherit_graph_71.svg b/inherit_graph_71.svg new file mode 100644 index 000000000..e029f3e11 --- /dev/null +++ b/inherit_graph_71.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +lspserver::ReferenceContext + + + + + diff --git a/inherit_graph_72.map b/inherit_graph_72.map new file mode 100644 index 000000000..8943b74d9 --- /dev/null +++ b/inherit_graph_72.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_72.md5 b/inherit_graph_72.md5 new file mode 100644 index 000000000..898065d4a --- /dev/null +++ b/inherit_graph_72.md5 @@ -0,0 +1 @@ +4065a88ac0cdb153cef582f3ff5a441c \ No newline at end of file diff --git a/inherit_graph_72.svg b/inherit_graph_72.svg new file mode 100644 index 000000000..c2fe0641d --- /dev/null +++ b/inherit_graph_72.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +lspserver::RenameParams + + + + + diff --git a/inherit_graph_73.map b/inherit_graph_73.map new file mode 100644 index 000000000..fc653fba1 --- /dev/null +++ b/inherit_graph_73.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_73.md5 b/inherit_graph_73.md5 new file mode 100644 index 000000000..3aa3b82d5 --- /dev/null +++ b/inherit_graph_73.md5 @@ -0,0 +1 @@ +3fb4acba5eab284277dbbc4e0d008581 \ No newline at end of file diff --git a/inherit_graph_73.svg b/inherit_graph_73.svg new file mode 100644 index 000000000..ee598293c --- /dev/null +++ b/inherit_graph_73.svg @@ -0,0 +1,22 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +lspserver::ResolveTypeHierarchy +ItemParams + + + + + diff --git a/inherit_graph_74.map b/inherit_graph_74.map new file mode 100644 index 000000000..4632f3843 --- /dev/null +++ b/inherit_graph_74.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_74.md5 b/inherit_graph_74.md5 new file mode 100644 index 000000000..6836e88e0 --- /dev/null +++ b/inherit_graph_74.md5 @@ -0,0 +1 @@ +01f82cd9db71c97c10f734879ffe837e \ No newline at end of file diff --git a/inherit_graph_74.svg b/inherit_graph_74.svg new file mode 100644 index 000000000..974e9086b --- /dev/null +++ b/inherit_graph_74.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +lspserver::SelectionRange + + + + + diff --git a/inherit_graph_75.map b/inherit_graph_75.map new file mode 100644 index 000000000..180f3be24 --- /dev/null +++ b/inherit_graph_75.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_75.md5 b/inherit_graph_75.md5 new file mode 100644 index 000000000..3ce8eddf7 --- /dev/null +++ b/inherit_graph_75.md5 @@ -0,0 +1 @@ +1436eb4ec4a2a9838f8e5286d8f4c25c \ No newline at end of file diff --git a/inherit_graph_75.svg b/inherit_graph_75.svg new file mode 100644 index 000000000..39a631add --- /dev/null +++ b/inherit_graph_75.svg @@ -0,0 +1,22 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +lspserver::SelectionRange +Params + + + + + diff --git a/inherit_graph_76.map b/inherit_graph_76.map new file mode 100644 index 000000000..9f67a6a85 --- /dev/null +++ b/inherit_graph_76.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_76.md5 b/inherit_graph_76.md5 new file mode 100644 index 000000000..cd5c53503 --- /dev/null +++ b/inherit_graph_76.md5 @@ -0,0 +1 @@ +7bf9d04cfa73cbb271eb085ed046d2bf \ No newline at end of file diff --git a/inherit_graph_76.svg b/inherit_graph_76.svg new file mode 100644 index 000000000..17d521aa7 --- /dev/null +++ b/inherit_graph_76.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +lspserver::SemanticToken + + + + + diff --git a/inherit_graph_77.map b/inherit_graph_77.map new file mode 100644 index 000000000..27c8eded8 --- /dev/null +++ b/inherit_graph_77.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_77.md5 b/inherit_graph_77.md5 new file mode 100644 index 000000000..efb7ee4d6 --- /dev/null +++ b/inherit_graph_77.md5 @@ -0,0 +1 @@ +eee990d72bb7556fea7d843f754b6f85 \ No newline at end of file diff --git a/inherit_graph_77.svg b/inherit_graph_77.svg new file mode 100644 index 000000000..c03427336 --- /dev/null +++ b/inherit_graph_77.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +lspserver::SemanticTokens + + + + + diff --git a/inherit_graph_78.map b/inherit_graph_78.map new file mode 100644 index 000000000..79b3fbebc --- /dev/null +++ b/inherit_graph_78.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_78.md5 b/inherit_graph_78.md5 new file mode 100644 index 000000000..719dafc89 --- /dev/null +++ b/inherit_graph_78.md5 @@ -0,0 +1 @@ +75389506b462b3c1cfd2dc18bf5fe3f8 \ No newline at end of file diff --git a/inherit_graph_78.svg b/inherit_graph_78.svg new file mode 100644 index 000000000..bd67dd0a9 --- /dev/null +++ b/inherit_graph_78.svg @@ -0,0 +1,22 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +lspserver::SemanticTokens +DeltaParams + + + + + diff --git a/inherit_graph_79.map b/inherit_graph_79.map new file mode 100644 index 000000000..81cdf445d --- /dev/null +++ b/inherit_graph_79.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_79.md5 b/inherit_graph_79.md5 new file mode 100644 index 000000000..72274fcef --- /dev/null +++ b/inherit_graph_79.md5 @@ -0,0 +1 @@ +2f421b021e1524fcb5fc1c922f24aa34 \ No newline at end of file diff --git a/inherit_graph_79.svg b/inherit_graph_79.svg new file mode 100644 index 000000000..ab6441593 --- /dev/null +++ b/inherit_graph_79.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +lspserver::SemanticTokensEdit + + + + + diff --git a/inherit_graph_8.map b/inherit_graph_8.map new file mode 100644 index 000000000..6e15f7961 --- /dev/null +++ b/inherit_graph_8.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_8.md5 b/inherit_graph_8.md5 new file mode 100644 index 000000000..e3d6e3aec --- /dev/null +++ b/inherit_graph_8.md5 @@ -0,0 +1 @@ +0483caec29b7e875fbf7ae433e07bd40 \ No newline at end of file diff --git a/inherit_graph_8.svg b/inherit_graph_8.svg new file mode 100644 index 000000000..7ef8667fc --- /dev/null +++ b/inherit_graph_8.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +lspserver::CallHierarchyItem + + + + + diff --git a/inherit_graph_80.map b/inherit_graph_80.map new file mode 100644 index 000000000..83f0632e2 --- /dev/null +++ b/inherit_graph_80.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_80.md5 b/inherit_graph_80.md5 new file mode 100644 index 000000000..af240f39e --- /dev/null +++ b/inherit_graph_80.md5 @@ -0,0 +1 @@ +92d5693d1a9858bfbeb3f18a114575ea \ No newline at end of file diff --git a/inherit_graph_80.svg b/inherit_graph_80.svg new file mode 100644 index 000000000..9e3fc036b --- /dev/null +++ b/inherit_graph_80.svg @@ -0,0 +1,22 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +lspserver::SemanticTokens +OrDelta + + + + + diff --git a/inherit_graph_81.map b/inherit_graph_81.map new file mode 100644 index 000000000..5fc01053f --- /dev/null +++ b/inherit_graph_81.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_81.md5 b/inherit_graph_81.md5 new file mode 100644 index 000000000..8a9312058 --- /dev/null +++ b/inherit_graph_81.md5 @@ -0,0 +1 @@ +d320426b472e638505e1adf348429c61 \ No newline at end of file diff --git a/inherit_graph_81.svg b/inherit_graph_81.svg new file mode 100644 index 000000000..0744893a6 --- /dev/null +++ b/inherit_graph_81.svg @@ -0,0 +1,22 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +lspserver::SemanticTokens +Params + + + + + diff --git a/inherit_graph_82.map b/inherit_graph_82.map new file mode 100644 index 000000000..159caea77 --- /dev/null +++ b/inherit_graph_82.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_82.md5 b/inherit_graph_82.md5 new file mode 100644 index 000000000..2e373cb81 --- /dev/null +++ b/inherit_graph_82.md5 @@ -0,0 +1 @@ +a931b4675b79974ccf0c195d1f583d5f \ No newline at end of file diff --git a/inherit_graph_82.svg b/inherit_graph_82.svg new file mode 100644 index 000000000..565a0fb9c --- /dev/null +++ b/inherit_graph_82.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +lspserver::ShowMessageParams + + + + + diff --git a/inherit_graph_83.map b/inherit_graph_83.map new file mode 100644 index 000000000..2de47ebfb --- /dev/null +++ b/inherit_graph_83.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_83.md5 b/inherit_graph_83.md5 new file mode 100644 index 000000000..1e4a94d40 --- /dev/null +++ b/inherit_graph_83.md5 @@ -0,0 +1 @@ +548191888cfcc155493b7a27c73c39bc \ No newline at end of file diff --git a/inherit_graph_83.svg b/inherit_graph_83.svg new file mode 100644 index 000000000..c76453b51 --- /dev/null +++ b/inherit_graph_83.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +lspserver::SignatureHelp + + + + + diff --git a/inherit_graph_84.map b/inherit_graph_84.map new file mode 100644 index 000000000..db684ec0c --- /dev/null +++ b/inherit_graph_84.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_84.md5 b/inherit_graph_84.md5 new file mode 100644 index 000000000..d5e990021 --- /dev/null +++ b/inherit_graph_84.md5 @@ -0,0 +1 @@ +0f7d4387a65b8ad6fa27dcf54797b47a \ No newline at end of file diff --git a/inherit_graph_84.svg b/inherit_graph_84.svg new file mode 100644 index 000000000..bb24abced --- /dev/null +++ b/inherit_graph_84.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +lspserver::SignatureInformation + + + + + diff --git a/inherit_graph_85.map b/inherit_graph_85.map new file mode 100644 index 000000000..10bbc2400 --- /dev/null +++ b/inherit_graph_85.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_85.md5 b/inherit_graph_85.md5 new file mode 100644 index 000000000..aa0def0a3 --- /dev/null +++ b/inherit_graph_85.md5 @@ -0,0 +1 @@ +d030135e6e99263a23be3c67f3a1557c \ No newline at end of file diff --git a/inherit_graph_85.svg b/inherit_graph_85.svg new file mode 100644 index 000000000..fd97b36d0 --- /dev/null +++ b/inherit_graph_85.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +lspserver::SymbolInformation + + + + + diff --git a/inherit_graph_86.map b/inherit_graph_86.map new file mode 100644 index 000000000..f948239bc --- /dev/null +++ b/inherit_graph_86.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_86.md5 b/inherit_graph_86.md5 new file mode 100644 index 000000000..366aedcbe --- /dev/null +++ b/inherit_graph_86.md5 @@ -0,0 +1 @@ +2ec6128356b3afd464c4151194b3d0aa \ No newline at end of file diff --git a/inherit_graph_86.svg b/inherit_graph_86.svg new file mode 100644 index 000000000..00f212e2f --- /dev/null +++ b/inherit_graph_86.svg @@ -0,0 +1,22 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +lspserver::TextDocumentContent +ChangeEvent + + + + + diff --git a/inherit_graph_87.map b/inherit_graph_87.map new file mode 100644 index 000000000..368b5efd8 --- /dev/null +++ b/inherit_graph_87.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_87.md5 b/inherit_graph_87.md5 new file mode 100644 index 000000000..7bdfa0742 --- /dev/null +++ b/inherit_graph_87.md5 @@ -0,0 +1 @@ +84206df246a71dda0a9895bf9fc1b9f2 \ No newline at end of file diff --git a/inherit_graph_87.svg b/inherit_graph_87.svg new file mode 100644 index 000000000..2b0e45a1a --- /dev/null +++ b/inherit_graph_87.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +lspserver::TextDocumentEdit + + + + + diff --git a/inherit_graph_88.map b/inherit_graph_88.map new file mode 100644 index 000000000..ba4d9fa05 --- /dev/null +++ b/inherit_graph_88.map @@ -0,0 +1,5 @@ + + + + + diff --git a/inherit_graph_88.md5 b/inherit_graph_88.md5 new file mode 100644 index 000000000..27d81fdf2 --- /dev/null +++ b/inherit_graph_88.md5 @@ -0,0 +1 @@ +4b66c80f456b1df7b9f17720bc0f87f9 \ No newline at end of file diff --git a/inherit_graph_88.svg b/inherit_graph_88.svg new file mode 100644 index 000000000..9751ad3db --- /dev/null +++ b/inherit_graph_88.svg @@ -0,0 +1,40 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +lspserver::TextDocumentIdentifier + + + + + +Node1 + + +lspserver::VersionedText +DocumentIdentifier + + + + + +Node0->Node1 + + + + + + + + diff --git a/inherit_graph_89.map b/inherit_graph_89.map new file mode 100644 index 000000000..7981f042a --- /dev/null +++ b/inherit_graph_89.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_89.md5 b/inherit_graph_89.md5 new file mode 100644 index 000000000..2ec3648a0 --- /dev/null +++ b/inherit_graph_89.md5 @@ -0,0 +1 @@ +b6c157414cbd75100a89eba535509dec \ No newline at end of file diff --git a/inherit_graph_89.svg b/inherit_graph_89.svg new file mode 100644 index 000000000..8dfe880a4 --- /dev/null +++ b/inherit_graph_89.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +lspserver::TextDocumentItem + + + + + diff --git a/inherit_graph_9.map b/inherit_graph_9.map new file mode 100644 index 000000000..e7d1a67e6 --- /dev/null +++ b/inherit_graph_9.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_9.md5 b/inherit_graph_9.md5 new file mode 100644 index 000000000..3cff6d0ee --- /dev/null +++ b/inherit_graph_9.md5 @@ -0,0 +1 @@ +b05c8e709d1e119c1f05b41cd57d4c47 \ No newline at end of file diff --git a/inherit_graph_9.svg b/inherit_graph_9.svg new file mode 100644 index 000000000..0896cdbd7 --- /dev/null +++ b/inherit_graph_9.svg @@ -0,0 +1,22 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +lspserver::CallHierarchy +OutgoingCall + + + + + diff --git a/inherit_graph_90.map b/inherit_graph_90.map new file mode 100644 index 000000000..d680bc845 --- /dev/null +++ b/inherit_graph_90.map @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/inherit_graph_90.md5 b/inherit_graph_90.md5 new file mode 100644 index 000000000..9615a80e3 --- /dev/null +++ b/inherit_graph_90.md5 @@ -0,0 +1 @@ +07246743c6711104f50ec9232eab0fce \ No newline at end of file diff --git a/inherit_graph_90.svg b/inherit_graph_90.svg new file mode 100644 index 000000000..725bc7411 --- /dev/null +++ b/inherit_graph_90.svg @@ -0,0 +1,96 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +lspserver::TextDocumentPosition +Params + + + + + +Node1 + + +lspserver::CallHierarchy +PrepareParams + + + + + +Node0->Node1 + + + + + + + + +Node2 + + +lspserver::CompletionParams + + + + + +Node0->Node2 + + + + + + + + +Node3 + + +lspserver::ReferenceParams + + + + + +Node0->Node3 + + + + + + + + +Node4 + + +lspserver::TypeHierarchy +PrepareParams + + + + + +Node0->Node4 + + + + + + + + diff --git a/inherit_graph_91.map b/inherit_graph_91.map new file mode 100644 index 000000000..b3b1f6dc9 --- /dev/null +++ b/inherit_graph_91.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_91.md5 b/inherit_graph_91.md5 new file mode 100644 index 000000000..62da0d39d --- /dev/null +++ b/inherit_graph_91.md5 @@ -0,0 +1 @@ +730c258a1df05edc00fd6ae0f69dce6c \ No newline at end of file diff --git a/inherit_graph_91.svg b/inherit_graph_91.svg new file mode 100644 index 000000000..a7a0286d6 --- /dev/null +++ b/inherit_graph_91.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +lspserver::TextEdit + + + + + diff --git a/inherit_graph_92.map b/inherit_graph_92.map new file mode 100644 index 000000000..39d417437 --- /dev/null +++ b/inherit_graph_92.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_92.md5 b/inherit_graph_92.md5 new file mode 100644 index 000000000..06270bc82 --- /dev/null +++ b/inherit_graph_92.md5 @@ -0,0 +1 @@ +21d1f6df07d319d927530a22188843b0 \ No newline at end of file diff --git a/inherit_graph_92.svg b/inherit_graph_92.svg new file mode 100644 index 000000000..8c2518bb0 --- /dev/null +++ b/inherit_graph_92.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +lspserver::TweakArgs + + + + + diff --git a/inherit_graph_93.map b/inherit_graph_93.map new file mode 100644 index 000000000..5280fa4b3 --- /dev/null +++ b/inherit_graph_93.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_93.md5 b/inherit_graph_93.md5 new file mode 100644 index 000000000..433b15402 --- /dev/null +++ b/inherit_graph_93.md5 @@ -0,0 +1 @@ +2bd5f08babe8bd191d15051fa4b38a42 \ No newline at end of file diff --git a/inherit_graph_93.svg b/inherit_graph_93.svg new file mode 100644 index 000000000..3cffd20f5 --- /dev/null +++ b/inherit_graph_93.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +lspserver::TypeHierarchyItem + + + + + diff --git a/inherit_graph_94.map b/inherit_graph_94.map new file mode 100644 index 000000000..96d2aa7ff --- /dev/null +++ b/inherit_graph_94.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_94.md5 b/inherit_graph_94.md5 new file mode 100644 index 000000000..2052416fe --- /dev/null +++ b/inherit_graph_94.md5 @@ -0,0 +1 @@ +4d14557418c8bec3174a868338a98959 \ No newline at end of file diff --git a/inherit_graph_94.svg b/inherit_graph_94.svg new file mode 100644 index 000000000..62e9d1805 --- /dev/null +++ b/inherit_graph_94.svg @@ -0,0 +1,22 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +lspserver::TypeHierarchy +Item::ResolveParams + + + + + diff --git a/inherit_graph_95.map b/inherit_graph_95.map new file mode 100644 index 000000000..3f665b330 --- /dev/null +++ b/inherit_graph_95.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_95.md5 b/inherit_graph_95.md5 new file mode 100644 index 000000000..d01ad1a0d --- /dev/null +++ b/inherit_graph_95.md5 @@ -0,0 +1 @@ +17417011dc3da8ca4a742f0037c2a435 \ No newline at end of file diff --git a/inherit_graph_95.svg b/inherit_graph_95.svg new file mode 100644 index 000000000..81c6077dc --- /dev/null +++ b/inherit_graph_95.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +lspserver::URI + + + + + diff --git a/inherit_graph_96.map b/inherit_graph_96.map new file mode 100644 index 000000000..584afeb3a --- /dev/null +++ b/inherit_graph_96.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_96.md5 b/inherit_graph_96.md5 new file mode 100644 index 000000000..df9c1696f --- /dev/null +++ b/inherit_graph_96.md5 @@ -0,0 +1 @@ +48937ac8e2d7949be2415a02a0eb8936 \ No newline at end of file diff --git a/inherit_graph_96.svg b/inherit_graph_96.svg new file mode 100644 index 000000000..aea4b8b66 --- /dev/null +++ b/inherit_graph_96.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +lspserver::URIForFile + + + + + diff --git a/inherit_graph_97.map b/inherit_graph_97.map new file mode 100644 index 000000000..ba8167023 --- /dev/null +++ b/inherit_graph_97.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_97.md5 b/inherit_graph_97.md5 new file mode 100644 index 000000000..36eec30f7 --- /dev/null +++ b/inherit_graph_97.md5 @@ -0,0 +1 @@ +19b67b7bc6735a238d1becf99c73d344 \ No newline at end of file diff --git a/inherit_graph_97.svg b/inherit_graph_97.svg new file mode 100644 index 000000000..f238c3284 --- /dev/null +++ b/inherit_graph_97.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +lspserver::URIScheme + + + + + diff --git a/inherit_graph_98.map b/inherit_graph_98.map new file mode 100644 index 000000000..8c589e00f --- /dev/null +++ b/inherit_graph_98.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_98.md5 b/inherit_graph_98.md5 new file mode 100644 index 000000000..eef8feff7 --- /dev/null +++ b/inherit_graph_98.md5 @@ -0,0 +1 @@ +f133283b552dd30dcb83b447467dccd0 \ No newline at end of file diff --git a/inherit_graph_98.svg b/inherit_graph_98.svg new file mode 100644 index 000000000..4b9440f6e --- /dev/null +++ b/inherit_graph_98.svg @@ -0,0 +1,22 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +lspserver::WorkDoneProgress +Begin + + + + + diff --git a/inherit_graph_99.map b/inherit_graph_99.map new file mode 100644 index 000000000..f10ad551f --- /dev/null +++ b/inherit_graph_99.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_99.md5 b/inherit_graph_99.md5 new file mode 100644 index 000000000..3a16565f5 --- /dev/null +++ b/inherit_graph_99.md5 @@ -0,0 +1 @@ +b4d2a5e122107c5ee8994846c85cf0f2 \ No newline at end of file diff --git a/inherit_graph_99.svg b/inherit_graph_99.svg new file mode 100644 index 000000000..145d80e1d --- /dev/null +++ b/inherit_graph_99.svg @@ -0,0 +1,22 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +lspserver::WorkDoneProgress +CreateParams + + + + + diff --git a/inherits.html b/inherits.html new file mode 100644 index 000000000..dc3e42944 --- /dev/null +++ b/inherits.html @@ -0,0 +1,228 @@ + + + + + + + +nixd: Class Hierarchy + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Class Hierarchy
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + diff --git a/jquery.js b/jquery.js new file mode 100644 index 000000000..1dffb65b5 --- /dev/null +++ b/jquery.js @@ -0,0 +1,34 @@ +/*! jQuery v3.6.0 | (c) OpenJS Foundation and other contributors | jquery.org/license */ +!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";var t=[],r=Object.getPrototypeOf,s=t.slice,g=t.flat?function(e){return t.flat.call(e)}:function(e){return t.concat.apply([],e)},u=t.push,i=t.indexOf,n={},o=n.toString,v=n.hasOwnProperty,a=v.toString,l=a.call(Object),y={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType&&"function"!=typeof e.item},x=function(e){return null!=e&&e===e.window},E=C.document,c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.6.0",S=function(e,t){return new S.fn.init(e,t)};function p(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp(F),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+F),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\([^\\r\\n\\f])","g"),ne=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(p.childNodes),p.childNodes),t[p.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&(T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!N[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&(U.test(t)||z.test(t))){(f=ee.test(t)&&ye(e.parentNode)||e)===e&&d.scope||((s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=S)),o=(l=h(t)).length;while(o--)l[o]=(s?"#"+s:":scope")+" "+xe(l[o]);c=l.join(",")}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){N(t,!0)}finally{s===S&&e.removeAttribute("id")}}}return g(t.replace($,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[S]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e&&e.namespaceURI,n=e&&(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:p;return r!=C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),p!=C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.scope=ce(function(e){return a.appendChild(e).appendChild(C.createElement("div")),"undefined"!=typeof e.querySelectorAll&&!e.querySelectorAll(":scope fieldset div").length}),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=S,!C.getElementsByName||!C.getElementsByName(S).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){var t;a.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+S+"-]").length||v.push("~="),(t=C.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||v.push("\\["+M+"*name"+M+"*="+M+"*(?:''|\"\")"),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+S+"+*").length||v.push(".#.+[+~]"),e.querySelectorAll("\\\f"),v.push("[\\r\\n\\f]")}),ce(function(e){e.innerHTML="";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",F)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},j=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e==C||e.ownerDocument==p&&y(p,e)?-1:t==C||t.ownerDocument==p&&y(p,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e==C?-1:t==C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]==p?-1:s[r]==p?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if(T(e),d.matchesSelector&&E&&!N[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){N(t,!0)}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=m[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&m(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,n,r){return m(n)?S.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?S.grep(e,function(e){return e===n!==r}):"string"!=typeof n?S.grep(e,function(e){return-1)[^>]*|#([\w-]+))$/;(S.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||D,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:q.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof S?t[0]:t,S.merge(this,S.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),N.test(r[1])&&S.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(S):S.makeArray(e,this)}).prototype=S.fn,D=S(E);var L=/^(?:parents|prev(?:Until|All))/,H={children:!0,contents:!0,next:!0,prev:!0};function O(e,t){while((e=e[t])&&1!==e.nodeType);return e}S.fn.extend({has:function(e){var t=S(e,this),n=t.length;return this.filter(function(){for(var e=0;e\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i;ce=E.createDocumentFragment().appendChild(E.createElement("div")),(fe=E.createElement("input")).setAttribute("type","radio"),fe.setAttribute("checked","checked"),fe.setAttribute("name","t"),ce.appendChild(fe),y.checkClone=ce.cloneNode(!0).cloneNode(!0).lastChild.checked,ce.innerHTML="",y.noCloneChecked=!!ce.cloneNode(!0).lastChild.defaultValue,ce.innerHTML="",y.option=!!ce.lastChild;var ge={thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};function ve(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?S.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;n",""]);var me=/<|&#?\w+;/;function xe(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d\s*$/g;function je(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&S(e).children("tbody")[0]||e}function De(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function qe(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Le(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(Y.hasData(e)&&(s=Y.get(e).events))for(i in Y.remove(t,"handle events"),s)for(n=0,r=s[i].length;n").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var _t,zt=[],Ut=/(=)\?(?=&|$)|\?\?/;S.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=zt.pop()||S.expando+"_"+wt.guid++;return this[e]=!0,e}}),S.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Ut.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Ut.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Ut,"$1"+r):!1!==e.jsonp&&(e.url+=(Tt.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||S.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?S(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,zt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((_t=E.implementation.createHTMLDocument("").body).innerHTML="
",2===_t.childNodes.length),S.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=N.exec(e))?[t.createElement(i[1])]:(i=xe([e],t,o),o&&o.length&&S(o).remove(),S.merge([],i.childNodes)));var r,i,o},S.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1").append(S.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},S.expr.pseudos.animated=function(t){return S.grep(S.timers,function(e){return t===e.elem}).length},S.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=S.css(e,"position"),c=S(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=S.css(e,"top"),u=S.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,S.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},S.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){S.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===S.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===S.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=S(e).offset()).top+=S.css(e,"borderTopWidth",!0),i.left+=S.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-S.css(r,"marginTop",!0),left:t.left-i.left-S.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===S.css(e,"position"))e=e.offsetParent;return e||re})}}),S.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;S.fn[t]=function(e){return $(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),S.each(["top","left"],function(e,n){S.cssHooks[n]=Fe(y.pixelPosition,function(e,t){if(t)return t=We(e,n),Pe.test(t)?S(e).position()[n]+"px":t})}),S.each({Height:"height",Width:"width"},function(a,s){S.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){S.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return $(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?S.css(e,t,i):S.style(e,t,n,i)},s,n?e:void 0,n)}})}),S.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){S.fn[t]=function(e){return this.on(t,e)}}),S.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),S.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){S.fn[n]=function(e,t){return 0",options:{classes:{},disabled:!1,create:null},_createWidget:function(t,e){e=y(e||this.defaultElement||this)[0],this.element=y(e),this.uuid=i++,this.eventNamespace="."+this.widgetName+this.uuid,this.bindings=y(),this.hoverable=y(),this.focusable=y(),this.classesElementLookup={},e!==this&&(y.data(e,this.widgetFullName,this),this._on(!0,this.element,{remove:function(t){t.target===e&&this.destroy()}}),this.document=y(e.style?e.ownerDocument:e.document||e),this.window=y(this.document[0].defaultView||this.document[0].parentWindow)),this.options=y.widget.extend({},this.options,this._getCreateOptions(),t),this._create(),this.options.disabled&&this._setOptionDisabled(this.options.disabled),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:function(){return{}},_getCreateEventData:y.noop,_create:y.noop,_init:y.noop,destroy:function(){var i=this;this._destroy(),y.each(this.classesElementLookup,function(t,e){i._removeClass(e,t)}),this.element.off(this.eventNamespace).removeData(this.widgetFullName),this.widget().off(this.eventNamespace).removeAttr("aria-disabled"),this.bindings.off(this.eventNamespace)},_destroy:y.noop,widget:function(){return this.element},option:function(t,e){var i,s,n,o=t;if(0===arguments.length)return y.widget.extend({},this.options);if("string"==typeof t)if(o={},t=(i=t.split(".")).shift(),i.length){for(s=o[t]=y.widget.extend({},this.options[t]),n=0;n
"),i=e.children()[0];return y("body").append(e),t=i.offsetWidth,e.css("overflow","scroll"),t===(i=i.offsetWidth)&&(i=e[0].clientWidth),e.remove(),s=t-i},getScrollInfo:function(t){var e=t.isWindow||t.isDocument?"":t.element.css("overflow-x"),i=t.isWindow||t.isDocument?"":t.element.css("overflow-y"),e="scroll"===e||"auto"===e&&t.widthx(D(s),D(n))?o.important="horizontal":o.important="vertical",p.using.call(this,t,o)}),h.offset(y.extend(l,{using:t}))})},y.ui.position={fit:{left:function(t,e){var i=e.within,s=i.isWindow?i.scrollLeft:i.offset.left,n=i.width,o=t.left-e.collisionPosition.marginLeft,h=s-o,a=o+e.collisionWidth-n-s;e.collisionWidth>n?0n?0=this.options.distance},_mouseDelayMet:function(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return!0}}),y.ui.plugin={add:function(t,e,i){var s,n=y.ui[t].prototype;for(s in i)n.plugins[s]=n.plugins[s]||[],n.plugins[s].push([e,i[s]])},call:function(t,e,i,s){var n,o=t.plugins[e];if(o&&(s||t.element[0].parentNode&&11!==t.element[0].parentNode.nodeType))for(n=0;n").css({overflow:"hidden",position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),top:this.element.css("top"),left:this.element.css("left")})),this.element=this.element.parent().data("ui-resizable",this.element.resizable("instance")),this.elementIsWrapper=!0,t={marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom"),marginLeft:this.originalElement.css("marginLeft")},this.element.css(t),this.originalElement.css("margin",0),this.originalResizeStyle=this.originalElement.css("resize"),this.originalElement.css("resize","none"),this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"})),this.originalElement.css(t),this._proportionallyResize()),this._setupHandles(),e.autoHide&&y(this.element).on("mouseenter",function(){e.disabled||(i._removeClass("ui-resizable-autohide"),i._handles.show())}).on("mouseleave",function(){e.disabled||i.resizing||(i._addClass("ui-resizable-autohide"),i._handles.hide())}),this._mouseInit()},_destroy:function(){this._mouseDestroy(),this._addedHandles.remove();function t(t){y(t).removeData("resizable").removeData("ui-resizable").off(".resizable")}var e;return this.elementIsWrapper&&(t(this.element),e=this.element,this.originalElement.css({position:e.css("position"),width:e.outerWidth(),height:e.outerHeight(),top:e.css("top"),left:e.css("left")}).insertAfter(e),e.remove()),this.originalElement.css("resize",this.originalResizeStyle),t(this.originalElement),this},_setOption:function(t,e){switch(this._super(t,e),t){case"handles":this._removeHandles(),this._setupHandles();break;case"aspectRatio":this._aspectRatio=!!e}},_setupHandles:function(){var t,e,i,s,n,o=this.options,h=this;if(this.handles=o.handles||(y(".ui-resizable-handle",this.element).length?{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",nw:".ui-resizable-nw"}:"e,s,se"),this._handles=y(),this._addedHandles=y(),this.handles.constructor===String)for("all"===this.handles&&(this.handles="n,e,s,w,se,sw,ne,nw"),i=this.handles.split(","),this.handles={},e=0;e"),this._addClass(n,"ui-resizable-handle "+s),n.css({zIndex:o.zIndex}),this.handles[t]=".ui-resizable-"+t,this.element.children(this.handles[t]).length||(this.element.append(n),this._addedHandles=this._addedHandles.add(n));this._renderAxis=function(t){var e,i,s;for(e in t=t||this.element,this.handles)this.handles[e].constructor===String?this.handles[e]=this.element.children(this.handles[e]).first().show():(this.handles[e].jquery||this.handles[e].nodeType)&&(this.handles[e]=y(this.handles[e]),this._on(this.handles[e],{mousedown:h._mouseDown})),this.elementIsWrapper&&this.originalElement[0].nodeName.match(/^(textarea|input|select|button)$/i)&&(i=y(this.handles[e],this.element),s=/sw|ne|nw|se|n|s/.test(e)?i.outerHeight():i.outerWidth(),i=["padding",/ne|nw|n/.test(e)?"Top":/se|sw|s/.test(e)?"Bottom":/^e$/.test(e)?"Right":"Left"].join(""),t.css(i,s),this._proportionallyResize()),this._handles=this._handles.add(this.handles[e])},this._renderAxis(this.element),this._handles=this._handles.add(this.element.find(".ui-resizable-handle")),this._handles.disableSelection(),this._handles.on("mouseover",function(){h.resizing||(this.className&&(n=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i)),h.axis=n&&n[1]?n[1]:"se")}),o.autoHide&&(this._handles.hide(),this._addClass("ui-resizable-autohide"))},_removeHandles:function(){this._addedHandles.remove()},_mouseCapture:function(t){var e,i,s=!1;for(e in this.handles)(i=y(this.handles[e])[0])!==t.target&&!y.contains(i,t.target)||(s=!0);return!this.options.disabled&&s},_mouseStart:function(t){var e,i,s=this.options,n=this.element;return this.resizing=!0,this._renderProxy(),e=this._num(this.helper.css("left")),i=this._num(this.helper.css("top")),s.containment&&(e+=y(s.containment).scrollLeft()||0,i+=y(s.containment).scrollTop()||0),this.offset=this.helper.offset(),this.position={left:e,top:i},this.size=this._helper?{width:this.helper.width(),height:this.helper.height()}:{width:n.width(),height:n.height()},this.originalSize=this._helper?{width:n.outerWidth(),height:n.outerHeight()}:{width:n.width(),height:n.height()},this.sizeDiff={width:n.outerWidth()-n.width(),height:n.outerHeight()-n.height()},this.originalPosition={left:e,top:i},this.originalMousePosition={left:t.pageX,top:t.pageY},this.aspectRatio="number"==typeof s.aspectRatio?s.aspectRatio:this.originalSize.width/this.originalSize.height||1,s=y(".ui-resizable-"+this.axis).css("cursor"),y("body").css("cursor","auto"===s?this.axis+"-resize":s),this._addClass("ui-resizable-resizing"),this._propagate("start",t),!0},_mouseDrag:function(t){var e=this.originalMousePosition,i=this.axis,s=t.pageX-e.left||0,e=t.pageY-e.top||0,i=this._change[i];return this._updatePrevProperties(),i&&(e=i.apply(this,[t,s,e]),this._updateVirtualBoundaries(t.shiftKey),(this._aspectRatio||t.shiftKey)&&(e=this._updateRatio(e,t)),e=this._respectSize(e,t),this._updateCache(e),this._propagate("resize",t),e=this._applyChanges(),!this._helper&&this._proportionallyResizeElements.length&&this._proportionallyResize(),y.isEmptyObject(e)||(this._updatePrevProperties(),this._trigger("resize",t,this.ui()),this._applyChanges())),!1},_mouseStop:function(t){this.resizing=!1;var e,i,s,n=this.options,o=this;return this._helper&&(s=(e=(i=this._proportionallyResizeElements).length&&/textarea/i.test(i[0].nodeName))&&this._hasScroll(i[0],"left")?0:o.sizeDiff.height,i=e?0:o.sizeDiff.width,e={width:o.helper.width()-i,height:o.helper.height()-s},i=parseFloat(o.element.css("left"))+(o.position.left-o.originalPosition.left)||null,s=parseFloat(o.element.css("top"))+(o.position.top-o.originalPosition.top)||null,n.animate||this.element.css(y.extend(e,{top:s,left:i})),o.helper.height(o.size.height),o.helper.width(o.size.width),this._helper&&!n.animate&&this._proportionallyResize()),y("body").css("cursor","auto"),this._removeClass("ui-resizable-resizing"),this._propagate("stop",t),this._helper&&this.helper.remove(),!1},_updatePrevProperties:function(){this.prevPosition={top:this.position.top,left:this.position.left},this.prevSize={width:this.size.width,height:this.size.height}},_applyChanges:function(){var t={};return this.position.top!==this.prevPosition.top&&(t.top=this.position.top+"px"),this.position.left!==this.prevPosition.left&&(t.left=this.position.left+"px"),this.size.width!==this.prevSize.width&&(t.width=this.size.width+"px"),this.size.height!==this.prevSize.height&&(t.height=this.size.height+"px"),this.helper.css(t),t},_updateVirtualBoundaries:function(t){var e,i,s=this.options,n={minWidth:this._isNumber(s.minWidth)?s.minWidth:0,maxWidth:this._isNumber(s.maxWidth)?s.maxWidth:1/0,minHeight:this._isNumber(s.minHeight)?s.minHeight:0,maxHeight:this._isNumber(s.maxHeight)?s.maxHeight:1/0};(this._aspectRatio||t)&&(e=n.minHeight*this.aspectRatio,i=n.minWidth/this.aspectRatio,s=n.maxHeight*this.aspectRatio,t=n.maxWidth/this.aspectRatio,e>n.minWidth&&(n.minWidth=e),i>n.minHeight&&(n.minHeight=i),st.width,h=this._isNumber(t.height)&&e.minHeight&&e.minHeight>t.height,a=this.originalPosition.left+this.originalSize.width,r=this.originalPosition.top+this.originalSize.height,l=/sw|nw|w/.test(i),i=/nw|ne|n/.test(i);return o&&(t.width=e.minWidth),h&&(t.height=e.minHeight),s&&(t.width=e.maxWidth),n&&(t.height=e.maxHeight),o&&l&&(t.left=a-e.minWidth),s&&l&&(t.left=a-e.maxWidth),h&&i&&(t.top=r-e.minHeight),n&&i&&(t.top=r-e.maxHeight),t.width||t.height||t.left||!t.top?t.width||t.height||t.top||!t.left||(t.left=null):t.top=null,t},_getPaddingPlusBorderDimensions:function(t){for(var e=0,i=[],s=[t.css("borderTopWidth"),t.css("borderRightWidth"),t.css("borderBottomWidth"),t.css("borderLeftWidth")],n=[t.css("paddingTop"),t.css("paddingRight"),t.css("paddingBottom"),t.css("paddingLeft")];e<4;e++)i[e]=parseFloat(s[e])||0,i[e]+=parseFloat(n[e])||0;return{height:i[0]+i[2],width:i[1]+i[3]}},_proportionallyResize:function(){if(this._proportionallyResizeElements.length)for(var t,e=0,i=this.helper||this.element;e").css({overflow:"hidden"}),this._addClass(this.helper,this._helper),this.helper.css({width:this.element.outerWidth(),height:this.element.outerHeight(),position:"absolute",left:this.elementOffset.left+"px",top:this.elementOffset.top+"px",zIndex:++e.zIndex}),this.helper.appendTo("body").disableSelection()):this.helper=this.element},_change:{e:function(t,e){return{width:this.originalSize.width+e}},w:function(t,e){var i=this.originalSize;return{left:this.originalPosition.left+e,width:i.width-e}},n:function(t,e,i){var s=this.originalSize;return{top:this.originalPosition.top+i,height:s.height-i}},s:function(t,e,i){return{height:this.originalSize.height+i}},se:function(t,e,i){return y.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[t,e,i]))},sw:function(t,e,i){return y.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[t,e,i]))},ne:function(t,e,i){return y.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[t,e,i]))},nw:function(t,e,i){return y.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[t,e,i]))}},_propagate:function(t,e){y.ui.plugin.call(this,t,[e,this.ui()]),"resize"!==t&&this._trigger(t,e,this.ui())},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}}),y.ui.plugin.add("resizable","animate",{stop:function(e){var i=y(this).resizable("instance"),t=i.options,s=i._proportionallyResizeElements,n=s.length&&/textarea/i.test(s[0].nodeName),o=n&&i._hasScroll(s[0],"left")?0:i.sizeDiff.height,h=n?0:i.sizeDiff.width,n={width:i.size.width-h,height:i.size.height-o},h=parseFloat(i.element.css("left"))+(i.position.left-i.originalPosition.left)||null,o=parseFloat(i.element.css("top"))+(i.position.top-i.originalPosition.top)||null;i.element.animate(y.extend(n,o&&h?{top:o,left:h}:{}),{duration:t.animateDuration,easing:t.animateEasing,step:function(){var t={width:parseFloat(i.element.css("width")),height:parseFloat(i.element.css("height")),top:parseFloat(i.element.css("top")),left:parseFloat(i.element.css("left"))};s&&s.length&&y(s[0]).css({width:t.width,height:t.height}),i._updateCache(t),i._propagate("resize",e)}})}}),y.ui.plugin.add("resizable","containment",{start:function(){var i,s,n=y(this).resizable("instance"),t=n.options,e=n.element,o=t.containment,h=o instanceof y?o.get(0):/parent/.test(o)?e.parent().get(0):o;h&&(n.containerElement=y(h),/document/.test(o)||o===document?(n.containerOffset={left:0,top:0},n.containerPosition={left:0,top:0},n.parentData={element:y(document),left:0,top:0,width:y(document).width(),height:y(document).height()||document.body.parentNode.scrollHeight}):(i=y(h),s=[],y(["Top","Right","Left","Bottom"]).each(function(t,e){s[t]=n._num(i.css("padding"+e))}),n.containerOffset=i.offset(),n.containerPosition=i.position(),n.containerSize={height:i.innerHeight()-s[3],width:i.innerWidth()-s[1]},t=n.containerOffset,e=n.containerSize.height,o=n.containerSize.width,o=n._hasScroll(h,"left")?h.scrollWidth:o,e=n._hasScroll(h)?h.scrollHeight:e,n.parentData={element:h,left:t.left,top:t.top,width:o,height:e}))},resize:function(t){var e=y(this).resizable("instance"),i=e.options,s=e.containerOffset,n=e.position,o=e._aspectRatio||t.shiftKey,h={top:0,left:0},a=e.containerElement,t=!0;a[0]!==document&&/static/.test(a.css("position"))&&(h=s),n.left<(e._helper?s.left:0)&&(e.size.width=e.size.width+(e._helper?e.position.left-s.left:e.position.left-h.left),o&&(e.size.height=e.size.width/e.aspectRatio,t=!1),e.position.left=i.helper?s.left:0),n.top<(e._helper?s.top:0)&&(e.size.height=e.size.height+(e._helper?e.position.top-s.top:e.position.top),o&&(e.size.width=e.size.height*e.aspectRatio,t=!1),e.position.top=e._helper?s.top:0),i=e.containerElement.get(0)===e.element.parent().get(0),n=/relative|absolute/.test(e.containerElement.css("position")),i&&n?(e.offset.left=e.parentData.left+e.position.left,e.offset.top=e.parentData.top+e.position.top):(e.offset.left=e.element.offset().left,e.offset.top=e.element.offset().top),n=Math.abs(e.sizeDiff.width+(e._helper?e.offset.left-h.left:e.offset.left-s.left)),s=Math.abs(e.sizeDiff.height+(e._helper?e.offset.top-h.top:e.offset.top-s.top)),n+e.size.width>=e.parentData.width&&(e.size.width=e.parentData.width-n,o&&(e.size.height=e.size.width/e.aspectRatio,t=!1)),s+e.size.height>=e.parentData.height&&(e.size.height=e.parentData.height-s,o&&(e.size.width=e.size.height*e.aspectRatio,t=!1)),t||(e.position.left=e.prevPosition.left,e.position.top=e.prevPosition.top,e.size.width=e.prevSize.width,e.size.height=e.prevSize.height)},stop:function(){var t=y(this).resizable("instance"),e=t.options,i=t.containerOffset,s=t.containerPosition,n=t.containerElement,o=y(t.helper),h=o.offset(),a=o.outerWidth()-t.sizeDiff.width,o=o.outerHeight()-t.sizeDiff.height;t._helper&&!e.animate&&/relative/.test(n.css("position"))&&y(this).css({left:h.left-s.left-i.left,width:a,height:o}),t._helper&&!e.animate&&/static/.test(n.css("position"))&&y(this).css({left:h.left-s.left-i.left,width:a,height:o})}}),y.ui.plugin.add("resizable","alsoResize",{start:function(){var t=y(this).resizable("instance").options;y(t.alsoResize).each(function(){var t=y(this);t.data("ui-resizable-alsoresize",{width:parseFloat(t.width()),height:parseFloat(t.height()),left:parseFloat(t.css("left")),top:parseFloat(t.css("top"))})})},resize:function(t,i){var e=y(this).resizable("instance"),s=e.options,n=e.originalSize,o=e.originalPosition,h={height:e.size.height-n.height||0,width:e.size.width-n.width||0,top:e.position.top-o.top||0,left:e.position.left-o.left||0};y(s.alsoResize).each(function(){var t=y(this),s=y(this).data("ui-resizable-alsoresize"),n={},e=t.parents(i.originalElement[0]).length?["width","height"]:["width","height","top","left"];y.each(e,function(t,e){var i=(s[e]||0)+(h[e]||0);i&&0<=i&&(n[e]=i||null)}),t.css(n)})},stop:function(){y(this).removeData("ui-resizable-alsoresize")}}),y.ui.plugin.add("resizable","ghost",{start:function(){var t=y(this).resizable("instance"),e=t.size;t.ghost=t.originalElement.clone(),t.ghost.css({opacity:.25,display:"block",position:"relative",height:e.height,width:e.width,margin:0,left:0,top:0}),t._addClass(t.ghost,"ui-resizable-ghost"),!1!==y.uiBackCompat&&"string"==typeof t.options.ghost&&t.ghost.addClass(this.options.ghost),t.ghost.appendTo(t.helper)},resize:function(){var t=y(this).resizable("instance");t.ghost&&t.ghost.css({position:"relative",height:t.size.height,width:t.size.width})},stop:function(){var t=y(this).resizable("instance");t.ghost&&t.helper&&t.helper.get(0).removeChild(t.ghost.get(0))}}),y.ui.plugin.add("resizable","grid",{resize:function(){var t,e=y(this).resizable("instance"),i=e.options,s=e.size,n=e.originalSize,o=e.originalPosition,h=e.axis,a="number"==typeof i.grid?[i.grid,i.grid]:i.grid,r=a[0]||1,l=a[1]||1,u=Math.round((s.width-n.width)/r)*r,p=Math.round((s.height-n.height)/l)*l,d=n.width+u,c=n.height+p,f=i.maxWidth&&i.maxWidthd,s=i.minHeight&&i.minHeight>c;i.grid=a,m&&(d+=r),s&&(c+=l),f&&(d-=r),g&&(c-=l),/^(se|s|e)$/.test(h)?(e.size.width=d,e.size.height=c):/^(ne)$/.test(h)?(e.size.width=d,e.size.height=c,e.position.top=o.top-p):/^(sw)$/.test(h)?(e.size.width=d,e.size.height=c,e.position.left=o.left-u):((c-l<=0||d-r<=0)&&(t=e._getPaddingPlusBorderDimensions(this)),0=f[g]?0:Math.min(f[g],n));!a&&1-1){targetElements.on(evt+EVENT_NAMESPACE,function elementToggle(event){$.powerTip.toggle(this,event)})}else{targetElements.on(evt+EVENT_NAMESPACE,function elementOpen(event){$.powerTip.show(this,event)})}});$.each(options.closeEvents,function(idx,evt){if($.inArray(evt,options.openEvents)<0){targetElements.on(evt+EVENT_NAMESPACE,function elementClose(event){$.powerTip.hide(this,!isMouseEvent(event))})}});targetElements.on("keydown"+EVENT_NAMESPACE,function elementKeyDown(event){if(event.keyCode===27){$.powerTip.hide(this,true)}})}return targetElements};$.fn.powerTip.defaults={fadeInTime:200,fadeOutTime:100,followMouse:false,popupId:"powerTip",popupClass:null,intentSensitivity:7,intentPollInterval:100,closeDelay:100,placement:"n",smartPlacement:false,offset:10,mouseOnToPopup:false,manual:false,openEvents:["mouseenter","focus"],closeEvents:["mouseleave","blur"]};$.fn.powerTip.smartPlacementLists={n:["n","ne","nw","s"],e:["e","ne","se","w","nw","sw","n","s","e"],s:["s","se","sw","n"],w:["w","nw","sw","e","ne","se","n","s","w"],nw:["nw","w","sw","n","s","se","nw"],ne:["ne","e","se","n","s","sw","ne"],sw:["sw","w","nw","s","n","ne","sw"],se:["se","e","ne","s","n","nw","se"],"nw-alt":["nw-alt","n","ne-alt","sw-alt","s","se-alt","w","e"],"ne-alt":["ne-alt","n","nw-alt","se-alt","s","sw-alt","e","w"],"sw-alt":["sw-alt","s","se-alt","nw-alt","n","ne-alt","w","e"],"se-alt":["se-alt","s","sw-alt","ne-alt","n","nw-alt","e","w"]};$.powerTip={show:function apiShowTip(element,event){if(isMouseEvent(event)){trackMouse(event);session.previousX=event.pageX;session.previousY=event.pageY;$(element).data(DATA_DISPLAYCONTROLLER).show()}else{$(element).first().data(DATA_DISPLAYCONTROLLER).show(true,true)}return element},reposition:function apiResetPosition(element){$(element).first().data(DATA_DISPLAYCONTROLLER).resetPosition();return element},hide:function apiCloseTip(element,immediate){var displayController;immediate=element?immediate:true;if(element){displayController=$(element).first().data(DATA_DISPLAYCONTROLLER)}else if(session.activeHover){displayController=session.activeHover.data(DATA_DISPLAYCONTROLLER)}if(displayController){displayController.hide(immediate)}return element},toggle:function apiToggle(element,event){if(session.activeHover&&session.activeHover.is(element)){$.powerTip.hide(element,!isMouseEvent(event))}else{$.powerTip.show(element,event)}return element}};$.powerTip.showTip=$.powerTip.show;$.powerTip.closeTip=$.powerTip.hide;function CSSCoordinates(){var me=this;me.top="auto";me.left="auto";me.right="auto";me.bottom="auto";me.set=function(property,value){if($.isNumeric(value)){me[property]=Math.round(value)}}}function DisplayController(element,options,tipController){var hoverTimer=null,myCloseDelay=null;function openTooltip(immediate,forceOpen){cancelTimer();if(!element.data(DATA_HASACTIVEHOVER)){if(!immediate){session.tipOpenImminent=true;hoverTimer=setTimeout(function intentDelay(){hoverTimer=null;checkForIntent()},options.intentPollInterval)}else{if(forceOpen){element.data(DATA_FORCEDOPEN,true)}closeAnyDelayed();tipController.showTip(element)}}else{cancelClose()}}function closeTooltip(disableDelay){if(myCloseDelay){myCloseDelay=session.closeDelayTimeout=clearTimeout(myCloseDelay);session.delayInProgress=false}cancelTimer();session.tipOpenImminent=false;if(element.data(DATA_HASACTIVEHOVER)){element.data(DATA_FORCEDOPEN,false);if(!disableDelay){session.delayInProgress=true;session.closeDelayTimeout=setTimeout(function closeDelay(){session.closeDelayTimeout=null;tipController.hideTip(element);session.delayInProgress=false;myCloseDelay=null},options.closeDelay);myCloseDelay=session.closeDelayTimeout}else{tipController.hideTip(element)}}}function checkForIntent(){var xDifference=Math.abs(session.previousX-session.currentX),yDifference=Math.abs(session.previousY-session.currentY),totalDifference=xDifference+yDifference;if(totalDifference",{id:options.popupId});if($body.length===0){$body=$("body")}$body.append(tipElement);session.tooltips=session.tooltips?session.tooltips.add(tipElement):tipElement}if(options.followMouse){if(!tipElement.data(DATA_HASMOUSEMOVE)){$document.on("mousemove"+EVENT_NAMESPACE,positionTipOnCursor);$window.on("scroll"+EVENT_NAMESPACE,positionTipOnCursor);tipElement.data(DATA_HASMOUSEMOVE,true)}}function beginShowTip(element){element.data(DATA_HASACTIVEHOVER,true);tipElement.queue(function queueTipInit(next){showTip(element);next()})}function showTip(element){var tipContent;if(!element.data(DATA_HASACTIVEHOVER)){return}if(session.isTipOpen){if(!session.isClosing){hideTip(session.activeHover)}tipElement.delay(100).queue(function queueTipAgain(next){showTip(element);next()});return}element.trigger("powerTipPreRender");tipContent=getTooltipContent(element);if(tipContent){tipElement.empty().append(tipContent)}else{return}element.trigger("powerTipRender");session.activeHover=element;session.isTipOpen=true;tipElement.data(DATA_MOUSEONTOTIP,options.mouseOnToPopup);tipElement.addClass(options.popupClass);if(!options.followMouse||element.data(DATA_FORCEDOPEN)){positionTipOnElement(element);session.isFixedTipOpen=true}else{positionTipOnCursor()}if(!element.data(DATA_FORCEDOPEN)&&!options.followMouse){$document.on("click"+EVENT_NAMESPACE,function documentClick(event){var target=event.target;if(target!==element[0]){if(options.mouseOnToPopup){if(target!==tipElement[0]&&!$.contains(tipElement[0],target)){$.powerTip.hide()}}else{$.powerTip.hide()}}})}if(options.mouseOnToPopup&&!options.manual){tipElement.on("mouseenter"+EVENT_NAMESPACE,function tipMouseEnter(){if(session.activeHover){session.activeHover.data(DATA_DISPLAYCONTROLLER).cancel()}});tipElement.on("mouseleave"+EVENT_NAMESPACE,function tipMouseLeave(){if(session.activeHover){session.activeHover.data(DATA_DISPLAYCONTROLLER).hide()}})}tipElement.fadeIn(options.fadeInTime,function fadeInCallback(){if(!session.desyncTimeout){session.desyncTimeout=setInterval(closeDesyncedTip,500)}element.trigger("powerTipOpen")})}function hideTip(element){session.isClosing=true;session.isTipOpen=false;session.desyncTimeout=clearInterval(session.desyncTimeout);element.data(DATA_HASACTIVEHOVER,false);element.data(DATA_FORCEDOPEN,false);$document.off("click"+EVENT_NAMESPACE);tipElement.off(EVENT_NAMESPACE);tipElement.fadeOut(options.fadeOutTime,function fadeOutCallback(){var coords=new CSSCoordinates;session.activeHover=null;session.isClosing=false;session.isFixedTipOpen=false;tipElement.removeClass();coords.set("top",session.currentY+options.offset);coords.set("left",session.currentX+options.offset);tipElement.css(coords);element.trigger("powerTipClose")})}function positionTipOnCursor(){var tipWidth,tipHeight,coords,collisions,collisionCount;if(!session.isFixedTipOpen&&(session.isTipOpen||session.tipOpenImminent&&tipElement.data(DATA_HASMOUSEMOVE))){tipWidth=tipElement.outerWidth();tipHeight=tipElement.outerHeight();coords=new CSSCoordinates;coords.set("top",session.currentY+options.offset);coords.set("left",session.currentX+options.offset);collisions=getViewportCollisions(coords,tipWidth,tipHeight);if(collisions!==Collision.none){collisionCount=countFlags(collisions);if(collisionCount===1){if(collisions===Collision.right){coords.set("left",session.scrollLeft+session.windowWidth-tipWidth)}else if(collisions===Collision.bottom){coords.set("top",session.scrollTop+session.windowHeight-tipHeight)}}else{coords.set("left",session.currentX-tipWidth-options.offset);coords.set("top",session.currentY-tipHeight-options.offset)}}tipElement.css(coords)}}function positionTipOnElement(element){var priorityList,finalPlacement;if(options.smartPlacement||options.followMouse&&element.data(DATA_FORCEDOPEN)){priorityList=$.fn.powerTip.smartPlacementLists[options.placement];$.each(priorityList,function(idx,pos){var collisions=getViewportCollisions(placeTooltip(element,pos),tipElement.outerWidth(),tipElement.outerHeight());finalPlacement=pos;return collisions!==Collision.none})}else{placeTooltip(element,options.placement);finalPlacement=options.placement}tipElement.removeClass("w nw sw e ne se n s w se-alt sw-alt ne-alt nw-alt");tipElement.addClass(finalPlacement)}function placeTooltip(element,placement){var iterationCount=0,tipWidth,tipHeight,coords=new CSSCoordinates;coords.set("top",0);coords.set("left",0);tipElement.css(coords);do{tipWidth=tipElement.outerWidth();tipHeight=tipElement.outerHeight();coords=placementCalculator.compute(element,placement,tipWidth,tipHeight,options.offset);tipElement.css(coords)}while(++iterationCount<=5&&(tipWidth!==tipElement.outerWidth()||tipHeight!==tipElement.outerHeight()));return coords}function closeDesyncedTip(){var isDesynced=false,hasDesyncableCloseEvent=$.grep(["mouseleave","mouseout","blur","focusout"],function(eventType){return $.inArray(eventType,options.closeEvents)!==-1}).length>0;if(session.isTipOpen&&!session.isClosing&&!session.delayInProgress&&hasDesyncableCloseEvent){if(session.activeHover.data(DATA_HASACTIVEHOVER)===false||session.activeHover.is(":disabled")){isDesynced=true}else if(!isMouseOver(session.activeHover)&&!session.activeHover.is(":focus")&&!session.activeHover.data(DATA_FORCEDOPEN)){if(tipElement.data(DATA_MOUSEONTOTIP)){if(!isMouseOver(tipElement)){isDesynced=true}}else{isDesynced=true}}if(isDesynced){hideTip(session.activeHover)}}}this.showTip=beginShowTip;this.hideTip=hideTip;this.resetPosition=positionTipOnElement}function isSvgElement(element){return Boolean(window.SVGElement&&element[0]instanceof SVGElement)}function isMouseEvent(event){return Boolean(event&&$.inArray(event.type,MOUSE_EVENTS)>-1&&typeof event.pageX==="number")}function initTracking(){if(!session.mouseTrackingActive){session.mouseTrackingActive=true;getViewportDimensions();$(getViewportDimensions);$document.on("mousemove"+EVENT_NAMESPACE,trackMouse);$window.on("resize"+EVENT_NAMESPACE,trackResize);$window.on("scroll"+EVENT_NAMESPACE,trackScroll)}}function getViewportDimensions(){session.scrollLeft=$window.scrollLeft();session.scrollTop=$window.scrollTop();session.windowWidth=$window.width();session.windowHeight=$window.height()}function trackResize(){session.windowWidth=$window.width();session.windowHeight=$window.height()}function trackScroll(){var x=$window.scrollLeft(),y=$window.scrollTop();if(x!==session.scrollLeft){session.currentX+=x-session.scrollLeft;session.scrollLeft=x}if(y!==session.scrollTop){session.currentY+=y-session.scrollTop;session.scrollTop=y}}function trackMouse(event){session.currentX=event.pageX;session.currentY=event.pageY}function isMouseOver(element){var elementPosition=element.offset(),elementBox=element[0].getBoundingClientRect(),elementWidth=elementBox.right-elementBox.left,elementHeight=elementBox.bottom-elementBox.top;return session.currentX>=elementPosition.left&&session.currentX<=elementPosition.left+elementWidth&&session.currentY>=elementPosition.top&&session.currentY<=elementPosition.top+elementHeight}function getTooltipContent(element){var tipText=element.data(DATA_POWERTIP),tipObject=element.data(DATA_POWERTIPJQ),tipTarget=element.data(DATA_POWERTIPTARGET),targetElement,content;if(tipText){if($.isFunction(tipText)){tipText=tipText.call(element[0])}content=tipText}else if(tipObject){if($.isFunction(tipObject)){tipObject=tipObject.call(element[0])}if(tipObject.length>0){content=tipObject.clone(true,true)}}else if(tipTarget){targetElement=$("#"+tipTarget);if(targetElement.length>0){content=targetElement.html()}}return content}function getViewportCollisions(coords,elementWidth,elementHeight){var viewportTop=session.scrollTop,viewportLeft=session.scrollLeft,viewportBottom=viewportTop+session.windowHeight,viewportRight=viewportLeft+session.windowWidth,collisions=Collision.none;if(coords.topviewportBottom||Math.abs(coords.bottom-session.windowHeight)>viewportBottom){collisions|=Collision.bottom}if(coords.leftviewportRight){collisions|=Collision.left}if(coords.left+elementWidth>viewportRight||coords.right1)){a.preventDefault();var c=a.originalEvent.changedTouches[0],d=document.createEvent("MouseEvents");d.initMouseEvent(b,!0,!0,window,1,c.screenX,c.screenY,c.clientX,c.clientY,!1,!1,!1,!1,0,null),a.target.dispatchEvent(d)}}if(a.support.touch="ontouchend"in document,a.support.touch){var e,b=a.ui.mouse.prototype,c=b._mouseInit,d=b._mouseDestroy;b._touchStart=function(a){var b=this;!e&&b._mouseCapture(a.originalEvent.changedTouches[0])&&(e=!0,b._touchMoved=!1,f(a,"mouseover"),f(a,"mousemove"),f(a,"mousedown"))},b._touchMove=function(a){e&&(this._touchMoved=!0,f(a,"mousemove"))},b._touchEnd=function(a){e&&(f(a,"mouseup"),f(a,"mouseout"),this._touchMoved||f(a,"click"),e=!1)},b._mouseInit=function(){var b=this;b.element.bind({touchstart:a.proxy(b,"_touchStart"),touchmove:a.proxy(b,"_touchMove"),touchend:a.proxy(b,"_touchEnd")}),c.call(b)},b._mouseDestroy=function(){var b=this;b.element.unbind({touchstart:a.proxy(b,"_touchStart"),touchmove:a.proxy(b,"_touchMove"),touchend:a.proxy(b,"_touchEnd")}),d.call(b)}}}(jQuery);/*! SmartMenus jQuery Plugin - v1.1.0 - September 17, 2017 + * http://www.smartmenus.org/ + * Copyright Vasil Dinkov, Vadikom Web Ltd. http://vadikom.com; Licensed MIT */(function(t){"function"==typeof define&&define.amd?define(["jquery"],t):"object"==typeof module&&"object"==typeof module.exports?module.exports=t(require("jquery")):t(jQuery)})(function($){function initMouseDetection(t){var e=".smartmenus_mouse";if(mouseDetectionEnabled||t)mouseDetectionEnabled&&t&&($(document).off(e),mouseDetectionEnabled=!1);else{var i=!0,s=null,o={mousemove:function(t){var e={x:t.pageX,y:t.pageY,timeStamp:(new Date).getTime()};if(s){var o=Math.abs(s.x-e.x),a=Math.abs(s.y-e.y);if((o>0||a>0)&&2>=o&&2>=a&&300>=e.timeStamp-s.timeStamp&&(mouse=!0,i)){var n=$(t.target).closest("a");n.is("a")&&$.each(menuTrees,function(){return $.contains(this.$root[0],n[0])?(this.itemEnter({currentTarget:n[0]}),!1):void 0}),i=!1}}s=e}};o[touchEvents?"touchstart":"pointerover pointermove pointerout MSPointerOver MSPointerMove MSPointerOut"]=function(t){isTouchEvent(t.originalEvent)&&(mouse=!1)},$(document).on(getEventsNS(o,e)),mouseDetectionEnabled=!0}}function isTouchEvent(t){return!/^(4|mouse)$/.test(t.pointerType)}function getEventsNS(t,e){e||(e="");var i={};for(var s in t)i[s.split(" ").join(e+" ")+e]=t[s];return i}var menuTrees=[],mouse=!1,touchEvents="ontouchstart"in window,mouseDetectionEnabled=!1,requestAnimationFrame=window.requestAnimationFrame||function(t){return setTimeout(t,1e3/60)},cancelAnimationFrame=window.cancelAnimationFrame||function(t){clearTimeout(t)},canAnimate=!!$.fn.animate;return $.SmartMenus=function(t,e){this.$root=$(t),this.opts=e,this.rootId="",this.accessIdPrefix="",this.$subArrow=null,this.activatedItems=[],this.visibleSubMenus=[],this.showTimeout=0,this.hideTimeout=0,this.scrollTimeout=0,this.clickActivated=!1,this.focusActivated=!1,this.zIndexInc=0,this.idInc=0,this.$firstLink=null,this.$firstSub=null,this.disabled=!1,this.$disableOverlay=null,this.$touchScrollingSub=null,this.cssTransforms3d="perspective"in t.style||"webkitPerspective"in t.style,this.wasCollapsible=!1,this.init()},$.extend($.SmartMenus,{hideAll:function(){$.each(menuTrees,function(){this.menuHideAll()})},destroy:function(){for(;menuTrees.length;)menuTrees[0].destroy();initMouseDetection(!0)},prototype:{init:function(t){var e=this;if(!t){menuTrees.push(this),this.rootId=((new Date).getTime()+Math.random()+"").replace(/\D/g,""),this.accessIdPrefix="sm-"+this.rootId+"-",this.$root.hasClass("sm-rtl")&&(this.opts.rightToLeftSubMenus=!0);var i=".smartmenus";this.$root.data("smartmenus",this).attr("data-smartmenus-id",this.rootId).dataSM("level",1).on(getEventsNS({"mouseover focusin":$.proxy(this.rootOver,this),"mouseout focusout":$.proxy(this.rootOut,this),keydown:$.proxy(this.rootKeyDown,this)},i)).on(getEventsNS({mouseenter:$.proxy(this.itemEnter,this),mouseleave:$.proxy(this.itemLeave,this),mousedown:$.proxy(this.itemDown,this),focus:$.proxy(this.itemFocus,this),blur:$.proxy(this.itemBlur,this),click:$.proxy(this.itemClick,this)},i),"a"),i+=this.rootId,this.opts.hideOnClick&&$(document).on(getEventsNS({touchstart:$.proxy(this.docTouchStart,this),touchmove:$.proxy(this.docTouchMove,this),touchend:$.proxy(this.docTouchEnd,this),click:$.proxy(this.docClick,this)},i)),$(window).on(getEventsNS({"resize orientationchange":$.proxy(this.winResize,this)},i)),this.opts.subIndicators&&(this.$subArrow=$("").addClass("sub-arrow"),this.opts.subIndicatorsText&&this.$subArrow.html(this.opts.subIndicatorsText)),initMouseDetection()}if(this.$firstSub=this.$root.find("ul").each(function(){e.menuInit($(this))}).eq(0),this.$firstLink=this.$root.find("a").eq(0),this.opts.markCurrentItem){var s=/(index|default)\.[^#\?\/]*/i,o=/#.*/,a=window.location.href.replace(s,""),n=a.replace(o,"");this.$root.find("a").each(function(){var t=this.href.replace(s,""),i=$(this);(t==a||t==n)&&(i.addClass("current"),e.opts.markCurrentTree&&i.parentsUntil("[data-smartmenus-id]","ul").each(function(){$(this).dataSM("parent-a").addClass("current")}))})}this.wasCollapsible=this.isCollapsible()},destroy:function(t){if(!t){var e=".smartmenus";this.$root.removeData("smartmenus").removeAttr("data-smartmenus-id").removeDataSM("level").off(e),e+=this.rootId,$(document).off(e),$(window).off(e),this.opts.subIndicators&&(this.$subArrow=null)}this.menuHideAll();var i=this;this.$root.find("ul").each(function(){var t=$(this);t.dataSM("scroll-arrows")&&t.dataSM("scroll-arrows").remove(),t.dataSM("shown-before")&&((i.opts.subMenusMinWidth||i.opts.subMenusMaxWidth)&&t.css({width:"",minWidth:"",maxWidth:""}).removeClass("sm-nowrap"),t.dataSM("scroll-arrows")&&t.dataSM("scroll-arrows").remove(),t.css({zIndex:"",top:"",left:"",marginLeft:"",marginTop:"",display:""})),0==(t.attr("id")||"").indexOf(i.accessIdPrefix)&&t.removeAttr("id")}).removeDataSM("in-mega").removeDataSM("shown-before").removeDataSM("scroll-arrows").removeDataSM("parent-a").removeDataSM("level").removeDataSM("beforefirstshowfired").removeAttr("role").removeAttr("aria-hidden").removeAttr("aria-labelledby").removeAttr("aria-expanded"),this.$root.find("a.has-submenu").each(function(){var t=$(this);0==t.attr("id").indexOf(i.accessIdPrefix)&&t.removeAttr("id")}).removeClass("has-submenu").removeDataSM("sub").removeAttr("aria-haspopup").removeAttr("aria-controls").removeAttr("aria-expanded").closest("li").removeDataSM("sub"),this.opts.subIndicators&&this.$root.find("span.sub-arrow").remove(),this.opts.markCurrentItem&&this.$root.find("a.current").removeClass("current"),t||(this.$root=null,this.$firstLink=null,this.$firstSub=null,this.$disableOverlay&&(this.$disableOverlay.remove(),this.$disableOverlay=null),menuTrees.splice($.inArray(this,menuTrees),1))},disable:function(t){if(!this.disabled){if(this.menuHideAll(),!t&&!this.opts.isPopup&&this.$root.is(":visible")){var e=this.$root.offset();this.$disableOverlay=$('
').css({position:"absolute",top:e.top,left:e.left,width:this.$root.outerWidth(),height:this.$root.outerHeight(),zIndex:this.getStartZIndex(!0),opacity:0}).appendTo(document.body)}this.disabled=!0}},docClick:function(t){return this.$touchScrollingSub?(this.$touchScrollingSub=null,void 0):((this.visibleSubMenus.length&&!$.contains(this.$root[0],t.target)||$(t.target).closest("a").length)&&this.menuHideAll(),void 0)},docTouchEnd:function(){if(this.lastTouch){if(!(!this.visibleSubMenus.length||void 0!==this.lastTouch.x2&&this.lastTouch.x1!=this.lastTouch.x2||void 0!==this.lastTouch.y2&&this.lastTouch.y1!=this.lastTouch.y2||this.lastTouch.target&&$.contains(this.$root[0],this.lastTouch.target))){this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0);var t=this;this.hideTimeout=setTimeout(function(){t.menuHideAll()},350)}this.lastTouch=null}},docTouchMove:function(t){if(this.lastTouch){var e=t.originalEvent.touches[0];this.lastTouch.x2=e.pageX,this.lastTouch.y2=e.pageY}},docTouchStart:function(t){var e=t.originalEvent.touches[0];this.lastTouch={x1:e.pageX,y1:e.pageY,target:e.target}},enable:function(){this.disabled&&(this.$disableOverlay&&(this.$disableOverlay.remove(),this.$disableOverlay=null),this.disabled=!1)},getClosestMenu:function(t){for(var e=$(t).closest("ul");e.dataSM("in-mega");)e=e.parent().closest("ul");return e[0]||null},getHeight:function(t){return this.getOffset(t,!0)},getOffset:function(t,e){var i;"none"==t.css("display")&&(i={position:t[0].style.position,visibility:t[0].style.visibility},t.css({position:"absolute",visibility:"hidden"}).show());var s=t[0].getBoundingClientRect&&t[0].getBoundingClientRect(),o=s&&(e?s.height||s.bottom-s.top:s.width||s.right-s.left);return o||0===o||(o=e?t[0].offsetHeight:t[0].offsetWidth),i&&t.hide().css(i),o},getStartZIndex:function(t){var e=parseInt(this[t?"$root":"$firstSub"].css("z-index"));return!t&&isNaN(e)&&(e=parseInt(this.$root.css("z-index"))),isNaN(e)?1:e},getTouchPoint:function(t){return t.touches&&t.touches[0]||t.changedTouches&&t.changedTouches[0]||t},getViewport:function(t){var e=t?"Height":"Width",i=document.documentElement["client"+e],s=window["inner"+e];return s&&(i=Math.min(i,s)),i},getViewportHeight:function(){return this.getViewport(!0)},getViewportWidth:function(){return this.getViewport()},getWidth:function(t){return this.getOffset(t)},handleEvents:function(){return!this.disabled&&this.isCSSOn()},handleItemEvents:function(t){return this.handleEvents()&&!this.isLinkInMegaMenu(t)},isCollapsible:function(){return"static"==this.$firstSub.css("position")},isCSSOn:function(){return"inline"!=this.$firstLink.css("display")},isFixed:function(){var t="fixed"==this.$root.css("position");return t||this.$root.parentsUntil("body").each(function(){return"fixed"==$(this).css("position")?(t=!0,!1):void 0}),t},isLinkInMegaMenu:function(t){return $(this.getClosestMenu(t[0])).hasClass("mega-menu")},isTouchMode:function(){return!mouse||this.opts.noMouseOver||this.isCollapsible()},itemActivate:function(t,e){var i=t.closest("ul"),s=i.dataSM("level");if(s>1&&(!this.activatedItems[s-2]||this.activatedItems[s-2][0]!=i.dataSM("parent-a")[0])){var o=this;$(i.parentsUntil("[data-smartmenus-id]","ul").get().reverse()).add(i).each(function(){o.itemActivate($(this).dataSM("parent-a"))})}if((!this.isCollapsible()||e)&&this.menuHideSubMenus(this.activatedItems[s-1]&&this.activatedItems[s-1][0]==t[0]?s:s-1),this.activatedItems[s-1]=t,this.$root.triggerHandler("activate.smapi",t[0])!==!1){var a=t.dataSM("sub");a&&(this.isTouchMode()||!this.opts.showOnClick||this.clickActivated)&&this.menuShow(a)}},itemBlur:function(t){var e=$(t.currentTarget);this.handleItemEvents(e)&&this.$root.triggerHandler("blur.smapi",e[0])},itemClick:function(t){var e=$(t.currentTarget);if(this.handleItemEvents(e)){if(this.$touchScrollingSub&&this.$touchScrollingSub[0]==e.closest("ul")[0])return this.$touchScrollingSub=null,t.stopPropagation(),!1;if(this.$root.triggerHandler("click.smapi",e[0])===!1)return!1;var i=$(t.target).is(".sub-arrow"),s=e.dataSM("sub"),o=s?2==s.dataSM("level"):!1,a=this.isCollapsible(),n=/toggle$/.test(this.opts.collapsibleBehavior),r=/link$/.test(this.opts.collapsibleBehavior),h=/^accordion/.test(this.opts.collapsibleBehavior);if(s&&!s.is(":visible")){if((!r||!a||i)&&(this.opts.showOnClick&&o&&(this.clickActivated=!0),this.itemActivate(e,h),s.is(":visible")))return this.focusActivated=!0,!1}else if(a&&(n||i))return this.itemActivate(e,h),this.menuHide(s),n&&(this.focusActivated=!1),!1;return this.opts.showOnClick&&o||e.hasClass("disabled")||this.$root.triggerHandler("select.smapi",e[0])===!1?!1:void 0}},itemDown:function(t){var e=$(t.currentTarget);this.handleItemEvents(e)&&e.dataSM("mousedown",!0)},itemEnter:function(t){var e=$(t.currentTarget);if(this.handleItemEvents(e)){if(!this.isTouchMode()){this.showTimeout&&(clearTimeout(this.showTimeout),this.showTimeout=0);var i=this;this.showTimeout=setTimeout(function(){i.itemActivate(e)},this.opts.showOnClick&&1==e.closest("ul").dataSM("level")?1:this.opts.showTimeout)}this.$root.triggerHandler("mouseenter.smapi",e[0])}},itemFocus:function(t){var e=$(t.currentTarget);this.handleItemEvents(e)&&(!this.focusActivated||this.isTouchMode()&&e.dataSM("mousedown")||this.activatedItems.length&&this.activatedItems[this.activatedItems.length-1][0]==e[0]||this.itemActivate(e,!0),this.$root.triggerHandler("focus.smapi",e[0]))},itemLeave:function(t){var e=$(t.currentTarget);this.handleItemEvents(e)&&(this.isTouchMode()||(e[0].blur(),this.showTimeout&&(clearTimeout(this.showTimeout),this.showTimeout=0)),e.removeDataSM("mousedown"),this.$root.triggerHandler("mouseleave.smapi",e[0]))},menuHide:function(t){if(this.$root.triggerHandler("beforehide.smapi",t[0])!==!1&&(canAnimate&&t.stop(!0,!0),"none"!=t.css("display"))){var e=function(){t.css("z-index","")};this.isCollapsible()?canAnimate&&this.opts.collapsibleHideFunction?this.opts.collapsibleHideFunction.call(this,t,e):t.hide(this.opts.collapsibleHideDuration,e):canAnimate&&this.opts.hideFunction?this.opts.hideFunction.call(this,t,e):t.hide(this.opts.hideDuration,e),t.dataSM("scroll")&&(this.menuScrollStop(t),t.css({"touch-action":"","-ms-touch-action":"","-webkit-transform":"",transform:""}).off(".smartmenus_scroll").removeDataSM("scroll").dataSM("scroll-arrows").hide()),t.dataSM("parent-a").removeClass("highlighted").attr("aria-expanded","false"),t.attr({"aria-expanded":"false","aria-hidden":"true"});var i=t.dataSM("level");this.activatedItems.splice(i-1,1),this.visibleSubMenus.splice($.inArray(t,this.visibleSubMenus),1),this.$root.triggerHandler("hide.smapi",t[0])}},menuHideAll:function(){this.showTimeout&&(clearTimeout(this.showTimeout),this.showTimeout=0);for(var t=this.opts.isPopup?1:0,e=this.visibleSubMenus.length-1;e>=t;e--)this.menuHide(this.visibleSubMenus[e]);this.opts.isPopup&&(canAnimate&&this.$root.stop(!0,!0),this.$root.is(":visible")&&(canAnimate&&this.opts.hideFunction?this.opts.hideFunction.call(this,this.$root):this.$root.hide(this.opts.hideDuration))),this.activatedItems=[],this.visibleSubMenus=[],this.clickActivated=!1,this.focusActivated=!1,this.zIndexInc=0,this.$root.triggerHandler("hideAll.smapi")},menuHideSubMenus:function(t){for(var e=this.activatedItems.length-1;e>=t;e--){var i=this.activatedItems[e].dataSM("sub");i&&this.menuHide(i)}},menuInit:function(t){if(!t.dataSM("in-mega")){t.hasClass("mega-menu")&&t.find("ul").dataSM("in-mega",!0);for(var e=2,i=t[0];(i=i.parentNode.parentNode)!=this.$root[0];)e++;var s=t.prevAll("a").eq(-1);s.length||(s=t.prevAll().find("a").eq(-1)),s.addClass("has-submenu").dataSM("sub",t),t.dataSM("parent-a",s).dataSM("level",e).parent().dataSM("sub",t);var o=s.attr("id")||this.accessIdPrefix+ ++this.idInc,a=t.attr("id")||this.accessIdPrefix+ ++this.idInc;s.attr({id:o,"aria-haspopup":"true","aria-controls":a,"aria-expanded":"false"}),t.attr({id:a,role:"group","aria-hidden":"true","aria-labelledby":o,"aria-expanded":"false"}),this.opts.subIndicators&&s[this.opts.subIndicatorsPos](this.$subArrow.clone())}},menuPosition:function(t){var e,i,s=t.dataSM("parent-a"),o=s.closest("li"),a=o.parent(),n=t.dataSM("level"),r=this.getWidth(t),h=this.getHeight(t),u=s.offset(),l=u.left,c=u.top,d=this.getWidth(s),m=this.getHeight(s),p=$(window),f=p.scrollLeft(),v=p.scrollTop(),b=this.getViewportWidth(),S=this.getViewportHeight(),g=a.parent().is("[data-sm-horizontal-sub]")||2==n&&!a.hasClass("sm-vertical"),M=this.opts.rightToLeftSubMenus&&!o.is("[data-sm-reverse]")||!this.opts.rightToLeftSubMenus&&o.is("[data-sm-reverse]"),w=2==n?this.opts.mainMenuSubOffsetX:this.opts.subMenusSubOffsetX,T=2==n?this.opts.mainMenuSubOffsetY:this.opts.subMenusSubOffsetY;if(g?(e=M?d-r-w:w,i=this.opts.bottomToTopSubMenus?-h-T:m+T):(e=M?w-r:d-w,i=this.opts.bottomToTopSubMenus?m-T-h:T),this.opts.keepInViewport){var y=l+e,I=c+i;if(M&&f>y?e=g?f-y+e:d-w:!M&&y+r>f+b&&(e=g?f+b-r-y+e:w-r),g||(S>h&&I+h>v+S?i+=v+S-h-I:(h>=S||v>I)&&(i+=v-I)),g&&(I+h>v+S+.49||v>I)||!g&&h>S+.49){var x=this;t.dataSM("scroll-arrows")||t.dataSM("scroll-arrows",$([$('')[0],$('')[0]]).on({mouseenter:function(){t.dataSM("scroll").up=$(this).hasClass("scroll-up"),x.menuScroll(t)},mouseleave:function(e){x.menuScrollStop(t),x.menuScrollOut(t,e)},"mousewheel DOMMouseScroll":function(t){t.preventDefault()}}).insertAfter(t));var A=".smartmenus_scroll";if(t.dataSM("scroll",{y:this.cssTransforms3d?0:i-m,step:1,itemH:m,subH:h,arrowDownH:this.getHeight(t.dataSM("scroll-arrows").eq(1))}).on(getEventsNS({mouseover:function(e){x.menuScrollOver(t,e)},mouseout:function(e){x.menuScrollOut(t,e)},"mousewheel DOMMouseScroll":function(e){x.menuScrollMousewheel(t,e)}},A)).dataSM("scroll-arrows").css({top:"auto",left:"0",marginLeft:e+(parseInt(t.css("border-left-width"))||0),width:r-(parseInt(t.css("border-left-width"))||0)-(parseInt(t.css("border-right-width"))||0),zIndex:t.css("z-index")}).eq(g&&this.opts.bottomToTopSubMenus?0:1).show(),this.isFixed()){var C={};C[touchEvents?"touchstart touchmove touchend":"pointerdown pointermove pointerup MSPointerDown MSPointerMove MSPointerUp"]=function(e){x.menuScrollTouch(t,e)},t.css({"touch-action":"none","-ms-touch-action":"none"}).on(getEventsNS(C,A))}}}t.css({top:"auto",left:"0",marginLeft:e,marginTop:i-m})},menuScroll:function(t,e,i){var s,o=t.dataSM("scroll"),a=t.dataSM("scroll-arrows"),n=o.up?o.upEnd:o.downEnd;if(!e&&o.momentum){if(o.momentum*=.92,s=o.momentum,.5>s)return this.menuScrollStop(t),void 0}else s=i||(e||!this.opts.scrollAccelerate?this.opts.scrollStep:Math.floor(o.step));var r=t.dataSM("level");if(this.activatedItems[r-1]&&this.activatedItems[r-1].dataSM("sub")&&this.activatedItems[r-1].dataSM("sub").is(":visible")&&this.menuHideSubMenus(r-1),o.y=o.up&&o.y>=n||!o.up&&n>=o.y?o.y:Math.abs(n-o.y)>s?o.y+(o.up?s:-s):n,t.css(this.cssTransforms3d?{"-webkit-transform":"translate3d(0, "+o.y+"px, 0)",transform:"translate3d(0, "+o.y+"px, 0)"}:{marginTop:o.y}),mouse&&(o.up&&o.y>o.downEnd||!o.up&&o.y0;t.dataSM("scroll-arrows").eq(i?0:1).is(":visible")&&(t.dataSM("scroll").up=i,this.menuScroll(t,!0))}e.preventDefault()},menuScrollOut:function(t,e){mouse&&(/^scroll-(up|down)/.test((e.relatedTarget||"").className)||(t[0]==e.relatedTarget||$.contains(t[0],e.relatedTarget))&&this.getClosestMenu(e.relatedTarget)==t[0]||t.dataSM("scroll-arrows").css("visibility","hidden"))},menuScrollOver:function(t,e){if(mouse&&!/^scroll-(up|down)/.test(e.target.className)&&this.getClosestMenu(e.target)==t[0]){this.menuScrollRefreshData(t);var i=t.dataSM("scroll"),s=$(window).scrollTop()-t.dataSM("parent-a").offset().top-i.itemH;t.dataSM("scroll-arrows").eq(0).css("margin-top",s).end().eq(1).css("margin-top",s+this.getViewportHeight()-i.arrowDownH).end().css("visibility","visible")}},menuScrollRefreshData:function(t){var e=t.dataSM("scroll"),i=$(window).scrollTop()-t.dataSM("parent-a").offset().top-e.itemH;this.cssTransforms3d&&(i=-(parseFloat(t.css("margin-top"))-i)),$.extend(e,{upEnd:i,downEnd:i+this.getViewportHeight()-e.subH})},menuScrollStop:function(t){return this.scrollTimeout?(cancelAnimationFrame(this.scrollTimeout),this.scrollTimeout=0,t.dataSM("scroll").step=1,!0):void 0},menuScrollTouch:function(t,e){if(e=e.originalEvent,isTouchEvent(e)){var i=this.getTouchPoint(e);if(this.getClosestMenu(i.target)==t[0]){var s=t.dataSM("scroll");if(/(start|down)$/i.test(e.type))this.menuScrollStop(t)?(e.preventDefault(),this.$touchScrollingSub=t):this.$touchScrollingSub=null,this.menuScrollRefreshData(t),$.extend(s,{touchStartY:i.pageY,touchStartTime:e.timeStamp});else if(/move$/i.test(e.type)){var o=void 0!==s.touchY?s.touchY:s.touchStartY;if(void 0!==o&&o!=i.pageY){this.$touchScrollingSub=t;var a=i.pageY>o;void 0!==s.up&&s.up!=a&&$.extend(s,{touchStartY:i.pageY,touchStartTime:e.timeStamp}),$.extend(s,{up:a,touchY:i.pageY}),this.menuScroll(t,!0,Math.abs(i.pageY-o))}e.preventDefault()}else void 0!==s.touchY&&((s.momentum=15*Math.pow(Math.abs(i.pageY-s.touchStartY)/(e.timeStamp-s.touchStartTime),2))&&(this.menuScrollStop(t),this.menuScroll(t),e.preventDefault()),delete s.touchY)}}},menuShow:function(t){if((t.dataSM("beforefirstshowfired")||(t.dataSM("beforefirstshowfired",!0),this.$root.triggerHandler("beforefirstshow.smapi",t[0])!==!1))&&this.$root.triggerHandler("beforeshow.smapi",t[0])!==!1&&(t.dataSM("shown-before",!0),canAnimate&&t.stop(!0,!0),!t.is(":visible"))){var e=t.dataSM("parent-a"),i=this.isCollapsible();if((this.opts.keepHighlighted||i)&&e.addClass("highlighted"),i)t.removeClass("sm-nowrap").css({zIndex:"",width:"auto",minWidth:"",maxWidth:"",top:"",left:"",marginLeft:"",marginTop:""});else{if(t.css("z-index",this.zIndexInc=(this.zIndexInc||this.getStartZIndex())+1),(this.opts.subMenusMinWidth||this.opts.subMenusMaxWidth)&&(t.css({width:"auto",minWidth:"",maxWidth:""}).addClass("sm-nowrap"),this.opts.subMenusMinWidth&&t.css("min-width",this.opts.subMenusMinWidth),this.opts.subMenusMaxWidth)){var s=this.getWidth(t);t.css("max-width",this.opts.subMenusMaxWidth),s>this.getWidth(t)&&t.removeClass("sm-nowrap").css("width",this.opts.subMenusMaxWidth)}this.menuPosition(t)}var o=function(){t.css("overflow","")};i?canAnimate&&this.opts.collapsibleShowFunction?this.opts.collapsibleShowFunction.call(this,t,o):t.show(this.opts.collapsibleShowDuration,o):canAnimate&&this.opts.showFunction?this.opts.showFunction.call(this,t,o):t.show(this.opts.showDuration,o),e.attr("aria-expanded","true"),t.attr({"aria-expanded":"true","aria-hidden":"false"}),this.visibleSubMenus.push(t),this.$root.triggerHandler("show.smapi",t[0])}},popupHide:function(t){this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0);var e=this;this.hideTimeout=setTimeout(function(){e.menuHideAll()},t?1:this.opts.hideTimeout)},popupShow:function(t,e){if(!this.opts.isPopup)return alert('SmartMenus jQuery Error:\n\nIf you want to show this menu via the "popupShow" method, set the isPopup:true option.'),void 0;if(this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0),this.$root.dataSM("shown-before",!0),canAnimate&&this.$root.stop(!0,!0),!this.$root.is(":visible")){this.$root.css({left:t,top:e});var i=this,s=function(){i.$root.css("overflow","")};canAnimate&&this.opts.showFunction?this.opts.showFunction.call(this,this.$root,s):this.$root.show(this.opts.showDuration,s),this.visibleSubMenus[0]=this.$root}},refresh:function(){this.destroy(!0),this.init(!0)},rootKeyDown:function(t){if(this.handleEvents())switch(t.keyCode){case 27:var e=this.activatedItems[0];if(e){this.menuHideAll(),e[0].focus();var i=e.dataSM("sub");i&&this.menuHide(i)}break;case 32:var s=$(t.target);if(s.is("a")&&this.handleItemEvents(s)){var i=s.dataSM("sub");i&&!i.is(":visible")&&(this.itemClick({currentTarget:t.target}),t.preventDefault())}}},rootOut:function(t){if(this.handleEvents()&&!this.isTouchMode()&&t.target!=this.$root[0]&&(this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0),!this.opts.showOnClick||!this.opts.hideOnClick)){var e=this;this.hideTimeout=setTimeout(function(){e.menuHideAll()},this.opts.hideTimeout)}},rootOver:function(t){this.handleEvents()&&!this.isTouchMode()&&t.target!=this.$root[0]&&this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=0)},winResize:function(t){if(this.handleEvents()){if(!("onorientationchange"in window)||"orientationchange"==t.type){var e=this.isCollapsible();this.wasCollapsible&&e||(this.activatedItems.length&&this.activatedItems[this.activatedItems.length-1][0].blur(),this.menuHideAll()),this.wasCollapsible=e}}else if(this.$disableOverlay){var i=this.$root.offset();this.$disableOverlay.css({top:i.top,left:i.left,width:this.$root.outerWidth(),height:this.$root.outerHeight()})}}}}),$.fn.dataSM=function(t,e){return e?this.data(t+"_smartmenus",e):this.data(t+"_smartmenus")},$.fn.removeDataSM=function(t){return this.removeData(t+"_smartmenus")},$.fn.smartmenus=function(options){if("string"==typeof options){var args=arguments,method=options;return Array.prototype.shift.call(args),this.each(function(){var t=$(this).data("smartmenus");t&&t[method]&&t[method].apply(t,args)})}return this.each(function(){var dataOpts=$(this).data("sm-options")||null;if(dataOpts)try{dataOpts=eval("("+dataOpts+")")}catch(e){dataOpts=null,alert('ERROR\n\nSmartMenus jQuery init:\nInvalid "data-sm-options" attribute value syntax.')}new $.SmartMenus(this,$.extend({},$.fn.smartmenus.defaults,options,dataOpts))})},$.fn.smartmenus.defaults={isPopup:!1,mainMenuSubOffsetX:0,mainMenuSubOffsetY:0,subMenusSubOffsetX:0,subMenusSubOffsetY:0,subMenusMinWidth:"10em",subMenusMaxWidth:"20em",subIndicators:!0,subIndicatorsPos:"append",subIndicatorsText:"",scrollStep:30,scrollAccelerate:!0,showTimeout:250,hideTimeout:500,showDuration:0,showFunction:null,hideDuration:0,hideFunction:function(t,e){t.fadeOut(200,e)},collapsibleShowDuration:0,collapsibleShowFunction:function(t,e){t.slideDown(200,e)},collapsibleHideDuration:0,collapsibleHideFunction:function(t,e){t.slideUp(200,e)},showOnClick:!1,hideOnClick:!0,noMouseOver:!1,keepInViewport:!0,keepHighlighted:!0,markCurrentItem:!1,markCurrentTree:!0,rightToLeftSubMenus:!1,bottomToTopSubMenus:!1,collapsibleBehavior:"default"},$}); \ No newline at end of file diff --git a/libbc_2include_2bc_2Write_8h.html b/libbc_2include_2bc_2Write_8h.html new file mode 100644 index 000000000..3ac9b61ee --- /dev/null +++ b/libbc_2include_2bc_2Write_8h.html @@ -0,0 +1,116 @@ + + + + + + + +nixd: Write.h File Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
Write.h File Reference
+
+
+
#include <ostream>
+#include <sstream>
+#include <type_traits>
+
+

Go to the source code of this file.

+ + + + +

+Namespaces

namespace  bc
 
+ + + + + + + + + + + + +

+Functions

template<class T >
+requires std::is_standard_layout_v<T> && std::is_trivial_v<T>
void bc::writeBytecode (std::ostream &OS, const T &Data)
 Basic primitives. Trivial data types are just written to a stream.
 
void bc::writeBytecode (std::ostream &OS, const std::string_view &Data)
 
void bc::writeBytecode (std::ostream &OS, const std::string &Data)
 
template<class T >
std::string bc::toBytecode (const T &Data)
 
+
+ + + + diff --git a/libbc_2include_2bc_2Write_8h_source.html b/libbc_2include_2bc_2Write_8h_source.html new file mode 100644 index 000000000..f996da717 --- /dev/null +++ b/libbc_2include_2bc_2Write_8h_source.html @@ -0,0 +1,129 @@ + + + + + + + +nixd: Write.h Source File + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
libbc/include/bc/Write.h
+
+
+Go to the documentation of this file.
1#pragma once
+
2
+
3#include <ostream>
+
4#include <sstream>
+
5#include <type_traits>
+
6
+
7namespace bc {
+
8
+
9/// \brief Basic primitives. Trivial data types are just written to a stream.
+
10template <class T>
+
11 requires std::is_standard_layout_v<T> && std::is_trivial_v<T>
+
+
12void writeBytecode(std::ostream &OS, const T &Data) {
+
13 OS.write(reinterpret_cast<const char *>(&Data), sizeof(T));
+
14}
+
+
15
+
16void writeBytecode(std::ostream &OS, const std::string_view &Data);
+
17
+
+
18inline void writeBytecode(std::ostream &OS, const std::string &Data) {
+
19 writeBytecode(OS, std::string_view(Data));
+
20}
+
+
21
+
+
22template <class T> std::string toBytecode(const T &Data) {
+
23 std::ostringstream OS;
+
24 writeBytecode(OS, Data);
+
25 return OS.str();
+
26}
+
+
27
+
28} // namespace bc
+
Definition Read.h:10
+
std::string toBytecode(const T &Data)
+
void writeBytecode(std::ostream &OS, const T &Data)
Basic primitives. Trivial data types are just written to a stream.
+
+ + + + diff --git a/libbc_2src_2Write_8cpp.html b/libbc_2src_2Write_8cpp.html new file mode 100644 index 000000000..ad93fe482 --- /dev/null +++ b/libbc_2src_2Write_8cpp.html @@ -0,0 +1,104 @@ + + + + + + + +nixd: Write.cpp File Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
Write.cpp File Reference
+
+
+
#include "bc/Write.h"
+
+

Go to the source code of this file.

+ + + + +

+Namespaces

namespace  bc
 
+ + + +

+Functions

void bc::writeBytecode (std::ostream &OS, const std::string_view &Data)
 
+
+ + + + diff --git a/libbc_2src_2Write_8cpp_source.html b/libbc_2src_2Write_8cpp_source.html new file mode 100644 index 000000000..372cd9bf3 --- /dev/null +++ b/libbc_2src_2Write_8cpp_source.html @@ -0,0 +1,107 @@ + + + + + + + +nixd: Write.cpp Source File + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
libbc/src/Write.cpp
+
+
+Go to the documentation of this file.
1#include "bc/Write.h"
+
2
+
3namespace bc {
+
4
+
+
5void writeBytecode(std::ostream &OS, const std::string_view &Data) {
+
6 writeBytecode(OS, static_cast<std::size_t>(Data.size()));
+
7 OS.write(Data.data(), static_cast<std::streamsize>(Data.size()));
+
8}
+
+
9
+
10} // namespace bc
+ +
Definition Read.h:10
+
void writeBytecode(std::ostream &OS, const T &Data)
Basic primitives. Trivial data types are just written to a stream.
+
+ + + + diff --git a/libnixbc_2README_8md.html b/libnixbc_2README_8md.html new file mode 100644 index 000000000..ccd272335 --- /dev/null +++ b/libnixbc_2README_8md.html @@ -0,0 +1,83 @@ + + + + + + + +nixd: README.md File Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
+
README.md File Reference
+
+
+
+ + + + diff --git a/libnixbc_2include_2nixbc_2Nodes_8h.html b/libnixbc_2include_2nixbc_2Nodes_8h.html new file mode 100644 index 000000000..3a4541f55 --- /dev/null +++ b/libnixbc_2include_2nixbc_2Nodes_8h.html @@ -0,0 +1,143 @@ + + + + + + + +nixd: Nodes.h File Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
Nodes.h File Reference
+
+ + + + + diff --git a/libnixbc_2include_2nixbc_2Nodes_8h_source.html b/libnixbc_2include_2nixbc_2Nodes_8h_source.html new file mode 100644 index 000000000..4fd4b9299 --- /dev/null +++ b/libnixbc_2include_2nixbc_2Nodes_8h_source.html @@ -0,0 +1,166 @@ + + + + + + + +nixd: Nodes.h Source File + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
libnixbc/include/nixbc/Nodes.h
+
+
+Go to the documentation of this file.
1#pragma once
+
2
+
3#include <cstdint>
+
4
+
5namespace nixbc {
+
6
+ +
34
+
+
35struct NodeHeader {
+ +
37 uintptr_t Handle;
+
38};
+
+
39
+
40} // namespace nixbc
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + diff --git a/libnixf_2include_2nixf_2Basic_2Nodes_8h.html b/libnixf_2include_2nixf_2Basic_2Nodes_8h.html new file mode 100644 index 000000000..8ef983de6 --- /dev/null +++ b/libnixf_2include_2nixf_2Basic_2Nodes_8h.html @@ -0,0 +1,103 @@ + + + + + + + +nixd: Nodes.h File Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Nodes.h File Reference
+
+
+ +

AST nodes. +More...

+
#include "Nodes/Attrs.h"
+#include "Nodes/Basic.h"
+#include "Nodes/Expr.h"
+#include "Nodes/Lambda.h"
+#include "Nodes/Op.h"
+#include "Nodes/Simple.h"
+
+

Go to the source code of this file.

+

Detailed Description

+

AST nodes.

+

Declares the AST nodes used by the parser, the nodes may be used in latter stages, for example semantic analysis. It is expected that they may share some nodes, so they are reference counted.

+ +

Definition in file libnixf/include/nixf/Basic/Nodes.h.

+
+ + + + diff --git a/libnixf_2include_2nixf_2Basic_2Nodes_8h_source.html b/libnixf_2include_2nixf_2Basic_2Nodes_8h_source.html new file mode 100644 index 000000000..42aedcf66 --- /dev/null +++ b/libnixf_2include_2nixf_2Basic_2Nodes_8h_source.html @@ -0,0 +1,114 @@ + + + + + + + +nixd: Nodes.h Source File + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
libnixf/include/nixf/Basic/Nodes.h
+
+
+Go to the documentation of this file.
1/// \file
+
2/// \brief AST nodes.
+
3///
+
4/// Declares the AST nodes used by the parser, the nodes may be used in latter
+
5/// stages, for example semantic analysis.
+
6/// It is expected that they may share some nodes, so they are reference
+
7/// counted.
+
8
+
9#pragma once
+
10
+
11#include "Nodes/Attrs.h"
+
12#include "Nodes/Basic.h"
+
13#include "Nodes/Expr.h"
+
14#include "Nodes/Lambda.h"
+
15#include "Nodes/Op.h"
+
16#include "Nodes/Simple.h"
+ + + + + + +
+ + + + diff --git a/libnixf_2include_2nixf_2Bytecode_2Write_8h.html b/libnixf_2include_2nixf_2Bytecode_2Write_8h.html new file mode 100644 index 000000000..7e8948233 --- /dev/null +++ b/libnixf_2include_2nixf_2Bytecode_2Write_8h.html @@ -0,0 +1,113 @@ + + + + + + + +nixd: Write.h File Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
Write.h File Reference
+
+
+ +

Serialization of nixf nodes. +More...

+
#include "nixf/Basic/Nodes.h"
+#include <cstdint>
+
+

Go to the source code of this file.

+ + + + +

+Namespaces

namespace  nixf
 
+ + + +

+Functions

void nixf::writeBytecode (std::ostream &OS, const Node &N)
 
+

Detailed Description

+

Serialization of nixf nodes.

+

Serialization is the process of converting nix nodes into a byte stream. The target format is "nixbc".

+ +

Definition in file libnixf/include/nixf/Bytecode/Write.h.

+
+ + + + diff --git a/libnixf_2include_2nixf_2Bytecode_2Write_8h_source.html b/libnixf_2include_2nixf_2Bytecode_2Write_8h_source.html new file mode 100644 index 000000000..cb2493ba9 --- /dev/null +++ b/libnixf_2include_2nixf_2Bytecode_2Write_8h_source.html @@ -0,0 +1,112 @@ + + + + + + + +nixd: Write.h Source File + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
libnixf/include/nixf/Bytecode/Write.h
+
+
+Go to the documentation of this file.
1/// \file
+
2/// \brief Serialization of nixf nodes.
+
3///
+
4/// Serialization is the process of converting nix nodes into a byte stream. The
+
5/// target format is "nixbc".
+
6
+
7#pragma once
+
8
+
9#include "nixf/Basic/Nodes.h"
+
10
+
11#include <cstdint>
+
12
+
13namespace nixf {
+
14
+
15void writeBytecode(std::ostream &OS, const Node &N);
+
16
+
17} // namespace nixf
+
AST nodes.
+
void writeBytecode(std::ostream &OS, const Origin &O)
Definition Origin.cpp:9
+ +
+ + + + diff --git a/libnixf_2src_2Bytecode_2Write_8cpp.html b/libnixf_2src_2Bytecode_2Write_8cpp.html new file mode 100644 index 000000000..4f1377f9d --- /dev/null +++ b/libnixf_2src_2Bytecode_2Write_8cpp.html @@ -0,0 +1,110 @@ + + + + + + + +nixd: Write.cpp File Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
Write.cpp File Reference
+
+
+
#include "Write.h"
+#include <bc/Write.h>
+#include <nixbc/Nodes.h>
+
+

Go to the source code of this file.

+ + + + +

+Namespaces

namespace  nixf
 
+ + + + + + + +

+Functions

void nixf::writeBytecode (std::ostream &OS, const ExprInt &N)
 
void nixf::writeBytecode (std::ostream &OS, const ExprBinOp &N)
 
void nixf::writeBytecode (std::ostream &OS, const Node &N)
 
+
+ + + + diff --git a/libnixf_2src_2Bytecode_2Write_8cpp_source.html b/libnixf_2src_2Bytecode_2Write_8cpp_source.html new file mode 100644 index 000000000..a5fb7ef2f --- /dev/null +++ b/libnixf_2src_2Bytecode_2Write_8cpp_source.html @@ -0,0 +1,173 @@ + + + + + + + +nixd: Write.cpp Source File + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
libnixf/src/Bytecode/Write.cpp
+
+
+Go to the documentation of this file.
1#include "Write.h"
+
2
+
3#include <bc/Write.h>
+
4
+
5#include <nixbc/Nodes.h>
+
6
+
7namespace nixf {
+
8
+
9using namespace nixbc;
+
10
+ +
12
+
+
13void writeBytecode(std::ostream &OS, const ExprInt &N) {
+
14 writeBytecode(OS, NodeHeader{EK_Int, reinterpret_cast<std::uintptr_t>(&N)});
+
15 writeBytecode(OS, N.value());
+
16}
+
+
17
+
+
18void writeBytecode(std::ostream &OS, const ExprBinOp &N) {
+
19 using namespace tok;
+
20
+
21 if (!N.lhs() || !N.rhs()) // Skip invalid nodes
+
22 return;
+
23
+
24 const Expr &LHS = *N.lhs();
+
25 const Expr &RHS = *N.rhs();
+
26
+
27 switch (N.op().op()) {
+
28 case tok_op_add:
+
29 // (+ a b) -> (ConcatStrings a b)
+ +
31 OS, NodeHeader{EK_ConcatStrings, reinterpret_cast<std::uintptr_t>(&N)});
+
32 writeBytecode(OS, static_cast<const Node &>(LHS));
+
33 writeBytecode(OS, static_cast<const Node &>(RHS));
+
34 return;
+
35 default:
+
36 break;
+
37 }
+
38 assert(false && "Unhandled binary operator");
+
39 __builtin_unreachable();
+
40}
+
+
41
+
+
42void writeBytecode(std::ostream &OS, const Node &N) {
+
43 switch (N.kind()) {
+
44 case Node::NK_ExprInt:
+
45 writeBytecode(OS, static_cast<const ExprInt &>(N));
+
46 break;
+
47 case Node::NK_ExprBinOp:
+
48 writeBytecode(OS, static_cast<const ExprBinOp &>(N));
+
49 break;
+
50 default:
+
51 break;
+
52 }
+
53}
+
+
54
+
55} // namespace nixf
+ +
Expr * rhs() const
Definition Op.h:50
+
Expr * lhs() const
Definition Op.h:49
+ +
NixInt value() const
Definition Simple.h:21
+
Op & op() const
Definition Op.h:34
+ + +
NodeKind kind() const
Definition Basic.h:34
+
tok::TokenKind op() const
Definition Op.h:19
+ + + +
void writeBytecode(std::ostream &OS, const T &Data)
Basic primitives. Trivial data types are just written to a stream.
+ + + +
void writeBytecode(std::ostream &OS, const Origin &O)
Definition Origin.cpp:9
+ + +
+ + + + diff --git a/libnixf_2src_2Bytecode_2Write_8h.html b/libnixf_2src_2Bytecode_2Write_8h.html new file mode 100644 index 000000000..dec539b94 --- /dev/null +++ b/libnixf_2src_2Bytecode_2Write_8h.html @@ -0,0 +1,107 @@ + + + + + + + +nixd: Write.h File Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
Write.h File Reference
+
+
+
#include "nixf/Bytecode/Write.h"
+#include <nixbc/Nodes.h>
+
+

Go to the source code of this file.

+ + + + +

+Namespaces

namespace  nixf
 
+ + + + + +

+Functions

void nixf::writeBytecode (std::ostream &OS, const ExprInt &N)
 
void nixf::writeBytecode (std::ostream &OS, const ExprBinOp &N)
 
+
+ + + + diff --git a/libnixf_2src_2Bytecode_2Write_8h_source.html b/libnixf_2src_2Bytecode_2Write_8h_source.html new file mode 100644 index 000000000..a4cac74e5 --- /dev/null +++ b/libnixf_2src_2Bytecode_2Write_8h_source.html @@ -0,0 +1,107 @@ + + + + + + + +nixd: Write.h Source File + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
libnixf/src/Bytecode/Write.h
+
+
+Go to the documentation of this file.
+
2
+
3#include <nixbc/Nodes.h>
+
4
+
5namespace nixf {
+
6
+
7void writeBytecode(std::ostream &OS, const ExprInt &N);
+
8
+
9void writeBytecode(std::ostream &OS, const ExprBinOp &N);
+
10
+
11} // namespace nixf
+ +
Serialization of nixf nodes.
+
void writeBytecode(std::ostream &OS, const Origin &O)
Definition Origin.cpp:9
+ +
+ + + + diff --git a/libnixt_2README_8md.html b/libnixt_2README_8md.html new file mode 100644 index 000000000..ccd272335 --- /dev/null +++ b/libnixt_2README_8md.html @@ -0,0 +1,83 @@ + + + + + + + +nixd: README.md File Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
+
README.md File Reference
+
+
+
+ + + + diff --git a/lspserver_2README_8md.html b/lspserver_2README_8md.html new file mode 100644 index 000000000..ccd272335 --- /dev/null +++ b/lspserver_2README_8md.html @@ -0,0 +1,83 @@ + + + + + + + +nixd: README.md File Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
+
README.md File Reference
+
+
+
+ + + + diff --git a/lspserver_2include_2lspserver_2Protocol_8h.html b/lspserver_2include_2lspserver_2Protocol_8h.html new file mode 100644 index 000000000..e2d4800eb --- /dev/null +++ b/lspserver_2include_2lspserver_2Protocol_8h.html @@ -0,0 +1,805 @@ + + + + + + + +nixd: Protocol.h File Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
Protocol.h File Reference
+
+
+
#include "URI.h"
+#include <bitset>
+#include <memory>
+#include <optional>
+#include <string>
+#include <vector>
+#include <llvm/ADT/SmallVector.h>
+#include <llvm/Support/JSON.h>
+#include <llvm/Support/raw_ostream.h>
+
+

Go to the source code of this file.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Classes

class  lspserver::LSPError
 
struct  lspserver::URIForFile
 
struct  lspserver::TextDocumentIdentifier
 
struct  lspserver::VersionedTextDocumentIdentifier
 
struct  lspserver::Position
 
struct  lspserver::Range
 
struct  lspserver::Location
 
struct  lspserver::ReferenceLocation
 
struct  lspserver::TextEdit
 
struct  lspserver::ChangeAnnotation
 
struct  lspserver::TextDocumentEdit
 
struct  lspserver::TextDocumentItem
 
struct  lspserver::NoParams
 
struct  lspserver::ClientCapabilities
 
struct  lspserver::ClangdCompileCommand
 
struct  lspserver::ConfigurationSettings
 
struct  lspserver::InitializationOptions
 
struct  lspserver::InitializeParams
 
struct  lspserver::WorkDoneProgressCreateParams
 
struct  lspserver::ProgressParams< T >
 
struct  lspserver::WorkDoneProgressBegin
 
struct  lspserver::WorkDoneProgressReport
 Reporting progress is done using the following payload. More...
 
struct  lspserver::WorkDoneProgressEnd
 Signals the end of progress reporting. More...
 
struct  lspserver::ShowMessageParams
 
struct  lspserver::DidOpenTextDocumentParams
 
struct  lspserver::DidCloseTextDocumentParams
 
struct  lspserver::DidSaveTextDocumentParams
 
struct  lspserver::TextDocumentContentChangeEvent
 
struct  lspserver::DidChangeTextDocumentParams
 
struct  lspserver::FileEvent
 
struct  lspserver::DidChangeWatchedFilesParams
 
struct  lspserver::DidChangeConfigurationParams
 
struct  lspserver::DocumentRangeFormattingParams
 
struct  lspserver::DocumentOnTypeFormattingParams
 
struct  lspserver::DocumentFormattingParams
 
struct  lspserver::DocumentSymbolParams
 
struct  lspserver::DiagnosticRelatedInformation
 
struct  lspserver::CodeDescription
 Structure to capture a description for an error code. More...
 
struct  lspserver::Diagnostic
 
struct  lspserver::LSPDiagnosticCompare
 
struct  lspserver::PublishDiagnosticsParams
 
struct  lspserver::CodeActionContext
 
struct  lspserver::CodeActionParams
 
struct  lspserver::WorkspaceEdit
 
struct  lspserver::TweakArgs
 
struct  lspserver::ExecuteCommandParams
 
struct  lspserver::Command
 
struct  lspserver::CodeAction
 
struct  lspserver::DocumentSymbol
 
struct  lspserver::SymbolInformation
 
struct  lspserver::WorkspaceSymbolParams
 The parameters of a Workspace Symbol Request. More...
 
struct  lspserver::ApplyWorkspaceEditParams
 
struct  lspserver::ApplyWorkspaceEditResponse
 
struct  lspserver::TextDocumentPositionParams
 
struct  lspserver::CompletionContext
 
struct  lspserver::CompletionParams
 
struct  lspserver::MarkupContent
 
struct  lspserver::Hover
 
struct  lspserver::CompletionItem
 
struct  lspserver::CompletionList
 Represents a collection of completion items to be presented in the editor. More...
 
struct  lspserver::ParameterInformation
 A single parameter of a particular signature. More...
 
struct  lspserver::SignatureInformation
 Represents the signature of something callable. More...
 
struct  lspserver::SignatureHelp
 Represents the signature of a callable. More...
 
struct  lspserver::RenameParams
 
struct  lspserver::DocumentHighlight
 
struct  lspserver::TypeHierarchyPrepareParams
 
struct  lspserver::TypeHierarchyItem
 
struct  lspserver::TypeHierarchyItem::ResolveParams
 Used to resolve a client provided item back. More...
 
struct  lspserver::ResolveTypeHierarchyItemParams
 Parameters for the typeHierarchy/resolve request. More...
 
struct  lspserver::CallHierarchyPrepareParams
 The parameter of a textDocument/prepareCallHierarchy request. More...
 
struct  lspserver::CallHierarchyItem
 
struct  lspserver::CallHierarchyIncomingCallsParams
 The parameter of a callHierarchy/incomingCalls request. More...
 
struct  lspserver::CallHierarchyIncomingCall
 Represents an incoming call, e.g. a caller of a method or constructor. More...
 
struct  lspserver::CallHierarchyOutgoingCallsParams
 The parameter of a callHierarchy/outgoingCalls request. More...
 
struct  lspserver::CallHierarchyOutgoingCall
 
struct  lspserver::InlayHintsParams
 A parameter literal used in inlay hint requests. More...
 
struct  lspserver::InlayHint
 Inlay hint information. More...
 
struct  lspserver::ReferenceContext
 
struct  lspserver::ReferenceParams
 
struct  lspserver::FileStatus
 
struct  lspserver::SemanticToken
 
struct  lspserver::SemanticTokens
 A versioned set of tokens. More...
 
struct  lspserver::SemanticTokensParams
 Body of textDocument/semanticTokens/full request. More...
 
struct  lspserver::SemanticTokensDeltaParams
 
struct  lspserver::SemanticTokensEdit
 Describes a replacement of a contiguous range of semanticTokens. More...
 
struct  lspserver::SemanticTokensOrDelta
 
struct  lspserver::InactiveRegionsParams
 
struct  lspserver::SelectionRangeParams
 
struct  lspserver::SelectionRange
 
struct  lspserver::DocumentLinkParams
 Parameters for the document link request. More...
 
struct  lspserver::DocumentLink
 
struct  lspserver::FoldingRangeParams
 
struct  lspserver::FoldingRange
 Stores information about a region of code that can be folded. More...
 
struct  lspserver::ASTParams
 
struct  lspserver::ASTNode
 
struct  lspserver::ConfigurationItem
 
struct  lspserver::ConfigurationParams
 
struct  llvm::format_provider< lspserver::Position >
 
+ + + + + + +

+Namespaces

namespace  lspserver
 Whether current platform treats paths case insensitively.
 
namespace  llvm
 
+ + + + + + + + + +

+Typedefs

using lspserver::ChangeAnnotationIdentifier = std::string
 
using lspserver::InitializedParams = NoParams
 
using lspserver::CompletionItemKindBitset = std::bitset<CompletionItemKindMax + 1>
 
using lspserver::SymbolKindBitset = std::bitset<SymbolKindMax + 1>
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Enumerations

enum class  lspserver::ErrorCode {
+  lspserver::ParseError = -32700 +, lspserver::InvalidRequest = -32600 +, lspserver::MethodNotFound = -32601 +, lspserver::InvalidParams = -32602 +,
+  lspserver::InternalError = -32603 +, lspserver::ServerNotInitialized = -32002 +, lspserver::UnknownErrorCode = -32001 +, lspserver::RequestCancelled = -32800 +,
+  lspserver::ContentModified = -32801 +
+ }
 
enum class  lspserver::TraceLevel { lspserver::Off = 0 +, lspserver::Messages = 1 +, lspserver::Verbose = 2 + }
 
enum class  lspserver::TextDocumentSyncKind { lspserver::None = 0 +, lspserver::Full = 1 +, lspserver::Incremental = 2 + }
 
enum class  lspserver::CompletionItemKind {
+  lspserver::Missing = 0 +, lspserver::Text = 1 +, lspserver::Method = 2 +, lspserver::Function = 3 +,
+  lspserver::Constructor = 4 +, lspserver::Field = 5 +, lspserver::Variable = 6 +, lspserver::Class = 7 +,
+  lspserver::Interface = 8 +, lspserver::Module = 9 +, lspserver::Property = 10 +, lspserver::Unit = 11 +,
+  lspserver::Value = 12 +, lspserver::Enum = 13 +, lspserver::Keyword = 14 +, lspserver::Snippet = 15 +,
+  lspserver::Color = 16 +, lspserver::File = 17 +, lspserver::Reference = 18 +, lspserver::Folder = 19 +,
+  lspserver::EnumMember = 20 +, lspserver::Constant = 21 +, lspserver::Struct = 22 +, lspserver::Event = 23 +,
+  lspserver::Operator = 24 +, lspserver::TypeParameter = 25 +
+ }
 The kind of a completion entry. More...
 
enum class  lspserver::SymbolKind {
+  lspserver::File = 1 +, lspserver::Module = 2 +, lspserver::Namespace = 3 +, lspserver::Package = 4 +,
+  lspserver::Class = 5 +, lspserver::Method = 6 +, lspserver::Property = 7 +, lspserver::Field = 8 +,
+  lspserver::Constructor = 9 +, lspserver::Enum = 10 +, lspserver::Interface = 11 +, lspserver::Function = 12 +,
+  lspserver::Variable = 13 +, lspserver::Constant = 14 +, lspserver::String = 15 +, lspserver::Number = 16 +,
+  lspserver::Boolean = 17 +, lspserver::Array = 18 +, lspserver::Object = 19 +, lspserver::Key = 20 +,
+  lspserver::Null = 21 +, lspserver::EnumMember = 22 +, lspserver::Struct = 23 +, lspserver::Event = 24 +,
+  lspserver::Operator = 25 +, lspserver::TypeParameter = 26 +
+ }
 A symbol kind. More...
 
enum class  lspserver::OffsetEncoding { lspserver::UnsupportedEncoding +, lspserver::UTF16 +, lspserver::UTF8 +, lspserver::UTF32 + }
 
enum class  lspserver::MarkupKind { lspserver::PlainText +, lspserver::Markdown + }
 
enum class  lspserver::MessageType { lspserver::Error = 1 +, lspserver::Warning = 2 +, lspserver::Info = 3 +, lspserver::Log = 4 + }
 
enum class  lspserver::FileChangeType { lspserver::Created = 1 +, lspserver::Changed = 2 +, lspserver::Deleted = 3 + }
 
enum  lspserver::DiagnosticTag { lspserver::Unnecessary = 1 +, lspserver::Deprecated = 2 + }
 
enum class  lspserver::CompletionTriggerKind { lspserver::Invoked = 1 +, lspserver::TriggerCharacter = 2 +, lspserver::TriggerTriggerForIncompleteCompletions = 3 + }
 
enum class  lspserver::InsertTextFormat { lspserver::Missing = 0 +, lspserver::PlainText = 1 +, lspserver::Snippet = 2 + }
 
enum class  lspserver::DocumentHighlightKind { lspserver::Text = 1 +, lspserver::Read = 2 +, lspserver::Write = 3 + }
 
enum class  lspserver::TypeHierarchyDirection { lspserver::Children = 0 +, lspserver::Parents = 1 +, lspserver::Both = 2 + }
 
enum class  lspserver::SymbolTag { lspserver::Deprecated = 1 + }
 
enum class  lspserver::InlayHintKind { lspserver::Type = 1 +, lspserver::Parameter = 2 +, lspserver::Designator = 3 + }
 Inlay hint kinds. More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

llvm::json::Value lspserver::toJSON (const URIForFile &U)
 Serialize/deserialize URIForFile to/from a string URI.
 
bool lspserver::fromJSON (const llvm::json::Value &, URIForFile &, llvm::json::Path)
 
llvm::json::Value lspserver::toJSON (const TextDocumentIdentifier &)
 
bool lspserver::fromJSON (const llvm::json::Value &, TextDocumentIdentifier &, llvm::json::Path)
 
llvm::json::Value lspserver::toJSON (const VersionedTextDocumentIdentifier &)
 
bool lspserver::fromJSON (const llvm::json::Value &, VersionedTextDocumentIdentifier &, llvm::json::Path)
 
bool lspserver::fromJSON (const llvm::json::Value &, Position &, llvm::json::Path)
 
llvm::json::Value lspserver::toJSON (const Position &)
 
llvm::raw_ostream & lspserver::operator<< (llvm::raw_ostream &, const Position &)
 
bool lspserver::fromJSON (const llvm::json::Value &, Range &, llvm::json::Path)
 
llvm::json::Value lspserver::toJSON (const Range &)
 
llvm::raw_ostream & lspserver::operator<< (llvm::raw_ostream &, const Range &)
 
llvm::json::Value lspserver::toJSON (const Location &)
 
llvm::raw_ostream & lspserver::operator<< (llvm::raw_ostream &, const Location &)
 
llvm::json::Value lspserver::toJSON (const ReferenceLocation &)
 
llvm::raw_ostream & lspserver::operator<< (llvm::raw_ostream &, const ReferenceLocation &)
 
bool lspserver::operator== (const TextEdit &L, const TextEdit &R)
 
bool lspserver::fromJSON (const llvm::json::Value &, TextEdit &, llvm::json::Path)
 
llvm::json::Value lspserver::toJSON (const TextEdit &)
 
llvm::raw_ostream & lspserver::operator<< (llvm::raw_ostream &, const TextEdit &)
 
bool lspserver::fromJSON (const llvm::json::Value &, ChangeAnnotation &, llvm::json::Path)
 
llvm::json::Value lspserver::toJSON (const ChangeAnnotation &)
 
bool lspserver::fromJSON (const llvm::json::Value &, TextDocumentEdit &, llvm::json::Path)
 
llvm::json::Value lspserver::toJSON (const TextDocumentEdit &)
 
bool lspserver::fromJSON (const llvm::json::Value &, TextDocumentItem &, llvm::json::Path)
 
bool lspserver::fromJSON (const llvm::json::Value &E, TraceLevel &Out, llvm::json::Path)
 
llvm::json::Value lspserver::toJSON (const NoParams &)
 
bool lspserver::fromJSON (const llvm::json::Value &, NoParams &, llvm::json::Path)
 
bool lspserver::fromJSON (const llvm::json::Value &, CompletionItemKind &, llvm::json::Path)
 
bool lspserver::fromJSON (const llvm::json::Value &, CompletionItemKindBitset &, llvm::json::Path)
 
CompletionItemKind lspserver::adjustKindToCapability (CompletionItemKind Kind, CompletionItemKindBitset &SupportedCompletionItemKinds)
 
bool lspserver::fromJSON (const llvm::json::Value &, SymbolKind &, llvm::json::Path)
 
bool lspserver::fromJSON (const llvm::json::Value &, SymbolKindBitset &, llvm::json::Path)
 
SymbolKind lspserver::adjustKindToCapability (SymbolKind Kind, SymbolKindBitset &supportedSymbolKinds)
 
llvm::json::Value lspserver::toJSON (const OffsetEncoding &)
 
bool lspserver::fromJSON (const llvm::json::Value &, OffsetEncoding &, llvm::json::Path)
 
llvm::raw_ostream & lspserver::operator<< (llvm::raw_ostream &, OffsetEncoding)
 
bool lspserver::fromJSON (const llvm::json::Value &, MarkupKind &, llvm::json::Path)
 
llvm::raw_ostream & lspserver::operator<< (llvm::raw_ostream &OS, MarkupKind)
 
bool lspserver::fromJSON (const llvm::json::Value &, ClientCapabilities &, llvm::json::Path)
 
bool lspserver::fromJSON (const llvm::json::Value &, ClangdCompileCommand &, llvm::json::Path)
 
bool lspserver::fromJSON (const llvm::json::Value &, ConfigurationSettings &, llvm::json::Path)
 
bool lspserver::fromJSON (const llvm::json::Value &, InitializationOptions &, llvm::json::Path)
 
bool lspserver::fromJSON (const llvm::json::Value &, InitializeParams &, llvm::json::Path)
 
llvm::json::Value lspserver::toJSON (const WorkDoneProgressCreateParams &P)
 
template<typename T >
llvm::json::Value lspserver::toJSON (const ProgressParams< T > &P)
 
llvm::json::Value lspserver::toJSON (const WorkDoneProgressBegin &)
 
llvm::json::Value lspserver::toJSON (const WorkDoneProgressReport &)
 
llvm::json::Value lspserver::toJSON (const WorkDoneProgressEnd &)
 
llvm::json::Value lspserver::toJSON (const MessageType &)
 
llvm::json::Value lspserver::toJSON (const ShowMessageParams &)
 
bool lspserver::fromJSON (const llvm::json::Value &, DidOpenTextDocumentParams &, llvm::json::Path)
 
bool lspserver::fromJSON (const llvm::json::Value &, DidCloseTextDocumentParams &, llvm::json::Path)
 
bool lspserver::fromJSON (const llvm::json::Value &, DidSaveTextDocumentParams &, llvm::json::Path)
 
bool lspserver::fromJSON (const llvm::json::Value &, TextDocumentContentChangeEvent &, llvm::json::Path)
 
bool lspserver::fromJSON (const llvm::json::Value &, DidChangeTextDocumentParams &, llvm::json::Path)
 
bool lspserver::fromJSON (const llvm::json::Value &E, FileChangeType &Out, llvm::json::Path)
 
bool lspserver::fromJSON (const llvm::json::Value &, FileEvent &, llvm::json::Path)
 
bool lspserver::fromJSON (const llvm::json::Value &, DidChangeWatchedFilesParams &, llvm::json::Path)
 
bool lspserver::fromJSON (const llvm::json::Value &, DidChangeConfigurationParams &, llvm::json::Path)
 
bool lspserver::fromJSON (const llvm::json::Value &, DocumentRangeFormattingParams &, llvm::json::Path)
 
bool lspserver::fromJSON (const llvm::json::Value &, DocumentOnTypeFormattingParams &, llvm::json::Path)
 
bool lspserver::fromJSON (const llvm::json::Value &, DocumentFormattingParams &, llvm::json::Path)
 
bool lspserver::fromJSON (const llvm::json::Value &, DocumentSymbolParams &, llvm::json::Path)
 
llvm::json::Value lspserver::toJSON (const DiagnosticRelatedInformation &)
 
llvm::json::Value lspserver::toJSON (DiagnosticTag Tag)
 
llvm::json::Value lspserver::toJSON (const CodeDescription &)
 
llvm::json::Value lspserver::toJSON (const Diagnostic &)
 
bool lspserver::fromJSON (const llvm::json::Value &, Diagnostic &, llvm::json::Path)
 
llvm::raw_ostream & lspserver::operator<< (llvm::raw_ostream &, const Diagnostic &)
 
llvm::json::Value lspserver::toJSON (const PublishDiagnosticsParams &)
 
bool lspserver::fromJSON (const llvm::json::Value &, CodeActionContext &, llvm::json::Path)
 
bool lspserver::fromJSON (const llvm::json::Value &, CodeActionParams &, llvm::json::Path)
 
bool lspserver::fromJSON (const llvm::json::Value &, WorkspaceEdit &, llvm::json::Path)
 
llvm::json::Value lspserver::toJSON (const WorkspaceEdit &WE)
 
bool lspserver::fromJSON (const llvm::json::Value &, TweakArgs &, llvm::json::Path)
 
llvm::json::Value lspserver::toJSON (const TweakArgs &A)
 
bool lspserver::fromJSON (const llvm::json::Value &, ExecuteCommandParams &, llvm::json::Path)
 
llvm::json::Value lspserver::toJSON (const Command &C)
 
llvm::json::Value lspserver::toJSON (const CodeAction &)
 
llvm::raw_ostream & lspserver::operator<< (llvm::raw_ostream &O, const DocumentSymbol &S)
 
llvm::json::Value lspserver::toJSON (const DocumentSymbol &S)
 
llvm::json::Value lspserver::toJSON (const SymbolInformation &)
 
llvm::raw_ostream & lspserver::operator<< (llvm::raw_ostream &, const SymbolInformation &)
 
bool lspserver::fromJSON (const llvm::json::Value &, WorkspaceSymbolParams &, llvm::json::Path)
 
llvm::json::Value lspserver::toJSON (const ApplyWorkspaceEditParams &)
 
bool lspserver::fromJSON (const llvm::json::Value &, ApplyWorkspaceEditResponse &, llvm::json::Path)
 
bool lspserver::fromJSON (const llvm::json::Value &, TextDocumentPositionParams &, llvm::json::Path)
 
bool lspserver::fromJSON (const llvm::json::Value &, CompletionContext &, llvm::json::Path)
 
bool lspserver::fromJSON (const llvm::json::Value &, CompletionParams &, llvm::json::Path)
 
llvm::json::Value lspserver::toJSON (const MarkupContent &MC)
 
llvm::json::Value lspserver::toJSON (const Hover &H)
 
llvm::json::Value lspserver::toJSON (const CompletionItem &)
 
llvm::raw_ostream & lspserver::operator<< (llvm::raw_ostream &, const CompletionItem &)
 
bool lspserver::operator< (const CompletionItem &, const CompletionItem &)
 
llvm::json::Value lspserver::toJSON (const CompletionList &)
 
llvm::json::Value lspserver::toJSON (const ParameterInformation &)
 
llvm::json::Value lspserver::toJSON (const SignatureInformation &)
 
llvm::raw_ostream & lspserver::operator<< (llvm::raw_ostream &, const SignatureInformation &)
 
llvm::json::Value lspserver::toJSON (const SignatureHelp &)
 
bool lspserver::fromJSON (const llvm::json::Value &, RenameParams &, llvm::json::Path)
 
llvm::json::Value lspserver::toJSON (const DocumentHighlight &DH)
 
llvm::raw_ostream & lspserver::operator<< (llvm::raw_ostream &, const DocumentHighlight &)
 
bool lspserver::fromJSON (const llvm::json::Value &E, TypeHierarchyDirection &Out, llvm::json::Path)
 
bool lspserver::fromJSON (const llvm::json::Value &, TypeHierarchyPrepareParams &, llvm::json::Path)
 
llvm::json::Value lspserver::toJSON (const TypeHierarchyItem::ResolveParams &)
 
bool lspserver::fromJSON (const TypeHierarchyItem::ResolveParams &)
 
llvm::json::Value lspserver::toJSON (const TypeHierarchyItem &)
 
llvm::raw_ostream & lspserver::operator<< (llvm::raw_ostream &, const TypeHierarchyItem &)
 
bool lspserver::fromJSON (const llvm::json::Value &, TypeHierarchyItem &, llvm::json::Path)
 
bool lspserver::fromJSON (const llvm::json::Value &, ResolveTypeHierarchyItemParams &, llvm::json::Path)
 
llvm::json::Value lspserver::toJSON (SymbolTag)
 
llvm::json::Value lspserver::toJSON (const CallHierarchyItem &)
 
bool lspserver::fromJSON (const llvm::json::Value &, CallHierarchyItem &, llvm::json::Path)
 
bool lspserver::fromJSON (const llvm::json::Value &, CallHierarchyIncomingCallsParams &, llvm::json::Path)
 
llvm::json::Value lspserver::toJSON (const CallHierarchyIncomingCall &)
 
bool lspserver::fromJSON (const llvm::json::Value &, CallHierarchyOutgoingCallsParams &, llvm::json::Path)
 
llvm::json::Value lspserver::toJSON (const CallHierarchyOutgoingCall &)
 
bool lspserver::fromJSON (const llvm::json::Value &, InlayHintsParams &, llvm::json::Path)
 
llvm::json::Value lspserver::toJSON (const InlayHintKind &)
 
llvm::json::Value lspserver::toJSON (const InlayHint &)
 
bool lspserver::operator== (const InlayHint &, const InlayHint &)
 
bool lspserver::operator< (const InlayHint &, const InlayHint &)
 
llvm::raw_ostream & lspserver::operator<< (llvm::raw_ostream &, InlayHintKind)
 
bool lspserver::fromJSON (const llvm::json::Value &, ReferenceParams &, llvm::json::Path)
 
llvm::json::Value lspserver::toJSON (const FileStatus &)
 
bool lspserver::operator== (const SemanticToken &, const SemanticToken &)
 
llvm::json::Value lspserver::toJSON (const SemanticTokens &)
 
bool lspserver::fromJSON (const llvm::json::Value &, SemanticTokensParams &, llvm::json::Path)
 
bool lspserver::fromJSON (const llvm::json::Value &Params, SemanticTokensDeltaParams &R, llvm::json::Path)
 
llvm::json::Value lspserver::toJSON (const SemanticTokensEdit &)
 
llvm::json::Value lspserver::toJSON (const SemanticTokensOrDelta &)
 
llvm::json::Value lspserver::toJSON (const InactiveRegionsParams &InactiveRegions)
 
bool lspserver::fromJSON (const llvm::json::Value &, SelectionRangeParams &, llvm::json::Path)
 
llvm::json::Value lspserver::toJSON (const SelectionRange &)
 
bool lspserver::fromJSON (const llvm::json::Value &, DocumentLinkParams &, llvm::json::Path)
 
llvm::json::Value lspserver::toJSON (const DocumentLink &DocumentLink)
 
bool lspserver::fromJSON (const llvm::json::Value &, FoldingRangeParams &, llvm::json::Path)
 
llvm::json::Value lspserver::toJSON (const FoldingRange &Range)
 
bool lspserver::fromJSON (const llvm::json::Value &, ASTParams &, llvm::json::Path)
 
llvm::json::Value lspserver::toJSON (const ASTNode &)
 
llvm::raw_ostream & lspserver::operator<< (llvm::raw_ostream &, const ASTNode &)
 
llvm::json::Value lspserver::toJSON (const ConfigurationItem &)
 
llvm::json::Value lspserver::toJSON (const ConfigurationParams &)
 
+ + + + + + + + + +

+Variables

constexpr auto lspserver::CompletionItemKindMin
 
constexpr auto lspserver::CompletionItemKindMax
 
constexpr auto lspserver::SymbolKindMin = static_cast<size_t>(SymbolKind::File)
 
constexpr auto lspserver::SymbolKindMax = static_cast<size_t>(SymbolKind::TypeParameter)
 
+
+ + + + diff --git a/lspserver_2include_2lspserver_2Protocol_8h_source.html b/lspserver_2include_2lspserver_2Protocol_8h_source.html new file mode 100644 index 000000000..342f750bc --- /dev/null +++ b/lspserver_2include_2lspserver_2Protocol_8h_source.html @@ -0,0 +1,2810 @@ + + + + + + + +nixd: Protocol.h Source File + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
lspserver/include/lspserver/Protocol.h
+
+
+Go to the documentation of this file.
1#pragma once
+
2
+
3#include "URI.h"
+
4
+
5#include <bitset>
+
6#include <memory>
+
7#include <optional>
+
8#include <string>
+
9#include <vector>
+
10
+
11#include <llvm/ADT/SmallVector.h>
+
12#include <llvm/Support/JSON.h>
+
13#include <llvm/Support/raw_ostream.h>
+
14
+
15// This file is using the LSP syntax for identifier names which is different
+
16// from the LLVM coding standard. To avoid the clang-tidy warnings, we're
+
17// disabling one check here.
+
18// NOLINTBEGIN(readability-identifier-naming)
+
19
+
20namespace lspserver {
+
21
+
+
22enum class ErrorCode {
+
23 // Defined by JSON RPC.
+
24 ParseError = -32700,
+
25 InvalidRequest = -32600,
+
26 MethodNotFound = -32601,
+
27 InvalidParams = -32602,
+
28 InternalError = -32603,
+
29
+
30 ServerNotInitialized = -32002,
+
31 UnknownErrorCode = -32001,
+
32
+
33 // Defined by the protocol.
+
34 RequestCancelled = -32800,
+
35 ContentModified = -32801,
+
36};
+
+
37// Models an LSP error as an llvm::Error.
+
+
38class LSPError : public llvm::ErrorInfo<LSPError> {
+
39public:
+
40 std::string Message;
+ +
42 static char ID;
+
43
+
+ +
45 : Message(std::move(Message)), Code(Code) {}
+
+
46
+
+
47 void log(llvm::raw_ostream &OS) const override {
+
48 OS << int(Code) << ": " << Message;
+
49 }
+
+
+
50 std::error_code convertToErrorCode() const override {
+
51 return llvm::inconvertibleErrorCode();
+
52 }
+
+
53};
+
+
54
+
55// URI in "file" scheme for a file.
+
+
56struct URIForFile {
+
57 URIForFile() = default;
+
58
+
59 /// Canonicalizes \p AbsPath via URI.
+
60 ///
+
61 /// File paths in URIForFile can come from index or local AST. Path from
+
62 /// index goes through URI transformation, and the final path is resolved by
+
63 /// URI scheme and could potentially be different from the original path.
+
64 /// Hence, we do the same transformation for all paths.
+
65 ///
+
66 /// Files can be referred to by several paths (e.g. in the presence of links).
+
67 /// Which one we prefer may depend on where we're coming from. \p TUPath is a
+
68 /// hint, and should usually be the main entrypoint file we're processing.
+
69 static URIForFile canonicalize(llvm::StringRef AbsPath,
+
70 llvm::StringRef TUPath);
+
71
+
72 static llvm::Expected<URIForFile> fromURI(const URI &U,
+
73 llvm::StringRef HintPath);
+
74
+
75 /// Retrieves absolute path to the file.
+
76 llvm::StringRef file() const { return File; }
+
77
+
78 explicit operator bool() const { return !File.empty(); }
+
79 std::string uri() const { return URI::createFile(File).toString(); }
+
80
+
+
81 friend bool operator==(const URIForFile &LHS, const URIForFile &RHS) {
+
82 return LHS.File == RHS.File;
+
83 }
+
+
84
+
+
85 friend bool operator!=(const URIForFile &LHS, const URIForFile &RHS) {
+
86 return !(LHS == RHS);
+
87 }
+
+
88
+
+
89 friend bool operator<(const URIForFile &LHS, const URIForFile &RHS) {
+
90 return LHS.File < RHS.File;
+
91 }
+
+
92
+
93private:
+
94 explicit URIForFile(std::string &&File) : File(std::move(File)) {}
+
95
+
96 std::string File;
+
97};
+
+
98
+
99/// Serialize/deserialize \p URIForFile to/from a string URI.
+
100llvm::json::Value toJSON(const URIForFile &U);
+
101bool fromJSON(const llvm::json::Value &, URIForFile &, llvm::json::Path);
+
102
+
+ +
104 /// The text document's URI.
+ +
106};
+
+
107llvm::json::Value toJSON(const TextDocumentIdentifier &);
+
108bool fromJSON(const llvm::json::Value &, TextDocumentIdentifier &,
+
109 llvm::json::Path);
+
110
+
+ +
112 /// The version number of this document. If a versioned text document
+
113 /// identifier is sent from the server to the client and the file is not open
+
114 /// in the editor (the server has not received an open notification before)
+
115 /// the server can send `null` to indicate that the version is known and the
+
116 /// content on disk is the master (as speced with document content ownership).
+
117 ///
+
118 /// The version number of a document will increase after each change,
+
119 /// including undo/redo. The number doesn't need to be consecutive.
+
120 ///
+
121 /// clangd extension: versions are optional, and synthesized if missing.
+
122 std::optional<std::int64_t> version;
+
123};
+
+
124llvm::json::Value toJSON(const VersionedTextDocumentIdentifier &);
+
125bool fromJSON(const llvm::json::Value &, VersionedTextDocumentIdentifier &,
+
126 llvm::json::Path);
+
127
+
+
128struct Position {
+
129 /// Line position in a document (zero-based).
+
130 int line = 0;
+
131
+
132 /// Character offset on a line in a document (zero-based).
+
133 /// WARNING: this is in UTF-16 codepoints, not bytes or characters!
+
134 /// Use the functions in SourceCode.h to construct/interpret Positions.
+
135 int character = 0;
+
136
+
+
137 friend bool operator==(const Position &LHS, const Position &RHS) {
+
138 return std::tie(LHS.line, LHS.character) ==
+
139 std::tie(RHS.line, RHS.character);
+
140 }
+
+
+
141 friend bool operator!=(const Position &LHS, const Position &RHS) {
+
142 return !(LHS == RHS);
+
143 }
+
+
+
144 friend bool operator<(const Position &LHS, const Position &RHS) {
+
145 return std::tie(LHS.line, LHS.character) <
+
146 std::tie(RHS.line, RHS.character);
+
147 }
+
+
+
148 friend bool operator<=(const Position &LHS, const Position &RHS) {
+
149 return std::tie(LHS.line, LHS.character) <=
+
150 std::tie(RHS.line, RHS.character);
+
151 }
+
+
152};
+
+
153bool fromJSON(const llvm::json::Value &, Position &, llvm::json::Path);
+
154llvm::json::Value toJSON(const Position &);
+
155llvm::raw_ostream &operator<<(llvm::raw_ostream &, const Position &);
+
156
+
+
157struct Range {
+
158 /// The range's start position.
+ +
160
+
161 /// The range's end position.
+ +
163
+
+
164 friend bool operator==(const Range &LHS, const Range &RHS) {
+
165 return std::tie(LHS.start, LHS.end) == std::tie(RHS.start, RHS.end);
+
166 }
+
+
+
167 friend bool operator!=(const Range &LHS, const Range &RHS) {
+
168 return !(LHS == RHS);
+
169 }
+
+
+
170 friend bool operator<(const Range &LHS, const Range &RHS) {
+
171 return std::tie(LHS.start, LHS.end) < std::tie(RHS.start, RHS.end);
+
172 }
+
+
173
+
174 bool contains(Position Pos) const { return start <= Pos && Pos < end; }
+
+
175 bool contains(Range Rng) const {
+
176 return start <= Rng.start && Rng.end <= end;
+
177 }
+
+
178
+
+
179 Range operator/(const Range &RHS) const {
+
180 return {std::min(start, RHS.start), std::max(end, RHS.end)};
+
181 }
+
+
182
+
183 /// \returns true if the ranges overlap.
+
+
184 [[nodiscard]] bool overlap(const Range &RHS) const {
+
185 return start <= RHS.end && RHS.start <= end;
+
186 }
+
+
187};
+
+
188bool fromJSON(const llvm::json::Value &, Range &, llvm::json::Path);
+
189llvm::json::Value toJSON(const Range &);
+
190llvm::raw_ostream &operator<<(llvm::raw_ostream &, const Range &);
+
191
+
+
192struct Location {
+
193 /// The text document's URI.
+ + +
196
+
+
197 friend bool operator==(const Location &LHS, const Location &RHS) {
+
198 return LHS.uri == RHS.uri && LHS.range == RHS.range;
+
199 }
+
+
200
+
+
201 friend bool operator!=(const Location &LHS, const Location &RHS) {
+
202 return !(LHS == RHS);
+
203 }
+
+
204
+
+
205 friend bool operator<(const Location &LHS, const Location &RHS) {
+
206 return std::tie(LHS.uri, LHS.range) < std::tie(RHS.uri, RHS.range);
+
207 }
+
+
208};
+
+
209llvm::json::Value toJSON(const Location &);
+
210llvm::raw_ostream &operator<<(llvm::raw_ostream &, const Location &);
+
211
+
212/// Extends Locations returned by textDocument/references with extra info.
+
213/// This is a clangd extension: LSP uses `Location`.
+
+ +
215 /// clangd extension: contains the name of the function or class in which the
+
216 /// reference occurs
+
217 std::optional<std::string> containerName;
+
218};
+
+
219llvm::json::Value toJSON(const ReferenceLocation &);
+
220llvm::raw_ostream &operator<<(llvm::raw_ostream &, const ReferenceLocation &);
+
221
+
222using ChangeAnnotationIdentifier = std::string;
+
223// A combination of a LSP standard TextEdit and AnnotatedTextEdit.
+
+
224struct TextEdit {
+
225 /// The range of the text document to be manipulated. To insert
+
226 /// text into a document create a range where start === end.
+ +
228
+
229 /// The string to be inserted. For delete operations use an
+
230 /// empty string.
+
231 std::string newText;
+
232
+
233 /// The actual annotation identifier (optional)
+
234 /// If empty, then this field is nullopt.
+ +
236};
+
+
+
237inline bool operator==(const TextEdit &L, const TextEdit &R) {
+
238 return std::tie(L.newText, L.range, L.annotationId) ==
+
239 std::tie(R.newText, R.range, L.annotationId);
+
240}
+
+
241bool fromJSON(const llvm::json::Value &, TextEdit &, llvm::json::Path);
+
242llvm::json::Value toJSON(const TextEdit &);
+
243llvm::raw_ostream &operator<<(llvm::raw_ostream &, const TextEdit &);
+
244
+
+ +
246 /// A human-readable string describing the actual change. The string
+
247 /// is rendered prominent in the user interface.
+
248 std::string label;
+
249
+
250 /// A flag which indicates that user confirmation is needed
+
251 /// before applying the change.
+
252 std::optional<bool> needsConfirmation;
+
253
+
254 /// A human-readable string which is rendered less prominent in
+
255 /// the user interface.
+
256 std::string description;
+
257};
+
+
258bool fromJSON(const llvm::json::Value &, ChangeAnnotation &, llvm::json::Path);
+
259llvm::json::Value toJSON(const ChangeAnnotation &);
+
260
+
+ +
262 /// The text document to change.
+ +
264
+
265 /// The edits to be applied.
+
266 /// FIXME: support the AnnotatedTextEdit variant.
+
267 std::vector<TextEdit> edits;
+
268};
+
+
269bool fromJSON(const llvm::json::Value &, TextDocumentEdit &, llvm::json::Path);
+
270llvm::json::Value toJSON(const TextDocumentEdit &);
+
271
+
+ +
273 /// The text document's URI.
+ +
275
+
276 /// The text document's language identifier.
+
277 std::string languageId;
+
278
+
279 /// The version number of this document (it will strictly increase after each
+
280 /// change, including undo/redo.
+
281 ///
+
282 /// clangd extension: versions are optional, and synthesized if missing.
+
283 std::optional<int64_t> version;
+
284
+
285 /// The content of the opened text document.
+
286 std::string text;
+
287};
+
+
288bool fromJSON(const llvm::json::Value &, TextDocumentItem &, llvm::json::Path);
+
289
+
+
290enum class TraceLevel {
+
291 Off = 0,
+
292 Messages = 1,
+
293 Verbose = 2,
+
294};
+
+
295bool fromJSON(const llvm::json::Value &E, TraceLevel &Out, llvm::json::Path);
+
296
+
297struct NoParams {};
+
298inline llvm::json::Value toJSON(const NoParams &) { return nullptr; }
+
+
299inline bool fromJSON(const llvm::json::Value &, NoParams &, llvm::json::Path) {
+
300 return true;
+
301}
+
+ +
303
+
304/// Defines how the host (editor) should sync document changes to the language
+
305/// server.
+
+ +
307 /// Documents should not be synced at all.
+
308 None = 0,
+
309
+
310 /// Documents are synced by always sending the full content of the document.
+
311 Full = 1,
+
312
+
313 /// Documents are synced by sending the full content on open. After that
+
314 /// only incremental updates to the document are send.
+
315 Incremental = 2,
+
316};
+
+
317
+
318/// The kind of a completion entry.
+
+ +
320 Missing = 0,
+
321 Text = 1,
+
322 Method = 2,
+
323 Function = 3,
+
324 Constructor = 4,
+
325 Field = 5,
+
326 Variable = 6,
+
327 Class = 7,
+
328 Interface = 8,
+
329 Module = 9,
+
330 Property = 10,
+
331 Unit = 11,
+
332 Value = 12,
+
333 Enum = 13,
+
334 Keyword = 14,
+
335 Snippet = 15,
+
336 Color = 16,
+
337 File = 17,
+
338 Reference = 18,
+
339 Folder = 19,
+
340 EnumMember = 20,
+
341 Constant = 21,
+
342 Struct = 22,
+
343 Event = 23,
+
344 Operator = 24,
+
345 TypeParameter = 25,
+
346};
+
+
347bool fromJSON(const llvm::json::Value &, CompletionItemKind &,
+
348 llvm::json::Path);
+
349constexpr auto CompletionItemKindMin =
+
350 static_cast<size_t>(CompletionItemKind::Text);
+
351constexpr auto CompletionItemKindMax =
+
352 static_cast<size_t>(CompletionItemKind::TypeParameter);
+
353using CompletionItemKindBitset = std::bitset<CompletionItemKindMax + 1>;
+
354bool fromJSON(const llvm::json::Value &, CompletionItemKindBitset &,
+
355 llvm::json::Path);
+ + +
358 CompletionItemKindBitset &SupportedCompletionItemKinds);
+
359
+
360/// A symbol kind.
+
+
361enum class SymbolKind {
+
362 File = 1,
+
363 Module = 2,
+
364 Namespace = 3,
+
365 Package = 4,
+
366 Class = 5,
+
367 Method = 6,
+
368 Property = 7,
+
369 Field = 8,
+
370 Constructor = 9,
+
371 Enum = 10,
+
372 Interface = 11,
+
373 Function = 12,
+
374 Variable = 13,
+
375 Constant = 14,
+
376 String = 15,
+
377 Number = 16,
+
378 Boolean = 17,
+
379 Array = 18,
+
380 Object = 19,
+
381 Key = 20,
+
382 Null = 21,
+
383 EnumMember = 22,
+
384 Struct = 23,
+
385 Event = 24,
+
386 Operator = 25,
+
387 TypeParameter = 26
+
388};
+
+
389bool fromJSON(const llvm::json::Value &, SymbolKind &, llvm::json::Path);
+
390constexpr auto SymbolKindMin = static_cast<size_t>(SymbolKind::File);
+
391constexpr auto SymbolKindMax = static_cast<size_t>(SymbolKind::TypeParameter);
+
392using SymbolKindBitset = std::bitset<SymbolKindMax + 1>;
+
393bool fromJSON(const llvm::json::Value &, SymbolKindBitset &, llvm::json::Path);
+ +
395 SymbolKindBitset &supportedSymbolKinds);
+
396
+
397// Determines the encoding used to measure offsets and lengths of source in LSP.
+
+
398enum class OffsetEncoding {
+
399 // Any string is legal on the wire. Unrecognized encodings parse as this.
+ +
401 // Length counts code units of UTF-16 encoded text. (Standard LSP behavior).
+
402 UTF16,
+
403 // Length counts bytes of UTF-8 encoded text. (Clangd extension).
+
404 UTF8,
+
405 // Length counts codepoints in unicode text. (Clangd extension).
+
406 UTF32,
+
407};
+
+
408llvm::json::Value toJSON(const OffsetEncoding &);
+
409bool fromJSON(const llvm::json::Value &, OffsetEncoding &, llvm::json::Path);
+
410llvm::raw_ostream &operator<<(llvm::raw_ostream &, OffsetEncoding);
+
411
+
412// Describes the content type that a client supports in various result literals
+
413// like `Hover`, `ParameterInfo` or `CompletionItem`.
+
+
414enum class MarkupKind {
+
415 PlainText,
+
416 Markdown,
+
417};
+
+
418bool fromJSON(const llvm::json::Value &, MarkupKind &, llvm::json::Path);
+
419llvm::raw_ostream &operator<<(llvm::raw_ostream &OS, MarkupKind);
+
420
+
421// This struct doesn't mirror LSP!
+
422// The protocol defines deeply nested structures for client capabilities.
+
423// Instead of mapping them all, this just parses out the bits we care about.
+
+ +
425 /// The supported set of SymbolKinds for workspace/symbol.
+
426 /// workspace.symbol.symbolKind.valueSet
+
427 std::optional<SymbolKindBitset> WorkspaceSymbolKinds;
+
428
+
429 /// Whether the client accepts diagnostics with codeActions attached inline.
+
430 /// textDocument.publishDiagnostics.codeActionsInline.
+
431 bool DiagnosticFixes = false;
+
432
+
433 /// Whether the client accepts diagnostics with related locations.
+
434 /// textDocument.publishDiagnostics.relatedInformation.
+ +
436
+
437 /// Whether the client accepts diagnostics with category attached to it
+
438 /// using the "category" extension.
+
439 /// textDocument.publishDiagnostics.categorySupport
+
440 bool DiagnosticCategory = false;
+
441
+
442 /// Client supports snippets as insert text.
+
443 /// textDocument.completion.completionItem.snippetSupport
+
444 bool CompletionSnippets = false;
+
445
+
446 /// Client supports completions with additionalTextEdit near the cursor.
+
447 /// This is a clangd extension. (LSP says this is for unrelated text only).
+
448 /// textDocument.completion.editsNearCursor
+
449 bool CompletionFixes = false;
+
450
+
451 /// Client supports displaying a container string for results of
+
452 /// textDocument/reference (clangd extension)
+
453 bool ReferenceContainer = false;
+
454
+
455 /// Client supports hierarchical document symbols.
+
456 /// textDocument.documentSymbol.hierarchicalDocumentSymbolSupport
+ +
458
+
459 /// Client supports signature help.
+
460 /// textDocument.signatureHelp
+
461 bool HasSignatureHelp = false;
+
462
+
463 /// Client signals that it only supports folding complete lines.
+
464 /// Client will ignore specified `startCharacter` and `endCharacter`
+
465 /// properties in a FoldingRange.
+
466 /// textDocument.foldingRange.lineFoldingOnly
+
467 bool LineFoldingOnly = false;
+
468
+
469 /// Client supports processing label offsets instead of a simple label string.
+
470 /// textDocument.signatureHelp.signatureInformation.parameterInformation.labelOffsetSupport
+ +
472
+
473 /// The documentation format that should be used for
+
474 /// textDocument/signatureHelp.
+
475 /// textDocument.signatureHelp.signatureInformation.documentationFormat
+ +
477
+
478 /// The supported set of CompletionItemKinds for textDocument/completion.
+
479 /// textDocument.completion.completionItemKind.valueSet
+
480 std::optional<CompletionItemKindBitset> CompletionItemKinds;
+
481
+
482 /// The documentation format that should be used for textDocument/completion.
+
483 /// textDocument.completion.completionItem.documentationFormat
+ +
485
+
486 /// Client supports CodeAction return value for textDocument/codeAction.
+
487 /// textDocument.codeAction.codeActionLiteralSupport.
+ +
489
+
490 /// Client advertises support for the semanticTokens feature.
+
491 /// We support the textDocument/semanticTokens request in any case.
+
492 /// textDocument.semanticTokens
+
493 bool SemanticTokens = false;
+
494 /// Client supports Theia semantic highlighting extension.
+
495 /// https://github.com/microsoft/vscode-languageserver-node/pull/367
+
496 /// clangd no longer supports this, we detect it just to log a warning.
+
497 /// textDocument.semanticHighlightingCapabilities.semanticHighlighting
+ +
499
+
500 /// Supported encodings for LSP character offsets. (clangd extension).
+
501 std::optional<std::vector<OffsetEncoding>> offsetEncoding;
+
502
+
503 /// The content format that should be used for Hover requests.
+
504 /// textDocument.hover.contentEncoding
+ +
506
+
507 /// The client supports testing for validity of rename operations
+
508 /// before execution.
+ +
510
+
511 /// The client supports progress notifications.
+
512 /// window.workDoneProgress
+
513 bool WorkDoneProgress = false;
+
514
+
515 /// The client supports implicit $/progress work-done progress streams,
+
516 /// without a preceding window/workDoneProgress/create.
+
517 /// This is a clangd extension.
+
518 /// window.implicitWorkDoneProgressCreate
+ +
520
+
521 /// Whether the client claims to cancel stale requests.
+
522 /// general.staleRequestSupport.cancel
+ +
524
+
525 /// Whether the client implementation supports a refresh request sent from the
+
526 /// server to the client.
+ +
528
+
529 /// The client supports versioned document changes for WorkspaceEdit.
+
530 bool DocumentChanges = false;
+
531
+
532 /// The client supports change annotations on text edits,
+
533 bool ChangeAnnotation = false;
+
534
+
535 /// Whether the client supports the textDocument/inactiveRegions
+
536 /// notification. This is a clangd extension.
+
537 bool InactiveRegions = false;
+
538
+ +
540};
+
+
541bool fromJSON(const llvm::json::Value &, ClientCapabilities &,
+
542 llvm::json::Path);
+
543
+
544/// Clangd extension that's used in the 'compilationDatabaseChanges' in
+
545/// workspace/didChangeConfiguration to record updates to the in-memory
+
546/// compilation database.
+
+ +
548 std::string workingDirectory;
+
549 std::vector<std::string> compilationCommand;
+
550};
+
+
551bool fromJSON(const llvm::json::Value &, ClangdCompileCommand &,
+
552 llvm::json::Path);
+
553
+
554/// Clangd extension: parameters configurable at any time, via the
+
555/// `workspace/didChangeConfiguration` notification.
+
556/// LSP defines this type as `any`.
+
+ +
558 // Changes to the in-memory compilation database.
+
559 // The key of the map is a file name.
+
560 std::map<std::string, ClangdCompileCommand> compilationDatabaseChanges;
+
561};
+
+
562bool fromJSON(const llvm::json::Value &, ConfigurationSettings &,
+
563 llvm::json::Path);
+
564
+
565/// Clangd extension: parameters configurable at `initialize` time.
+
566/// LSP defines this type as `any`.
+
+ +
568 // What we can change throught the didChangeConfiguration request, we can
+
569 // also set through the initialize request (initializationOptions field).
+ +
571
+
572 std::optional<std::string> compilationDatabasePath;
+
573 // Additional flags to be included in the "fallback command" used when
+
574 // the compilation database doesn't describe an opened file.
+
575 // The command used will be approximately `clang $FILE $fallbackFlags`.
+
576 std::vector<std::string> fallbackFlags;
+
577
+
578 /// Clients supports show file status for textDocument/clangd.fileStatus.
+
579 bool FileStatus = false;
+
580};
+
+
581bool fromJSON(const llvm::json::Value &, InitializationOptions &,
+
582 llvm::json::Path);
+
583
+
+ +
585 /// The process Id of the parent process that started
+
586 /// the server. Is null if the process has not been started by another
+
587 /// process. If the parent process is not alive then the server should exit
+
588 /// (see exit notification) its process.
+
589 std::optional<int> processId;
+
590
+
591 /// The rootPath of the workspace. Is null
+
592 /// if no folder is open.
+
593 ///
+
594 /// deprecated, in favour of rootUri.
+
595 std::optional<std::string> rootPath;
+
596
+
597 /// The rootUri of the workspace. Is null if no
+
598 /// folder is open. If both `rootPath` and `rootUri` are set
+
599 /// `rootUri` wins.
+
600 std::optional<URIForFile> rootUri;
+
601
+
602 // User provided initialization options.
+
603 // initializationOptions?: any;
+
604
+
605 /// The capabilities provided by the client (editor or tool)
+ +
607 /// The same data as capabilities, but not parsed (to expose to modules).
+
608 llvm::json::Object rawCapabilities;
+
609
+
610 /// The initial trace setting. If omitted trace is disabled ('off').
+
611 std::optional<TraceLevel> trace;
+
612
+
613 /// User-provided initialization options.
+ +
615};
+
+
616bool fromJSON(const llvm::json::Value &, InitializeParams &, llvm::json::Path);
+
617
+
+ +
619 /// The token to be used to report progress.
+
620 llvm::json::Value token = nullptr;
+
621};
+
+
622llvm::json::Value toJSON(const WorkDoneProgressCreateParams &P);
+
623
+
+
624template <typename T> struct ProgressParams {
+
625 /// The progress token provided by the client or server.
+
626 llvm::json::Value token = nullptr;
+
627
+
628 /// The progress data.
+ +
630};
+
+
+
631template <typename T> llvm::json::Value toJSON(const ProgressParams<T> &P) {
+
632 return llvm::json::Object{{"token", P.token}, {"value", P.value}};
+
633}
+
+
634/// To start progress reporting a $/progress notification with the following
+
635/// payload must be sent.
+
+ +
637 /// Mandatory title of the progress operation. Used to briefly inform about
+
638 /// the kind of operation being performed.
+
639 ///
+
640 /// Examples: "Indexing" or "Linking dependencies".
+
641 std::string title;
+
642
+
643 /// Controls if a cancel button should show to allow the user to cancel the
+
644 /// long-running operation. Clients that don't support cancellation are
+
645 /// allowed to ignore the setting.
+
646 bool cancellable = false;
+
647
+
648 /// Optional progress percentage to display (value 100 is considered 100%).
+
649 /// If not provided infinite progress is assumed and clients are allowed
+
650 /// to ignore the `percentage` value in subsequent in report notifications.
+
651 ///
+
652 /// The value should be steadily rising. Clients are free to ignore values
+
653 /// that are not following this rule.
+
654 ///
+
655 /// Clangd implementation note: we only send nonzero percentages in
+
656 /// the WorkProgressReport. 'true' here means percentages will be used.
+
657 bool percentage = false;
+
658};
+
+
659llvm::json::Value toJSON(const WorkDoneProgressBegin &);
+
660
+
661/// Reporting progress is done using the following payload.
+
+ +
663 /// Mandatory title of the progress operation. Used to briefly inform about
+
664 /// the kind of operation being performed.
+
665 ///
+
666 /// Examples: "Indexing" or "Linking dependencies".
+
667 std::string title;
+
668
+
669 /// Controls enablement state of a cancel button. This property is only valid
+
670 /// if a cancel button got requested in the `WorkDoneProgressStart` payload.
+
671 ///
+
672 /// Clients that don't support cancellation or don't support control
+
673 /// the button's enablement state are allowed to ignore the setting.
+
674 std::optional<bool> cancellable;
+
675
+
676 /// Optional, more detailed associated progress message. Contains
+
677 /// complementary information to the `title`.
+
678 ///
+
679 /// Examples: "3/25 files", "project/src/module2", "node_modules/some_dep".
+
680 /// If unset, the previous progress message (if any) is still valid.
+
681 std::optional<std::string> message;
+
682
+
683 /// Optional progress percentage to display (value 100 is considered 100%).
+
684 /// If not provided infinite progress is assumed and clients are allowed
+
685 /// to ignore the `percentage` value in subsequent in report notifications.
+
686 ///
+
687 /// The value should be steadily rising. Clients are free to ignore values
+
688 /// that are not following this rule.
+
689 std::optional<unsigned> percentage;
+
690};
+
+
691llvm::json::Value toJSON(const WorkDoneProgressReport &);
+
692//
+
693/// Signals the end of progress reporting.
+
+ +
695 /// Optional, a final message indicating to for example indicate the outcome
+
696 /// of the operation.
+
697 std::optional<std::string> message;
+
698};
+
+
699llvm::json::Value toJSON(const WorkDoneProgressEnd &);
+
700
+
+
701enum class MessageType {
+
702 /// An error message.
+
703 Error = 1,
+
704 /// A warning message.
+
705 Warning = 2,
+
706 /// An information message.
+
707 Info = 3,
+
708 /// A log message.
+
709 Log = 4,
+
710};
+
+
711llvm::json::Value toJSON(const MessageType &);
+
712
+
713/// The show message notification is sent from a server to a client to ask the
+
714/// client to display a particular message in the user interface.
+
+ +
716 /// The message type.
+ +
718 /// The actual message.
+
719 std::string message;
+
720};
+
+
721llvm::json::Value toJSON(const ShowMessageParams &);
+
722
+
+ +
724 /// The document that was opened.
+ +
726};
+
+
727bool fromJSON(const llvm::json::Value &, DidOpenTextDocumentParams &,
+
728 llvm::json::Path);
+
729
+
+ +
731 /// The document that was closed.
+ +
733};
+
+
734bool fromJSON(const llvm::json::Value &, DidCloseTextDocumentParams &,
+
735 llvm::json::Path);
+
736
+
+ +
738 /// The document that was saved.
+ +
740};
+
+
741bool fromJSON(const llvm::json::Value &, DidSaveTextDocumentParams &,
+
742 llvm::json::Path);
+
743
+
+ +
745 /// The range of the document that changed.
+
746 std::optional<Range> range;
+
747
+
748 /// The length of the range that got replaced.
+
749 std::optional<int> rangeLength;
+
750
+
751 /// The new text of the range/document.
+
752 std::string text;
+
753};
+
+
754bool fromJSON(const llvm::json::Value &, TextDocumentContentChangeEvent &,
+
755 llvm::json::Path);
+
756
+
+ +
758 /// The document that did change. The version number points
+
759 /// to the version after all provided content changes have
+
760 /// been applied.
+ +
762
+
763 /// The actual content changes.
+
764 std::vector<TextDocumentContentChangeEvent> contentChanges;
+
765
+
766 /// Forces diagnostics to be generated, or to not be generated, for this
+
767 /// version of the file. If not set, diagnostics are eventually consistent:
+
768 /// either they will be provided for this version or some subsequent one.
+
769 /// This is a clangd extension.
+
770 std::optional<bool> wantDiagnostics;
+
771
+
772 /// Force a complete rebuild of the file, ignoring all cached state. Slow!
+
773 /// This is useful to defeat clangd's assumption that missing headers will
+
774 /// stay missing.
+
775 /// This is a clangd extension.
+
776 bool forceRebuild = false;
+
777};
+
+
778bool fromJSON(const llvm::json::Value &, DidChangeTextDocumentParams &,
+
779 llvm::json::Path);
+
780
+
+
781enum class FileChangeType {
+
782 /// The file got created.
+
783 Created = 1,
+
784 /// The file got changed.
+
785 Changed = 2,
+
786 /// The file got deleted.
+
787 Deleted = 3
+
788};
+
+
789bool fromJSON(const llvm::json::Value &E, FileChangeType &Out,
+
790 llvm::json::Path);
+
791
+
+
792struct FileEvent {
+
793 /// The file's URI.
+ +
795 /// The change type.
+ +
797};
+
+
798bool fromJSON(const llvm::json::Value &, FileEvent &, llvm::json::Path);
+
799
+
+ +
801 /// The actual file events.
+
802 std::vector<FileEvent> changes;
+
803};
+
+
804bool fromJSON(const llvm::json::Value &, DidChangeWatchedFilesParams &,
+
805 llvm::json::Path);
+
806
+ +
810bool fromJSON(const llvm::json::Value &, DidChangeConfigurationParams &,
+
811 llvm::json::Path);
+
812
+
813// Note: we do not parse FormattingOptions for *FormattingParams.
+
814// In general, we use a clang-format style detected from common mechanisms
+
815// (.clang-format files and the -fallback-style flag).
+
816// It would be possible to override these with FormatOptions, but:
+
817// - the protocol makes FormatOptions mandatory, so many clients set them to
+
818// useless values, and we can't tell when to respect them
+
819// - we also format in other places, where FormatOptions aren't available.
+
820
+
+ +
822 /// The document to format.
+ +
824
+
825 /// The range to format
+ +
827};
+
+
828bool fromJSON(const llvm::json::Value &, DocumentRangeFormattingParams &,
+
829 llvm::json::Path);
+
830
+
+ +
832 /// The document to format.
+ +
834
+
835 /// The position at which this request was sent.
+ +
837
+
838 /// The character that has been typed.
+
839 std::string ch;
+
840};
+
+
841bool fromJSON(const llvm::json::Value &, DocumentOnTypeFormattingParams &,
+
842 llvm::json::Path);
+
843
+
+ +
845 /// The document to format.
+ +
847};
+
+
848bool fromJSON(const llvm::json::Value &, DocumentFormattingParams &,
+
849 llvm::json::Path);
+
850
+
+ +
852 // The text document to find symbols in.
+ +
854};
+
+
855bool fromJSON(const llvm::json::Value &, DocumentSymbolParams &,
+
856 llvm::json::Path);
+
857
+
858/// Represents a related message and source code location for a diagnostic.
+
859/// This should be used to point to code locations that cause or related to a
+
860/// diagnostics, e.g when duplicating a symbol in a scope.
+
+ +
862 /// The location of this related diagnostic information.
+ +
864 /// The message of this related diagnostic information.
+
865 std::string message;
+
866};
+
+
867llvm::json::Value toJSON(const DiagnosticRelatedInformation &);
+
868
+
+ +
870 /// Unused or unnecessary code.
+
871 ///
+
872 /// Clients are allowed to render diagnostics with this tag faded out instead
+
873 /// of having an error squiggle.
+ +
875 /// Deprecated or obsolete code.
+
876 ///
+
877 /// Clients are allowed to rendered diagnostics with this tag strike through.
+ +
879};
+
+
880llvm::json::Value toJSON(DiagnosticTag Tag);
+
881
+
882/// Structure to capture a description for an error code.
+
+ +
884 /// An URI to open with more information about the diagnostic error.
+
885 std::string href;
+
886};
+
+
887llvm::json::Value toJSON(const CodeDescription &);
+
888
+
889struct CodeAction;
+
+ +
891 /// The range at which the message applies.
+ +
893
+
894 /// The diagnostic's severity. Can be omitted. If omitted it is up to the
+
895 /// client to interpret diagnostics as error, warning, info or hint.
+
896 int severity = 0;
+
897
+
898 /// The diagnostic's code. Can be omitted.
+
899 std::string code;
+
900
+
901 /// An optional property to describe the error code.
+
902 std::optional<CodeDescription> codeDescription;
+
903
+
904 /// A human-readable string describing the source of this
+
905 /// diagnostic, e.g. 'typescript' or 'super lint'.
+
906 std::string source;
+
907
+
908 /// The diagnostic's message.
+
909 std::string message;
+
910
+
911 /// Additional metadata about the diagnostic.
+
912 llvm::SmallVector<DiagnosticTag, 1> tags;
+
913
+
914 /// An array of related diagnostic information, e.g. when symbol-names within
+
915 /// a scope collide all definitions can be marked via this property.
+
916 std::optional<std::vector<DiagnosticRelatedInformation>> relatedInformation;
+
917
+
918 /// The diagnostic's category. Can be omitted.
+
919 /// An LSP extension that's used to send the name of the category over to the
+
920 /// client. The category typically describes the compilation stage during
+
921 /// which the issue was produced, e.g. "Semantic Issue" or "Parse Issue".
+
922 std::optional<std::string> category;
+
923
+
924 /// Clangd extension: code actions related to this diagnostic.
+
925 /// Only with capability textDocument.publishDiagnostics.codeActionsInline.
+
926 /// (These actions can also be obtained using textDocument/codeAction).
+
927 std::optional<std::vector<CodeAction>> codeActions;
+
928
+
929 /// A data entry field that is preserved between a
+
930 /// `textDocument/publishDiagnostics` notification
+
931 /// and `textDocument/codeAction` request.
+
932 /// Mutating users should associate their data with a unique key they can use
+
933 /// to retrieve later on.
+
934 llvm::json::Object data;
+
935};
+
+
936llvm::json::Value toJSON(const Diagnostic &);
+
937
+
938/// A LSP-specific comparator used to find diagnostic in a container like
+
939/// std:map.
+
940/// We only use the required fields of Diagnostic to do the comparison to avoid
+
941/// any regression issues from LSP clients (e.g. VScode), see
+
942/// https://git.io/vbr29
+
+ +
+
944 bool operator()(const Diagnostic &LHS, const Diagnostic &RHS) const {
+
945 return std::tie(LHS.range, LHS.message) < std::tie(RHS.range, RHS.message);
+
946 }
+
+
947};
+
+
948bool fromJSON(const llvm::json::Value &, Diagnostic &, llvm::json::Path);
+
949llvm::raw_ostream &operator<<(llvm::raw_ostream &, const Diagnostic &);
+
950
+
+ +
952 /// The URI for which diagnostic information is reported.
+ +
954 /// An array of diagnostic information items.
+
955 std::vector<Diagnostic> diagnostics;
+
956 /// The version number of the document the diagnostics are published for.
+
957 std::optional<int64_t> version;
+
958};
+
+
959llvm::json::Value toJSON(const PublishDiagnosticsParams &);
+
960
+
+ +
962 /// An array of diagnostics known on the client side overlapping the range
+
963 /// provided to the `textDocument/codeAction` request. They are provided so
+
964 /// that the server knows which errors are currently presented to the user for
+
965 /// the given range. There is no guarantee that these accurately reflect the
+
966 /// error state of the resource. The primary parameter to compute code actions
+
967 /// is the provided range.
+
968 std::vector<Diagnostic> diagnostics;
+
969
+
970 /// Requested kind of actions to return.
+
971 ///
+
972 /// Actions not of this kind are filtered out by the client before being
+
973 /// shown. So servers can omit computing them.
+
974 std::vector<std::string> only;
+
975};
+
+
976bool fromJSON(const llvm::json::Value &, CodeActionContext &, llvm::json::Path);
+
977
+
+ +
979 /// The document in which the command was invoked.
+ +
981
+
982 /// The range for which the command was invoked.
+ +
984
+
985 /// Context carrying additional information.
+ +
987};
+
+
988bool fromJSON(const llvm::json::Value &, CodeActionParams &, llvm::json::Path);
+
989
+
990/// The edit should either provide changes or documentChanges. If the client
+
991/// can handle versioned document edits and if documentChanges are present,
+
992/// the latter are preferred over changes.
+
+ +
994 /// Holds changes to existing resources.
+
995 std::optional<std::map<std::string, std::vector<TextEdit>>> changes;
+
996 /// Versioned document edits.
+
997 ///
+
998 /// If a client neither supports `documentChanges` nor
+
999 /// `workspace.workspaceEdit.resourceOperations` then only plain `TextEdit`s
+
1000 /// using the `changes` property are supported.
+
1001 std::optional<std::vector<TextDocumentEdit>> documentChanges;
+
1002
+
1003 /// A map of change annotations that can be referenced in
+
1004 /// AnnotatedTextEdit.
+
1005 std::map<std::string, ChangeAnnotation> changeAnnotations;
+
1006};
+
+
1007bool fromJSON(const llvm::json::Value &, WorkspaceEdit &, llvm::json::Path);
+
1008llvm::json::Value toJSON(const WorkspaceEdit &WE);
+
1009
+
1010/// Arguments for the 'applyTweak' command. The server sends these commands as a
+
1011/// response to the textDocument/codeAction request. The client can later send a
+
1012/// command back to the server if the user requests to execute a particular code
+
1013/// tweak.
+
+ +
1015 /// A file provided by the client on a textDocument/codeAction request.
+ +
1017 /// A selection provided by the client on a textDocument/codeAction request.
+ +
1019 /// ID of the tweak that should be executed. Corresponds to Tweak::id().
+
1020 std::string tweakID;
+
1021};
+
+
1022bool fromJSON(const llvm::json::Value &, TweakArgs &, llvm::json::Path);
+
1023llvm::json::Value toJSON(const TweakArgs &A);
+
1024
+
+ +
1026 /// The identifier of the actual command handler.
+
1027 std::string command;
+
1028
+
1029 // This is `arguments?: []any` in LSP.
+
1030 // All clangd's commands accept a single argument (or none => null).
+
1031 llvm::json::Value argument = nullptr;
+
1032};
+
+
1033bool fromJSON(const llvm::json::Value &, ExecuteCommandParams &,
+
1034 llvm::json::Path);
+
1035
+
+ +
1037 std::string title;
+
1038};
+
+
1039llvm::json::Value toJSON(const Command &C);
+
1040
+
1041/// A code action represents a change that can be performed in code, e.g. to fix
+
1042/// a problem or to refactor code.
+
1043///
+
1044/// A CodeAction must set either `edit` and/or a `command`. If both are
+
1045/// supplied, the `edit` is applied first, then the `command` is executed.
+
+ +
1047 /// A short, human-readable, title for this code action.
+
1048 std::string title;
+
1049
+
1050 /// The kind of the code action.
+
1051 /// Used to filter code actions.
+
1052 std::optional<std::string> kind;
+
1053 const static llvm::StringLiteral QUICKFIX_KIND;
+
1054 const static llvm::StringLiteral REFACTOR_KIND;
+
1055 const static llvm::StringLiteral INFO_KIND;
+
1056
+
1057 /// The diagnostics that this code action resolves.
+
1058 std::optional<std::vector<Diagnostic>> diagnostics;
+
1059
+
1060 /// Marks this as a preferred action. Preferred actions are used by the
+
1061 /// `auto fix` command and can be targeted by keybindings.
+
1062 /// A quick fix should be marked preferred if it properly addresses the
+
1063 /// underlying error. A refactoring should be marked preferred if it is the
+
1064 /// most reasonable choice of actions to take.
+
1065 bool isPreferred = false;
+
1066
+
1067 /// The workspace edit this code action performs.
+
1068 std::optional<WorkspaceEdit> edit;
+
1069
+
1070 /// A command this code action executes. If a code action provides an edit
+
1071 /// and a command, first the edit is executed and then the command.
+
1072 std::optional<Command> command;
+
1073};
+
+
1074llvm::json::Value toJSON(const CodeAction &);
+
1075
+
1076/// Represents programming constructs like variables, classes, interfaces etc.
+
1077/// that appear in a document. Document symbols can be hierarchical and they
+
1078/// have two ranges: one that encloses its definition and one that points to its
+
1079/// most interesting range, e.g. the range of an identifier.
+
+ +
1081 /// The name of this symbol.
+
1082 std::string name;
+
1083
+
1084 /// More detail for this symbol, e.g the signature of a function.
+
1085 std::string detail;
+
1086
+
1087 /// The kind of this symbol.
+ +
1089
+
1090 /// Indicates if this symbol is deprecated.
+
1091 bool deprecated = false;
+
1092
+
1093 /// The range enclosing this symbol not including leading/trailing whitespace
+
1094 /// but everything else like comments. This information is typically used to
+
1095 /// determine if the clients cursor is inside the symbol to reveal in the
+
1096 /// symbol in the UI.
+ +
1098
+
1099 /// The range that should be selected and revealed when this symbol is being
+
1100 /// picked, e.g the name of a function. Must be contained by the `range`.
+ +
1102
+
1103 /// Children of this symbol, e.g. properties of a class.
+
1104 std::vector<DocumentSymbol> children;
+
1105};
+
+
1106llvm::raw_ostream &operator<<(llvm::raw_ostream &O, const DocumentSymbol &S);
+
1107llvm::json::Value toJSON(const DocumentSymbol &S);
+
1108
+
1109/// Represents information about programming constructs like variables, classes,
+
1110/// interfaces etc.
+
+ +
1112 /// The name of this symbol.
+
1113 std::string name;
+
1114
+
1115 /// The kind of this symbol.
+ +
1117
+
1118 /// The location of this symbol.
+ +
1120
+
1121 /// The name of the symbol containing this symbol.
+
1122 std::string containerName;
+
1123
+
1124 /// The score that clangd calculates to rank the returned symbols.
+
1125 /// This excludes the fuzzy-matching score between `name` and the query.
+
1126 /// (Specifically, the last ::-separated component).
+
1127 /// This can be used to re-rank results as the user types, using client-side
+
1128 /// fuzzy-matching (that score should be multiplied with this one).
+
1129 /// This is a clangd extension, set only for workspace/symbol responses.
+
1130 std::optional<float> score;
+
1131};
+
+
1132llvm::json::Value toJSON(const SymbolInformation &);
+
1133llvm::raw_ostream &operator<<(llvm::raw_ostream &, const SymbolInformation &);
+
1134
+
1135/// The parameters of a Workspace Symbol Request.
+
+ +
1137 /// A query string to filter symbols by.
+
1138 /// Clients may send an empty string here to request all the symbols.
+
1139 std::string query;
+
1140
+
1141 /// Max results to return, overriding global default. 0 means no limit.
+
1142 /// Clangd extension.
+
1143 std::optional<int> limit;
+
1144};
+
+
1145bool fromJSON(const llvm::json::Value &, WorkspaceSymbolParams &,
+
1146 llvm::json::Path);
+
1147
+ +
1151llvm::json::Value toJSON(const ApplyWorkspaceEditParams &);
+
1152
+
+ +
1154 bool applied = true;
+
1155 std::optional<std::string> failureReason;
+
1156};
+
+
1157bool fromJSON(const llvm::json::Value &, ApplyWorkspaceEditResponse &,
+
1158 llvm::json::Path);
+
1159
+
+ +
1161 /// The text document.
+ +
1163
+
1164 /// The position inside the text document.
+ +
1166};
+
+
1167bool fromJSON(const llvm::json::Value &, TextDocumentPositionParams &,
+
1168 llvm::json::Path);
+
1169
+
+ +
1171 /// Completion was triggered by typing an identifier (24x7 code
+
1172 /// complete), manual invocation (e.g Ctrl+Space) or via API.
+
1173 Invoked = 1,
+
1174 /// Completion was triggered by a trigger character specified by
+
1175 /// the `triggerCharacters` properties of the `CompletionRegistrationOptions`.
+
1176 TriggerCharacter = 2,
+
1177 /// Completion was re-triggered as the current completion list is incomplete.
+ +
1179};
+
+
1180
+
+ +
1182 /// How the completion was triggered.
+ +
1184 /// The trigger character (a single character) that has trigger code complete.
+
1185 /// Is undefined if `triggerKind !== CompletionTriggerKind.TriggerCharacter`
+
1186 std::string triggerCharacter;
+
1187};
+
+
1188bool fromJSON(const llvm::json::Value &, CompletionContext &, llvm::json::Path);
+
1189
+
+ + +
1192
+
1193 /// Max results to return, overriding global default. 0 means no limit.
+
1194 /// Clangd extension.
+
1195 std::optional<int> limit;
+
1196};
+
+
1197bool fromJSON(const llvm::json::Value &, CompletionParams &, llvm::json::Path);
+
1198
+
+ + +
1201 std::string value;
+
1202};
+
+
1203llvm::json::Value toJSON(const MarkupContent &MC);
+
1204
+
+
1205struct Hover {
+
1206 /// The hover's content
+ +
1208
+
1209 /// An optional range is a range inside a text document
+
1210 /// that is used to visualize a hover, e.g. by changing the background color.
+
1211 std::optional<Range> range;
+
1212};
+
+
1213llvm::json::Value toJSON(const Hover &H);
+
1214
+
1215/// Defines whether the insert text in a completion item should be interpreted
+
1216/// as plain text or a snippet.
+
+ +
1218 Missing = 0,
+
1219 /// The primary text to be inserted is treated as a plain string.
+
1220 PlainText = 1,
+
1221 /// The primary text to be inserted is treated as a snippet.
+
1222 ///
+
1223 /// A snippet can define tab stops and placeholders with `$1`, `$2`
+
1224 /// and `${3:foo}`. `$0` defines the final tab stop, it defaults to the end
+
1225 /// of the snippet. Placeholders with equal identifiers are linked, that is
+
1226 /// typing in one will update others too.
+
1227 ///
+
1228 /// See also:
+
1229 /// https://github.com/Microsoft/vscode/blob/main/src/vs/editor/contrib/snippet/snippet.md
+
1230 Snippet = 2,
+
1231};
+
+
1232
+
+ +
1234 /// The label of this completion item. By default also the text that is
+
1235 /// inserted when selecting this completion.
+
1236 std::string label;
+
1237
+
1238 /// The kind of this completion item. Based of the kind an icon is chosen by
+
1239 /// the editor.
+ +
1241
+
1242 /// A human-readable string with additional information about this item, like
+
1243 /// type or symbol information.
+
1244 std::string detail;
+
1245
+
1246 /// A human-readable string that represents a doc-comment.
+
1247 std::optional<MarkupContent> documentation;
+
1248
+
1249 /// A string that should be used when comparing this item with other items.
+
1250 /// When `falsy` the label is used.
+
1251 std::string sortText;
+
1252
+
1253 /// A string that should be used when filtering a set of completion items.
+
1254 /// When `falsy` the label is used.
+
1255 std::string filterText;
+
1256
+
1257 /// A string that should be inserted to a document when selecting this
+
1258 /// completion. When `falsy` the label is used.
+
1259 std::string insertText;
+
1260
+
1261 /// The format of the insert text. The format applies to both the `insertText`
+
1262 /// property and the `newText` property of a provided `textEdit`.
+ +
1264
+
1265 /// An edit which is applied to a document when selecting this completion.
+
1266 /// When an edit is provided `insertText` is ignored.
+
1267 ///
+
1268 /// Note: The range of the edit must be a single line range and it must
+
1269 /// contain the position at which completion has been requested.
+
1270 std::optional<TextEdit> textEdit;
+
1271
+
1272 /// An optional array of additional text edits that are applied when selecting
+
1273 /// this completion. Edits must not overlap with the main edit nor with
+
1274 /// themselves.
+
1275 std::vector<TextEdit> additionalTextEdits;
+
1276
+
1277 /// Indicates if this item is deprecated.
+
1278 bool deprecated = false;
+
1279
+
1280 /// The score that clangd calculates to rank the returned completions.
+
1281 /// This excludes the fuzzy-match between `filterText` and the partial word.
+
1282 /// This can be used to re-rank results as the user types, using client-side
+
1283 /// fuzzy-matching (that score should be multiplied with this one).
+
1284 /// This is a clangd extension.
+
1285 float score = 0.f;
+
1286
+
1287 // TODO: Add custom commitCharacters for some of the completion items. For
+
1288 // example, it makes sense to use () only for the functions.
+
1289 // TODO(krasimir): The following optional fields defined by the language
+
1290 // server protocol are unsupported:
+
1291 //
+
1292 // data?: any - A data entry field that is preserved on a completion item
+
1293 // between a completion and a completion resolve request.
+
1294};
+
+
1295llvm::json::Value toJSON(const CompletionItem &);
+
1296llvm::raw_ostream &operator<<(llvm::raw_ostream &, const CompletionItem &);
+
1297
+
1298bool operator<(const CompletionItem &, const CompletionItem &);
+
1299
+
1300/// Represents a collection of completion items to be presented in the editor.
+
+ +
1302 /// The list is not complete. Further typing should result in recomputing the
+
1303 /// list.
+
1304 bool isIncomplete = false;
+
1305
+
1306 /// The completion items.
+
1307 std::vector<CompletionItem> items;
+
1308};
+
+
1309llvm::json::Value toJSON(const CompletionList &);
+
1310
+
1311/// A single parameter of a particular signature.
+
+ +
1313
+
1314 /// The label of this parameter. Ignored when labelOffsets is set.
+
1315 std::string labelString;
+
1316
+
1317 /// Inclusive start and exclusive end offsets withing the containing signature
+
1318 /// label.
+
1319 /// Offsets are computed by lspLength(), which counts UTF-16 code units by
+
1320 /// default but that can be overriden, see its documentation for details.
+
1321 std::optional<std::pair<unsigned, unsigned>> labelOffsets;
+
1322
+
1323 /// The documentation of this parameter. Optional.
+
1324 std::string documentation;
+
1325};
+
+
1326llvm::json::Value toJSON(const ParameterInformation &);
+
1327
+
1328/// Represents the signature of something callable.
+
+ +
1330
+
1331 /// The label of this signature. Mandatory.
+
1332 std::string label;
+
1333
+
1334 /// The documentation of this signature. Optional.
+ +
1336
+
1337 /// The parameters of this signature.
+
1338 std::vector<ParameterInformation> parameters;
+
1339};
+
+
1340llvm::json::Value toJSON(const SignatureInformation &);
+
1341llvm::raw_ostream &operator<<(llvm::raw_ostream &,
+
1342 const SignatureInformation &);
+
1343
+
1344/// Represents the signature of a callable.
+
+ +
1346
+
1347 /// The resulting signatures.
+
1348 std::vector<SignatureInformation> signatures;
+
1349
+
1350 /// The active signature.
+ +
1352
+
1353 /// The active parameter of the active signature.
+ +
1355
+
1356 /// Position of the start of the argument list, including opening paren. e.g.
+
1357 /// foo("first arg", "second arg",
+
1358 /// ^-argListStart ^-cursor
+
1359 /// This is a clangd-specific extension, it is only available via C++ API and
+
1360 /// not currently serialized for the LSP.
+ +
1362};
+
+
1363llvm::json::Value toJSON(const SignatureHelp &);
+
1364
+
+ +
1366 /// The document that was opened.
+ +
1368
+
1369 /// The position at which this request was sent.
+ +
1371
+
1372 /// The new name of the symbol.
+
1373 std::string newName;
+
1374};
+
+
1375bool fromJSON(const llvm::json::Value &, RenameParams &, llvm::json::Path);
+
1376
+
1377enum class DocumentHighlightKind { Text = 1, Read = 2, Write = 3 };
+
1378
+
1379/// A document highlight is a range inside a text document which deserves
+
1380/// special attention. Usually a document highlight is visualized by changing
+
1381/// the background color of its range.
+
1382
+
+ +
1384 /// The range this highlight applies to.
+ +
1386
+
1387 /// The highlight kind, default is DocumentHighlightKind.Text.
+ +
1389
+
+
1390 friend bool operator<(const DocumentHighlight &LHS,
+
1391 const DocumentHighlight &RHS) {
+
1392 int LHSKind = static_cast<int>(LHS.kind);
+
1393 int RHSKind = static_cast<int>(RHS.kind);
+
1394 return std::tie(LHS.range, LHSKind) < std::tie(RHS.range, RHSKind);
+
1395 }
+
+
1396
+
+
1397 friend bool operator==(const DocumentHighlight &LHS,
+
1398 const DocumentHighlight &RHS) {
+
1399 return LHS.kind == RHS.kind && LHS.range == RHS.range;
+
1400 }
+
+
1401};
+
+
1402llvm::json::Value toJSON(const DocumentHighlight &DH);
+
1403llvm::raw_ostream &operator<<(llvm::raw_ostream &, const DocumentHighlight &);
+
1404
+
1405enum class TypeHierarchyDirection { Children = 0, Parents = 1, Both = 2 };
+
1406bool fromJSON(const llvm::json::Value &E, TypeHierarchyDirection &Out,
+
1407 llvm::json::Path);
+
1408
+
1409/// The type hierarchy params is an extension of the
+
1410/// `TextDocumentPositionsParams` with optional properties which can be used to
+
1411/// eagerly resolve the item when requesting from the server.
+
+ +
1413 /// The hierarchy levels to resolve. `0` indicates no level.
+
1414 /// This is a clangd extension.
+
1415 int resolve = 0;
+
1416
+
1417 /// The direction of the hierarchy levels to resolve.
+
1418 /// This is a clangd extension.
+ +
1420};
+
+
1421bool fromJSON(const llvm::json::Value &, TypeHierarchyPrepareParams &,
+
1422 llvm::json::Path);
+
1423
+
+ +
1425 /// The name of this item.
+
1426 std::string name;
+
1427
+
1428 /// The kind of this item.
+ +
1430
+
1431 /// More detail for this item, e.g. the signature of a function.
+
1432 std::optional<std::string> detail;
+
1433
+
1434 /// The resource identifier of this item.
+ +
1436
+
1437 /// The range enclosing this symbol not including leading/trailing whitespace
+
1438 /// but everything else, e.g. comments and code.
+ +
1440
+
1441 /// The range that should be selected and revealed when this symbol is being
+
1442 /// picked, e.g. the name of a function. Must be contained by the `range`.
+ +
1444
+
1445 /// Used to resolve a client provided item back.
+
+ +
1447 /// std::nullopt means parents aren't resolved and empty is no parents.
+
1448 std::optional<std::vector<ResolveParams>> parents;
+
1449 };
+
+
1450 /// A data entry field that is preserved between a type hierarchy prepare and
+
1451 /// supertypes or subtypes requests. It could also be used to identify the
+
1452 /// type hierarchy in the server, helping improve the performance on resolving
+
1453 /// supertypes and subtypes.
+ +
1455
+
1456 /// `true` if the hierarchy item is deprecated. Otherwise, `false`.
+
1457 /// This is a clangd exntesion.
+
1458 bool deprecated = false;
+
1459
+
1460 /// This is a clangd exntesion.
+
1461 std::optional<std::vector<TypeHierarchyItem>> parents;
+
1462
+
1463 /// If this type hierarchy item is resolved, it contains the direct children
+
1464 /// of the current item. Could be empty if the item does not have any
+
1465 /// descendants. If not defined, the children have not been resolved.
+
1466 /// This is a clangd exntesion.
+
1467 std::optional<std::vector<TypeHierarchyItem>> children;
+
1468};
+
+
1469llvm::json::Value toJSON(const TypeHierarchyItem::ResolveParams &);
+ +
1471llvm::json::Value toJSON(const TypeHierarchyItem &);
+
1472llvm::raw_ostream &operator<<(llvm::raw_ostream &, const TypeHierarchyItem &);
+
1473bool fromJSON(const llvm::json::Value &, TypeHierarchyItem &, llvm::json::Path);
+
1474
+
1475/// Parameters for the `typeHierarchy/resolve` request.
+
+ +
1477 /// The item to resolve.
+ +
1479
+
1480 /// The hierarchy levels to resolve. `0` indicates no level.
+ +
1482
+
1483 /// The direction of the hierarchy levels to resolve.
+ +
1485};
+
+
1486bool fromJSON(const llvm::json::Value &, ResolveTypeHierarchyItemParams &,
+
1487 llvm::json::Path);
+
1488
+
1489enum class SymbolTag { Deprecated = 1 };
+
1490llvm::json::Value toJSON(SymbolTag);
+
1491
+
1492/// The parameter of a `textDocument/prepareCallHierarchy` request.
+ +
1494
+
1495/// Represents programming constructs like functions or constructors
+
1496/// in the context of call hierarchy.
+
+ +
1498 /// The name of this item.
+
1499 std::string name;
+
1500
+
1501 /// The kind of this item.
+ +
1503
+
1504 /// Tags for this item.
+
1505 std::vector<SymbolTag> tags;
+
1506
+
1507 /// More detaill for this item, e.g. the signature of a function.
+
1508 std::string detail;
+
1509
+
1510 /// The resource identifier of this item.
+ +
1512
+
1513 /// The range enclosing this symbol not including leading / trailing
+
1514 /// whitespace but everything else, e.g. comments and code.
+ +
1516
+
1517 /// The range that should be selected and revealed when this symbol
+
1518 /// is being picked, e.g. the name of a function.
+
1519 /// Must be contained by `Rng`.
+ +
1521
+
1522 /// An optional 'data' field, which can be used to identify a call
+
1523 /// hierarchy item in an incomingCalls or outgoingCalls request.
+
1524 std::string data;
+
1525};
+
+
1526llvm::json::Value toJSON(const CallHierarchyItem &);
+
1527bool fromJSON(const llvm::json::Value &, CallHierarchyItem &, llvm::json::Path);
+
1528
+
1529/// The parameter of a `callHierarchy/incomingCalls` request.
+ +
1533bool fromJSON(const llvm::json::Value &, CallHierarchyIncomingCallsParams &,
+
1534 llvm::json::Path);
+
1535
+
1536/// Represents an incoming call, e.g. a caller of a method or constructor.
+
+ +
1538 /// The item that makes the call.
+ +
1540
+
1541 /// The range at which the calls appear.
+
1542 /// This is relative to the caller denoted by `From`.
+
1543 std::vector<Range> fromRanges;
+
1544};
+
+
1545llvm::json::Value toJSON(const CallHierarchyIncomingCall &);
+
1546
+
1547/// The parameter of a `callHierarchy/outgoingCalls` request.
+ +
1551bool fromJSON(const llvm::json::Value &, CallHierarchyOutgoingCallsParams &,
+
1552 llvm::json::Path);
+
1553
+
1554/// Represents an outgoing call, e.g. calling a getter from a method or
+
1555/// a method from a constructor etc.
+
+ +
1557 /// The item that is called.
+ +
1559
+
1560 /// The range at which this item is called.
+
1561 /// This is the range relative to the caller, and not `To`.
+
1562 std::vector<Range> fromRanges;
+
1563};
+
+
1564llvm::json::Value toJSON(const CallHierarchyOutgoingCall &);
+
1565
+
1566/// A parameter literal used in inlay hint requests.
+
+ +
1568 /// The text document.
+ +
1570
+
1571 /// The visible document range for which inlay hints should be computed.
+
1572 ///
+
1573 /// std::nullopt is a clangd extension, which hints for computing hints on the
+
1574 /// whole file.
+
1575 std::optional<Range> range;
+
1576};
+
+
1577bool fromJSON(const llvm::json::Value &, InlayHintsParams &, llvm::json::Path);
+
1578
+
1579/// Inlay hint kinds.
+
+
1580enum class InlayHintKind {
+
1581 /// An inlay hint that for a type annotation.
+
1582 ///
+
1583 /// An example of a type hint is a hint in this position:
+
1584 /// auto var ^ = expr;
+
1585 /// which shows the deduced type of the variable.
+
1586 Type = 1,
+
1587
+
1588 /// An inlay hint that is for a parameter.
+
1589 ///
+
1590 /// An example of a parameter hint is a hint in this position:
+
1591 /// func(^arg);
+
1592 /// which shows the name of the corresponding parameter.
+
1593 Parameter = 2,
+
1594
+
1595 /// A hint before an element of an aggregate braced initializer list,
+
1596 /// indicating what it is initializing.
+
1597 /// Pair{^1, ^2};
+
1598 /// Uses designator syntax, e.g. `.first:`.
+
1599 /// This is a clangd extension.
+
1600 Designator = 3,
+
1601
+
1602 /// Other ideas for hints that are not currently implemented:
+
1603 ///
+
1604 /// * Chaining hints, showing the types of intermediate expressions
+
1605 /// in a chain of function calls.
+
1606 /// * Hints indicating implicit conversions or implicit constructor calls.
+
1607};
+
+
1608llvm::json::Value toJSON(const InlayHintKind &);
+
1609
+
1610/// Inlay hint information.
+
+ +
1612 /// The position of this hint.
+ +
1614
+
1615 /// The label of this hint. A human readable string or an array of
+
1616 /// InlayHintLabelPart label parts.
+
1617 ///
+
1618 /// *Note* that neither the string nor the label part can be empty.
+
1619 std::string label;
+
1620
+
1621 /// The kind of this hint. Can be omitted in which case the client should fall
+
1622 /// back to a reasonable default.
+ +
1624
+
1625 /// Render padding before the hint.
+
1626 ///
+
1627 /// Note: Padding should use the editor's background color, not the
+
1628 /// background color of the hint itself. That means padding can be used
+
1629 /// to visually align/separate an inlay hint.
+
1630 bool paddingLeft = false;
+
1631
+
1632 /// Render padding after the hint.
+
1633 ///
+
1634 /// Note: Padding should use the editor's background color, not the
+
1635 /// background color of the hint itself. That means padding can be used
+
1636 /// to visually align/separate an inlay hint.
+
1637 bool paddingRight = false;
+
1638
+
1639 /// The range of source code to which the hint applies.
+
1640 ///
+
1641 /// For example, a parameter hint may have the argument as its range.
+
1642 /// The range allows clients more flexibility of when/how to display the hint.
+
1643 /// This is an (unserialized) clangd extension.
+ +
1645};
+
+
1646llvm::json::Value toJSON(const InlayHint &);
+
1647bool operator==(const InlayHint &, const InlayHint &);
+
1648bool operator<(const InlayHint &, const InlayHint &);
+
1649llvm::raw_ostream &operator<<(llvm::raw_ostream &, InlayHintKind);
+
1650
+
+ +
1652 /// Include the declaration of the current symbol.
+ +
1654};
+
+
1655
+ +
1659bool fromJSON(const llvm::json::Value &, ReferenceParams &, llvm::json::Path);
+
1660
+
1661/// Clangd extension: indicates the current state of the file in clangd,
+
1662/// sent from server via the `textDocument/clangd.fileStatus` notification.
+
+ +
1664 /// The text document's URI.
+ +
1666 /// The human-readable string presents the current state of the file, can be
+
1667 /// shown in the UI (e.g. status bar).
+
1668 std::string state;
+
1669 // FIXME: add detail messages.
+
1670};
+
+
1671llvm::json::Value toJSON(const FileStatus &);
+
1672
+
1673/// Specifies a single semantic token in the document.
+
1674/// This struct is not part of LSP, which just encodes lists of tokens as
+
1675/// arrays of numbers directly.
+
+ +
1677 /// token line number, relative to the previous token
+
1678 unsigned deltaLine = 0;
+
1679 /// token start character, relative to the previous token
+
1680 /// (relative to 0 or the previous token's start if they are on the same line)
+
1681 unsigned deltaStart = 0;
+
1682 /// the length of the token. A token cannot be multiline
+
1683 unsigned length = 0;
+
1684 /// will be looked up in `SemanticTokensLegend.tokenTypes`
+
1685 unsigned tokenType = 0;
+
1686 /// each set bit will be looked up in `SemanticTokensLegend.tokenModifiers`
+
1687 unsigned tokenModifiers = 0;
+
1688};
+
+
1689bool operator==(const SemanticToken &, const SemanticToken &);
+
1690
+
1691/// A versioned set of tokens.
+
+ +
1693 // An optional result id. If provided and clients support delta updating
+
1694 // the client will include the result id in the next semantic token request.
+
1695 // A server can then instead of computing all semantic tokens again simply
+
1696 // send a delta.
+
1697 std::string resultId;
+
1698
+
1699 /// The actual tokens.
+
1700 std::vector<SemanticToken> tokens; // encoded as a flat integer array.
+
1701};
+
+
1702llvm::json::Value toJSON(const SemanticTokens &);
+
1703
+
1704/// Body of textDocument/semanticTokens/full request.
+
+ +
1706 /// The text document.
+ +
1708};
+
+
1709bool fromJSON(const llvm::json::Value &, SemanticTokensParams &,
+
1710 llvm::json::Path);
+
1711
+
1712/// Body of textDocument/semanticTokens/full/delta request.
+
1713/// Requests the changes in semantic tokens since a previous response.
+
+ +
1715 /// The text document.
+ +
1717 /// The previous result id.
+
1718 std::string previousResultId;
+
1719};
+
+
1720bool fromJSON(const llvm::json::Value &Params, SemanticTokensDeltaParams &R,
+
1721 llvm::json::Path);
+
1722
+
1723/// Describes a replacement of a contiguous range of semanticTokens.
+
+ +
1725 // LSP specifies `start` and `deleteCount` which are relative to the array
+
1726 // encoding of the previous tokens.
+
1727 // We use token counts instead, and translate when serializing this struct.
+
1728 unsigned startToken = 0;
+
1729 unsigned deleteTokens = 0;
+
1730 std::vector<SemanticToken> tokens; // encoded as a flat integer array
+
1731};
+
+
1732llvm::json::Value toJSON(const SemanticTokensEdit &);
+
1733
+
1734/// This models LSP SemanticTokensDelta | SemanticTokens, which is the result of
+
1735/// textDocument/semanticTokens/full/delta.
+
+ +
1737 std::string resultId;
+
1738 /// Set if we computed edits relative to a previous set of tokens.
+
1739 std::optional<std::vector<SemanticTokensEdit>> edits;
+
1740 /// Set if we computed a fresh set of tokens.
+
1741 std::optional<std::vector<SemanticToken>> tokens; // encoded as integer array
+
1742};
+
+
1743llvm::json::Value toJSON(const SemanticTokensOrDelta &);
+
1744
+
1745/// Parameters for the inactive regions (server-side) push notification.
+
1746/// This is a clangd extension.
+
+ +
1748 /// The textdocument these inactive regions belong to.
+ +
1750 /// The inactive regions that should be sent.
+
1751 std::vector<Range> InactiveRegions;
+
1752};
+
+
1753llvm::json::Value toJSON(const InactiveRegionsParams &InactiveRegions);
+
1754
+
+ +
1756 /// The text document.
+ +
1758
+
1759 /// The positions inside the text document.
+
1760 std::vector<Position> positions;
+
1761};
+
+
1762bool fromJSON(const llvm::json::Value &, SelectionRangeParams &,
+
1763 llvm::json::Path);
+
1764
+
+ +
1766 /**
+
1767 * The range of this selection range.
+
1768 */
+ +
1770 /**
+
1771 * The parent selection range containing this range. Therefore `parent.range`
+
1772 * must contain `this.range`.
+
1773 */
+
1774 std::unique_ptr<SelectionRange> parent;
+
1775};
+
+
1776llvm::json::Value toJSON(const SelectionRange &);
+
1777
+
1778/// Parameters for the document link request.
+
+ +
1780 /// The document to provide document links for.
+ +
1782};
+
+
1783bool fromJSON(const llvm::json::Value &, DocumentLinkParams &,
+
1784 llvm::json::Path);
+
1785
+
1786/// A range in a text document that links to an internal or external resource,
+
1787/// like another text document or a web site.
+
+ +
1789 /// The range this link applies to.
+ +
1791
+
1792 /// The uri this link points to. If missing a resolve request is sent later.
+ +
1794
+
1795 // TODO(forster): The following optional fields defined by the language
+
1796 // server protocol are unsupported:
+
1797 //
+
1798 // data?: any - A data entry field that is preserved on a document link
+
1799 // between a DocumentLinkRequest and a
+
1800 // DocumentLinkResolveRequest.
+
1801
+
+
1802 friend bool operator==(const DocumentLink &LHS, const DocumentLink &RHS) {
+
1803 return LHS.range == RHS.range && LHS.target == RHS.target;
+
1804 }
+
+
1805
+
+
1806 friend bool operator!=(const DocumentLink &LHS, const DocumentLink &RHS) {
+
1807 return !(LHS == RHS);
+
1808 }
+
+
1809};
+
+
1810llvm::json::Value toJSON(const DocumentLink &DocumentLink);
+
1811
+
1812// FIXME(kirillbobyrev): Add FoldingRangeClientCapabilities so we can support
+
1813// per-line-folding editors.
+ +
1817bool fromJSON(const llvm::json::Value &, FoldingRangeParams &,
+
1818 llvm::json::Path);
+
1819
+
1820/// Stores information about a region of code that can be folded.
+
+ +
1822 unsigned startLine = 0;
+ +
1824 unsigned endLine = 0;
+ +
1826
+
1827 const static llvm::StringLiteral REGION_KIND;
+
1828 const static llvm::StringLiteral COMMENT_KIND;
+
1829 const static llvm::StringLiteral IMPORT_KIND;
+
1830 std::string kind;
+
1831};
+
+
1832llvm::json::Value toJSON(const FoldingRange &Range);
+
1833
+
1834/// Keys starting with an underscore(_) represent leaves, e.g. _total or _self
+
1835/// for memory usage of whole subtree or only that specific node in bytes. All
+
1836/// other keys represents children. An example:
+
1837/// {
+
1838/// "_self": 0,
+
1839/// "_total": 8,
+
1840/// "child1": {
+
1841/// "_self": 4,
+
1842/// "_total": 4,
+
1843/// }
+
1844/// "child2": {
+
1845/// "_self": 2,
+
1846/// "_total": 4,
+
1847/// "child_deep": {
+
1848/// "_self": 2,
+
1849/// "_total": 2,
+
1850/// }
+
1851/// }
+
1852/// }
+
1853
+
1854/// Payload for textDocument/ast request.
+
1855/// This request is a clangd extension.
+
+ +
1857 /// The text document.
+ +
1859
+
1860 /// The position of the node to be dumped.
+
1861 /// The highest-level node that entirely contains the range will be returned.
+
1862 /// If no range is given, the root translation unit node will be returned.
+
1863 std::optional<Range> range;
+
1864};
+
+
1865bool fromJSON(const llvm::json::Value &, ASTParams &, llvm::json::Path);
+
1866
+
1867/// Simplified description of a clang AST node.
+
1868/// This is clangd's internal representation of C++ code.
+
+
1869struct ASTNode {
+
1870 /// The general kind of node, such as "expression"
+
1871 /// Corresponds to the base AST node type such as Expr.
+
1872 std::string role;
+
1873 /// The specific kind of node this is, such as "BinaryOperator".
+
1874 /// This is usually a concrete node class (with Expr etc suffix dropped).
+
1875 /// When there's no hierarchy (e.g. TemplateName), the variant (NameKind).
+
1876 std::string kind;
+
1877 /// Brief additional information, such as "||" for the particular operator.
+
1878 /// The information included depends on the node kind, and may be empty.
+
1879 std::string detail;
+
1880 /// A one-line dump of detailed information about the node.
+
1881 /// This includes role/kind/description information, but is rather cryptic.
+
1882 /// It is similar to the output from `clang -Xclang -ast-dump`.
+
1883 /// May be empty for certain types of nodes.
+
1884 std::string arcana;
+
1885 /// The range of the original source file covered by this node.
+
1886 /// May be missing for implicit nodes, or those created by macro expansion.
+
1887 std::optional<Range> range;
+
1888 /// Nodes nested within this one, such as the operands of a BinaryOperator.
+
1889 std::vector<ASTNode> children;
+
1890};
+
+
1891llvm::json::Value toJSON(const ASTNode &);
+
1892llvm::raw_ostream &operator<<(llvm::raw_ostream &, const ASTNode &);
+
1893
+
1894// https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#workspace_configuration
+
+ +
1896
+
1897 // The scope to get the configuration section for.
+
1898 std::optional<URIForFile> scopeUri;
+
1899
+
1900 // The configuration section asked for.
+
1901 std::optional<std::string> section;
+
1902};
+
+
1903llvm::json::Value toJSON(const ConfigurationItem &);
+
1904
+
+ +
1906 std::vector<ConfigurationItem> items;
+
1907};
+
+
1908
+
1909llvm::json::Value toJSON(const ConfigurationParams &);
+
1910
+
1911} // namespace lspserver
+
+
1912namespace llvm {
+
+
1913template <> struct format_provider<lspserver::Position> {
+
+
1914 static void format(const lspserver::Position &Pos, raw_ostream &OS,
+
1915 StringRef Style) {
+
1916 assert(Style.empty() && "style modifiers for this type are not supported");
+
1917 OS << Pos;
+
1918 }
+
+
1919};
+
+
1920} // namespace llvm
+
+ +
An Event<T> allows events of type T to be broadcast to listeners.
Definition Function.h:17
+ + + +
LSPError(std::string Message, ErrorCode Code)
+
void log(llvm::raw_ostream &OS) const override
+
std::error_code convertToErrorCode() const override
+ + + +
std::string toString() const
Returns a string URI with all components percent-encoded.
Definition URI.cpp:158
+
static URI createFile(llvm::StringRef AbsolutePath)
This creates a file:// URI for AbsolutePath. The path must be absolute.
Definition URI.cpp:235
+ +
Whether current platform treats paths case insensitively.
Definition Connection.h:11
+ +
std::bitset< SymbolKindMax+1 > SymbolKindBitset
+ +
@ Created
The file got created.
+
@ Deleted
The file got deleted.
+
@ Changed
The file got changed.
+ +
@ Warning
A warning message.
+
@ Info
An information message.
+
@ Error
An error message.
+
@ Log
A log message.
+ + + + + + + + + + + + +
bool fromJSON(const llvm::json::Value &, URIForFile &, llvm::json::Path)
+ + + + + + + + +
@ TriggerTriggerForIncompleteCompletions
Completion was re-triggered as the current completion list is incomplete.
+ + + + + + + + + + + + + + + + + + + + + + + +
std::bitset< CompletionItemKindMax+1 > CompletionItemKindBitset
+ + + + +
llvm::json::Value toJSON(const URIForFile &U)
Serialize/deserialize URIForFile to/from a string URI.
+ + +
@ None
Documents should not be synced at all.
+
@ Full
Documents are synced by always sending the full content of the document.
+
llvm::raw_ostream & operator<<(llvm::raw_ostream &, const Position &)
+
CompletionItemKind
The kind of a completion entry.
+ + + + + + + + + + + + + + + + + + + + + + + + + +
CompletionItemKind adjustKindToCapability(CompletionItemKind Kind, CompletionItemKindBitset &SupportedCompletionItemKinds)
+
bool operator==(const TextEdit &L, const TextEdit &R)
+ + + + + + + +
bool operator<(const CompletionItem &, const CompletionItem &)
+ + + + +
static void format(const lspserver::Position &Pos, raw_ostream &OS, StringRef Style)
+ + + + +
std::vector< ASTNode > children
Nodes nested within this one, such as the operands of a BinaryOperator.
+ + + +
TextDocumentIdentifier textDocument
The text document.
+ + + + + + +
Represents an incoming call, e.g. a caller of a method or constructor.
+
CallHierarchyItem from
The item that makes the call.
+ +
The parameter of a callHierarchy/incomingCalls request.
+ + +
URIForFile uri
The resource identifier of this item.
+ +
std::vector< SymbolTag > tags
Tags for this item.
+
std::string detail
More detaill for this item, e.g. the signature of a function.
+ + + + + + + +
The parameter of a callHierarchy/outgoingCalls request.
+ +
The parameter of a textDocument/prepareCallHierarchy request.
+ + + + + + + + + + + + + + + + + +
bool DocumentChanges
The client supports versioned document changes for WorkspaceEdit.
+
std::optional< SymbolKindBitset > WorkspaceSymbolKinds
+ +
std::optional< CompletionItemKindBitset > CompletionItemKinds
+ + + + + + + +
std::optional< std::vector< OffsetEncoding > > offsetEncoding
Supported encodings for LSP character offsets. (clangd extension).
+ + + + + + + + +
Range range
The range for which the command was invoked.
+
TextDocumentIdentifier textDocument
The document in which the command was invoked.
+
CodeActionContext context
Context carrying additional information.
+ +
std::string title
A short, human-readable, title for this code action.
+ +
static const llvm::StringLiteral REFACTOR_KIND
+ +
static const llvm::StringLiteral INFO_KIND
+
std::optional< WorkspaceEdit > edit
The workspace edit this code action performs.
+ +
static const llvm::StringLiteral QUICKFIX_KIND
+
std::optional< std::vector< Diagnostic > > diagnostics
The diagnostics that this code action resolves.
+
Structure to capture a description for an error code.
+
std::string href
An URI to open with more information about the diagnostic error.
+ + + + +
CompletionTriggerKind triggerKind
How the completion was triggered.
+ + + + +
bool deprecated
Indicates if this item is deprecated.
+ + + + +
std::optional< MarkupContent > documentation
A human-readable string that represents a doc-comment.
+ + + +
Represents a collection of completion items to be presented in the editor.
+ +
std::vector< CompletionItem > items
The completion items.
+ + + + + + + + + +
std::map< std::string, ClangdCompileCommand > compilationDatabaseChanges
+ +
std::string message
The message of this related diagnostic information.
+
Location location
The location of this related diagnostic information.
+ + +
std::optional< std::vector< CodeAction > > codeActions
+
llvm::SmallVector< DiagnosticTag, 1 > tags
Additional metadata about the diagnostic.
+
Range range
The range at which the message applies.
+
std::string message
The diagnostic's message.
+
std::optional< std::vector< DiagnosticRelatedInformation > > relatedInformation
+
std::optional< CodeDescription > codeDescription
An optional property to describe the error code.
+ + + +
std::string code
The diagnostic's code. Can be omitted.
+ + + + + +
std::vector< TextDocumentContentChangeEvent > contentChanges
The actual content changes.
+ + +
std::vector< FileEvent > changes
The actual file events.
+ +
TextDocumentIdentifier textDocument
The document that was closed.
+ +
TextDocumentItem textDocument
The document that was opened.
+ +
TextDocumentIdentifier textDocument
The document that was saved.
+ +
TextDocumentIdentifier textDocument
The document to format.
+ +
Range range
The range this highlight applies to.
+
DocumentHighlightKind kind
The highlight kind, default is DocumentHighlightKind.Text.
+
friend bool operator<(const DocumentHighlight &LHS, const DocumentHighlight &RHS)
+
friend bool operator==(const DocumentHighlight &LHS, const DocumentHighlight &RHS)
+
Parameters for the document link request.
+
TextDocumentIdentifier textDocument
The document to provide document links for.
+ + + + + + +
TextDocumentIdentifier textDocument
The document to format.
+
Position position
The position at which this request was sent.
+
std::string ch
The character that has been typed.
+ +
TextDocumentIdentifier textDocument
The document to format.
+ + + + + +
SymbolKind kind
The kind of this symbol.
+
std::vector< DocumentSymbol > children
Children of this symbol, e.g. properties of a class.
+
std::string name
The name of this symbol.
+
bool deprecated
Indicates if this symbol is deprecated.
+ +
std::string detail
More detail for this symbol, e.g the signature of a function.
+ + +
std::string command
The identifier of the actual command handler.
+ + +
FileChangeType type
The change type.
+ +
URIForFile uri
The text document's URI.
+ + + +
Stores information about a region of code that can be folded.
+
static const llvm::StringLiteral IMPORT_KIND
+ + +
static const llvm::StringLiteral COMMENT_KIND
+ + + +
static const llvm::StringLiteral REGION_KIND
+ + +
MarkupContent contents
The hover's content.
+ +
TextDocumentIdentifier TextDocument
The textdocument these inactive regions belong to.
+
std::vector< Range > InactiveRegions
The inactive regions that should be sent.
+ + + + + + +
llvm::json::Object rawCapabilities
The same data as capabilities, but not parsed (to expose to modules).
+
InitializationOptions initializationOptions
User-provided initialization options.
+
std::optional< TraceLevel > trace
The initial trace setting. If omitted trace is disabled ('off').
+
ClientCapabilities capabilities
The capabilities provided by the client (editor or tool)
+ + + + + + + + +
Position position
The position of this hint.
+
A parameter literal used in inlay hint requests.
+
TextDocumentIdentifier textDocument
The text document.
+ + +
bool operator()(const Diagnostic &LHS, const Diagnostic &RHS) const
+ +
friend bool operator==(const Location &LHS, const Location &RHS)
+
friend bool operator<(const Location &LHS, const Location &RHS)
+
friend bool operator!=(const Location &LHS, const Location &RHS)
+ +
URIForFile uri
The text document's URI.
+ + + + +
A single parameter of a particular signature.
+
std::string labelString
The label of this parameter. Ignored when labelOffsets is set.
+
std::optional< std::pair< unsigned, unsigned > > labelOffsets
+
std::string documentation
The documentation of this parameter. Optional.
+ +
friend bool operator==(const Position &LHS, const Position &RHS)
+
int line
Line position in a document (zero-based).
+
friend bool operator!=(const Position &LHS, const Position &RHS)
+
friend bool operator<=(const Position &LHS, const Position &RHS)
+ +
friend bool operator<(const Position &LHS, const Position &RHS)
+ + +
llvm::json::Value token
The progress token provided by the client or server.
+ +
URIForFile uri
The URI for which diagnostic information is reported.
+
std::optional< int64_t > version
The version number of the document the diagnostics are published for.
+
std::vector< Diagnostic > diagnostics
An array of diagnostic information items.
+ + +
friend bool operator==(const Range &LHS, const Range &RHS)
+
bool overlap(const Range &RHS) const
+
friend bool operator<(const Range &LHS, const Range &RHS)
+
Position start
The range's start position.
+ +
Range operator/(const Range &RHS) const
+
Position end
The range's end position.
+
friend bool operator!=(const Range &LHS, const Range &RHS)
+ +
bool includeDeclaration
Include the declaration of the current symbol.
+ + + + + +
std::string newName
The new name of the symbol.
+
Position position
The position at which this request was sent.
+
TextDocumentIdentifier textDocument
The document that was opened.
+
Parameters for the typeHierarchy/resolve request.
+
TypeHierarchyDirection direction
The direction of the hierarchy levels to resolve.
+ +
int resolve
The hierarchy levels to resolve. 0 indicates no level.
+ +
TextDocumentIdentifier textDocument
The text document.
+
std::vector< Position > positions
The positions inside the text document.
+ + +
std::unique_ptr< SelectionRange > parent
+ +
unsigned length
the length of the token. A token cannot be multiline
+
unsigned tokenType
will be looked up in SemanticTokensLegend.tokenTypes
+
unsigned deltaLine
token line number, relative to the previous token
+ +
unsigned tokenModifiers
each set bit will be looked up in SemanticTokensLegend.tokenModifiers
+ + +
TextDocumentIdentifier textDocument
The text document.
+
Describes a replacement of a contiguous range of semanticTokens.
+ + + + +
std::optional< std::vector< SemanticTokensEdit > > edits
Set if we computed edits relative to a previous set of tokens.
+
std::optional< std::vector< SemanticToken > > tokens
Set if we computed a fresh set of tokens.
+ +
Body of textDocument/semanticTokens/full request.
+
TextDocumentIdentifier textDocument
The text document.
+ +
std::vector< SemanticToken > tokens
The actual tokens.
+ + + + +
Represents the signature of a callable.
+ + +
int activeParameter
The active parameter of the active signature.
+
std::vector< SignatureInformation > signatures
The resulting signatures.
+
Represents the signature of something callable.
+
std::vector< ParameterInformation > parameters
The parameters of this signature.
+
MarkupContent documentation
The documentation of this signature. Optional.
+
std::string label
The label of this signature. Mandatory.
+ + + +
std::string containerName
The name of the symbol containing this symbol.
+ +
Location location
The location of this symbol.
+ +
std::string text
The new text of the range/document.
+
std::optional< Range > range
The range of the document that changed.
+
std::optional< int > rangeLength
The length of the range that got replaced.
+ + +
VersionedTextDocumentIdentifier textDocument
The text document to change.
+ + + +
std::string languageId
The text document's language identifier.
+ +
std::string text
The content of the opened text document.
+ + +
Position position
The position inside the text document.
+
TextDocumentIdentifier textDocument
The text document.
+ +
ChangeAnnotationIdentifier annotationId
+ + + +
std::string tweakID
ID of the tweak that should be executed. Corresponds to Tweak::id().
+
URIForFile file
A file provided by the client on a textDocument/codeAction request.
+
Range selection
A selection provided by the client on a textDocument/codeAction request.
+ +
std::optional< std::vector< ResolveParams > > parents
std::nullopt means parents aren't resolved and empty is no parents.
+ + +
std::optional< std::vector< TypeHierarchyItem > > children
+
std::optional< std::string > detail
More detail for this item, e.g. the signature of a function.
+ + + +
std::optional< std::vector< TypeHierarchyItem > > parents
This is a clangd exntesion.
+
URIForFile uri
The resource identifier of this item.
+ + + + + + +
friend bool operator<(const URIForFile &LHS, const URIForFile &RHS)
+
static URIForFile canonicalize(llvm::StringRef AbsPath, llvm::StringRef TUPath)
+
friend bool operator!=(const URIForFile &LHS, const URIForFile &RHS)
+ +
friend bool operator==(const URIForFile &LHS, const URIForFile &RHS)
+
static llvm::Expected< URIForFile > fromURI(const URI &U, llvm::StringRef HintPath)
+ +
llvm::StringRef file() const
Retrieves absolute path to the file.
+ + + + + + + +
llvm::json::Value token
The token to be used to report progress.
+
Signals the end of progress reporting.
+ +
Reporting progress is done using the following payload.
+ + + + + +
std::optional< std::map< std::string, std::vector< TextEdit > > > changes
Holds changes to existing resources.
+
std::map< std::string, ChangeAnnotation > changeAnnotations
+
std::optional< std::vector< TextDocumentEdit > > documentChanges
+
The parameters of a Workspace Symbol Request.
+ + +
+ + + + diff --git a/lspserver_2src_2Protocol_8cpp.html b/lspserver_2src_2Protocol_8cpp.html new file mode 100644 index 000000000..6e0da8164 --- /dev/null +++ b/lspserver_2src_2Protocol_8cpp.html @@ -0,0 +1,402 @@ + + + + + + + +nixd: Protocol.cpp File Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
Protocol.cpp File Reference
+
+
+
#include "lspserver/Protocol.h"
+#include "lspserver/Logger.h"
+#include "lspserver/URI.h"
+#include <llvm/ADT/StringRef.h>
+#include <llvm/ADT/StringSwitch.h>
+#include <llvm/Support/ErrorHandling.h>
+#include <llvm/Support/JSON.h>
+#include <llvm/Support/Path.h>
+#include <llvm/Support/raw_ostream.h>
+
+

Go to the source code of this file.

+ + + + + +

+Namespaces

namespace  lspserver
 Whether current platform treats paths case insensitively.
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

bool lspserver::fromJSON (const llvm::json::Value &, URIForFile &, llvm::json::Path)
 
llvm::json::Value lspserver::toJSON (const URIForFile &U)
 Serialize/deserialize URIForFile to/from a string URI.
 
llvm::raw_ostream & lspserver::operator<< (llvm::raw_ostream &OS, const URIForFile &U)
 
llvm::json::Value lspserver::toJSON (const TextDocumentIdentifier &)
 
bool lspserver::fromJSON (const llvm::json::Value &, TextDocumentIdentifier &, llvm::json::Path)
 
llvm::json::Value lspserver::toJSON (const VersionedTextDocumentIdentifier &)
 
bool lspserver::fromJSON (const llvm::json::Value &, VersionedTextDocumentIdentifier &, llvm::json::Path)
 
bool lspserver::fromJSON (const llvm::json::Value &, Position &, llvm::json::Path)
 
llvm::json::Value lspserver::toJSON (const Position &)
 
llvm::raw_ostream & lspserver::operator<< (llvm::raw_ostream &, const Position &)
 
bool lspserver::fromJSON (const llvm::json::Value &, Range &, llvm::json::Path)
 
llvm::json::Value lspserver::toJSON (const Range &)
 
llvm::raw_ostream & lspserver::operator<< (llvm::raw_ostream &, const Range &)
 
llvm::json::Value lspserver::toJSON (const Location &)
 
llvm::raw_ostream & lspserver::operator<< (llvm::raw_ostream &, const Location &)
 
llvm::json::Value lspserver::toJSON (const ReferenceLocation &)
 
llvm::raw_ostream & lspserver::operator<< (llvm::raw_ostream &, const ReferenceLocation &)
 
bool lspserver::fromJSON (const llvm::json::Value &, TextDocumentItem &, llvm::json::Path)
 
bool lspserver::fromJSON (const llvm::json::Value &, TextEdit &, llvm::json::Path)
 
llvm::json::Value lspserver::toJSON (const TextEdit &)
 
bool lspserver::fromJSON (const llvm::json::Value &, ChangeAnnotation &, llvm::json::Path)
 
llvm::json::Value lspserver::toJSON (const ChangeAnnotation &)
 
bool lspserver::fromJSON (const llvm::json::Value &, TextDocumentEdit &, llvm::json::Path)
 
llvm::json::Value lspserver::toJSON (const TextDocumentEdit &)
 
llvm::raw_ostream & lspserver::operator<< (llvm::raw_ostream &, const TextEdit &)
 
bool lspserver::fromJSON (const llvm::json::Value &E, TraceLevel &Out, llvm::json::Path)
 
bool lspserver::fromJSON (const llvm::json::Value &, SymbolKind &, llvm::json::Path)
 
bool lspserver::fromJSON (const llvm::json::Value &, SymbolKindBitset &, llvm::json::Path)
 
SymbolKind lspserver::adjustKindToCapability (SymbolKind Kind, SymbolKindBitset &supportedSymbolKinds)
 
bool lspserver::fromJSON (const llvm::json::Value &, ClientCapabilities &, llvm::json::Path)
 
bool lspserver::fromJSON (const llvm::json::Value &, InitializeParams &, llvm::json::Path)
 
llvm::json::Value lspserver::toJSON (const WorkDoneProgressCreateParams &P)
 
llvm::json::Value lspserver::toJSON (const WorkDoneProgressBegin &)
 
llvm::json::Value lspserver::toJSON (const WorkDoneProgressReport &)
 
llvm::json::Value lspserver::toJSON (const WorkDoneProgressEnd &)
 
llvm::json::Value lspserver::toJSON (const MessageType &)
 
llvm::json::Value lspserver::toJSON (const ShowMessageParams &)
 
bool lspserver::fromJSON (const llvm::json::Value &, DidOpenTextDocumentParams &, llvm::json::Path)
 
bool lspserver::fromJSON (const llvm::json::Value &, DidCloseTextDocumentParams &, llvm::json::Path)
 
bool lspserver::fromJSON (const llvm::json::Value &, DidSaveTextDocumentParams &, llvm::json::Path)
 
bool lspserver::fromJSON (const llvm::json::Value &, DidChangeTextDocumentParams &, llvm::json::Path)
 
bool lspserver::fromJSON (const llvm::json::Value &E, FileChangeType &Out, llvm::json::Path)
 
bool lspserver::fromJSON (const llvm::json::Value &, FileEvent &, llvm::json::Path)
 
bool lspserver::fromJSON (const llvm::json::Value &, DidChangeWatchedFilesParams &, llvm::json::Path)
 
bool lspserver::fromJSON (const llvm::json::Value &, TextDocumentContentChangeEvent &, llvm::json::Path)
 
bool lspserver::fromJSON (const llvm::json::Value &, DocumentRangeFormattingParams &, llvm::json::Path)
 
bool lspserver::fromJSON (const llvm::json::Value &, DocumentOnTypeFormattingParams &, llvm::json::Path)
 
bool lspserver::fromJSON (const llvm::json::Value &, DocumentFormattingParams &, llvm::json::Path)
 
bool lspserver::fromJSON (const llvm::json::Value &, DocumentSymbolParams &, llvm::json::Path)
 
llvm::json::Value lspserver::toJSON (const DiagnosticRelatedInformation &)
 
llvm::json::Value lspserver::toJSON (DiagnosticTag Tag)
 
llvm::json::Value lspserver::toJSON (const CodeDescription &)
 
llvm::json::Value lspserver::toJSON (const Diagnostic &)
 
bool lspserver::fromJSON (const llvm::json::Value &, Diagnostic &, llvm::json::Path)
 
llvm::json::Value lspserver::toJSON (const PublishDiagnosticsParams &)
 
bool lspserver::fromJSON (const llvm::json::Value &, CodeActionContext &, llvm::json::Path)
 
llvm::raw_ostream & lspserver::operator<< (llvm::raw_ostream &, const Diagnostic &)
 
bool lspserver::fromJSON (const llvm::json::Value &, CodeActionParams &, llvm::json::Path)
 
bool lspserver::fromJSON (const llvm::json::Value &, WorkspaceEdit &, llvm::json::Path)
 
bool lspserver::fromJSON (const llvm::json::Value &, ExecuteCommandParams &, llvm::json::Path)
 
llvm::json::Value lspserver::toJSON (const SymbolInformation &)
 
llvm::raw_ostream & lspserver::operator<< (llvm::raw_ostream &, const SymbolInformation &)
 
bool lspserver::fromJSON (const llvm::json::Value &, WorkspaceSymbolParams &, llvm::json::Path)
 
llvm::json::Value lspserver::toJSON (const Command &C)
 
llvm::json::Value lspserver::toJSON (const CodeAction &)
 
llvm::raw_ostream & lspserver::operator<< (llvm::raw_ostream &O, const DocumentSymbol &S)
 
llvm::json::Value lspserver::toJSON (const DocumentSymbol &S)
 
llvm::json::Value lspserver::toJSON (const WorkspaceEdit &WE)
 
bool lspserver::fromJSON (const llvm::json::Value &, TweakArgs &, llvm::json::Path)
 
llvm::json::Value lspserver::toJSON (const TweakArgs &A)
 
llvm::json::Value lspserver::toJSON (const ApplyWorkspaceEditParams &)
 
bool lspserver::fromJSON (const llvm::json::Value &, ApplyWorkspaceEditResponse &, llvm::json::Path)
 
bool lspserver::fromJSON (const llvm::json::Value &, TextDocumentPositionParams &, llvm::json::Path)
 
bool lspserver::fromJSON (const llvm::json::Value &, CompletionContext &, llvm::json::Path)
 
bool lspserver::fromJSON (const llvm::json::Value &, CompletionParams &, llvm::json::Path)
 
bool lspserver::fromJSON (const llvm::json::Value &, MarkupKind &, llvm::json::Path)
 
llvm::raw_ostream & lspserver::operator<< (llvm::raw_ostream &OS, MarkupKind)
 
llvm::json::Value lspserver::toJSON (const MarkupContent &MC)
 
llvm::json::Value lspserver::toJSON (const Hover &H)
 
bool lspserver::fromJSON (const llvm::json::Value &, CompletionItemKind &, llvm::json::Path)
 
CompletionItemKind lspserver::adjustKindToCapability (CompletionItemKind Kind, CompletionItemKindBitset &SupportedCompletionItemKinds)
 
bool lspserver::fromJSON (const llvm::json::Value &, CompletionItemKindBitset &, llvm::json::Path)
 
llvm::json::Value lspserver::toJSON (const CompletionItem &)
 
llvm::raw_ostream & lspserver::operator<< (llvm::raw_ostream &, const CompletionItem &)
 
bool lspserver::operator< (const CompletionItem &, const CompletionItem &)
 
llvm::json::Value lspserver::toJSON (const CompletionList &)
 
llvm::json::Value lspserver::toJSON (const ParameterInformation &)
 
llvm::json::Value lspserver::toJSON (const SignatureInformation &)
 
llvm::raw_ostream & lspserver::operator<< (llvm::raw_ostream &, const SignatureInformation &)
 
llvm::json::Value lspserver::toJSON (const SignatureHelp &)
 
bool lspserver::fromJSON (const llvm::json::Value &, RenameParams &, llvm::json::Path)
 
llvm::json::Value lspserver::toJSON (const DocumentHighlight &DH)
 
llvm::json::Value lspserver::toJSON (const FileStatus &)
 
bool lspserver::operator== (const SemanticToken &, const SemanticToken &)
 
llvm::json::Value lspserver::toJSON (const SemanticTokens &)
 
llvm::json::Value lspserver::toJSON (const SemanticTokensEdit &)
 
llvm::json::Value lspserver::toJSON (const SemanticTokensOrDelta &)
 
bool lspserver::fromJSON (const llvm::json::Value &, SemanticTokensParams &, llvm::json::Path)
 
bool lspserver::fromJSON (const llvm::json::Value &Params, SemanticTokensDeltaParams &R, llvm::json::Path)
 
llvm::json::Value lspserver::toJSON (const InactiveRegionsParams &InactiveRegions)
 
llvm::raw_ostream & lspserver::operator<< (llvm::raw_ostream &, const DocumentHighlight &)
 
bool lspserver::fromJSON (const llvm::json::Value &, DidChangeConfigurationParams &, llvm::json::Path)
 
bool lspserver::fromJSON (const llvm::json::Value &, ClangdCompileCommand &, llvm::json::Path)
 
bool lspserver::fromJSON (const llvm::json::Value &, ConfigurationSettings &, llvm::json::Path)
 
bool lspserver::fromJSON (const llvm::json::Value &, InitializationOptions &, llvm::json::Path)
 
bool lspserver::fromJSON (const llvm::json::Value &E, TypeHierarchyDirection &Out, llvm::json::Path)
 
bool lspserver::fromJSON (const llvm::json::Value &, TypeHierarchyPrepareParams &, llvm::json::Path)
 
llvm::raw_ostream & lspserver::operator<< (llvm::raw_ostream &, const TypeHierarchyItem &)
 
llvm::json::Value lspserver::toJSON (const TypeHierarchyItem::ResolveParams &)
 
bool lspserver::fromJSON (const llvm::json::Value &Params, TypeHierarchyItem::ResolveParams &RP, llvm::json::Path P)
 
llvm::json::Value lspserver::toJSON (const TypeHierarchyItem &)
 
bool lspserver::fromJSON (const llvm::json::Value &, TypeHierarchyItem &, llvm::json::Path)
 
bool lspserver::fromJSON (const llvm::json::Value &, ResolveTypeHierarchyItemParams &, llvm::json::Path)
 
bool lspserver::fromJSON (const llvm::json::Value &Params, ReferenceContext &R, llvm::json::Path P)
 
bool lspserver::fromJSON (const llvm::json::Value &, ReferenceParams &, llvm::json::Path)
 
llvm::json::Value lspserver::toJSON (SymbolTag)
 
llvm::json::Value lspserver::toJSON (const CallHierarchyItem &)
 
bool lspserver::fromJSON (const llvm::json::Value &, CallHierarchyItem &, llvm::json::Path)
 
bool lspserver::fromJSON (const llvm::json::Value &, CallHierarchyIncomingCallsParams &, llvm::json::Path)
 
llvm::json::Value lspserver::toJSON (const CallHierarchyIncomingCall &)
 
bool lspserver::fromJSON (const llvm::json::Value &, CallHierarchyOutgoingCallsParams &, llvm::json::Path)
 
llvm::json::Value lspserver::toJSON (const CallHierarchyOutgoingCall &)
 
bool lspserver::fromJSON (const llvm::json::Value &, InlayHintsParams &, llvm::json::Path)
 
llvm::json::Value lspserver::toJSON (const InlayHintKind &)
 
llvm::json::Value lspserver::toJSON (const InlayHint &)
 
bool lspserver::operator== (const InlayHint &, const InlayHint &)
 
bool lspserver::operator< (const InlayHint &, const InlayHint &)
 
llvm::raw_ostream & lspserver::operator<< (llvm::raw_ostream &, InlayHintKind)
 
llvm::json::Value lspserver::toJSON (const OffsetEncoding &)
 
bool lspserver::fromJSON (const llvm::json::Value &, OffsetEncoding &, llvm::json::Path)
 
llvm::raw_ostream & lspserver::operator<< (llvm::raw_ostream &, OffsetEncoding)
 
bool lspserver::fromJSON (const llvm::json::Value &, SelectionRangeParams &, llvm::json::Path)
 
llvm::json::Value lspserver::toJSON (const SelectionRange &)
 
bool lspserver::fromJSON (const llvm::json::Value &, DocumentLinkParams &, llvm::json::Path)
 
llvm::json::Value lspserver::toJSON (const DocumentLink &DocumentLink)
 
bool lspserver::fromJSON (const llvm::json::Value &, FoldingRangeParams &, llvm::json::Path)
 
llvm::json::Value lspserver::toJSON (const FoldingRange &Range)
 
bool lspserver::fromJSON (const llvm::json::Value &, ASTParams &, llvm::json::Path)
 
llvm::json::Value lspserver::toJSON (const ASTNode &)
 
llvm::raw_ostream & lspserver::operator<< (llvm::raw_ostream &, const ASTNode &)
 
llvm::json::Value lspserver::toJSON (const ConfigurationItem &)
 
llvm::json::Value lspserver::toJSON (const ConfigurationParams &)
 
+ + + +

+Variables

constexpr unsigned lspserver::SemanticTokenEncodingSize = 5
 
+
+ + + + diff --git a/lspserver_2src_2Protocol_8cpp_source.html b/lspserver_2src_2Protocol_8cpp_source.html new file mode 100644 index 000000000..05765c8f9 --- /dev/null +++ b/lspserver_2src_2Protocol_8cpp_source.html @@ -0,0 +1,2311 @@ + + + + + + + +nixd: Protocol.cpp Source File + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
lspserver/src/Protocol.cpp
+
+
+Go to the documentation of this file.
1//===--- Protocol.cpp - Language Server Protocol Implementation -----------===//
+
2//
+
3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+
4// See https://llvm.org/LICENSE.txt for license information.
+
5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+
6//
+
7//===----------------------------------------------------------------------===//
+
8//
+
9// This file contains the serialization code for the LSP structs.
+
10//
+
11//===----------------------------------------------------------------------===//
+
12
+
13#include "lspserver/Protocol.h"
+
14#include "lspserver/Logger.h"
+
15#include "lspserver/URI.h"
+
16#include <llvm/ADT/StringRef.h>
+
17#include <llvm/ADT/StringSwitch.h>
+
18#include <llvm/Support/ErrorHandling.h>
+
19#include <llvm/Support/JSON.h>
+
20#include <llvm/Support/Path.h>
+
21#include <llvm/Support/raw_ostream.h>
+
22
+
23namespace lspserver {
+
24namespace {
+
25
+
26// Helper that doesn't treat `null` and absent fields as failures.
+
27template <typename T>
+
28bool mapOptOrNull(const llvm::json::Value &Params, llvm::StringLiteral Prop,
+
29 T &Out, llvm::json::Path P) {
+
30 auto *O = Params.getAsObject();
+
31 assert(O);
+
32 auto *V = O->get(Prop);
+
33 // Field is missing or null.
+
34 if (!V || V->getAsNull())
+
35 return true;
+
36 return fromJSON(*V, Out, P.field(Prop));
+
37}
+
38} // namespace
+
39
+
40char LSPError::ID;
+
41
+
+
42URIForFile URIForFile::canonicalize(llvm::StringRef AbsPath,
+
43 llvm::StringRef TUPath) {
+
44 assert(llvm::sys::path::is_absolute(AbsPath) && "the path is relative");
+
45 auto Resolved = URI::resolvePath(AbsPath, TUPath);
+
46 if (!Resolved) {
+
47 elog("URIForFile: failed to resolve path {0} with TU path {1}: "
+
48 "{2}.\nUsing unresolved path.",
+
49 AbsPath, TUPath, Resolved.takeError());
+
50 return URIForFile(std::string(AbsPath));
+
51 }
+
52 return URIForFile(std::move(*Resolved));
+
53}
+
+
54
+
+
55llvm::Expected<URIForFile> URIForFile::fromURI(const URI &U,
+
56 llvm::StringRef HintPath) {
+
57 auto Resolved = URI::resolve(U, HintPath);
+
58 if (!Resolved)
+
59 return Resolved.takeError();
+
60 return URIForFile(std::move(*Resolved));
+
61}
+
+
62
+
+
63bool fromJSON(const llvm::json::Value &E, URIForFile &R, llvm::json::Path P) {
+
64 if (auto S = E.getAsString()) {
+
65 auto Parsed = URI::parse(*S);
+
66 if (!Parsed) {
+
67 consumeError(Parsed.takeError());
+
68 P.report("failed to parse URI");
+
69 return false;
+
70 }
+
71 if (Parsed->scheme() != "file" && Parsed->scheme() != "test") {
+
72 P.report("clangd only supports 'file' URI scheme for workspace files");
+
73 return false;
+
74 }
+
75 // "file" and "test" schemes do not require hint path.
+
76 auto U = URIForFile::fromURI(*Parsed, /*HintPath=*/"");
+
77 if (!U) {
+
78 P.report("unresolvable URI");
+
79 consumeError(U.takeError());
+
80 return false;
+
81 }
+
82 R = std::move(*U);
+
83 return true;
+
84 }
+
85 return false;
+
86}
+
+
87
+
88llvm::json::Value toJSON(const URIForFile &U) { return U.uri(); }
+
89
+
+
90llvm::raw_ostream &operator<<(llvm::raw_ostream &OS, const URIForFile &U) {
+
91 return OS << U.uri();
+
92}
+
+
93
+
+
94llvm::json::Value toJSON(const TextDocumentIdentifier &R) {
+
95 return llvm::json::Object{{"uri", R.uri}};
+
96}
+
+
97
+
+
98bool fromJSON(const llvm::json::Value &Params, TextDocumentIdentifier &R,
+
99 llvm::json::Path P) {
+
100 llvm::json::ObjectMapper O(Params, P);
+
101 return O && O.map("uri", R.uri);
+
102}
+
+
103
+
+
104llvm::json::Value toJSON(const VersionedTextDocumentIdentifier &R) {
+
105 auto Result = toJSON(static_cast<const TextDocumentIdentifier &>(R));
+
106 Result.getAsObject()->try_emplace("version", R.version);
+
107 return Result;
+
108}
+
+
109
+
+
110bool fromJSON(const llvm::json::Value &Params,
+
111 VersionedTextDocumentIdentifier &R, llvm::json::Path P) {
+
112 llvm::json::ObjectMapper O(Params, P);
+
113 return fromJSON(Params, static_cast<TextDocumentIdentifier &>(R), P) && O &&
+
114 O.map("version", R.version);
+
115}
+
+
116
+
+
117bool fromJSON(const llvm::json::Value &Params, Position &R,
+
118 llvm::json::Path P) {
+
119 llvm::json::ObjectMapper O(Params, P);
+
120 return O && O.map("line", R.line) && O.map("character", R.character);
+
121}
+
+
122
+
+
123llvm::json::Value toJSON(const Position &P) {
+
124 return llvm::json::Object{
+
125 {"line", P.line},
+
126 {"character", P.character},
+
127 };
+
128}
+
+
129
+
+
130llvm::raw_ostream &operator<<(llvm::raw_ostream &OS, const Position &P) {
+
131 return OS << P.line << ':' << P.character;
+
132}
+
+
133
+
+
134bool fromJSON(const llvm::json::Value &Params, Range &R, llvm::json::Path P) {
+
135 llvm::json::ObjectMapper O(Params, P);
+
136 return O && O.map("start", R.start) && O.map("end", R.end);
+
137}
+
+
138
+
+
139llvm::json::Value toJSON(const Range &P) {
+
140 return llvm::json::Object{
+
141 {"start", P.start},
+
142 {"end", P.end},
+
143 };
+
144}
+
+
145
+
+
146llvm::raw_ostream &operator<<(llvm::raw_ostream &OS, const Range &R) {
+
147 return OS << R.start << '-' << R.end;
+
148}
+
+
149
+
+
150llvm::json::Value toJSON(const Location &P) {
+
151 return llvm::json::Object{
+
152 {"uri", P.uri},
+
153 {"range", P.range},
+
154 };
+
155}
+
+
156
+
+
157llvm::raw_ostream &operator<<(llvm::raw_ostream &OS, const Location &L) {
+
158 return OS << L.range << '@' << L.uri;
+
159}
+
+
160
+
+
161llvm::json::Value toJSON(const ReferenceLocation &P) {
+
162 llvm::json::Object Result{
+
163 {"uri", P.uri},
+
164 {"range", P.range},
+
165 };
+
166 if (P.containerName)
+
167 Result.insert({"containerName", P.containerName});
+
168 return Result;
+
169}
+
+
170
+
+
171llvm::raw_ostream &operator<<(llvm::raw_ostream &OS,
+
172 const ReferenceLocation &L) {
+
173 return OS << L.range << '@' << L.uri << " (container: " << L.containerName
+
174 << ")";
+
175}
+
+
176
+
+
177bool fromJSON(const llvm::json::Value &Params, TextDocumentItem &R,
+
178 llvm::json::Path P) {
+
179 llvm::json::ObjectMapper O(Params, P);
+
180 return O && O.map("uri", R.uri) && O.map("languageId", R.languageId) &&
+
181 O.map("version", R.version) && O.map("text", R.text);
+
182}
+
+
183
+
+
184bool fromJSON(const llvm::json::Value &Params, TextEdit &R,
+
185 llvm::json::Path P) {
+
186 llvm::json::ObjectMapper O(Params, P);
+
187 return O && O.map("range", R.range) && O.map("newText", R.newText) &&
+
188 O.mapOptional("annotationId", R.annotationId);
+
189}
+
+
190
+
+
191llvm::json::Value toJSON(const TextEdit &P) {
+
192 llvm::json::Object Result{
+
193 {"range", P.range},
+
194 {"newText", P.newText},
+
195 };
+
196 if (!P.annotationId.empty())
+
197 Result["annotationId"] = P.annotationId;
+
198 return Result;
+
199}
+
+
200
+
+
201bool fromJSON(const llvm::json::Value &Params, ChangeAnnotation &R,
+
202 llvm::json::Path P) {
+
203 llvm::json::ObjectMapper O(Params, P);
+
204 return O && O.map("label", R.label) &&
+
205 O.map("needsConfirmation", R.needsConfirmation) &&
+
206 O.mapOptional("description", R.description);
+
207}
+
+
+
208llvm::json::Value toJSON(const ChangeAnnotation &CA) {
+
209 llvm::json::Object Result{{"label", CA.label}};
+
210 if (CA.needsConfirmation)
+
211 Result["needsConfirmation"] = *CA.needsConfirmation;
+
212 if (!CA.description.empty())
+
213 Result["description"] = CA.description;
+
214 return Result;
+
215}
+
+
216
+
+
217bool fromJSON(const llvm::json::Value &Params, TextDocumentEdit &R,
+
218 llvm::json::Path P) {
+
219 llvm::json::ObjectMapper O(Params, P);
+
220 return O && O.map("textDocument", R.textDocument) && O.map("edits", R.edits);
+
221}
+
+
+
222llvm::json::Value toJSON(const TextDocumentEdit &P) {
+
223 llvm::json::Object Result{{"textDocument", P.textDocument},
+
224 {"edits", P.edits}};
+
225 return Result;
+
226}
+
+
227
+
+
228llvm::raw_ostream &operator<<(llvm::raw_ostream &OS, const TextEdit &TE) {
+
229 OS << TE.range << " => \"";
+
230 llvm::printEscapedString(TE.newText, OS);
+
231 return OS << '"';
+
232}
+
+
233
+
+
234bool fromJSON(const llvm::json::Value &E, TraceLevel &Out, llvm::json::Path P) {
+
235 if (auto S = E.getAsString()) {
+
236 if (*S == "off") {
+
237 Out = TraceLevel::Off;
+
238 return true;
+
239 }
+
240 if (*S == "messages") {
+ +
242 return true;
+
243 }
+
244 if (*S == "verbose") {
+ +
246 return true;
+
247 }
+
248 }
+
249 return false;
+
250}
+
+
251
+
+
252bool fromJSON(const llvm::json::Value &E, SymbolKind &Out, llvm::json::Path P) {
+
253 if (auto T = E.getAsInteger()) {
+
254 if (*T < static_cast<int>(SymbolKind::File) ||
+
255 *T > static_cast<int>(SymbolKind::TypeParameter))
+
256 return false;
+
257 Out = static_cast<SymbolKind>(*T);
+
258 return true;
+
259 }
+
260 return false;
+
261}
+
+
262
+
+
263bool fromJSON(const llvm::json::Value &E, SymbolKindBitset &Out,
+
264 llvm::json::Path P) {
+
265 if (auto *A = E.getAsArray()) {
+
266 for (size_t I = 0; I < A->size(); ++I) {
+
267 SymbolKind KindOut;
+
268 if (fromJSON((*A)[I], KindOut, P.index(I)))
+
269 Out.set(size_t(KindOut));
+
270 }
+
271 return true;
+
272 }
+
273 return false;
+
274}
+
+
275
+
+ +
277 SymbolKindBitset &SupportedSymbolKinds) {
+
278 auto KindVal = static_cast<size_t>(Kind);
+
279 if (KindVal >= SymbolKindMin && KindVal <= SupportedSymbolKinds.size() &&
+
280 SupportedSymbolKinds[KindVal])
+
281 return Kind;
+
282
+
283 switch (Kind) {
+
284 // Provide some fall backs for common kinds that are close enough.
+ +
286 return SymbolKind::Class;
+ +
288 return SymbolKind::Enum;
+
289 default:
+
290 return SymbolKind::String;
+
291 }
+
292}
+
+
293
+
+
294bool fromJSON(const llvm::json::Value &Params, ClientCapabilities &R,
+
295 llvm::json::Path P) {
+
296 const llvm::json::Object *O = Params.getAsObject();
+
297 if (!O) {
+
298 P.report("expected object");
+
299 return false;
+
300 }
+
301 if (auto *TextDocument = O->getObject("textDocument")) {
+
302 if (auto *SemanticHighlighting =
+
303 TextDocument->getObject("semanticHighlightingCapabilities")) {
+
304 if (auto SemanticHighlightingSupport =
+
305 SemanticHighlighting->getBoolean("semanticHighlighting"))
+
306 R.TheiaSemanticHighlighting = *SemanticHighlightingSupport;
+
307 }
+
308 if (auto *InactiveRegions =
+
309 TextDocument->getObject("inactiveRegionsCapabilities")) {
+
310 if (auto InactiveRegionsSupport =
+
311 InactiveRegions->getBoolean("inactiveRegions")) {
+
312 R.InactiveRegions = *InactiveRegionsSupport;
+
313 }
+
314 }
+
315 if (TextDocument->getObject("semanticTokens"))
+
316 R.SemanticTokens = true;
+
317 if (auto *Diagnostics = TextDocument->getObject("publishDiagnostics")) {
+
318 if (auto CategorySupport = Diagnostics->getBoolean("categorySupport"))
+
319 R.DiagnosticCategory = *CategorySupport;
+
320 if (auto CodeActions = Diagnostics->getBoolean("codeActionsInline"))
+
321 R.DiagnosticFixes = *CodeActions;
+
322 if (auto RelatedInfo = Diagnostics->getBoolean("relatedInformation"))
+
323 R.DiagnosticRelatedInformation = *RelatedInfo;
+
324 }
+
325 if (auto *References = TextDocument->getObject("references"))
+
326 if (auto ContainerSupport = References->getBoolean("container"))
+
327 R.ReferenceContainer = *ContainerSupport;
+
328 if (auto *Completion = TextDocument->getObject("completion")) {
+
329 if (auto *Item = Completion->getObject("completionItem")) {
+
330 if (auto SnippetSupport = Item->getBoolean("snippetSupport"))
+
331 R.CompletionSnippets = *SnippetSupport;
+
332 if (const auto *DocumentationFormat =
+
333 Item->getArray("documentationFormat")) {
+
334 for (const auto &Format : *DocumentationFormat) {
+
335 if (fromJSON(Format, R.CompletionDocumentationFormat, P))
+
336 break;
+
337 }
+
338 }
+
339 }
+
340 if (auto *ItemKind = Completion->getObject("completionItemKind")) {
+
341 if (auto *ValueSet = ItemKind->get("valueSet")) {
+
342 R.CompletionItemKinds.emplace();
+
343 if (!fromJSON(*ValueSet, *R.CompletionItemKinds,
+
344 P.field("textDocument")
+
345 .field("completion")
+
346 .field("completionItemKind")
+
347 .field("valueSet")))
+
348 return false;
+
349 }
+
350 }
+
351 if (auto EditsNearCursor = Completion->getBoolean("editsNearCursor"))
+
352 R.CompletionFixes = *EditsNearCursor;
+
353 }
+
354 if (auto *CodeAction = TextDocument->getObject("codeAction")) {
+
355 if (CodeAction->getObject("codeActionLiteralSupport"))
+
356 R.CodeActionStructure = true;
+
357 }
+
358 if (auto *DocumentSymbol = TextDocument->getObject("documentSymbol")) {
+
359 if (auto HierarchicalSupport =
+
360 DocumentSymbol->getBoolean("hierarchicalDocumentSymbolSupport"))
+
361 R.HierarchicalDocumentSymbol = *HierarchicalSupport;
+
362 }
+
363 if (auto *Hover = TextDocument->getObject("hover")) {
+
364 if (auto *ContentFormat = Hover->getArray("contentFormat")) {
+
365 for (const auto &Format : *ContentFormat) {
+
366 if (fromJSON(Format, R.HoverContentFormat, P))
+
367 break;
+
368 }
+
369 }
+
370 }
+
371 if (auto *Help = TextDocument->getObject("signatureHelp")) {
+
372 R.HasSignatureHelp = true;
+
373 if (auto *Info = Help->getObject("signatureInformation")) {
+
374 if (auto *Parameter = Info->getObject("parameterInformation")) {
+
375 if (auto OffsetSupport = Parameter->getBoolean("labelOffsetSupport"))
+
376 R.OffsetsInSignatureHelp = *OffsetSupport;
+
377 }
+
378 if (const auto *DocumentationFormat =
+
379 Info->getArray("documentationFormat")) {
+
380 for (const auto &Format : *DocumentationFormat) {
+ +
382 break;
+
383 }
+
384 }
+
385 }
+
386 }
+
387 if (auto *Folding = TextDocument->getObject("foldingRange")) {
+
388 if (auto LineFolding = Folding->getBoolean("lineFoldingOnly"))
+
389 R.LineFoldingOnly = *LineFolding;
+
390 }
+
391 if (auto *Rename = TextDocument->getObject("rename")) {
+
392 if (auto RenameSupport = Rename->getBoolean("prepareSupport"))
+
393 R.RenamePrepareSupport = *RenameSupport;
+
394 }
+
395 }
+
396 if (auto *Workspace = O->getObject("workspace")) {
+
397 if (auto *Symbol = Workspace->getObject("symbol")) {
+
398 if (auto *SymbolKind = Symbol->getObject("symbolKind")) {
+
399 if (auto *ValueSet = SymbolKind->get("valueSet")) {
+
400 R.WorkspaceSymbolKinds.emplace();
+
401 if (!fromJSON(*ValueSet, *R.WorkspaceSymbolKinds,
+
402 P.field("workspace")
+
403 .field("symbol")
+
404 .field("symbolKind")
+
405 .field("valueSet")))
+
406 return false;
+
407 }
+
408 }
+
409 }
+
410
+
411 if (auto WorkspaceConfiguration = Workspace->getBoolean("configuration")) {
+
412 R.WorkspaceConfiguration = *WorkspaceConfiguration;
+
413 }
+
414
+
415 if (auto *SemanticTokens = Workspace->getObject("semanticTokens")) {
+
416 if (auto RefreshSupport = SemanticTokens->getBoolean("refreshSupport"))
+
417 R.SemanticTokenRefreshSupport = *RefreshSupport;
+
418 }
+
419 if (auto *WorkspaceEdit = Workspace->getObject("workspaceEdit")) {
+
420 if (auto DocumentChanges = WorkspaceEdit->getBoolean("documentChanges"))
+
421 R.DocumentChanges = *DocumentChanges;
+
422 if (WorkspaceEdit->getObject("changeAnnotationSupport")) {
+
423 R.ChangeAnnotation = true;
+
424 }
+
425 }
+
426 }
+
427 if (auto *Window = O->getObject("window")) {
+
428 if (auto WorkDoneProgress = Window->getBoolean("workDoneProgress"))
+
429 R.WorkDoneProgress = *WorkDoneProgress;
+
430 if (auto Implicit = Window->getBoolean("implicitWorkDoneProgressCreate"))
+
431 R.ImplicitProgressCreation = *Implicit;
+
432 }
+
433 if (auto *General = O->getObject("general")) {
+
434 if (auto *StaleRequestSupport = General->getObject("staleRequestSupport")) {
+
435 if (auto Cancel = StaleRequestSupport->getBoolean("cancel"))
+
436 R.CancelsStaleRequests = *Cancel;
+
437 }
+
438 }
+
439 if (auto *OffsetEncoding = O->get("offsetEncoding")) {
+
440 R.offsetEncoding.emplace();
+ +
442 P.field("offsetEncoding")))
+
443 return false;
+
444 }
+
445 return true;
+
446}
+
+
447
+
+
448bool fromJSON(const llvm::json::Value &Params, InitializeParams &R,
+
449 llvm::json::Path P) {
+
450 llvm::json::ObjectMapper O(Params, P);
+
451 if (!O)
+
452 return false;
+
453 // We deliberately don't fail if we can't parse individual fields.
+
454 // Failing to handle a slightly malformed initialize would be a disaster.
+
455 O.map("processId", R.processId);
+
456 O.map("rootUri", R.rootUri);
+
457 O.map("rootPath", R.rootPath);
+
458 O.map("capabilities", R.capabilities);
+
459 if (auto *RawCaps = Params.getAsObject()->getObject("capabilities"))
+
460 R.rawCapabilities = *RawCaps;
+
461 O.map("trace", R.trace);
+
462 O.map("initializationOptions", R.initializationOptions);
+
463 return true;
+
464}
+
+
465
+
+
466llvm::json::Value toJSON(const WorkDoneProgressCreateParams &P) {
+
467 return llvm::json::Object{{"token", P.token}};
+
468}
+
+
469
+
+
470llvm::json::Value toJSON(const WorkDoneProgressBegin &P) {
+
471 llvm::json::Object Result{
+
472 {"kind", "begin"},
+
473 {"title", P.title},
+
474 };
+
475 if (P.cancellable)
+
476 Result["cancellable"] = true;
+
477 if (P.percentage)
+
478 Result["percentage"] = 0;
+
479
+
480 // FIXME: workaround for older gcc/clang
+
481 return Result;
+
482}
+
+
483
+
+
484llvm::json::Value toJSON(const WorkDoneProgressReport &P) {
+
485 llvm::json::Object Result{{"kind", "report"}};
+
486 if (P.cancellable)
+
487 Result["cancellable"] = *P.cancellable;
+
488 if (P.message)
+
489 Result["message"] = *P.message;
+
490 if (P.percentage)
+
491 Result["percentage"] = *P.percentage;
+
492 // FIXME: workaround for older gcc/clang
+
493 return Result;
+
494}
+
+
495
+
+
496llvm::json::Value toJSON(const WorkDoneProgressEnd &P) {
+
497 llvm::json::Object Result{{"kind", "end"}};
+
498 if (P.message)
+
499 Result["message"] = *P.message;
+
500 // FIXME: workaround for older gcc/clang
+
501 return Result;
+
502}
+
+
503
+
+
504llvm::json::Value toJSON(const MessageType &R) {
+
505 return static_cast<int64_t>(R);
+
506}
+
+
507
+
+
508llvm::json::Value toJSON(const ShowMessageParams &R) {
+
509 return llvm::json::Object{{"type", R.type}, {"message", R.message}};
+
510}
+
+
511
+
+
512bool fromJSON(const llvm::json::Value &Params, DidOpenTextDocumentParams &R,
+
513 llvm::json::Path P) {
+
514 llvm::json::ObjectMapper O(Params, P);
+
515 return O && O.map("textDocument", R.textDocument);
+
516}
+
+
517
+
+
518bool fromJSON(const llvm::json::Value &Params, DidCloseTextDocumentParams &R,
+
519 llvm::json::Path P) {
+
520 llvm::json::ObjectMapper O(Params, P);
+
521 return O && O.map("textDocument", R.textDocument);
+
522}
+
+
523
+
+
524bool fromJSON(const llvm::json::Value &Params, DidSaveTextDocumentParams &R,
+
525 llvm::json::Path P) {
+
526 llvm::json::ObjectMapper O(Params, P);
+
527 return O && O.map("textDocument", R.textDocument);
+
528}
+
+
529
+
+
530bool fromJSON(const llvm::json::Value &Params, DidChangeTextDocumentParams &R,
+
531 llvm::json::Path P) {
+
532 llvm::json::ObjectMapper O(Params, P);
+
533 return O && O.map("textDocument", R.textDocument) &&
+
534 O.map("contentChanges", R.contentChanges) &&
+
535 O.map("wantDiagnostics", R.wantDiagnostics) &&
+
536 mapOptOrNull(Params, "forceRebuild", R.forceRebuild, P);
+
537}
+
+
538
+
+
539bool fromJSON(const llvm::json::Value &E, FileChangeType &Out,
+
540 llvm::json::Path P) {
+
541 if (auto T = E.getAsInteger()) {
+
542 if (*T < static_cast<int>(FileChangeType::Created) ||
+
543 *T > static_cast<int>(FileChangeType::Deleted))
+
544 return false;
+
545 Out = static_cast<FileChangeType>(*T);
+
546 return true;
+
547 }
+
548 return false;
+
549}
+
+
550
+
+
551bool fromJSON(const llvm::json::Value &Params, FileEvent &R,
+
552 llvm::json::Path P) {
+
553 llvm::json::ObjectMapper O(Params, P);
+
554 return O && O.map("uri", R.uri) && O.map("type", R.type);
+
555}
+
+
556
+
+
557bool fromJSON(const llvm::json::Value &Params, DidChangeWatchedFilesParams &R,
+
558 llvm::json::Path P) {
+
559 llvm::json::ObjectMapper O(Params, P);
+
560 return O && O.map("changes", R.changes);
+
561}
+
+
562
+
+
563bool fromJSON(const llvm::json::Value &Params,
+
564 TextDocumentContentChangeEvent &R, llvm::json::Path P) {
+
565 llvm::json::ObjectMapper O(Params, P);
+
566 return O && O.map("range", R.range) && O.map("rangeLength", R.rangeLength) &&
+
567 O.map("text", R.text);
+
568}
+
+
569
+
+
570bool fromJSON(const llvm::json::Value &Params, DocumentRangeFormattingParams &R,
+
571 llvm::json::Path P) {
+
572 llvm::json::ObjectMapper O(Params, P);
+
573 return O && O.map("textDocument", R.textDocument) && O.map("range", R.range);
+
574}
+
+
575
+
+
576bool fromJSON(const llvm::json::Value &Params,
+
577 DocumentOnTypeFormattingParams &R, llvm::json::Path P) {
+
578 llvm::json::ObjectMapper O(Params, P);
+
579 return O && O.map("textDocument", R.textDocument) &&
+
580 O.map("position", R.position) && O.map("ch", R.ch);
+
581}
+
+
582
+
+
583bool fromJSON(const llvm::json::Value &Params, DocumentFormattingParams &R,
+
584 llvm::json::Path P) {
+
585 llvm::json::ObjectMapper O(Params, P);
+
586 return O && O.map("textDocument", R.textDocument);
+
587}
+
+
588
+
+
589bool fromJSON(const llvm::json::Value &Params, DocumentSymbolParams &R,
+
590 llvm::json::Path P) {
+
591 llvm::json::ObjectMapper O(Params, P);
+
592 return O && O.map("textDocument", R.textDocument);
+
593}
+
+
594
+
+
595llvm::json::Value toJSON(const DiagnosticRelatedInformation &DRI) {
+
596 return llvm::json::Object{
+
597 {"location", DRI.location},
+
598 {"message", DRI.message},
+
599 };
+
600}
+
+
601
+
602llvm::json::Value toJSON(DiagnosticTag Tag) { return static_cast<int>(Tag); }
+
603
+
+
604llvm::json::Value toJSON(const CodeDescription &D) {
+
605 return llvm::json::Object{{"href", D.href}};
+
606}
+
+
607
+
+
608llvm::json::Value toJSON(const Diagnostic &D) {
+
609 llvm::json::Object Diag{
+
610 {"range", D.range},
+
611 {"severity", D.severity},
+
612 {"message", D.message},
+
613 };
+
614 if (D.category)
+
615 Diag["category"] = *D.category;
+
616 if (D.codeActions)
+
617 Diag["codeActions"] = D.codeActions;
+
618 if (!D.code.empty())
+
619 Diag["code"] = D.code;
+
620 if (D.codeDescription)
+
621 Diag["codeDescription"] = *D.codeDescription;
+
622 if (!D.source.empty())
+
623 Diag["source"] = D.source;
+
624 if (D.relatedInformation)
+
625 Diag["relatedInformation"] = *D.relatedInformation;
+
626 if (!D.data.empty())
+
627 Diag["data"] = llvm::json::Object(D.data);
+
628 if (!D.tags.empty())
+
629 Diag["tags"] = llvm::json::Array{D.tags};
+
630 // FIXME: workaround for older gcc/clang
+
631 return Diag;
+
632}
+
+
633
+
+
634bool fromJSON(const llvm::json::Value &Params, Diagnostic &R,
+
635 llvm::json::Path P) {
+
636 llvm::json::ObjectMapper O(Params, P);
+
637 if (!O)
+
638 return false;
+
639 if (auto *Data = Params.getAsObject()->getObject("data"))
+
640 R.data = *Data;
+
641 return O.map("range", R.range) && O.map("message", R.message) &&
+
642 mapOptOrNull(Params, "severity", R.severity, P) &&
+
643 mapOptOrNull(Params, "category", R.category, P) &&
+
644 mapOptOrNull(Params, "code", R.code, P) &&
+
645 mapOptOrNull(Params, "source", R.source, P);
+
646}
+
+
647
+
+
648llvm::json::Value toJSON(const PublishDiagnosticsParams &PDP) {
+
649 llvm::json::Object Result{
+
650 {"uri", PDP.uri},
+
651 {"diagnostics", PDP.diagnostics},
+
652 };
+
653 if (PDP.version)
+
654 Result["version"] = PDP.version;
+
655 return Result;
+
656}
+
+
657
+
+
658bool fromJSON(const llvm::json::Value &Params, CodeActionContext &R,
+
659 llvm::json::Path P) {
+
660 llvm::json::ObjectMapper O(Params, P);
+
661 if (!O || !O.map("diagnostics", R.diagnostics))
+
662 return false;
+
663 O.map("only", R.only);
+
664 return true;
+
665}
+
+
666
+
+
667llvm::raw_ostream &operator<<(llvm::raw_ostream &OS, const Diagnostic &D) {
+
668 OS << D.range << " [";
+
669 switch (D.severity) {
+
670 case 1:
+
671 OS << "error";
+
672 break;
+
673 case 2:
+
674 OS << "warning";
+
675 break;
+
676 case 3:
+
677 OS << "note";
+
678 break;
+
679 case 4:
+
680 OS << "remark";
+
681 break;
+
682 default:
+
683 OS << "diagnostic";
+
684 break;
+
685 }
+
686 return OS << '(' << D.severity << "): " << D.message << "]";
+
687}
+
+
688
+
+
689bool fromJSON(const llvm::json::Value &Params, CodeActionParams &R,
+
690 llvm::json::Path P) {
+
691 llvm::json::ObjectMapper O(Params, P);
+
692 return O && O.map("textDocument", R.textDocument) &&
+
693 O.map("range", R.range) && O.map("context", R.context);
+
694}
+
+
695
+
+
696bool fromJSON(const llvm::json::Value &Params, WorkspaceEdit &R,
+
697 llvm::json::Path P) {
+
698 llvm::json::ObjectMapper O(Params, P);
+
699 return O && O.map("changes", R.changes) &&
+
700 O.map("documentChanges", R.documentChanges) &&
+
701 O.mapOptional("changeAnnotations", R.changeAnnotations);
+
702}
+
+
703
+
+
704bool fromJSON(const llvm::json::Value &Params, ExecuteCommandParams &R,
+
705 llvm::json::Path P) {
+
706 llvm::json::ObjectMapper O(Params, P);
+
707 if (!O || !O.map("command", R.command))
+
708 return false;
+
709
+
710 const auto *Args = Params.getAsObject()->get("arguments");
+
711 if (!Args)
+
712 return true; // Missing args is ok, argument is null.
+
713 const auto *ArgsArray = Args->getAsArray();
+
714 if (!ArgsArray) {
+
715 P.field("arguments").report("expected array");
+
716 return false;
+
717 }
+
718 if (ArgsArray->size() > 1) {
+
719 P.field("arguments").report("Command should have 0 or 1 argument");
+
720 return false;
+
721 }
+
722 if (ArgsArray->size() == 1) {
+
723 R.argument = ArgsArray->front();
+
724 }
+
725 return true;
+
726}
+
+
727
+
+
728llvm::json::Value toJSON(const SymbolInformation &P) {
+
729 llvm::json::Object O{
+
730 {"name", P.name},
+
731 {"kind", static_cast<int>(P.kind)},
+
732 {"location", P.location},
+
733 {"containerName", P.containerName},
+
734 };
+
735 if (P.score)
+
736 O["score"] = *P.score;
+
737 return O;
+
738}
+
+
739
+
+
740llvm::raw_ostream &operator<<(llvm::raw_ostream &O,
+
741 const SymbolInformation &SI) {
+
742 O << SI.containerName << "::" << SI.name << " - " << toJSON(SI);
+
743 return O;
+
744}
+
+
745
+
+
746bool fromJSON(const llvm::json::Value &Params, WorkspaceSymbolParams &R,
+
747 llvm::json::Path P) {
+
748 llvm::json::ObjectMapper O(Params, P);
+
749 return O && O.map("query", R.query) &&
+
750 mapOptOrNull(Params, "limit", R.limit, P);
+
751}
+
+
752
+
+
753llvm::json::Value toJSON(const Command &C) {
+
754 auto Cmd = llvm::json::Object{{"title", C.title}, {"command", C.command}};
+
755 if (!C.argument.getAsNull())
+
756 Cmd["arguments"] = llvm::json::Array{C.argument};
+
757 return Cmd;
+
758}
+
+
759
+
760const llvm::StringLiteral CodeAction::QUICKFIX_KIND = "quickfix";
+
761const llvm::StringLiteral CodeAction::REFACTOR_KIND = "refactor";
+
762const llvm::StringLiteral CodeAction::INFO_KIND = "info";
+
763
+
+
764llvm::json::Value toJSON(const CodeAction &CA) {
+
765 auto CodeAction = llvm::json::Object{{"title", CA.title}};
+
766 if (CA.kind)
+
767 CodeAction["kind"] = *CA.kind;
+
768 if (CA.diagnostics)
+
769 CodeAction["diagnostics"] = llvm::json::Array(*CA.diagnostics);
+
770 if (CA.isPreferred)
+
771 CodeAction["isPreferred"] = true;
+
772 if (CA.edit)
+
773 CodeAction["edit"] = *CA.edit;
+
774 if (CA.command)
+
775 CodeAction["command"] = *CA.command;
+
776 return CodeAction;
+
777}
+
+
778
+
+
779llvm::raw_ostream &operator<<(llvm::raw_ostream &O, const DocumentSymbol &S) {
+
780 return O << S.name << " - " << toJSON(S);
+
781}
+
+
782
+
+
783llvm::json::Value toJSON(const DocumentSymbol &S) {
+
784 llvm::json::Object Result{{"name", S.name},
+
785 {"kind", static_cast<int>(S.kind)},
+
786 {"range", S.range},
+
787 {"selectionRange", S.selectionRange}};
+
788
+
789 if (!S.detail.empty())
+
790 Result["detail"] = S.detail;
+
791 if (!S.children.empty())
+
792 Result["children"] = S.children;
+
793 if (S.deprecated)
+
794 Result["deprecated"] = true;
+
795 // FIXME: workaround for older gcc/clang
+
796 return Result;
+
797}
+
+
798
+
+
799llvm::json::Value toJSON(const WorkspaceEdit &WE) {
+
800 llvm::json::Object Result;
+
801 if (WE.changes) {
+
802 llvm::json::Object FileChanges;
+
803 for (auto &Change : *WE.changes)
+
804 FileChanges[Change.first] = llvm::json::Array(Change.second);
+
805 Result["changes"] = std::move(FileChanges);
+
806 }
+
807 if (WE.documentChanges)
+
808 Result["documentChanges"] = *WE.documentChanges;
+
809 if (!WE.changeAnnotations.empty()) {
+
810 llvm::json::Object ChangeAnnotations;
+
811 for (auto &Annotation : WE.changeAnnotations)
+
812 ChangeAnnotations[Annotation.first] = Annotation.second;
+
813 Result["changeAnnotations"] = std::move(ChangeAnnotations);
+
814 }
+
815 return Result;
+
816}
+
+
817
+
+
818bool fromJSON(const llvm::json::Value &Params, TweakArgs &A,
+
819 llvm::json::Path P) {
+
820 llvm::json::ObjectMapper O(Params, P);
+
821 return O && O.map("file", A.file) && O.map("selection", A.selection) &&
+
822 O.map("tweakID", A.tweakID);
+
823}
+
+
824
+
+
825llvm::json::Value toJSON(const TweakArgs &A) {
+
826 return llvm::json::Object{
+
827 {"tweakID", A.tweakID}, {"selection", A.selection}, {"file", A.file}};
+
828}
+
+
829
+
+
830llvm::json::Value toJSON(const ApplyWorkspaceEditParams &Params) {
+
831 return llvm::json::Object{{"edit", Params.edit}};
+
832}
+
+
833
+
+
834bool fromJSON(const llvm::json::Value &Response, ApplyWorkspaceEditResponse &R,
+
835 llvm::json::Path P) {
+
836 llvm::json::ObjectMapper O(Response, P);
+
837 return O && O.map("applied", R.applied) &&
+
838 O.map("failureReason", R.failureReason);
+
839}
+
+
840
+
+
841bool fromJSON(const llvm::json::Value &Params, TextDocumentPositionParams &R,
+
842 llvm::json::Path P) {
+
843 llvm::json::ObjectMapper O(Params, P);
+
844 return O && O.map("textDocument", R.textDocument) &&
+
845 O.map("position", R.position);
+
846}
+
+
847
+
+
848bool fromJSON(const llvm::json::Value &Params, CompletionContext &R,
+
849 llvm::json::Path P) {
+
850 llvm::json::ObjectMapper O(Params, P);
+
851 int TriggerKind;
+
852 if (!O || !O.map("triggerKind", TriggerKind) ||
+
853 !mapOptOrNull(Params, "triggerCharacter", R.triggerCharacter, P))
+
854 return false;
+
855 R.triggerKind = static_cast<CompletionTriggerKind>(TriggerKind);
+
856 return true;
+
857}
+
+
858
+
+
859bool fromJSON(const llvm::json::Value &Params, CompletionParams &R,
+
860 llvm::json::Path P) {
+
861 if (!fromJSON(Params, static_cast<TextDocumentPositionParams &>(R), P) ||
+
862 !mapOptOrNull(Params, "limit", R.limit, P))
+
863 return false;
+
864 if (auto *Context = Params.getAsObject()->get("context"))
+
865 return fromJSON(*Context, R.context, P.field("context"));
+
866 return true;
+
867}
+
+
868
+
869static llvm::StringRef toTextKind(MarkupKind Kind) {
+
870 switch (Kind) {
+ +
872 return "plaintext";
+ +
874 return "markdown";
+
875 }
+
876 llvm_unreachable("Invalid MarkupKind");
+
877}
+
878
+
+
879bool fromJSON(const llvm::json::Value &V, MarkupKind &K, llvm::json::Path P) {
+
880 auto Str = V.getAsString();
+
881 if (!Str) {
+
882 P.report("expected string");
+
883 return false;
+
884 }
+
885 if (*Str == "plaintext")
+ +
887 else if (*Str == "markdown")
+ +
889 else {
+
890 P.report("unknown markup kind");
+
891 return false;
+
892 }
+
893 return true;
+
894}
+
+
895
+
+
896llvm::raw_ostream &operator<<(llvm::raw_ostream &OS, MarkupKind K) {
+
897 return OS << toTextKind(K);
+
898}
+
+
899
+
+
900llvm::json::Value toJSON(const MarkupContent &MC) {
+
901 if (MC.value.empty())
+
902 return nullptr;
+
903
+
904 return llvm::json::Object{
+
905 {"kind", toTextKind(MC.kind)},
+
906 {"value", MC.value},
+
907 };
+
908}
+
+
909
+
+
910llvm::json::Value toJSON(const Hover &H) {
+
911 llvm::json::Object Result{{"contents", toJSON(H.contents)}};
+
912
+
913 if (H.range)
+
914 Result["range"] = toJSON(*H.range);
+
915
+
916 return Result;
+
917}
+
+
918
+
+
919bool fromJSON(const llvm::json::Value &E, CompletionItemKind &Out,
+
920 llvm::json::Path P) {
+
921 if (auto T = E.getAsInteger()) {
+
922 if (*T < static_cast<int>(CompletionItemKind::Text) ||
+
923 *T > static_cast<int>(CompletionItemKind::TypeParameter))
+
924 return false;
+
925 Out = static_cast<CompletionItemKind>(*T);
+
926 return true;
+
927 }
+
928 return false;
+
929}
+
+
930
+ +
+ +
933 CompletionItemKindBitset &SupportedCompletionItemKinds) {
+
934 auto KindVal = static_cast<size_t>(Kind);
+
935 if (KindVal >= CompletionItemKindMin &&
+
936 KindVal <= SupportedCompletionItemKinds.size() &&
+
937 SupportedCompletionItemKinds[KindVal])
+
938 return Kind;
+
939
+
940 switch (Kind) {
+
941 // Provide some fall backs for common kinds that are close enough.
+ + + + + + +
948 default:
+ +
950 }
+
951}
+
+
952
+
+
953bool fromJSON(const llvm::json::Value &E, CompletionItemKindBitset &Out,
+
954 llvm::json::Path P) {
+
955 if (auto *A = E.getAsArray()) {
+
956 for (size_t I = 0; I < A->size(); ++I) {
+
957 CompletionItemKind KindOut;
+
958 if (fromJSON((*A)[I], KindOut, P.index(I)))
+
959 Out.set(size_t(KindOut));
+
960 }
+
961 return true;
+
962 }
+
963 return false;
+
964}
+
+
965
+
+
966llvm::json::Value toJSON(const CompletionItem &CI) {
+
967 assert(!CI.label.empty() && "completion item label is required");
+
968 llvm::json::Object Result{{"label", CI.label}};
+ +
970 Result["kind"] = static_cast<int>(CI.kind);
+
971 if (!CI.detail.empty())
+
972 Result["detail"] = CI.detail;
+
973 if (CI.documentation)
+
974 Result["documentation"] = CI.documentation;
+
975 if (!CI.sortText.empty())
+
976 Result["sortText"] = CI.sortText;
+
977 if (!CI.filterText.empty())
+
978 Result["filterText"] = CI.filterText;
+
979 if (!CI.insertText.empty())
+
980 Result["insertText"] = CI.insertText;
+ +
982 Result["insertTextFormat"] = static_cast<int>(CI.insertTextFormat);
+
983 if (CI.textEdit)
+
984 Result["textEdit"] = *CI.textEdit;
+
985 if (!CI.additionalTextEdits.empty())
+
986 Result["additionalTextEdits"] = llvm::json::Array(CI.additionalTextEdits);
+
987 if (CI.deprecated)
+
988 Result["deprecated"] = CI.deprecated;
+
989 Result["score"] = CI.score;
+
990 return Result;
+
991}
+
+
992
+
+
993llvm::raw_ostream &operator<<(llvm::raw_ostream &O, const CompletionItem &I) {
+
994 O << I.label << " - " << toJSON(I);
+
995 return O;
+
996}
+
+
997
+
+
998bool operator<(const CompletionItem &L, const CompletionItem &R) {
+
999 return (L.sortText.empty() ? L.label : L.sortText) <
+
1000 (R.sortText.empty() ? R.label : R.sortText);
+
1001}
+
+
1002
+
+
1003llvm::json::Value toJSON(const CompletionList &L) {
+
1004 return llvm::json::Object{
+
1005 {"isIncomplete", L.isIncomplete},
+
1006 {"items", llvm::json::Array(L.items)},
+
1007 };
+
1008}
+
+
1009
+
+
1010llvm::json::Value toJSON(const ParameterInformation &PI) {
+
1011 assert((PI.labelOffsets || !PI.labelString.empty()) &&
+
1012 "parameter information label is required");
+
1013 llvm::json::Object Result;
+
1014 if (PI.labelOffsets)
+
1015 Result["label"] =
+
1016 llvm::json::Array({PI.labelOffsets->first, PI.labelOffsets->second});
+
1017 else
+
1018 Result["label"] = PI.labelString;
+
1019 if (!PI.documentation.empty())
+
1020 Result["documentation"] = PI.documentation;
+
1021 return Result;
+
1022}
+
+
1023
+
+
1024llvm::json::Value toJSON(const SignatureInformation &SI) {
+
1025 assert(!SI.label.empty() && "signature information label is required");
+
1026 llvm::json::Object Result{
+
1027 {"label", SI.label},
+
1028 {"parameters", llvm::json::Array(SI.parameters)},
+
1029 };
+
1030 if (!SI.documentation.value.empty())
+
1031 Result["documentation"] = SI.documentation;
+
1032 return Result;
+
1033}
+
+
1034
+
+
1035llvm::raw_ostream &operator<<(llvm::raw_ostream &O,
+
1036 const SignatureInformation &I) {
+
1037 O << I.label << " - " << toJSON(I);
+
1038 return O;
+
1039}
+
+
1040
+
+
1041llvm::json::Value toJSON(const SignatureHelp &SH) {
+
1042 assert(SH.activeSignature >= 0 &&
+
1043 "Unexpected negative value for number of active signatures.");
+
1044 assert(SH.activeParameter >= 0 &&
+
1045 "Unexpected negative value for active parameter index");
+
1046 return llvm::json::Object{
+
1047 {"activeSignature", SH.activeSignature},
+
1048 {"activeParameter", SH.activeParameter},
+
1049 {"signatures", llvm::json::Array(SH.signatures)},
+
1050 };
+
1051}
+
+
1052
+
+
1053bool fromJSON(const llvm::json::Value &Params, RenameParams &R,
+
1054 llvm::json::Path P) {
+
1055 llvm::json::ObjectMapper O(Params, P);
+
1056 return O && O.map("textDocument", R.textDocument) &&
+
1057 O.map("position", R.position) && O.map("newName", R.newName);
+
1058}
+
+
1059
+
+
1060llvm::json::Value toJSON(const DocumentHighlight &DH) {
+
1061 return llvm::json::Object{
+
1062 {"range", toJSON(DH.range)},
+
1063 {"kind", static_cast<int>(DH.kind)},
+
1064 };
+
1065}
+
+
1066
+
+
1067llvm::json::Value toJSON(const FileStatus &FStatus) {
+
1068 return llvm::json::Object{
+
1069 {"uri", FStatus.uri},
+
1070 {"state", FStatus.state},
+
1071 };
+
1072}
+
+
1073
+
1074constexpr unsigned SemanticTokenEncodingSize = 5;
+
1075static llvm::json::Value encodeTokens(llvm::ArrayRef<SemanticToken> Toks) {
+
1076 llvm::json::Array Result;
+
1077 Result.reserve(SemanticTokenEncodingSize * Toks.size());
+
1078 for (const auto &Tok : Toks) {
+
1079 Result.push_back(Tok.deltaLine);
+
1080 Result.push_back(Tok.deltaStart);
+
1081 Result.push_back(Tok.length);
+
1082 Result.push_back(Tok.tokenType);
+
1083 Result.push_back(Tok.tokenModifiers);
+
1084 }
+
1085 assert(Result.size() == SemanticTokenEncodingSize * Toks.size());
+
1086 return Result;
+
1087}
+
1088
+
+
1089bool operator==(const SemanticToken &L, const SemanticToken &R) {
+
1090 return std::tie(L.deltaLine, L.deltaStart, L.length, L.tokenType,
+
1091 L.tokenModifiers) == std::tie(R.deltaLine, R.deltaStart,
+
1092 R.length, R.tokenType,
+
1093 R.tokenModifiers);
+
1094}
+
+
1095
+
+
1096llvm::json::Value toJSON(const SemanticTokens &Tokens) {
+
1097 return llvm::json::Object{{"resultId", Tokens.resultId},
+
1098 {"data", encodeTokens(Tokens.tokens)}};
+
1099}
+
+
1100
+
+
1101llvm::json::Value toJSON(const SemanticTokensEdit &Edit) {
+
1102 return llvm::json::Object{
+
1103 {"start", SemanticTokenEncodingSize * Edit.startToken},
+
1104 {"deleteCount", SemanticTokenEncodingSize * Edit.deleteTokens},
+
1105 {"data", encodeTokens(Edit.tokens)}};
+
1106}
+
+
1107
+
+
1108llvm::json::Value toJSON(const SemanticTokensOrDelta &TE) {
+
1109 llvm::json::Object Result{{"resultId", TE.resultId}};
+
1110 if (TE.edits)
+
1111 Result["edits"] = *TE.edits;
+
1112 if (TE.tokens)
+
1113 Result["data"] = encodeTokens(*TE.tokens);
+
1114 return Result;
+
1115}
+
+
1116
+
+
1117bool fromJSON(const llvm::json::Value &Params, SemanticTokensParams &R,
+
1118 llvm::json::Path P) {
+
1119 llvm::json::ObjectMapper O(Params, P);
+
1120 return O && O.map("textDocument", R.textDocument);
+
1121}
+
+
1122
+
+
1123bool fromJSON(const llvm::json::Value &Params, SemanticTokensDeltaParams &R,
+
1124 llvm::json::Path P) {
+
1125 llvm::json::ObjectMapper O(Params, P);
+
1126 return O && O.map("textDocument", R.textDocument) &&
+
1127 O.map("previousResultId", R.previousResultId);
+
1128}
+
+
1129
+
+
1130llvm::json::Value toJSON(const InactiveRegionsParams &InactiveRegions) {
+
1131 return llvm::json::Object{
+
1132 {"textDocument", InactiveRegions.TextDocument},
+
1133 {"regions", std::move(InactiveRegions.InactiveRegions)}};
+
1134}
+
+
1135
+
+
1136llvm::raw_ostream &operator<<(llvm::raw_ostream &O,
+
1137 const DocumentHighlight &V) {
+
1138 O << V.range;
+ +
1140 O << "(r)";
+ +
1142 O << "(w)";
+
1143 return O;
+
1144}
+
+
1145
+
+
1146bool fromJSON(const llvm::json::Value &Params,
+
1147 DidChangeConfigurationParams &CCP, llvm::json::Path P) {
+
1148 llvm::json::ObjectMapper O(Params, P);
+
1149 return O && O.map("settings", CCP.settings);
+
1150}
+
+
1151
+
+
1152bool fromJSON(const llvm::json::Value &Params, ClangdCompileCommand &CDbUpdate,
+
1153 llvm::json::Path P) {
+
1154 llvm::json::ObjectMapper O(Params, P);
+
1155 return O && O.map("workingDirectory", CDbUpdate.workingDirectory) &&
+
1156 O.map("compilationCommand", CDbUpdate.compilationCommand);
+
1157}
+
+
1158
+
+
1159bool fromJSON(const llvm::json::Value &Params, ConfigurationSettings &S,
+
1160 llvm::json::Path P) {
+
1161 llvm::json::ObjectMapper O(Params, P);
+
1162 if (!O)
+
1163 return true; // 'any' type in LSP.
+
1164 return mapOptOrNull(Params, "compilationDatabaseChanges",
+ +
1166}
+
+
1167
+
+
1168bool fromJSON(const llvm::json::Value &Params, InitializationOptions &Opts,
+
1169 llvm::json::Path P) {
+
1170 llvm::json::ObjectMapper O(Params, P);
+
1171 if (!O)
+
1172 return true; // 'any' type in LSP.
+
1173
+
1174 return fromJSON(Params, Opts.ConfigSettings, P) &&
+
1175 O.map("compilationDatabasePath", Opts.compilationDatabasePath) &&
+
1176 mapOptOrNull(Params, "fallbackFlags", Opts.fallbackFlags, P) &&
+
1177 mapOptOrNull(Params, "clangdFileStatus", Opts.FileStatus, P);
+
1178}
+
+
1179
+
+
1180bool fromJSON(const llvm::json::Value &E, TypeHierarchyDirection &Out,
+
1181 llvm::json::Path P) {
+
1182 auto T = E.getAsInteger();
+
1183 if (!T)
+
1184 return false;
+
1185 if (*T < static_cast<int>(TypeHierarchyDirection::Children) ||
+
1186 *T > static_cast<int>(TypeHierarchyDirection::Both))
+
1187 return false;
+
1188 Out = static_cast<TypeHierarchyDirection>(*T);
+
1189 return true;
+
1190}
+
+
1191
+
+
1192bool fromJSON(const llvm::json::Value &Params, TypeHierarchyPrepareParams &R,
+
1193 llvm::json::Path P) {
+
1194 llvm::json::ObjectMapper O(Params, P);
+
1195 return O && O.map("textDocument", R.textDocument) &&
+
1196 O.map("position", R.position) &&
+
1197 mapOptOrNull(Params, "resolve", R.resolve, P) &&
+
1198 mapOptOrNull(Params, "direction", R.direction, P);
+
1199}
+
+
1200
+
+
1201llvm::raw_ostream &operator<<(llvm::raw_ostream &O,
+
1202 const TypeHierarchyItem &I) {
+
1203 return O << I.name << " - " << toJSON(I);
+
1204}
+
+
1205
+
+
1206llvm::json::Value toJSON(const TypeHierarchyItem::ResolveParams &RP) {
+
1207 llvm::json::Object Result{};
+
1208 if (RP.parents)
+
1209 Result["parents"] = RP.parents;
+
1210 return Result;
+
1211}
+
+
+
1212bool fromJSON(const llvm::json::Value &Params,
+
1213 TypeHierarchyItem::ResolveParams &RP, llvm::json::Path P) {
+
1214 llvm::json::ObjectMapper O(Params, P);
+
1215 return O && mapOptOrNull(Params, "parents", RP.parents, P);
+
1216}
+
+
1217
+
+
1218llvm::json::Value toJSON(const TypeHierarchyItem &I) {
+
1219 llvm::json::Object Result{
+
1220 {"name", I.name}, {"kind", static_cast<int>(I.kind)},
+
1221 {"range", I.range}, {"selectionRange", I.selectionRange},
+
1222 {"uri", I.uri}, {"data", I.data},
+
1223 };
+
1224
+
1225 if (I.detail)
+
1226 Result["detail"] = I.detail;
+
1227 return Result;
+
1228}
+
+
1229
+
+
1230bool fromJSON(const llvm::json::Value &Params, TypeHierarchyItem &I,
+
1231 llvm::json::Path P) {
+
1232 llvm::json::ObjectMapper O(Params, P);
+
1233
+
1234 // Required fields.
+
1235 return O && O.map("name", I.name) && O.map("kind", I.kind) &&
+
1236 O.map("uri", I.uri) && O.map("range", I.range) &&
+
1237 O.map("selectionRange", I.selectionRange) &&
+
1238 mapOptOrNull(Params, "detail", I.detail, P) &&
+
1239 mapOptOrNull(Params, "deprecated", I.deprecated, P) &&
+
1240 mapOptOrNull(Params, "parents", I.parents, P) &&
+
1241 mapOptOrNull(Params, "children", I.children, P) &&
+
1242 mapOptOrNull(Params, "data", I.data, P);
+
1243}
+
+
1244
+
+
1245bool fromJSON(const llvm::json::Value &Params,
+
1246 ResolveTypeHierarchyItemParams &R, llvm::json::Path P) {
+
1247 llvm::json::ObjectMapper O(Params, P);
+
1248 return O && O.map("item", R.item) &&
+
1249 mapOptOrNull(Params, "resolve", R.resolve, P) &&
+
1250 mapOptOrNull(Params, "direction", R.direction, P);
+
1251}
+
+
1252
+
+
1253bool fromJSON(const llvm::json::Value &Params, ReferenceContext &R,
+
1254 llvm::json::Path P) {
+
1255 llvm::json::ObjectMapper O(Params, P);
+
1256 return O && O.mapOptional("includeDeclaration", R.includeDeclaration);
+
1257}
+
+
1258
+
+
1259bool fromJSON(const llvm::json::Value &Params, ReferenceParams &R,
+
1260 llvm::json::Path P) {
+ +
1262 llvm::json::ObjectMapper O(Params, P);
+
1263 return fromJSON(Params, Base, P) && O && O.mapOptional("context", R.context);
+
1264}
+
+
1265
+
+
1266llvm::json::Value toJSON(SymbolTag Tag) {
+
1267 return llvm::json::Value{static_cast<int>(Tag)};
+
1268}
+
+
1269
+
+
1270llvm::json::Value toJSON(const CallHierarchyItem &I) {
+
1271 llvm::json::Object Result{{"name", I.name},
+
1272 {"kind", static_cast<int>(I.kind)},
+
1273 {"range", I.range},
+
1274 {"selectionRange", I.selectionRange},
+
1275 {"uri", I.uri}};
+
1276 if (!I.tags.empty())
+
1277 Result["tags"] = I.tags;
+
1278 if (!I.detail.empty())
+
1279 Result["detail"] = I.detail;
+
1280 if (!I.data.empty())
+
1281 Result["data"] = I.data;
+
1282 return Result;
+
1283}
+
+
1284
+
+
1285bool fromJSON(const llvm::json::Value &Params, CallHierarchyItem &I,
+
1286 llvm::json::Path P) {
+
1287 llvm::json::ObjectMapper O(Params, P);
+
1288
+
1289 // Populate the required fields only. We don't care about the
+
1290 // optional fields `Tags` and `Detail` for the purpose of
+
1291 // client --> server communication.
+
1292 return O && O.map("name", I.name) && O.map("kind", I.kind) &&
+
1293 O.map("uri", I.uri) && O.map("range", I.range) &&
+
1294 O.map("selectionRange", I.selectionRange) &&
+
1295 mapOptOrNull(Params, "data", I.data, P);
+
1296}
+
+
1297
+
+
1298bool fromJSON(const llvm::json::Value &Params,
+
1299 CallHierarchyIncomingCallsParams &C, llvm::json::Path P) {
+
1300 llvm::json::ObjectMapper O(Params, P);
+
1301 return O.map("item", C.item);
+
1302}
+
+
1303
+
+
1304llvm::json::Value toJSON(const CallHierarchyIncomingCall &C) {
+
1305 return llvm::json::Object{{"from", C.from}, {"fromRanges", C.fromRanges}};
+
1306}
+
+
1307
+
+
1308bool fromJSON(const llvm::json::Value &Params,
+
1309 CallHierarchyOutgoingCallsParams &C, llvm::json::Path P) {
+
1310 llvm::json::ObjectMapper O(Params, P);
+
1311 return O.map("item", C.item);
+
1312}
+
+
1313
+
+
1314llvm::json::Value toJSON(const CallHierarchyOutgoingCall &C) {
+
1315 return llvm::json::Object{{"to", C.to}, {"fromRanges", C.fromRanges}};
+
1316}
+
+
1317
+
+
1318bool fromJSON(const llvm::json::Value &Params, InlayHintsParams &R,
+
1319 llvm::json::Path P) {
+
1320 llvm::json::ObjectMapper O(Params, P);
+
1321 return O && O.map("textDocument", R.textDocument) && O.map("range", R.range);
+
1322}
+
+
1323
+
+
1324llvm::json::Value toJSON(const InlayHintKind &Kind) {
+
1325 switch (Kind) {
+ +
1327 return 1;
+ +
1329 return 2;
+
1330 case InlayHintKind::Designator: // This is an extension, don't serialize.
+
1331 return nullptr;
+
1332 }
+
1333 llvm_unreachable("Unknown clang.clangd.InlayHintKind");
+
1334}
+
+
1335
+
+
1336llvm::json::Value toJSON(const InlayHint &H) {
+
1337 llvm::json::Object Result{{"position", H.position},
+
1338 {"label", H.label},
+
1339 {"paddingLeft", H.paddingLeft},
+
1340 {"paddingRight", H.paddingRight}};
+
1341 auto K = toJSON(H.kind);
+
1342 if (!K.getAsNull())
+
1343 Result["kind"] = std::move(K);
+
1344 return Result;
+
1345}
+
+
+
1346bool operator==(const InlayHint &A, const InlayHint &B) {
+
1347 return std::tie(A.position, A.range, A.kind, A.label) ==
+
1348 std::tie(B.position, B.range, B.kind, B.label);
+
1349}
+
+
+
1350bool operator<(const InlayHint &A, const InlayHint &B) {
+
1351 return std::tie(A.position, A.range, A.kind, A.label) <
+
1352 std::tie(B.position, B.range, B.kind, B.label);
+
1353}
+
+
1354
+
+
1355llvm::raw_ostream &operator<<(llvm::raw_ostream &OS, InlayHintKind Kind) {
+
1356 auto ToString = [](InlayHintKind K) {
+
1357 switch (K) {
+ +
1359 return "parameter";
+ +
1361 return "type";
+ +
1363 return "designator";
+
1364 }
+
1365 llvm_unreachable("Unknown clang.clangd.InlayHintKind");
+
1366 };
+
1367 return OS << ToString(Kind);
+
1368}
+
+
1369
+
1370static const char *toString(OffsetEncoding OE) {
+
1371 switch (OE) {
+ +
1373 return "utf-8";
+ +
1375 return "utf-16";
+ +
1377 return "utf-32";
+ +
1379 return "unknown";
+
1380 }
+
1381 llvm_unreachable("Unknown clang.clangd.OffsetEncoding");
+
1382}
+
1383llvm::json::Value toJSON(const OffsetEncoding &OE) { return toString(OE); }
+
+
1384bool fromJSON(const llvm::json::Value &V, OffsetEncoding &OE,
+
1385 llvm::json::Path P) {
+
1386 auto Str = V.getAsString();
+
1387 if (!Str)
+
1388 return false;
+
1389 OE = llvm::StringSwitch<OffsetEncoding>(*Str)
+
1390 .Case("utf-8", OffsetEncoding::UTF8)
+
1391 .Case("utf-16", OffsetEncoding::UTF16)
+
1392 .Case("utf-32", OffsetEncoding::UTF32)
+ +
1394 return true;
+
1395}
+
+
+
1396llvm::raw_ostream &operator<<(llvm::raw_ostream &OS, OffsetEncoding Enc) {
+
1397 return OS << toString(Enc);
+
1398}
+
+
1399
+
+
1400bool fromJSON(const llvm::json::Value &Params, SelectionRangeParams &S,
+
1401 llvm::json::Path P) {
+
1402 llvm::json::ObjectMapper O(Params, P);
+
1403 return O && O.map("textDocument", S.textDocument) &&
+
1404 O.map("positions", S.positions);
+
1405}
+
+
1406
+
+
1407llvm::json::Value toJSON(const SelectionRange &Out) {
+
1408 if (Out.parent) {
+
1409 return llvm::json::Object{{"range", Out.range},
+
1410 {"parent", toJSON(*Out.parent)}};
+
1411 }
+
1412 return llvm::json::Object{{"range", Out.range}};
+
1413}
+
+
1414
+
+
1415bool fromJSON(const llvm::json::Value &Params, DocumentLinkParams &R,
+
1416 llvm::json::Path P) {
+
1417 llvm::json::ObjectMapper O(Params, P);
+
1418 return O && O.map("textDocument", R.textDocument);
+
1419}
+
+
1420
+
+
1421llvm::json::Value toJSON(const DocumentLink &DocumentLink) {
+
1422 return llvm::json::Object{
+
1423 {"range", DocumentLink.range},
+
1424 {"target", DocumentLink.target},
+
1425 };
+
1426}
+
+
1427
+
+
1428bool fromJSON(const llvm::json::Value &Params, FoldingRangeParams &R,
+
1429 llvm::json::Path P) {
+
1430 llvm::json::ObjectMapper O(Params, P);
+
1431 return O && O.map("textDocument", R.textDocument);
+
1432}
+
+
1433
+
1434const llvm::StringLiteral FoldingRange::REGION_KIND = "region";
+
1435const llvm::StringLiteral FoldingRange::COMMENT_KIND = "comment";
+
1436const llvm::StringLiteral FoldingRange::IMPORT_KIND = "import";
+
1437
+
+
1438llvm::json::Value toJSON(const FoldingRange &Range) {
+
1439 llvm::json::Object Result{
+
1440 {"startLine", Range.startLine},
+
1441 {"endLine", Range.endLine},
+
1442 };
+
1443 if (Range.startCharacter)
+
1444 Result["startCharacter"] = Range.startCharacter;
+
1445 if (Range.endCharacter)
+
1446 Result["endCharacter"] = Range.endCharacter;
+
1447 if (!Range.kind.empty())
+
1448 Result["kind"] = Range.kind;
+
1449 return Result;
+
1450}
+
+
1451
+
+
1452bool fromJSON(const llvm::json::Value &Params, ASTParams &R,
+
1453 llvm::json::Path P) {
+
1454 llvm::json::ObjectMapper O(Params, P);
+
1455 return O && O.map("textDocument", R.textDocument) && O.map("range", R.range);
+
1456}
+
+
1457
+
+
1458llvm::json::Value toJSON(const ASTNode &N) {
+
1459 llvm::json::Object Result{
+
1460 {"role", N.role},
+
1461 {"kind", N.kind},
+
1462 };
+
1463 if (!N.children.empty())
+
1464 Result["children"] = N.children;
+
1465 if (!N.detail.empty())
+
1466 Result["detail"] = N.detail;
+
1467 if (!N.arcana.empty())
+
1468 Result["arcana"] = N.arcana;
+
1469 if (N.range)
+
1470 Result["range"] = *N.range;
+
1471 return Result;
+
1472}
+
+
1473
+
+
1474llvm::raw_ostream &operator<<(llvm::raw_ostream &OS, const ASTNode &Root) {
+
1475 std::function<void(const ASTNode &, unsigned)> Print = [&](const ASTNode &N,
+
1476 unsigned Level) {
+
1477 OS.indent(2 * Level) << N.role << ": " << N.kind;
+
1478 if (!N.detail.empty())
+
1479 OS << " - " << N.detail;
+
1480 OS << "\n";
+
1481 for (const ASTNode &C : N.children)
+
1482 Print(C, Level + 1);
+
1483 };
+
1484 Print(Root, 0);
+
1485 return OS;
+
1486}
+
+
1487
+
+
1488llvm::json::Value toJSON(const ConfigurationItem &N) {
+
1489 llvm::json::Object R;
+
1490 if (N.scopeUri)
+
1491 R["scopeUri"] = N.scopeUri;
+
1492 if (N.section)
+
1493 R["section"] = N.section;
+
1494 return R;
+
1495}
+
+
1496
+
+
1497llvm::json::Value toJSON(const ConfigurationParams &N) {
+
1498 return llvm::json::Object{{"items", N.items}};
+
1499}
+
+
1500
+
1501} // namespace lspserver
+ + + + +
static llvm::Expected< std::string > resolve(const URI &U, llvm::StringRef HintPath="")
Definition URI.cpp:242
+
static llvm::Expected< URI > parse(llvm::StringRef Uri)
Definition URI.cpp:174
+
static llvm::Expected< std::string > resolvePath(llvm::StringRef AbsPath, llvm::StringRef HintPath="")
Definition URI.cpp:250
+ +
Whether current platform treats paths case insensitively.
Definition Connection.h:11
+ +
std::bitset< SymbolKindMax+1 > SymbolKindBitset
+ +
@ Created
The file got created.
+
@ Deleted
The file got deleted.
+ +
@ Info
An information message.
+ + + + + + + + +
bool fromJSON(const llvm::json::Value &, URIForFile &, llvm::json::Path)
+ + + + + + + + + + + + + + + +
std::bitset< CompletionItemKindMax+1 > CompletionItemKindBitset
+
void elog(const char *Fmt, Ts &&...Vals)
Definition Logger.h:52
+ + + + +
llvm::json::Value toJSON(const URIForFile &U)
Serialize/deserialize URIForFile to/from a string URI.
+
llvm::raw_ostream & operator<<(llvm::raw_ostream &, const Position &)
+
CompletionItemKind
The kind of a completion entry.
+ + + + + + + + + +
CompletionItemKind adjustKindToCapability(CompletionItemKind Kind, CompletionItemKindBitset &SupportedCompletionItemKinds)
+
bool operator==(const TextEdit &L, const TextEdit &R)
+ + + + + + +
constexpr unsigned SemanticTokenEncodingSize
+
bool operator<(const CompletionItem &, const CompletionItem &)
+ + + + + +
std::vector< ASTNode > children
Nodes nested within this one, such as the operands of a BinaryOperator.
+ + + +
TextDocumentIdentifier textDocument
The text document.
+ + + + + + +
Represents an incoming call, e.g. a caller of a method or constructor.
+
CallHierarchyItem from
The item that makes the call.
+ +
The parameter of a callHierarchy/incomingCalls request.
+ + +
URIForFile uri
The resource identifier of this item.
+ +
std::vector< SymbolTag > tags
Tags for this item.
+
std::string detail
More detaill for this item, e.g. the signature of a function.
+ + + + + + + +
The parameter of a callHierarchy/outgoingCalls request.
+ + + + + + + + + + + + +
bool ChangeAnnotation
The client supports change annotations on text edits,.
+ + + + + + +
bool DocumentChanges
The client supports versioned document changes for WorkspaceEdit.
+
std::optional< SymbolKindBitset > WorkspaceSymbolKinds
+ +
std::optional< CompletionItemKindBitset > CompletionItemKinds
+ + + + + + + + +
std::optional< std::vector< OffsetEncoding > > offsetEncoding
Supported encodings for LSP character offsets. (clangd extension).
+ + + + + + + + + +
Range range
The range for which the command was invoked.
+
TextDocumentIdentifier textDocument
The document in which the command was invoked.
+
CodeActionContext context
Context carrying additional information.
+ +
std::string title
A short, human-readable, title for this code action.
+ +
static const llvm::StringLiteral REFACTOR_KIND
+ +
static const llvm::StringLiteral INFO_KIND
+
std::optional< WorkspaceEdit > edit
The workspace edit this code action performs.
+ +
static const llvm::StringLiteral QUICKFIX_KIND
+
std::optional< std::vector< Diagnostic > > diagnostics
The diagnostics that this code action resolves.
+
Structure to capture a description for an error code.
+
std::string href
An URI to open with more information about the diagnostic error.
+ + + + +
CompletionTriggerKind triggerKind
How the completion was triggered.
+ + + + +
bool deprecated
Indicates if this item is deprecated.
+ + + + +
std::optional< MarkupContent > documentation
A human-readable string that represents a doc-comment.
+ + + +
Represents a collection of completion items to be presented in the editor.
+ +
std::vector< CompletionItem > items
The completion items.
+ + + + + + + + + +
std::map< std::string, ClangdCompileCommand > compilationDatabaseChanges
+ +
std::string message
The message of this related diagnostic information.
+
Location location
The location of this related diagnostic information.
+ + +
std::optional< std::vector< CodeAction > > codeActions
+
llvm::SmallVector< DiagnosticTag, 1 > tags
Additional metadata about the diagnostic.
+
Range range
The range at which the message applies.
+
std::string message
The diagnostic's message.
+
std::optional< std::vector< DiagnosticRelatedInformation > > relatedInformation
+
std::optional< CodeDescription > codeDescription
An optional property to describe the error code.
+ + + +
std::string code
The diagnostic's code. Can be omitted.
+ + + + + +
std::vector< TextDocumentContentChangeEvent > contentChanges
The actual content changes.
+ + +
std::vector< FileEvent > changes
The actual file events.
+ +
TextDocumentIdentifier textDocument
The document that was closed.
+ +
TextDocumentItem textDocument
The document that was opened.
+ +
TextDocumentIdentifier textDocument
The document that was saved.
+ +
TextDocumentIdentifier textDocument
The document to format.
+ +
Range range
The range this highlight applies to.
+
DocumentHighlightKind kind
The highlight kind, default is DocumentHighlightKind.Text.
+
Parameters for the document link request.
+
TextDocumentIdentifier textDocument
The document to provide document links for.
+ + + + +
TextDocumentIdentifier textDocument
The document to format.
+
Position position
The position at which this request was sent.
+
std::string ch
The character that has been typed.
+ +
TextDocumentIdentifier textDocument
The document to format.
+ + + + + +
SymbolKind kind
The kind of this symbol.
+
std::vector< DocumentSymbol > children
Children of this symbol, e.g. properties of a class.
+
std::string name
The name of this symbol.
+
bool deprecated
Indicates if this symbol is deprecated.
+ +
std::string detail
More detail for this symbol, e.g the signature of a function.
+ + +
std::string command
The identifier of the actual command handler.
+ + +
FileChangeType type
The change type.
+ +
URIForFile uri
The text document's URI.
+ + + +
Stores information about a region of code that can be folded.
+
static const llvm::StringLiteral IMPORT_KIND
+
static const llvm::StringLiteral COMMENT_KIND
+
static const llvm::StringLiteral REGION_KIND
+ + +
MarkupContent contents
The hover's content.
+ +
TextDocumentIdentifier TextDocument
The textdocument these inactive regions belong to.
+
std::vector< Range > InactiveRegions
The inactive regions that should be sent.
+ +
bool FileStatus
Clients supports show file status for textDocument/clangd.fileStatus.
+ + + + + +
llvm::json::Object rawCapabilities
The same data as capabilities, but not parsed (to expose to modules).
+
InitializationOptions initializationOptions
User-provided initialization options.
+
std::optional< TraceLevel > trace
The initial trace setting. If omitted trace is disabled ('off').
+
ClientCapabilities capabilities
The capabilities provided by the client (editor or tool)
+ + + + + + + + +
Position position
The position of this hint.
+
A parameter literal used in inlay hint requests.
+
TextDocumentIdentifier textDocument
The text document.
+ + + +
URIForFile uri
The text document's URI.
+ + + +
A single parameter of a particular signature.
+
std::string labelString
The label of this parameter. Ignored when labelOffsets is set.
+
std::optional< std::pair< unsigned, unsigned > > labelOffsets
+
std::string documentation
The documentation of this parameter. Optional.
+ +
int line
Line position in a document (zero-based).
+ + +
URIForFile uri
The URI for which diagnostic information is reported.
+
std::optional< int64_t > version
The version number of the document the diagnostics are published for.
+
std::vector< Diagnostic > diagnostics
An array of diagnostic information items.
+ +
Position start
The range's start position.
+
Position end
The range's end position.
+ +
bool includeDeclaration
Include the declaration of the current symbol.
+ + + + + +
std::string newName
The new name of the symbol.
+
Position position
The position at which this request was sent.
+
TextDocumentIdentifier textDocument
The document that was opened.
+
Parameters for the typeHierarchy/resolve request.
+
TypeHierarchyDirection direction
The direction of the hierarchy levels to resolve.
+ +
int resolve
The hierarchy levels to resolve. 0 indicates no level.
+ +
TextDocumentIdentifier textDocument
The text document.
+
std::vector< Position > positions
The positions inside the text document.
+ + +
std::unique_ptr< SelectionRange > parent
+ +
unsigned length
the length of the token. A token cannot be multiline
+
unsigned tokenType
will be looked up in SemanticTokensLegend.tokenTypes
+
unsigned deltaLine
token line number, relative to the previous token
+ +
unsigned tokenModifiers
each set bit will be looked up in SemanticTokensLegend.tokenModifiers
+ + +
TextDocumentIdentifier textDocument
The text document.
+
Describes a replacement of a contiguous range of semanticTokens.
+ + + + +
std::optional< std::vector< SemanticTokensEdit > > edits
Set if we computed edits relative to a previous set of tokens.
+
std::optional< std::vector< SemanticToken > > tokens
Set if we computed a fresh set of tokens.
+ +
Body of textDocument/semanticTokens/full request.
+
TextDocumentIdentifier textDocument
The text document.
+ +
std::vector< SemanticToken > tokens
The actual tokens.
+ + + + +
Represents the signature of a callable.
+ +
int activeParameter
The active parameter of the active signature.
+
std::vector< SignatureInformation > signatures
The resulting signatures.
+
Represents the signature of something callable.
+
std::vector< ParameterInformation > parameters
The parameters of this signature.
+
MarkupContent documentation
The documentation of this signature. Optional.
+
std::string label
The label of this signature. Mandatory.
+ + + +
std::string containerName
The name of the symbol containing this symbol.
+ +
Location location
The location of this symbol.
+ +
std::string text
The new text of the range/document.
+
std::optional< Range > range
The range of the document that changed.
+
std::optional< int > rangeLength
The length of the range that got replaced.
+ + +
VersionedTextDocumentIdentifier textDocument
The text document to change.
+ + + +
std::string languageId
The text document's language identifier.
+ +
std::string text
The content of the opened text document.
+ + +
Position position
The position inside the text document.
+
TextDocumentIdentifier textDocument
The text document.
+ +
ChangeAnnotationIdentifier annotationId
+ + + +
std::string tweakID
ID of the tweak that should be executed. Corresponds to Tweak::id().
+
URIForFile file
A file provided by the client on a textDocument/codeAction request.
+
Range selection
A selection provided by the client on a textDocument/codeAction request.
+ +
std::optional< std::vector< ResolveParams > > parents
std::nullopt means parents aren't resolved and empty is no parents.
+ + +
std::optional< std::vector< TypeHierarchyItem > > children
+
std::optional< std::string > detail
More detail for this item, e.g. the signature of a function.
+ + + +
std::optional< std::vector< TypeHierarchyItem > > parents
This is a clangd exntesion.
+
URIForFile uri
The resource identifier of this item.
+ + + + + + +
static URIForFile canonicalize(llvm::StringRef AbsPath, llvm::StringRef TUPath)
+ +
static llvm::Expected< URIForFile > fromURI(const URI &U, llvm::StringRef HintPath)
+ + + + + + + + +
llvm::json::Value token
The token to be used to report progress.
+
Signals the end of progress reporting.
+ +
Reporting progress is done using the following payload.
+ + + + +
std::optional< std::map< std::string, std::vector< TextEdit > > > changes
Holds changes to existing resources.
+
std::map< std::string, ChangeAnnotation > changeAnnotations
+
std::optional< std::vector< TextDocumentEdit > > documentChanges
+
The parameters of a Workspace Symbol Request.
+ + +
+ + + + diff --git a/md_README.html b/md_README.html new file mode 100644 index 000000000..b52b55232 --- /dev/null +++ b/md_README.html @@ -0,0 +1,159 @@ + + + + + + + +nixd: README + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
+
README
+
+
+

nixd

+
Nix language server

+WIP Note 🚧

+

nixd-next is still WIP! Please see https://github.com/nix-community/nixd/issues/283 for the migration plan.

+

Released versions contain stable nixd code. If you encountered any problem with this nightly version, please use to our released version in nixpkgs.

+

The following description is suitable for stable releases, but outdated for nixd-next (i.e. this version).

+

+About

+

This is a Nix language server that directly uses (i.e., is linked with) the official Nix library (https://github.com/NixOS/nix).

+

Some notable features provided by linking with the Nix library include:

+
    +
  • Nixpkgs option support, for all option system (NixOS/home-manager/flake-parts).
  • +
  • Diagnostics and evaluation that produce identical results as the real Nix command.
  • +
  • Shared eval caches (flake, file) with your system's Nix.
  • +
  • Native support for cross-file analysis (goto definition to locations in nixpkgs).
  • +
  • Precise Nix language support. We do not maintain "yet another parser & evaluator".
  • +
  • Support for built-ins, including Nix plugins.
  • +
+

+Features Preview

+
+ +Home-manager options auto-completion & goto declaration +

+

options-example

+

See how to configure option system: https://github.com/nix-community/nixd/blob/main/nixd/docs/user-guide.md#options

+

+
+
+ +Write a package using nixd +

+

write-package

+

+
+
+ +Native cross-file analysis +

+

package

+

We support goto-definition on nix derivations! Just Ctrl + click to see where is a package defined.

+

goto-def-pkg-2

+

And also for nix lambda:

+

lambda-location

+

See how to configure the evaluator for cross-file analysis: https://github.com/nix-community/nixd/blob/main/nixd/docs/user-guide.md#evaluation

+

+
+
+ +Handle evaluations exactly same as nix evaluator +

+

infinte-recursion

+

+
+
+ +Support all builtins +

+

eval-builtin-json

+

And diagnostic:

+

eval-builtin-diagnostic

+

+
+

+Get Started

+

You can try nixd without installation. We have tested some working & reproducible editor environments and example configurations & workspaces.

+

+Resources

+ +
+
+ + + + diff --git a/md_libnixbc_2README.html b/md_libnixbc_2README.html new file mode 100644 index 000000000..a1d12d3c4 --- /dev/null +++ b/md_libnixbc_2README.html @@ -0,0 +1,100 @@ + + + + + + + +nixd: libnixbc + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
+
libnixbc
+
+
+

Defines general bytecode for nix AST. This is used for nix-interop, with C++ evaluator, thus the node definition is targeted for C++ types.

+

+The format

+

All AST nodes are encoded in a compact binary format. The entire AST is serialized into into a form similar to S-expression.

+

+Node Format

+ + + + + + + + + +
Field Name Byte Size
Pointer Pointer Size
Kind 4
Payloads N/A
+
+
+ + + + diff --git a/md_libnixt_2README.html b/md_libnixt_2README.html new file mode 100644 index 000000000..09eaa197c --- /dev/null +++ b/md_libnixt_2README.html @@ -0,0 +1,85 @@ + + + + + + + +nixd: libnixt, Playing with <tt>nix::Expr</tt> expressions. + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
+
libnixt, Playing with <tt>nix::Expr</tt> expressions.
+
+
+

This is a library that defines how to traverse upon nix::Expr expression nodes.

+
+
+ + + + diff --git a/md_lspserver_2README.html b/md_lspserver_2README.html new file mode 100644 index 000000000..747cd3e28 --- /dev/null +++ b/md_lspserver_2README.html @@ -0,0 +1,85 @@ + + + + + + + +nixd: lspserver + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
+
lspserver
+
+
+

Standalone LSP (Language Server Protocol) framework for C++, based on LLVM.

+
+
+ + + + diff --git a/md_nixd_2docs_2dev.html b/md_nixd_2docs_2dev.html new file mode 100644 index 000000000..41971345e --- /dev/null +++ b/md_nixd_2docs_2dev.html @@ -0,0 +1,143 @@ + + + + + + + +nixd: Developers' Manual + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
+
Developers' Manual
+
+
+

+

+Design

+

+Memory model about nix language & nixd workers

+

TLDR: Evaluation is not memory-safe and must be performed in a separeted address space.

+

In the context of the Nix language, laziness refers to the evaluation strategy where expressions are not immediately evaluated when they are encountered, but rather when their values are actually needed. This means that the evaluation of an expression is deferred until it is required to produce a result.

+

One consequence of lazy evaluation is the potential for circular references or circular dependencies.

+

Our upstream C++ nix uses a garbage collector and never actively free used memories. Thus all evaluators should be used in "worker" processes.

+
┌─────────────────┐
+
│ Controller │ ─┐
+
└─────────────────┘ │
+
▲ │
+
│ │
+
│ JSON RPC │
+
▼ │
+
┌─────────────────┐ │
+
│ Worker │ │
+
└─────────────────┘ │
+
│ │
+
│ │
+
▼ │
+
┌─────────────────┐ │
+
│ Workspace Files │ ◀┘
+
└─────────────────┘
+

+How does language information being collected?

+

Nix expressions are evaluated using the nix::Expr::eval virtual method, with dynamic name bindings and lookups performed in Envs. The resulting evaluation is stored in Values.

+

Link: https://github.com/NixOS/nix/blob/61ddfa154bcfa522819781d23e40e984f38dfdeb/src/libexpr/nixexpr.hh#L161

+

It is mandatory to preserve the information for language services, rather than discarding it away (what nix itself do). The codebase achieves this by inheriting all Nix AST node classes and overriding the virtual eval method to call the super-class eval and then invoke a custom callback.

+

+Why does nix evaluator see your data structure, instead of parsing file by itself?

+

Nix parsing and evaluation are cached, and the caching interface is public. When you open a file in your workspace, we first parse it to obtain normal Nix abstract syntax trees (ASTs). We then recursively rewrite all AST nodes with our own data structure, creating a new tree. Finally, we call cacheFile in Nix to inject our own data structure into the evaluator.

+

+How does cross-file analysis work?

+

For example, you write a NixOS module:

+
{ config, lib, pkgs, ... }:
+
+
{
+
# Some stuff
+
}
+

The file itself is a valid Nix expression, specifically an ExprLambda. However, it is important to know the arguments that are passed when invoking lambdas. This is necessary when writing NixOS configurations, as it helps to determine what can be used in pkgs and the library functions in lib.

+

Here's how it works:

+

When you open the file, nixd will parse it for you, and rewrite and inject it into the Nix evaluator (as mentioned earlier). Then, the top-level evaluation process begins, and the lambdas are evaluated. Our callback function is invoked, and the necessary information is collected in the callbacks.

+

+Testing

+

This project is tested by "unit tests" and "regression tests".

+

Regression tests are written in markdown, and directly execute the compiled binary. Unit tests are used for testing class interfaces, mostly public methods.

+

Nixd regression tests could be found at here.

+

+Contributing

+

Our git history is semi-linear. That is, firstly we rebase a branch on the top of the mainline, then merge it with --no-ff.

+

Our continuous integration systems will enable several sanitizer options to detect data race and undefined behavior in our codebase.

+

Please add or modify tests for your changed files (with all branches coveraged) and ensure that all tests can pass with sanitizers enabled.

+

+Commit message

+

Commit messages are formatted with:

+
<subsystem-name>: brief message that talks about what you changed
+

This is not strict for contributors, feel free to write your own stuff.

+
+
+ + + + diff --git a/md_nixd_2docs_2editor-setup.html b/md_nixd_2docs_2editor-setup.html new file mode 100644 index 000000000..f88700a58 --- /dev/null +++ b/md_nixd_2docs_2editor-setup.html @@ -0,0 +1,132 @@ + + + + + + + +nixd: We ❤️ Contributions! + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
+
We ❤️ Contributions!
+
+
+

Please update this doc (tweaks, tricks, or how to setup for another editor)!

+

+Editor Setup Guide

+

This is the description about how to setup your editor to use nixd. Before you do these steps, please ensure that you have a working nixd binary.

+

Refer to https://github.com/nix-community/nixd/blob/main/nixd/docs/user-guide.md#installation for more information.

+

+VSCode

+

https://github.com/nix-community/vscode-nix-ide extension provide a general interface for nixd, and it should work out of box. Please file a bug if you encountered some trouble using the extension.

+

+(Neo)vim

+

+Coc.nvim

+

According to :help coc-config.txt, coc-settings.json:

+
{
+
"languageserver": {
+
"nix": {
+
"command": "nixd",
+
"filetypes": ["nix"]
+
}
+
}
+
}
+

+Neovim

+

Neovim native LSP and nvim-lspconfig. We are officially supported by nvim-lspconfig, see upstream docs

+

+Emacs

+

+Eglot

+

The following configuration can be used with the built-in Emacs LSP client: Eglot.

+
-lisp
+
(add-hook 'prog-mode-hook
+
(lambda ()
+
(add-hook 'before-save-hook 'eglot-format nil t)))
+
+
(with-eval-after-load 'eglot
+
(dolist (mode '((nix-mode . ("nixd"))))
+
(add-to-list 'eglot-server-programs mode)))
+

+lsp-mode

+

This PR should add nixd support to LSP Mode.

+

A simple Emacs Lisp configuration that adds nixd to LSP Mode in the mean time is as follows:

+
-lisp
+
(with-eval-after-load 'lsp-mode
+
(lsp-register-client
+
(make-lsp-client :new-connection (lsp-stdio-connection "nixd")
+
:major-modes '(nix-mode)
+
:priority 0
+
:server-id 'nixd)))
+
+
+ + + + diff --git a/md_nixd_2docs_2editors_2editors.html b/md_nixd_2docs_2editors_2editors.html new file mode 100644 index 000000000..1b71749fb --- /dev/null +++ b/md_nixd_2docs_2editors_2editors.html @@ -0,0 +1,103 @@ + + + + + + + +nixd: Reproducible Editors Environment + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
+
Reproducible Editors Environment
+
+
+

+

+VSCodium

+

We provide a test environment with the vscode-nix-ide plugin, and the repository has some configuration examples that you can try.

+

Start up the test environment:

+
$ nix develop github:nix-community/nixd#vscodium
+
+
$ codium-test
+

+Neovim

+

You can run the following command to edit a *.nix file

+
$ nix develop github:nix-community/nixd#nvim
+
+
$ nvim-lsp /tmp/test/default.nix
+

tip: If you want to configure lsp itself, see configuration, and the following tree-like directory

+
# tree -a /tmp/test
+
/tmp/test/
+
├── default.nix
+
└── .nixd.json
+
+
+ + + + diff --git a/md_nixd_2docs_2examples_2README.html b/md_nixd_2docs_2examples_2README.html new file mode 100644 index 000000000..48c5396b0 --- /dev/null +++ b/md_nixd_2docs_2examples_2README.html @@ -0,0 +1,94 @@ + + + + + + + +nixd: Configuration Examples + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
+
Configuration Examples
+
+
+

These are examples of .nixd.json of some scenarios.

+

Note: .nixd.json must be the working directory of nixd process.

+

i.e.

+

For vim users:

+

do not:

+
vi nixd/nixd/docs/examples/options/nixos/module.nix
+

instead:

+
cd nixd/nixd/docs/examples/options/nixos
+
vi module.nix
+

For vscode users: please open each folder as your "workspace".

+
+
+ + + + diff --git a/md_nixd_2docs_2user-guide.html b/md_nixd_2docs_2user-guide.html new file mode 100644 index 000000000..fa9020aed --- /dev/null +++ b/md_nixd_2docs_2user-guide.html @@ -0,0 +1,309 @@ + + + + + + + +nixd: User Guide + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
+
User Guide
+
+
+

+

+Installation

+

At this time (2023-06-14), nixd is under rapid development and it is highly recommended to install nixd from source.

+

Package nixd can be found in nixpkgs, there are different ways to install nixd, pick your favourite:

+
+ +NixOS Configuration +

+
{ pkgs, ... }: {
+
environment.systemPackages = with pkgs; [
+
nixd
+
];
+
}
+

+
+
+ +nix-env(legacy commands) +

On NixOS:

+
nix-env -iA nixos.nixd
+

On Non NixOS:

+
nix-env -iA nixpkgs.nixd
+

+
+
+ +nix profile +

+
nix profile install github:nixos/nixpkgs#nixd
+

+
+

And our flake.nix provides a package named nixd, and an overlay to nixpkgs that add the nixd package.

+

Note that please do NOT override nixpkgs revision for nixd inputs. The source code have tested on specific version on NixOS/nix, which may not work at your version.

+

+Build the project from source

+

This is a guide for build the project from git source.

+

+nix-build

+
sh
+
nix-build --expr 'with import <nixpkgs> { }; callPackage ./. { }'
+

+Nix Flakes

+
sh
+
nix build -L .#
+

+Configuration

+ +

We support LSP standard workspace/configuration for server configurations.

+

Configuration overview:

+
{
+
// The evaluation section, provide auto completion for dynamic bindings.
+
"eval": {
+
"target": {
+
// Accept args as "nix eval"
+
"args": [],
+
// "nix eval"
+
"installable": ""
+
},
+
// Extra depth for evaluation
+
"depth": 0,
+
// The number of workers for evaluation task.
+
"workers": 3
+
},
+
"formatting": {
+
// Which command you would like to do formatting
+
"command": "nixpkgs-fmt"
+
},
+
// Tell the language server your desired option set, for completion
+
// This is lazily evaluated.
+
"options": {
+
// Enable option completion task.
+
// If you are writing a package, disable this
+
"enable": true,
+
"target": {
+
// Accept args as "nix eval"
+
"args": [],
+
// "nix eval"
+
"installable": ""
+
}
+
}
+
}
+

Note: we support a configuration file named .nixd.json at your workspace directory. This is a feature requested by nvim users.

+

Typically, you can write a nix file, and evaluate the result into .nixd.json, because json does not support comments:

+
# .nixd.nix
+
{
+
eval = {
+
# Example target for writing a package.
+
target = {
+
args = [ "--expr" "with import <nixpkgs> { }; callPackage ./somePackage.nix { }" ];
+
installable = "";
+
};
+
# Force thunks
+
depth = 10;
+
};
+
formatting.command = "nixpkgs-fmt";
+
options = {
+
enable = true;
+
target = {
+
args = [ ];
+
# Example installable for flake-parts, nixos, and home-manager
+
+
# flake-parts
+
installable = "/flakeref#debug.options";
+
+
# nixOS configuration
+
installable = "/flakeref#nixosConfigurations.<adrastea>.options";
+
+
# home-manager configuration
+
installable = "/flakeref#homeConfigurations.<name>.options";
+
};
+
};
+
}
+
nix eval --json --file .nixd.nix > .nixd.json
+

.nixd.json, the configuration of nixd, supports json schema. So if your editor supports LSP, you can get completions, diagnostics and more[^json-schema]:

+

completion

+

diagnostic

+

[^json-schema]: These pictures were captured in neovim with the plugin coc-json.

+

+Evaluation

+

+Target

+

Unlike any other nix lsp implementation, you may need to explicitly specify a installable in your workspace. The language server will consider the installable is your desired "object file", and it is the cross-file analysis pivot. For example, here is a nix pacakge:

+
{ stdenv
+
, lib
+
}:
+
+
stdenv.mkDerivation {
+
pname = "...";
+
version = "...";
+
}
+

From a language perspective, the lambda expression only accepts one argument and returns an AttrSet, without any special properties of a "package". So how do we know what argument it will accept?

+

For nixd, you can write a project-specific installable that will be evaluated. e.g.

+
nix eval --expr "with import <nixpkgs> { }; callPackage ./some-package.nix { }"
+

We accept the same argument as nix eval, and perform evaluation for language analysis.

+
{
+
"eval": {
+
"target": {
+
// Same as:
+
// nix eval --expr "..."
+
"args": [
+
"--expr",
+
"with import <nixpkgs> { }; callPackage ./some-package.nix { } "
+
],
+
// AttrPath
+
"installable": ""
+
}
+
}
+
}
+

This is much similar to compile_commands.json in C/C++ world.

+

Here is the demo video that I used the above installable in my workspace:

+

write-package

+

+Depth

+

Nix evaluator will be lazily peform evaluation on your specified task^nix-evaluation-peformance.

+

As for language service, we have an custom extension to nix evaluator that allows you to force thunks being evaluated in a desired depth.

+
{
+
"eval": {
+
"depth": 5
+
}
+
}
+

+Workers

+

Nixd evals your project concurrently. You can specify how many workers will be used for language tasks, e.g. parsing & evaluation.

+
{
+
"eval": {
+
"workers": 5
+
}
+
}
+

The default value is std::thread::hardware_concurrency().

+

+Format

+

To configure which command will be used for formatting, you can change the "formatting" section.

+
{
+
"formatting": {
+
// The external command to be invoked for formatting
+
"command": ""
+
}
+
}
+

+Options

+

This is our support for nixpkgs option system.

+

Generally options are merged under a special attribute path. For example, NixOS options could be found at:

+
<flakeref>#nixosConfigurations.<name>.options
+

And, home-manager options also could be found at:

+
<flakeref>#homeConfigurations.<name>.options
+

In our option system, you need to specify which option set you'd like to use.

+
{
+
"options": {
+
// Disable it if you are not writting modules.
+
"enable": true,
+
"target": {
+
"args": [],
+
// Example of NixOS options.
+
"installable": "<flakeref>#nixosConfigurations.<name>.options"
+
}
+
}
+
}
+
+ +Options auto completion +

+

Home-manager Options

+

hm-docs

+

NixOS Options

+

nixos-option-docs

+

+
+

+FAQ

+

+How to use nixd in my flake?

+

The eval subsystems requires flakes evaluating in-place to get language callbacks. The options subsystem does not need to eval flakes in-place.

+

However, nix flakes are now hardcoded being evaluated in your store, e.g. /nix/store. That is, we cannot hack caches by injecting our own data structre. So basically language callbacks (i.e. dynamic bindings & values) are not available.

+

Actually we are waiting for Source tree abstraction (by edolstra), to handle this issue.

+

If you would like to use nixd in your personal flake, you can use flake-compat to turn your project in a "non-flake" installable.

+

Note that flake-compat by edolstra will fetch a git project in nix store, that will break everything just as the same case as normal flakes (i.e. not being evaluated in-pllace). Here we have a fork of flake-compat, won't fetch git repositories at github:inclyc/flake-compat.

+

So tldr, to use nixd in your flake project, you have to:

+
    +
  1. Turn your project into a legacy one, by using flake-compat
  2. +
  3. Use inclyc/flake-compat which will not fetch git repository in nix store
  4. +
+

We have a working example here

+
+
+ + + + diff --git a/md_nixd_2nix-node-eval_2README.html b/md_nixd_2nix-node-eval_2README.html new file mode 100644 index 000000000..52940ac6e --- /dev/null +++ b/md_nixd_2nix-node-eval_2README.html @@ -0,0 +1,85 @@ + + + + + + + +nixd: nix-node-eval + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
+
nix-node-eval
+
+
+

Collect per-node eval information, by using official evaluator.

+
+
+ + + + diff --git a/menu.js b/menu.js new file mode 100644 index 000000000..717761d01 --- /dev/null +++ b/menu.js @@ -0,0 +1,134 @@ +/* + @licstart The following is the entire license notice for the JavaScript code in this file. + + The MIT License (MIT) + + Copyright (C) 1997-2020 by Dimitri van Heesch + + Permission is hereby granted, free of charge, to any person obtaining a copy of this software + and associated documentation files (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, publish, distribute, + sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all copies or + substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING + BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, + DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + @licend The above is the entire license notice for the JavaScript code in this file + */ +function initMenu(relPath,searchEnabled,serverSide,searchPage,search) { + function makeTree(data,relPath) { + let result=''; + if ('children' in data) { + result+='
    '; + for (let i in data.children) { + let url; + const link = data.children[i].url; + if (link.substring(0,1)=='^') { + url = link.substring(1); + } else { + url = relPath+link; + } + result+='
  • '+ + data.children[i].text+''+ + makeTree(data.children[i],relPath)+'
  • '; + } + result+='
'; + } + return result; + } + let searchBoxHtml; + if (searchEnabled) { + if (serverSide) { + searchBoxHtml='
'+ + '
'+ + '
 '+ + ''+ + '
'+ + '
'+ + '
'+ + '
'; + } else { + searchBoxHtml='
'+ + ''+ + ' '+ + ''+ + ''+ + ''+ + ''+ + ''+ + '
'; + } + } + + $('#main-nav').before('
'+ + ''+ + ''+ + '
'); + $('#main-nav').append(makeTree(menudata,relPath)); + $('#main-nav').children(':first').addClass('sm sm-dox').attr('id','main-menu'); + if (searchBoxHtml) { + $('#main-menu').append('
  • '); + } + const $mainMenuState = $('#main-menu-state'); + let prevWidth = 0; + if ($mainMenuState.length) { + const initResizableIfExists = function() { + if (typeof initResizable==='function') initResizable(); + } + // animate mobile menu + $mainMenuState.change(function() { + const $menu = $('#main-menu'); + let options = { duration: 250, step: initResizableIfExists }; + if (this.checked) { + options['complete'] = () => $menu.css('display', 'block'); + $menu.hide().slideDown(options); + } else { + options['complete'] = () => $menu.css('display', 'none'); + $menu.show().slideUp(options); + } + }); + // set default menu visibility + const resetState = function() { + const $menu = $('#main-menu'); + const newWidth = $(window).outerWidth(); + if (newWidth!=prevWidth) { + if ($(window).outerWidth()<768) { + $mainMenuState.prop('checked',false); $menu.hide(); + $('#searchBoxPos1').html(searchBoxHtml); + $('#searchBoxPos2').hide(); + } else { + $menu.show(); + $('#searchBoxPos1').empty(); + $('#searchBoxPos2').html(searchBoxHtml); + $('#searchBoxPos2').show(); + } + if (typeof searchBox!=='undefined') { + searchBox.CloseResultsWindow(); + } + prevWidth = newWidth; + } + } + $(window).ready(function() { resetState(); initResizableIfExists(); }); + $(window).resize(resetState); + } + $('#main-menu').smartmenus(); +} +/* @license-end */ diff --git a/menudata.js b/menudata.js new file mode 100644 index 000000000..f753cb859 --- /dev/null +++ b/menudata.js @@ -0,0 +1,162 @@ +/* + @licstart The following is the entire license notice for the JavaScript code in this file. + + The MIT License (MIT) + + Copyright (C) 1997-2020 by Dimitri van Heesch + + Permission is hereby granted, free of charge, to any person obtaining a copy of this software + and associated documentation files (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, publish, distribute, + sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all copies or + substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING + BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, + DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + @licend The above is the entire license notice for the JavaScript code in this file +*/ +var menudata={children:[ +{text:"Main Page",url:"index.html"}, +{text:"Related Pages",url:"pages.html"}, +{text:"Namespaces",url:"namespaces.html",children:[ +{text:"Namespace List",url:"namespaces.html"}, +{text:"Namespace Members",url:"namespacemembers.html",children:[ +{text:"All",url:"namespacemembers.html",children:[ +{text:"a",url:"namespacemembers.html#index_a"}, +{text:"b",url:"namespacemembers_b.html#index_b"}, +{text:"c",url:"namespacemembers_c.html#index_c"}, +{text:"d",url:"namespacemembers_d.html#index_d"}, +{text:"e",url:"namespacemembers_e.html#index_e"}, +{text:"f",url:"namespacemembers_f.html#index_f"}, +{text:"g",url:"namespacemembers_g.html#index_g"}, +{text:"i",url:"namespacemembers_i.html#index_i"}, +{text:"j",url:"namespacemembers_j.html#index_j"}, +{text:"k",url:"namespacemembers_k.html#index_k"}, +{text:"l",url:"namespacemembers_l.html#index_l"}, +{text:"m",url:"namespacemembers_m.html#index_m"}, +{text:"n",url:"namespacemembers_n.html#index_n"}, +{text:"o",url:"namespacemembers_o.html#index_o"}, +{text:"p",url:"namespacemembers_p.html#index_p"}, +{text:"r",url:"namespacemembers_r.html#index_r"}, +{text:"s",url:"namespacemembers_s.html#index_s"}, +{text:"t",url:"namespacemembers_t.html#index_t"}, +{text:"u",url:"namespacemembers_u.html#index_u"}, +{text:"v",url:"namespacemembers_v.html#index_v"}, +{text:"w",url:"namespacemembers_w.html#index_w"}]}, +{text:"Functions",url:"namespacemembers_func.html",children:[ +{text:"a",url:"namespacemembers_func.html#index_a"}, +{text:"b",url:"namespacemembers_func_b.html#index_b"}, +{text:"c",url:"namespacemembers_func_c.html#index_c"}, +{text:"d",url:"namespacemembers_func_d.html#index_d"}, +{text:"e",url:"namespacemembers_func_e.html#index_e"}, +{text:"f",url:"namespacemembers_func_f.html#index_f"}, +{text:"g",url:"namespacemembers_func_g.html#index_g"}, +{text:"i",url:"namespacemembers_func_i.html#index_i"}, +{text:"k",url:"namespacemembers_func_k.html#index_k"}, +{text:"l",url:"namespacemembers_func_l.html#index_l"}, +{text:"m",url:"namespacemembers_func_m.html#index_m"}, +{text:"n",url:"namespacemembers_func_n.html#index_n"}, +{text:"o",url:"namespacemembers_func_o.html#index_o"}, +{text:"p",url:"namespacemembers_func_p.html#index_p"}, +{text:"r",url:"namespacemembers_func_r.html#index_r"}, +{text:"s",url:"namespacemembers_func_s.html#index_s"}, +{text:"t",url:"namespacemembers_func_t.html#index_t"}, +{text:"u",url:"namespacemembers_func_u.html#index_u"}, +{text:"v",url:"namespacemembers_func_v.html#index_v"}, +{text:"w",url:"namespacemembers_func_w.html#index_w"}]}, +{text:"Variables",url:"namespacemembers_vars.html"}, +{text:"Typedefs",url:"namespacemembers_type.html"}, +{text:"Enumerations",url:"namespacemembers_enum.html"}, +{text:"Enumerator",url:"namespacemembers_eval.html"}]}]}, +{text:"Classes",url:"annotated.html",children:[ +{text:"Class List",url:"annotated.html"}, +{text:"Class Index",url:"classes.html"}, +{text:"Class Hierarchy",url:"inherits.html"}, +{text:"Class Members",url:"functions.html",children:[ +{text:"All",url:"functions.html",children:[ +{text:"a",url:"functions.html#index_a"}, +{text:"b",url:"functions_b.html#index_b"}, +{text:"c",url:"functions_c.html#index_c"}, +{text:"d",url:"functions_d.html#index_d"}, +{text:"e",url:"functions_e.html#index_e"}, +{text:"f",url:"functions_f.html#index_f"}, +{text:"g",url:"functions_g.html#index_g"}, +{text:"h",url:"functions_h.html#index_h"}, +{text:"i",url:"functions_i.html#index_i"}, +{text:"j",url:"functions_j.html#index_j"}, +{text:"k",url:"functions_k.html#index_k"}, +{text:"l",url:"functions_l.html#index_l"}, +{text:"m",url:"functions_m.html#index_m"}, +{text:"n",url:"functions_n.html#index_n"}, +{text:"o",url:"functions_o.html#index_o"}, +{text:"p",url:"functions_p.html#index_p"}, +{text:"q",url:"functions_q.html#index_q"}, +{text:"r",url:"functions_r.html#index_r"}, +{text:"s",url:"functions_s.html#index_s"}, +{text:"t",url:"functions_t.html#index_t"}, +{text:"u",url:"functions_u.html#index_u"}, +{text:"v",url:"functions_v.html#index_v"}, +{text:"w",url:"functions_w.html#index_w"}, +{text:"~",url:"functions_~.html#index__7E"}]}, +{text:"Functions",url:"functions_func.html",children:[ +{text:"a",url:"functions_func.html#index_a"}, +{text:"b",url:"functions_func_b.html#index_b"}, +{text:"c",url:"functions_func_c.html#index_c"}, +{text:"d",url:"functions_func_d.html#index_d"}, +{text:"e",url:"functions_func_e.html#index_e"}, +{text:"f",url:"functions_func_f.html#index_f"}, +{text:"g",url:"functions_func_g.html#index_g"}, +{text:"h",url:"functions_func_h.html#index_h"}, +{text:"i",url:"functions_func_i.html#index_i"}, +{text:"k",url:"functions_func_k.html#index_k"}, +{text:"l",url:"functions_func_l.html#index_l"}, +{text:"m",url:"functions_func_m.html#index_m"}, +{text:"n",url:"functions_func_n.html#index_n"}, +{text:"o",url:"functions_func_o.html#index_o"}, +{text:"p",url:"functions_func_p.html#index_p"}, +{text:"r",url:"functions_func_r.html#index_r"}, +{text:"s",url:"functions_func_s.html#index_s"}, +{text:"t",url:"functions_func_t.html#index_t"}, +{text:"u",url:"functions_func_u.html#index_u"}, +{text:"v",url:"functions_func_v.html#index_v"}, +{text:"w",url:"functions_func_w.html#index_w"}, +{text:"~",url:"functions_func_~.html#index__7E"}]}, +{text:"Variables",url:"functions_vars.html",children:[ +{text:"a",url:"functions_vars.html#index_a"}, +{text:"b",url:"functions_vars_b.html#index_b"}, +{text:"c",url:"functions_vars_c.html#index_c"}, +{text:"d",url:"functions_vars_d.html#index_d"}, +{text:"e",url:"functions_vars_e.html#index_e"}, +{text:"f",url:"functions_vars_f.html#index_f"}, +{text:"h",url:"functions_vars_h.html#index_h"}, +{text:"i",url:"functions_vars_i.html#index_i"}, +{text:"k",url:"functions_vars_k.html#index_k"}, +{text:"l",url:"functions_vars_l.html#index_l"}, +{text:"m",url:"functions_vars_m.html#index_m"}, +{text:"n",url:"functions_vars_n.html#index_n"}, +{text:"o",url:"functions_vars_o.html#index_o"}, +{text:"p",url:"functions_vars_p.html#index_p"}, +{text:"q",url:"functions_vars_q.html#index_q"}, +{text:"r",url:"functions_vars_r.html#index_r"}, +{text:"s",url:"functions_vars_s.html#index_s"}, +{text:"t",url:"functions_vars_t.html#index_t"}, +{text:"u",url:"functions_vars_u.html#index_u"}, +{text:"v",url:"functions_vars_v.html#index_v"}, +{text:"w",url:"functions_vars_w.html#index_w"}]}, +{text:"Typedefs",url:"functions_type.html"}, +{text:"Enumerations",url:"functions_enum.html"}, +{text:"Enumerator",url:"functions_eval.html"}, +{text:"Related Symbols",url:"functions_rela.html"}]}]}, +{text:"Files",url:"files.html",children:[ +{text:"File List",url:"files.html"}, +{text:"File Members",url:"globals.html",children:[ +{text:"All",url:"globals.html"}, +{text:"Functions",url:"globals_func.html"}, +{text:"Macros",url:"globals_defs.html"}]}]}]} diff --git a/minus.svg b/minus.svg new file mode 100644 index 000000000..f70d0c1a1 --- /dev/null +++ b/minus.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/minusd.svg b/minusd.svg new file mode 100644 index 000000000..5f8e87962 --- /dev/null +++ b/minusd.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/namespacebc.html b/namespacebc.html new file mode 100644 index 000000000..94baea10e --- /dev/null +++ b/namespacebc.html @@ -0,0 +1,392 @@ + + + + + + + +nixd: bc Namespace Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    + +
    bc Namespace Reference
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Functions

    template<class T >
    void readBytecode (std::string_view &Data, T &Obj)
     
    template<class T >
    +requires std::is_standard_layout_v<T> && std::is_trivial_v<T>
    void readBytecode (std::string_view &Data, T &Obj)
     Basic primitives. Deocde from bytes by memcpy.
     
    template<class T >
    void readBytecode (std::string_view &Data, std::vector< T > &Obj)
     
    template<>
    void readBytecode< std::string > (std::string_view &Data, std::string &Obj)
     
    template<class T >
    eat (std::string_view &Data)
     
    template<class T >
    +requires std::is_standard_layout_v<T> && std::is_trivial_v<T>
    void writeBytecode (std::ostream &OS, const T &Data)
     Basic primitives. Trivial data types are just written to a stream.
     
    void writeBytecode (std::ostream &OS, const std::string_view &Data)
     
    void writeBytecode (std::ostream &OS, const std::string &Data)
     
    template<class T >
    std::string toBytecode (const T &Data)
     
    template<>
    void readBytecode< std::string > (std::string_view &Data, std::string &Obj)
     
    +

    Function Documentation

    + +

    ◆ eat()

    + +
    +
    +
    +template<class T >
    + + + + + + + +
    T bc::eat (std::string_view & Data)
    +
    + +

    Definition at line 38 of file Read.h.

    + +

    References readBytecode().

    + +
    +
    + +

    ◆ readBytecode() [1/3]

    + +
    +
    +
    +template<class T >
    + + + + + + + + + + + +
    void bc::readBytecode (std::string_view & Data,
    std::vector< T > & Obj )
    +
    + +

    Definition at line 27 of file Read.h.

    + +

    References readBytecode().

    + +
    +
    + +

    ◆ readBytecode() [2/3]

    + +
    +
    +
    +template<class T >
    + + + + + + + + + + + +
    void bc::readBytecode (std::string_view & Data,
    T & Obj )
    +
    + +

    Definition at line 12 of file Read.h.

    + +

    Referenced by eat(), readBytecode(), and readBytecode< std::string >().

    + +
    +
    + +

    ◆ readBytecode() [3/3]

    + +
    +
    +
    +template<class T >
    +requires std::is_standard_layout_v<T> && std::is_trivial_v<T>
    + + + + + + + + + + + +
    void bc::readBytecode (std::string_view & Data,
    T & Obj )
    +
    + +

    Basic primitives. Deocde from bytes by memcpy.

    + +

    Definition at line 20 of file Read.h.

    + +
    +
    + +

    ◆ readBytecode< std::string >() [1/2]

    + +
    +
    +
    +template<>
    + + + + + + + + + + + +
    void bc::readBytecode< std::string > (std::string_view & Data,
    std::string & Obj )
    +
    + +

    Definition at line 6 of file Read.cpp.

    + +

    References readBytecode().

    + +
    +
    + +

    ◆ readBytecode< std::string >() [2/2]

    + +
    +
    +
    +template<>
    + + + + + + + + + + + +
    void bc::readBytecode< std::string > (std::string_view & Data,
    std::string & Obj )
    +
    + +

    Definition at line 6 of file Read.cpp.

    + +

    References readBytecode().

    + +
    +
    + +

    ◆ toBytecode()

    + +
    +
    +
    +template<class T >
    + + + + + + + +
    std::string bc::toBytecode (const T & Data)
    +
    + +

    Definition at line 22 of file libbc/include/bc/Write.h.

    + +

    References writeBytecode().

    + +
    +
    + +

    ◆ writeBytecode() [1/3]

    + +
    +
    + + + + + +
    + + + + + + + + + + + +
    void bc::writeBytecode (std::ostream & OS,
    const std::string & Data )
    +
    +inline
    +
    + +

    Definition at line 18 of file libbc/include/bc/Write.h.

    + +

    References writeBytecode().

    + +
    +
    + +

    ◆ writeBytecode() [2/3]

    + +
    +
    + + + + + + + + + + + +
    void bc::writeBytecode (std::ostream & OS,
    const std::string_view & Data )
    +
    + +

    Definition at line 5 of file libbc/src/Write.cpp.

    + +

    References writeBytecode().

    + +
    +
    + +

    ◆ writeBytecode() [3/3]

    + +
    +
    +
    +template<class T >
    +requires std::is_standard_layout_v<T> && std::is_trivial_v<T>
    + + + + + + + + + + + +
    void bc::writeBytecode (std::ostream & OS,
    const T & Data )
    +
    + +

    Basic primitives. Trivial data types are just written to a stream.

    + +

    Definition at line 12 of file libbc/include/bc/Write.h.

    + +

    Referenced by toBytecode(), writeBytecode(), and writeBytecode().

    + +
    +
    +
    + + + + diff --git a/namespacellvm.html b/namespacellvm.html new file mode 100644 index 000000000..af2b6087a --- /dev/null +++ b/namespacellvm.html @@ -0,0 +1,91 @@ + + + + + + + +nixd: llvm Namespace Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    + +
    llvm Namespace Reference
    +
    +
    + + + + +

    +Classes

    struct  format_provider< lspserver::Position >
     
    +
    + + + + diff --git a/namespacelspserver.html b/namespacelspserver.html new file mode 100644 index 000000000..746ced381 --- /dev/null +++ b/namespacelspserver.html @@ -0,0 +1,6080 @@ + + + + + + + +nixd: lspserver Namespace Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    + +
    lspserver Namespace Reference
    +
    +
    + +

    Whether current platform treats paths case insensitively. +More...

    + + + + +

    +Namespaces

    namespace  detail
     
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Classes

    struct  ApplyWorkspaceEditParams
     
    struct  ApplyWorkspaceEditResponse
     
    struct  ASTNode
     
    struct  ASTParams
     
    struct  CallHierarchyIncomingCall
     Represents an incoming call, e.g. a caller of a method or constructor. More...
     
    struct  CallHierarchyIncomingCallsParams
     The parameter of a callHierarchy/incomingCalls request. More...
     
    struct  CallHierarchyItem
     
    struct  CallHierarchyOutgoingCall
     
    struct  CallHierarchyOutgoingCallsParams
     The parameter of a callHierarchy/outgoingCalls request. More...
     
    struct  CallHierarchyPrepareParams
     The parameter of a textDocument/prepareCallHierarchy request. More...
     
    struct  ChangeAnnotation
     
    struct  ClangdCompileCommand
     
    struct  ClientCapabilities
     
    struct  CodeAction
     
    struct  CodeActionContext
     
    struct  CodeActionParams
     
    struct  CodeDescription
     Structure to capture a description for an error code. More...
     
    struct  Command
     
    struct  CompletionContext
     
    struct  CompletionItem
     
    struct  CompletionList
     Represents a collection of completion items to be presented in the editor. More...
     
    struct  CompletionParams
     
    struct  ConfigurationItem
     
    struct  ConfigurationParams
     
    struct  ConfigurationSettings
     
    struct  Diagnostic
     
    struct  DiagnosticRelatedInformation
     
    struct  DidChangeConfigurationParams
     
    struct  DidChangeTextDocumentParams
     
    struct  DidChangeWatchedFilesParams
     
    struct  DidCloseTextDocumentParams
     
    struct  DidOpenTextDocumentParams
     
    struct  DidSaveTextDocumentParams
     
    struct  DocumentFormattingParams
     
    struct  DocumentHighlight
     
    struct  DocumentLink
     
    struct  DocumentLinkParams
     Parameters for the document link request. More...
     
    struct  DocumentOnTypeFormattingParams
     
    struct  DocumentRangeFormattingParams
     
    struct  DocumentSymbol
     
    struct  DocumentSymbolParams
     
    class  DraftStore
     
    class  Event
     An Event<T> allows events of type T to be broadcast to listeners. More...
     
    struct  ExecuteCommandParams
     
    struct  FileEvent
     
    struct  FileStatus
     
    struct  FoldingRange
     Stores information about a region of code that can be folded. More...
     
    struct  FoldingRangeParams
     
    struct  HandlerRegistry
     
    struct  Hover
     
    struct  InactiveRegionsParams
     
    class  InboundPort
     
    struct  InitializationOptions
     
    struct  InitializeParams
     
    struct  InlayHint
     Inlay hint information. More...
     
    struct  InlayHintsParams
     A parameter literal used in inlay hint requests. More...
     
    class  Key
     
    struct  Location
     
    class  Logger
     Interface to allow custom logging in clangd. More...
     
    class  LoggingSession
     Only one LoggingSession can be active at a time. More...
     
    struct  LSPDiagnosticCompare
     
    class  LSPError
     
    class  LSPServer
     
    struct  MarkupContent
     
    class  MessageHandler
     
    struct  NoParams
     
    class  OutboundPort
     
    struct  ParameterInformation
     A single parameter of a particular signature. More...
     
    struct  Position
     
    struct  ProgressParams
     
    struct  PublishDiagnosticsParams
     
    struct  Range
     
    struct  ReferenceContext
     
    struct  ReferenceLocation
     
    struct  ReferenceParams
     
    struct  RenameParams
     
    struct  ResolveTypeHierarchyItemParams
     Parameters for the typeHierarchy/resolve request. More...
     
    struct  SelectionRange
     
    struct  SelectionRangeParams
     
    struct  SemanticToken
     
    struct  SemanticTokens
     A versioned set of tokens. More...
     
    struct  SemanticTokensDeltaParams
     
    struct  SemanticTokensEdit
     Describes a replacement of a contiguous range of semanticTokens. More...
     
    struct  SemanticTokensOrDelta
     
    struct  SemanticTokensParams
     Body of textDocument/semanticTokens/full request. More...
     
    struct  ShowMessageParams
     
    struct  SignatureHelp
     Represents the signature of a callable. More...
     
    struct  SignatureInformation
     Represents the signature of something callable. More...
     
    class  StreamLogger
     
    struct  SymbolInformation
     
    struct  TextDocumentContentChangeEvent
     
    struct  TextDocumentEdit
     
    struct  TextDocumentIdentifier
     
    struct  TextDocumentItem
     
    struct  TextDocumentPositionParams
     
    struct  TextEdit
     
    struct  TweakArgs
     
    struct  TypeHierarchyItem
     
    struct  TypeHierarchyPrepareParams
     
    class  URI
     
    struct  URIForFile
     
    class  URIScheme
     
    struct  VersionedTextDocumentIdentifier
     
    struct  WorkDoneProgressBegin
     
    struct  WorkDoneProgressCreateParams
     
    struct  WorkDoneProgressEnd
     Signals the end of progress reporting. More...
     
    struct  WorkDoneProgressReport
     Reporting progress is done using the following payload. More...
     
    struct  WorkspaceEdit
     
    struct  WorkspaceSymbolParams
     The parameters of a Workspace Symbol Request. More...
     
    + + + + + + + + + + + + + + + + + + +

    +Typedefs

    template<typename T >
    using Callback = llvm::unique_function<void(llvm::Expected<T>)>
     
    using Path = std::string
     
    using PathRef = llvm::StringRef
     
    using ChangeAnnotationIdentifier = std::string
     
    using InitializedParams = NoParams
     
    using CompletionItemKindBitset = std::bitset<CompletionItemKindMax + 1>
     
    using SymbolKindBitset = std::bitset<SymbolKindMax + 1>
     
    typedef llvm::Registry< URISchemeURISchemeRegistry
     
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Enumerations

    enum class  JSONStreamStyle { Standard +, Delimited + }
     
    enum class  ErrorCode {
    +  ParseError = -32700 +, InvalidRequest = -32600 +, MethodNotFound = -32601 +, InvalidParams = -32602 +,
    +  InternalError = -32603 +, ServerNotInitialized = -32002 +, UnknownErrorCode = -32001 +, RequestCancelled = -32800 +,
    +  ContentModified = -32801 +
    + }
     
    enum class  TraceLevel { Off = 0 +, Messages = 1 +, Verbose = 2 + }
     
    enum class  TextDocumentSyncKind { None = 0 +, Full = 1 +, Incremental = 2 + }
     
    enum class  CompletionItemKind {
    +  Missing = 0 +, Text = 1 +, Method = 2 +, Function = 3 +,
    +  Constructor = 4 +, Field = 5 +, Variable = 6 +, Class = 7 +,
    +  Interface = 8 +, Module = 9 +, Property = 10 +, Unit = 11 +,
    +  Value = 12 +, Enum = 13 +, Keyword = 14 +, Snippet = 15 +,
    +  Color = 16 +, File = 17 +, Reference = 18 +, Folder = 19 +,
    +  EnumMember = 20 +, Constant = 21 +, Struct = 22 +, Event = 23 +,
    +  Operator = 24 +, TypeParameter = 25 +
    + }
     The kind of a completion entry. More...
     
    enum class  SymbolKind {
    +  File = 1 +, Module = 2 +, Namespace = 3 +, Package = 4 +,
    +  Class = 5 +, Method = 6 +, Property = 7 +, Field = 8 +,
    +  Constructor = 9 +, Enum = 10 +, Interface = 11 +, Function = 12 +,
    +  Variable = 13 +, Constant = 14 +, String = 15 +, Number = 16 +,
    +  Boolean = 17 +, Array = 18 +, Object = 19 +, Key = 20 +,
    +  Null = 21 +, EnumMember = 22 +, Struct = 23 +, Event = 24 +,
    +  Operator = 25 +, TypeParameter = 26 +
    + }
     A symbol kind. More...
     
    enum class  OffsetEncoding { UnsupportedEncoding +, UTF16 +, UTF8 +, UTF32 + }
     
    enum class  MarkupKind { PlainText +, Markdown + }
     
    enum class  MessageType { Error = 1 +, Warning = 2 +, Info = 3 +, Log = 4 + }
     
    enum class  FileChangeType { Created = 1 +, Changed = 2 +, Deleted = 3 + }
     
    enum  DiagnosticTag { Unnecessary = 1 +, Deprecated = 2 + }
     
    enum class  CompletionTriggerKind { Invoked = 1 +, TriggerCharacter = 2 +, TriggerTriggerForIncompleteCompletions = 3 + }
     
    enum class  InsertTextFormat { Missing = 0 +, PlainText = 1 +, Snippet = 2 + }
     
    enum class  DocumentHighlightKind { Text = 1 +, Read = 2 +, Write = 3 + }
     
    enum class  TypeHierarchyDirection { Children = 0 +, Parents = 1 +, Both = 2 + }
     
    enum class  SymbolTag { Deprecated = 1 + }
     
    enum class  InlayHintKind { Type = 1 +, Parameter = 2 +, Designator = 3 + }
     Inlay hint kinds. More...
     
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Functions

    template<typename... Ts>
    void elog (const char *Fmt, Ts &&...Vals)
     
    template<typename... Ts>
    void log (const char *Fmt, Ts &&...Vals)
     
    template<typename... Ts>
    void vlog (const char *Fmt, Ts &&...Vals)
     
    template<typename... Ts>
    llvm::Error error (std::error_code EC, const char *Fmt, Ts &&...Vals)
     
    template<typename... Ts>
    llvm::Error error (const char *Fmt, Ts &&...Vals)
     
    llvm::Error error (std::error_code EC, std::string Msg)
     
    llvm::Error error (std::string Msg)
     
    template<typename T >
    std::enable_if_t< std::is_default_constructible_v< T >, llvm::Expected< T > > parseParam (const llvm::json::Value &Raw, llvm::StringRef PayloadName, llvm::StringRef PayloadKind)
     
    template<typename T >
    llvm::Expected< T > parseParamWithDefault (const llvm::json::Value &Raw, llvm::StringRef PayloadName, llvm::StringRef PayloadKind, T Default)
     
    std::string maybeCaseFoldPath (PathRef Path)
     
    bool pathEqual (PathRef, PathRef)
     
    bool pathStartsWith (PathRef Ancestor, PathRef Path, llvm::sys::path::Style Style=llvm::sys::path::Style::native)
     
    PathRef absoluteParent (PathRef Path)
     
    llvm::json::Value toJSON (const URIForFile &U)
     Serialize/deserialize URIForFile to/from a string URI.
     
    bool fromJSON (const llvm::json::Value &, URIForFile &, llvm::json::Path)
     
    llvm::json::Value toJSON (const TextDocumentIdentifier &)
     
    bool fromJSON (const llvm::json::Value &, TextDocumentIdentifier &, llvm::json::Path)
     
    llvm::json::Value toJSON (const VersionedTextDocumentIdentifier &)
     
    bool fromJSON (const llvm::json::Value &, VersionedTextDocumentIdentifier &, llvm::json::Path)
     
    bool fromJSON (const llvm::json::Value &, Position &, llvm::json::Path)
     
    llvm::json::Value toJSON (const Position &)
     
    llvm::raw_ostream & operator<< (llvm::raw_ostream &, const Position &)
     
    bool fromJSON (const llvm::json::Value &, Range &, llvm::json::Path)
     
    llvm::json::Value toJSON (const Range &)
     
    llvm::raw_ostream & operator<< (llvm::raw_ostream &, const Range &)
     
    llvm::json::Value toJSON (const Location &)
     
    llvm::raw_ostream & operator<< (llvm::raw_ostream &, const Location &)
     
    llvm::json::Value toJSON (const ReferenceLocation &)
     
    llvm::raw_ostream & operator<< (llvm::raw_ostream &, const ReferenceLocation &)
     
    bool operator== (const TextEdit &L, const TextEdit &R)
     
    bool fromJSON (const llvm::json::Value &, TextEdit &, llvm::json::Path)
     
    llvm::json::Value toJSON (const TextEdit &)
     
    llvm::raw_ostream & operator<< (llvm::raw_ostream &, const TextEdit &)
     
    bool fromJSON (const llvm::json::Value &, ChangeAnnotation &, llvm::json::Path)
     
    llvm::json::Value toJSON (const ChangeAnnotation &)
     
    bool fromJSON (const llvm::json::Value &, TextDocumentEdit &, llvm::json::Path)
     
    llvm::json::Value toJSON (const TextDocumentEdit &)
     
    bool fromJSON (const llvm::json::Value &, TextDocumentItem &, llvm::json::Path)
     
    bool fromJSON (const llvm::json::Value &E, TraceLevel &Out, llvm::json::Path)
     
    llvm::json::Value toJSON (const NoParams &)
     
    bool fromJSON (const llvm::json::Value &, NoParams &, llvm::json::Path)
     
    bool fromJSON (const llvm::json::Value &, CompletionItemKind &, llvm::json::Path)
     
    bool fromJSON (const llvm::json::Value &, CompletionItemKindBitset &, llvm::json::Path)
     
    CompletionItemKind adjustKindToCapability (CompletionItemKind Kind, CompletionItemKindBitset &SupportedCompletionItemKinds)
     
    bool fromJSON (const llvm::json::Value &, SymbolKind &, llvm::json::Path)
     
    bool fromJSON (const llvm::json::Value &, SymbolKindBitset &, llvm::json::Path)
     
    SymbolKind adjustKindToCapability (SymbolKind Kind, SymbolKindBitset &supportedSymbolKinds)
     
    llvm::json::Value toJSON (const OffsetEncoding &)
     
    bool fromJSON (const llvm::json::Value &, OffsetEncoding &, llvm::json::Path)
     
    llvm::raw_ostream & operator<< (llvm::raw_ostream &, OffsetEncoding)
     
    bool fromJSON (const llvm::json::Value &, MarkupKind &, llvm::json::Path)
     
    llvm::raw_ostream & operator<< (llvm::raw_ostream &OS, MarkupKind)
     
    bool fromJSON (const llvm::json::Value &, ClientCapabilities &, llvm::json::Path)
     
    bool fromJSON (const llvm::json::Value &, ClangdCompileCommand &, llvm::json::Path)
     
    bool fromJSON (const llvm::json::Value &, ConfigurationSettings &, llvm::json::Path)
     
    bool fromJSON (const llvm::json::Value &, InitializationOptions &, llvm::json::Path)
     
    bool fromJSON (const llvm::json::Value &, InitializeParams &, llvm::json::Path)
     
    llvm::json::Value toJSON (const WorkDoneProgressCreateParams &P)
     
    template<typename T >
    llvm::json::Value toJSON (const ProgressParams< T > &P)
     
    llvm::json::Value toJSON (const WorkDoneProgressBegin &)
     
    llvm::json::Value toJSON (const WorkDoneProgressReport &)
     
    llvm::json::Value toJSON (const WorkDoneProgressEnd &)
     
    llvm::json::Value toJSON (const MessageType &)
     
    llvm::json::Value toJSON (const ShowMessageParams &)
     
    bool fromJSON (const llvm::json::Value &, DidOpenTextDocumentParams &, llvm::json::Path)
     
    bool fromJSON (const llvm::json::Value &, DidCloseTextDocumentParams &, llvm::json::Path)
     
    bool fromJSON (const llvm::json::Value &, DidSaveTextDocumentParams &, llvm::json::Path)
     
    bool fromJSON (const llvm::json::Value &, TextDocumentContentChangeEvent &, llvm::json::Path)
     
    bool fromJSON (const llvm::json::Value &, DidChangeTextDocumentParams &, llvm::json::Path)
     
    bool fromJSON (const llvm::json::Value &E, FileChangeType &Out, llvm::json::Path)
     
    bool fromJSON (const llvm::json::Value &, FileEvent &, llvm::json::Path)
     
    bool fromJSON (const llvm::json::Value &, DidChangeWatchedFilesParams &, llvm::json::Path)
     
    bool fromJSON (const llvm::json::Value &, DidChangeConfigurationParams &, llvm::json::Path)
     
    bool fromJSON (const llvm::json::Value &, DocumentRangeFormattingParams &, llvm::json::Path)
     
    bool fromJSON (const llvm::json::Value &, DocumentOnTypeFormattingParams &, llvm::json::Path)
     
    bool fromJSON (const llvm::json::Value &, DocumentFormattingParams &, llvm::json::Path)
     
    bool fromJSON (const llvm::json::Value &, DocumentSymbolParams &, llvm::json::Path)
     
    llvm::json::Value toJSON (const DiagnosticRelatedInformation &)
     
    llvm::json::Value toJSON (DiagnosticTag Tag)
     
    llvm::json::Value toJSON (const CodeDescription &)
     
    llvm::json::Value toJSON (const Diagnostic &)
     
    bool fromJSON (const llvm::json::Value &, Diagnostic &, llvm::json::Path)
     
    llvm::raw_ostream & operator<< (llvm::raw_ostream &, const Diagnostic &)
     
    llvm::json::Value toJSON (const PublishDiagnosticsParams &)
     
    bool fromJSON (const llvm::json::Value &, CodeActionContext &, llvm::json::Path)
     
    bool fromJSON (const llvm::json::Value &, CodeActionParams &, llvm::json::Path)
     
    bool fromJSON (const llvm::json::Value &, WorkspaceEdit &, llvm::json::Path)
     
    llvm::json::Value toJSON (const WorkspaceEdit &WE)
     
    bool fromJSON (const llvm::json::Value &, TweakArgs &, llvm::json::Path)
     
    llvm::json::Value toJSON (const TweakArgs &A)
     
    bool fromJSON (const llvm::json::Value &, ExecuteCommandParams &, llvm::json::Path)
     
    llvm::json::Value toJSON (const Command &C)
     
    llvm::json::Value toJSON (const CodeAction &)
     
    llvm::raw_ostream & operator<< (llvm::raw_ostream &O, const DocumentSymbol &S)
     
    llvm::json::Value toJSON (const DocumentSymbol &S)
     
    llvm::json::Value toJSON (const SymbolInformation &)
     
    llvm::raw_ostream & operator<< (llvm::raw_ostream &, const SymbolInformation &)
     
    bool fromJSON (const llvm::json::Value &, WorkspaceSymbolParams &, llvm::json::Path)
     
    llvm::json::Value toJSON (const ApplyWorkspaceEditParams &)
     
    bool fromJSON (const llvm::json::Value &, ApplyWorkspaceEditResponse &, llvm::json::Path)
     
    bool fromJSON (const llvm::json::Value &, TextDocumentPositionParams &, llvm::json::Path)
     
    bool fromJSON (const llvm::json::Value &, CompletionContext &, llvm::json::Path)
     
    bool fromJSON (const llvm::json::Value &, CompletionParams &, llvm::json::Path)
     
    llvm::json::Value toJSON (const MarkupContent &MC)
     
    llvm::json::Value toJSON (const Hover &H)
     
    llvm::json::Value toJSON (const CompletionItem &)
     
    llvm::raw_ostream & operator<< (llvm::raw_ostream &, const CompletionItem &)
     
    bool operator< (const CompletionItem &, const CompletionItem &)
     
    llvm::json::Value toJSON (const CompletionList &)
     
    llvm::json::Value toJSON (const ParameterInformation &)
     
    llvm::json::Value toJSON (const SignatureInformation &)
     
    llvm::raw_ostream & operator<< (llvm::raw_ostream &, const SignatureInformation &)
     
    llvm::json::Value toJSON (const SignatureHelp &)
     
    bool fromJSON (const llvm::json::Value &, RenameParams &, llvm::json::Path)
     
    llvm::json::Value toJSON (const DocumentHighlight &DH)
     
    llvm::raw_ostream & operator<< (llvm::raw_ostream &, const DocumentHighlight &)
     
    bool fromJSON (const llvm::json::Value &E, TypeHierarchyDirection &Out, llvm::json::Path)
     
    bool fromJSON (const llvm::json::Value &, TypeHierarchyPrepareParams &, llvm::json::Path)
     
    llvm::json::Value toJSON (const TypeHierarchyItem::ResolveParams &)
     
    bool fromJSON (const TypeHierarchyItem::ResolveParams &)
     
    llvm::json::Value toJSON (const TypeHierarchyItem &)
     
    llvm::raw_ostream & operator<< (llvm::raw_ostream &, const TypeHierarchyItem &)
     
    bool fromJSON (const llvm::json::Value &, TypeHierarchyItem &, llvm::json::Path)
     
    bool fromJSON (const llvm::json::Value &, ResolveTypeHierarchyItemParams &, llvm::json::Path)
     
    llvm::json::Value toJSON (SymbolTag)
     
    llvm::json::Value toJSON (const CallHierarchyItem &)
     
    bool fromJSON (const llvm::json::Value &, CallHierarchyItem &, llvm::json::Path)
     
    bool fromJSON (const llvm::json::Value &, CallHierarchyIncomingCallsParams &, llvm::json::Path)
     
    llvm::json::Value toJSON (const CallHierarchyIncomingCall &)
     
    bool fromJSON (const llvm::json::Value &, CallHierarchyOutgoingCallsParams &, llvm::json::Path)
     
    llvm::json::Value toJSON (const CallHierarchyOutgoingCall &)
     
    bool fromJSON (const llvm::json::Value &, InlayHintsParams &, llvm::json::Path)
     
    llvm::json::Value toJSON (const InlayHintKind &)
     
    llvm::json::Value toJSON (const InlayHint &)
     
    bool operator== (const InlayHint &, const InlayHint &)
     
    bool operator< (const InlayHint &, const InlayHint &)
     
    llvm::raw_ostream & operator<< (llvm::raw_ostream &, InlayHintKind)
     
    bool fromJSON (const llvm::json::Value &, ReferenceParams &, llvm::json::Path)
     
    llvm::json::Value toJSON (const FileStatus &)
     
    bool operator== (const SemanticToken &, const SemanticToken &)
     
    llvm::json::Value toJSON (const SemanticTokens &)
     
    bool fromJSON (const llvm::json::Value &, SemanticTokensParams &, llvm::json::Path)
     
    bool fromJSON (const llvm::json::Value &Params, SemanticTokensDeltaParams &R, llvm::json::Path)
     
    llvm::json::Value toJSON (const SemanticTokensEdit &)
     
    llvm::json::Value toJSON (const SemanticTokensOrDelta &)
     
    llvm::json::Value toJSON (const InactiveRegionsParams &InactiveRegions)
     
    bool fromJSON (const llvm::json::Value &, SelectionRangeParams &, llvm::json::Path)
     
    llvm::json::Value toJSON (const SelectionRange &)
     
    bool fromJSON (const llvm::json::Value &, DocumentLinkParams &, llvm::json::Path)
     
    llvm::json::Value toJSON (const DocumentLink &DocumentLink)
     
    bool fromJSON (const llvm::json::Value &, FoldingRangeParams &, llvm::json::Path)
     
    llvm::json::Value toJSON (const FoldingRange &Range)
     
    bool fromJSON (const llvm::json::Value &, ASTParams &, llvm::json::Path)
     
    llvm::json::Value toJSON (const ASTNode &)
     
    llvm::raw_ostream & operator<< (llvm::raw_ostream &, const ASTNode &)
     
    llvm::json::Value toJSON (const ConfigurationItem &)
     
    llvm::json::Value toJSON (const ConfigurationParams &)
     
    size_t lspLength (llvm::StringRef Code)
     
    llvm::Expected< size_t > positionToOffset (llvm::StringRef Code, Position P, bool AllowColumnsBeyondLineLength=true)
     
    Position offsetToPosition (llvm::StringRef Code, size_t Offset)
     
    void unionRanges (Range &A, Range B)
     
    llvm::Error applyChange (std::string &Contents, const TextDocumentContentChangeEvent &Change)
     Apply an incremental update to a text document.
     
    llvm::StringSet collectWords (llvm::StringRef Content)
     
    llvm::Error decodeError (const llvm::json::Object &O)
     Decode the given JSON object into an error.
     
    bool readLine (int fd, const std::atomic< bool > &Close, llvm::SmallString< 128 > &Line)
     
    llvm::raw_ostream & operator<< (llvm::raw_ostream &OS, const URIForFile &U)
     
    bool fromJSON (const llvm::json::Value &Params, TypeHierarchyItem::ResolveParams &RP, llvm::json::Path P)
     
    bool fromJSON (const llvm::json::Value &Params, ReferenceContext &R, llvm::json::Path P)
     
    + + + + + + + + + + + + + +

    +Variables

    constexpr auto CompletionItemKindMin
     
    constexpr auto CompletionItemKindMax
     
    constexpr auto SymbolKindMin = static_cast<size_t>(SymbolKind::File)
     
    constexpr auto SymbolKindMax = static_cast<size_t>(SymbolKind::TypeParameter)
     
    Key< OffsetEncodingkCurrentOffsetEncoding
     
    constexpr unsigned SemanticTokenEncodingSize = 5
     
    +

    Detailed Description

    +

    Whether current platform treats paths case insensitively.

    +

    Typedef Documentation

    + +

    ◆ Callback

    + +
    +
    +
    +template<typename T >
    + + + + +
    using lspserver::Callback = llvm::unique_function<void(llvm::Expected<T>)>
    +
    +

    A Callback<T> is a void function that accepts Expected<T>. This is accepted by ClangdServer functions that logically return T.

    + +

    Definition at line 14 of file Function.h.

    + +
    +
    + +

    ◆ ChangeAnnotationIdentifier

    + +
    +
    + + + + +
    using lspserver::ChangeAnnotationIdentifier = std::string
    +
    + +

    Definition at line 222 of file lspserver/include/lspserver/Protocol.h.

    + +
    +
    + +

    ◆ CompletionItemKindBitset

    + +
    +
    + + + + +
    using lspserver::CompletionItemKindBitset = std::bitset<CompletionItemKindMax + 1>
    +
    + +

    Definition at line 353 of file lspserver/include/lspserver/Protocol.h.

    + +
    +
    + +

    ◆ InitializedParams

    + +
    +
    + +

    Definition at line 302 of file lspserver/include/lspserver/Protocol.h.

    + +
    +
    + +

    ◆ Path

    + +
    +
    + + + + +
    using lspserver::Path = std::string
    +
    +

    A typedef to represent a file path. Used solely for more descriptive signatures.

    + +

    Definition at line 24 of file Path.h.

    + +
    +
    + +

    ◆ PathRef

    + +
    +
    + + + + +
    using lspserver::PathRef = llvm::StringRef
    +
    +

    A typedef to represent a ref to file path. Used solely for more descriptive signatures.

    + +

    Definition at line 27 of file Path.h.

    + +
    +
    + +

    ◆ SymbolKindBitset

    + +
    +
    + + + + +
    using lspserver::SymbolKindBitset = std::bitset<SymbolKindMax + 1>
    +
    + +

    Definition at line 392 of file lspserver/include/lspserver/Protocol.h.

    + +
    +
    + +

    ◆ URISchemeRegistry

    + +
    +
    + + + + +
    typedef llvm::Registry<URIScheme> lspserver::URISchemeRegistry
    +
    +

    By default, a "file" scheme is supported where URI paths are always absolute in the file system.

    + +

    Definition at line 121 of file URI.h.

    + +
    +
    +

    Enumeration Type Documentation

    + +

    ◆ CompletionItemKind

    + +
    +
    + + + + + +
    + + + + +
    enum class lspserver::CompletionItemKind
    +
    +strong
    +
    + +

    The kind of a completion entry.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Enumerator
    Missing 
    Text 
    Method 
    Function 
    Constructor 
    Field 
    Variable 
    Class 
    Interface 
    Module 
    Property 
    Unit 
    Value 
    Enum 
    Keyword 
    Snippet 
    Color 
    File 
    Reference 
    Folder 
    EnumMember 
    Constant 
    Struct 
    Event 
    Operator 
    TypeParameter 
    + +

    Definition at line 319 of file lspserver/include/lspserver/Protocol.h.

    + +
    +
    + +

    ◆ CompletionTriggerKind

    + +
    +
    + + + + + +
    + + + + +
    enum class lspserver::CompletionTriggerKind
    +
    +strong
    +
    + + + + +
    Enumerator
    Invoked 

    Completion was triggered by typing an identifier (24x7 code complete), manual invocation (e.g Ctrl+Space) or via API.

    +
    TriggerCharacter 

    Completion was triggered by a trigger character specified by the triggerCharacters properties of the CompletionRegistrationOptions.

    +
    TriggerTriggerForIncompleteCompletions 

    Completion was re-triggered as the current completion list is incomplete.

    +
    + +

    Definition at line 1170 of file lspserver/include/lspserver/Protocol.h.

    + +
    +
    + +

    ◆ DiagnosticTag

    + +
    +
    + + + + +
    enum lspserver::DiagnosticTag
    +
    + + + +
    Enumerator
    Unnecessary 

    Unused or unnecessary code.

    +

    Clients are allowed to render diagnostics with this tag faded out instead of having an error squiggle.

    +
    Deprecated 

    Deprecated or obsolete code.

    +

    Clients are allowed to rendered diagnostics with this tag strike through.

    +
    + +

    Definition at line 869 of file lspserver/include/lspserver/Protocol.h.

    + +
    +
    + +

    ◆ DocumentHighlightKind

    + +
    +
    + + + + + +
    + + + + +
    enum class lspserver::DocumentHighlightKind
    +
    +strong
    +
    + + + + +
    Enumerator
    Text 
    Read 
    Write 
    + +

    Definition at line 1377 of file lspserver/include/lspserver/Protocol.h.

    + +
    +
    + +

    ◆ ErrorCode

    + +
    +
    + + + + + +
    + + + + +
    enum class lspserver::ErrorCode
    +
    +strong
    +
    + + + + + + + + + + +
    Enumerator
    ParseError 
    InvalidRequest 
    MethodNotFound 
    InvalidParams 
    InternalError 
    ServerNotInitialized 
    UnknownErrorCode 
    RequestCancelled 
    ContentModified 
    + +

    Definition at line 22 of file lspserver/include/lspserver/Protocol.h.

    + +
    +
    + +

    ◆ FileChangeType

    + +
    +
    + + + + + +
    + + + + +
    enum class lspserver::FileChangeType
    +
    +strong
    +
    + + + + +
    Enumerator
    Created 

    The file got created.

    +
    Changed 

    The file got changed.

    +
    Deleted 

    The file got deleted.

    +
    + +

    Definition at line 781 of file lspserver/include/lspserver/Protocol.h.

    + +
    +
    + +

    ◆ InlayHintKind

    + +
    +
    + + + + + +
    + + + + +
    enum class lspserver::InlayHintKind
    +
    +strong
    +
    + +

    Inlay hint kinds.

    + + + + +
    Enumerator
    Type 

    An inlay hint that for a type annotation.

    +

    An example of a type hint is a hint in this position: auto var ^ = expr; which shows the deduced type of the variable.

    +
    Parameter 

    An inlay hint that is for a parameter.

    +

    An example of a parameter hint is a hint in this position: func(^arg); which shows the name of the corresponding parameter.

    +
    Designator 

    A hint before an element of an aggregate braced initializer list, indicating what it is initializing. Pair{^1, ^2}; Uses designator syntax, e.g. .first:. This is a clangd extension.

    +
    + +

    Definition at line 1580 of file lspserver/include/lspserver/Protocol.h.

    + +
    +
    + +

    ◆ InsertTextFormat

    + +
    +
    + + + + + +
    + + + + +
    enum class lspserver::InsertTextFormat
    +
    +strong
    +
    +

    Defines whether the insert text in a completion item should be interpreted as plain text or a snippet.

    + + + + +
    Enumerator
    Missing 
    PlainText 

    The primary text to be inserted is treated as a plain string.

    +
    Snippet 

    The primary text to be inserted is treated as a snippet.

    +

    A snippet can define tab stops and placeholders with $1, $2 and ${3:foo}. $0 defines the final tab stop, it defaults to the end of the snippet. Placeholders with equal identifiers are linked, that is typing in one will update others too.

    +

    See also: https://github.com/Microsoft/vscode/blob/main/src/vs/editor/contrib/snippet/snippet.md

    +
    + +

    Definition at line 1217 of file lspserver/include/lspserver/Protocol.h.

    + +
    +
    + +

    ◆ JSONStreamStyle

    + +
    +
    + + + + + +
    + + + + +
    enum class lspserver::JSONStreamStyle
    +
    +strong
    +
    + + + +
    Enumerator
    Standard 
    Delimited 
    + +

    Definition at line 13 of file Connection.h.

    + +
    +
    + +

    ◆ MarkupKind

    + +
    +
    + + + + + +
    + + + + +
    enum class lspserver::MarkupKind
    +
    +strong
    +
    + + + +
    Enumerator
    PlainText 
    Markdown 
    + +

    Definition at line 414 of file lspserver/include/lspserver/Protocol.h.

    + +
    +
    + +

    ◆ MessageType

    + +
    +
    + + + + + +
    + + + + +
    enum class lspserver::MessageType
    +
    +strong
    +
    + + + + + +
    Enumerator
    Error 

    An error message.

    +
    Warning 

    A warning message.

    +
    Info 

    An information message.

    +
    Log 

    A log message.

    +
    + +

    Definition at line 701 of file lspserver/include/lspserver/Protocol.h.

    + +
    +
    + +

    ◆ OffsetEncoding

    + +
    +
    + + + + + +
    + + + + +
    enum class lspserver::OffsetEncoding
    +
    +strong
    +
    + + + + + +
    Enumerator
    UnsupportedEncoding 
    UTF16 
    UTF8 
    UTF32 
    + +

    Definition at line 398 of file lspserver/include/lspserver/Protocol.h.

    + +
    +
    + +

    ◆ SymbolKind

    + +
    +
    + + + + + +
    + + + + +
    enum class lspserver::SymbolKind
    +
    +strong
    +
    + +

    A symbol kind.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Enumerator
    File 
    Module 
    Namespace 
    Package 
    Class 
    Method 
    Property 
    Field 
    Constructor 
    Enum 
    Interface 
    Function 
    Variable 
    Constant 
    String 
    Number 
    Boolean 
    Array 
    Object 
    Key 
    Null 
    EnumMember 
    Struct 
    Event 
    Operator 
    TypeParameter 
    + +

    Definition at line 361 of file lspserver/include/lspserver/Protocol.h.

    + +
    +
    + +

    ◆ SymbolTag

    + +
    +
    + + + + + +
    + + + + +
    enum class lspserver::SymbolTag
    +
    +strong
    +
    + + +
    Enumerator
    Deprecated 
    + +

    Definition at line 1489 of file lspserver/include/lspserver/Protocol.h.

    + +
    +
    + +

    ◆ TextDocumentSyncKind

    + +
    +
    + + + + + +
    + + + + +
    enum class lspserver::TextDocumentSyncKind
    +
    +strong
    +
    +

    Defines how the host (editor) should sync document changes to the language server.

    + + + + +
    Enumerator
    None 

    Documents should not be synced at all.

    +
    Full 

    Documents are synced by always sending the full content of the document.

    +
    Incremental 

    Documents are synced by sending the full content on open. After that only incremental updates to the document are send.

    +
    + +

    Definition at line 306 of file lspserver/include/lspserver/Protocol.h.

    + +
    +
    + +

    ◆ TraceLevel

    + +
    +
    + + + + + +
    + + + + +
    enum class lspserver::TraceLevel
    +
    +strong
    +
    + + + + +
    Enumerator
    Off 
    Messages 
    Verbose 
    + +

    Definition at line 290 of file lspserver/include/lspserver/Protocol.h.

    + +
    +
    + +

    ◆ TypeHierarchyDirection

    + +
    +
    + + + + + +
    + + + + +
    enum class lspserver::TypeHierarchyDirection
    +
    +strong
    +
    + + + + +
    Enumerator
    Children 
    Parents 
    Both 
    + +

    Definition at line 1405 of file lspserver/include/lspserver/Protocol.h.

    + +
    +
    +

    Function Documentation

    + +

    ◆ absoluteParent()

    + +
    +
    + + + + + + + +
    PathRef lspserver::absoluteParent (PathRef Path)
    +
    +

    Variant of parent_path that operates only on absolute paths. Unlike parent_path doesn't consider C: a parent of C:.

    + +
    +
    + +

    ◆ adjustKindToCapability() [1/2]

    + +
    +
    + + + + + + + + + + + +
    CompletionItemKind lspserver::adjustKindToCapability (CompletionItemKind Kind,
    CompletionItemKindBitset & SupportedCompletionItemKinds )
    +
    + +

    Definition at line 932 of file lspserver/src/Protocol.cpp.

    + +

    References Class, CompletionItemKindMin, Enum, EnumMember, File, Folder, Struct, and Text.

    + +
    +
    + +

    ◆ adjustKindToCapability() [2/2]

    + +
    +
    + + + + + + + + + + + +
    SymbolKind lspserver::adjustKindToCapability (SymbolKind Kind,
    SymbolKindBitset & supportedSymbolKinds )
    +
    + +

    Definition at line 276 of file lspserver/src/Protocol.cpp.

    + +

    References Class, Enum, EnumMember, String, Struct, and SymbolKindMin.

    + +
    +
    + +

    ◆ applyChange()

    + +
    +
    + + + + + + + + + + + +
    llvm::Error lspserver::applyChange (std::string & Contents,
    const TextDocumentContentChangeEvent & Change )
    +
    +
    + +

    ◆ collectWords()

    + +
    +
    + + + + + + + +
    llvm::StringSet lspserver::collectWords (llvm::StringRef Content)
    +
    +

    Collects words from the source code. Unlike collectIdentifiers:

      +
    • also finds text in comments:
    • +
    • splits text into words
    • +
    • drops stopwords like "get" and "for"
    • +
    + +
    +
    + +

    ◆ decodeError()

    + +
    +
    + + + + + + + +
    llvm::Error lspserver::decodeError (const llvm::json::Object & O)
    +
    + +

    Decode the given JSON object into an error.

    + +

    Definition at line 37 of file Connection.cpp.

    + +

    Referenced by lspserver::InboundPort::dispatch().

    + +
    +
    + +

    ◆ elog()

    + +
    +
    +
    +template<typename... Ts>
    + + + + + + + + + + + +
    void lspserver::elog (const char * Fmt,
    Ts &&... Vals )
    +
    +
    + +

    ◆ error() [1/4]

    + +
    +
    +
    +template<typename... Ts>
    + + + + + + + + + + + +
    llvm::Error lspserver::error (const char * Fmt,
    Ts &&... Vals )
    +
    + +

    Definition at line 76 of file Logger.h.

    + +

    References lspserver::detail::error(), and lspserver::detail::wrap().

    + +
    +
    + +

    ◆ error() [2/4]

    + +
    +
    +
    +template<typename... Ts>
    + + + + + + + + + + + + + + + + +
    llvm::Error lspserver::error (std::error_code EC,
    const char * Fmt,
    Ts &&... Vals )
    +
    +
    + +

    ◆ error() [3/4]

    + +
    +
    + + + + + +
    + + + + + + + + + + + +
    llvm::Error lspserver::error (std::error_code EC,
    std::string Msg )
    +
    +inline
    +
    + +

    Definition at line 82 of file Logger.h.

    + +

    References lspserver::detail::error().

    + +
    +
    + +

    ◆ error() [4/4]

    + +
    +
    + + + + + +
    + + + + + + + +
    llvm::Error lspserver::error (std::string Msg)
    +
    +inline
    +
    + +

    Definition at line 86 of file Logger.h.

    + +

    References lspserver::detail::error().

    + +
    +
    + +

    ◆ fromJSON() [1/65]

    + +
    +
    + + + + + + + + + + + + + + + + +
    bool lspserver::fromJSON (const llvm::json::Value & Response,
    ApplyWorkspaceEditResponse & R,
    llvm::json::Path P )
    +
    +
    + +

    ◆ fromJSON() [2/65]

    + +
    +
    + + + + + + + + + + + + + + + + +
    bool lspserver::fromJSON (const llvm::json::Value & Params,
    ASTParams & R,
    llvm::json::Path P )
    +
    +
    + +

    ◆ fromJSON() [3/65]

    + +
    +
    + + + + + + + + + + + + + + + + +
    bool lspserver::fromJSON (const llvm::json::Value & Params,
    CallHierarchyIncomingCallsParams & C,
    llvm::json::Path P )
    +
    + +

    Definition at line 1298 of file lspserver/src/Protocol.cpp.

    + +

    References lspserver::CallHierarchyIncomingCallsParams::item.

    + +
    +
    + +

    ◆ fromJSON() [4/65]

    + +
    +
    + + + + + + + + + + + + + + + + +
    bool lspserver::fromJSON (const llvm::json::Value & Params,
    CallHierarchyItem & I,
    llvm::json::Path P )
    +
    +
    + +

    ◆ fromJSON() [5/65]

    + +
    +
    + + + + + + + + + + + + + + + + +
    bool lspserver::fromJSON (const llvm::json::Value & Params,
    CallHierarchyOutgoingCallsParams & C,
    llvm::json::Path P )
    +
    + +

    Definition at line 1308 of file lspserver/src/Protocol.cpp.

    + +

    References lspserver::CallHierarchyOutgoingCallsParams::item.

    + +
    +
    + +

    ◆ fromJSON() [6/65]

    + +
    +
    + + + + + + + + + + + + + + + + +
    bool lspserver::fromJSON (const llvm::json::Value & Params,
    ChangeAnnotation & R,
    llvm::json::Path P )
    +
    +
    + +

    ◆ fromJSON() [7/65]

    + +
    +
    + + + + + + + + + + + + + + + + +
    bool lspserver::fromJSON (const llvm::json::Value & Params,
    ClangdCompileCommand & CDbUpdate,
    llvm::json::Path P )
    +
    +
    + +

    ◆ fromJSON() [8/65]

    + +
    +
    + + + + + + + + + + + + + + + + +
    bool lspserver::fromJSON (const llvm::json::Value & Params,
    ClientCapabilities & R,
    llvm::json::Path P )
    +
    + +

    Definition at line 294 of file lspserver/src/Protocol.cpp.

    + +

    References lspserver::ClientCapabilities::CancelsStaleRequests, lspserver::ClientCapabilities::ChangeAnnotation, lspserver::ClientCapabilities::CodeActionStructure, lspserver::ClientCapabilities::CompletionDocumentationFormat, lspserver::ClientCapabilities::CompletionFixes, lspserver::ClientCapabilities::CompletionItemKinds, lspserver::ClientCapabilities::CompletionSnippets, lspserver::ClientCapabilities::DiagnosticCategory, lspserver::ClientCapabilities::DiagnosticFixes, lspserver::ClientCapabilities::DiagnosticRelatedInformation, lspserver::ClientCapabilities::DocumentChanges, fromJSON(), lspserver::ClientCapabilities::HasSignatureHelp, lspserver::ClientCapabilities::HierarchicalDocumentSymbol, lspserver::ClientCapabilities::HoverContentFormat, lspserver::ClientCapabilities::ImplicitProgressCreation, lspserver::ClientCapabilities::InactiveRegions, Info, lspserver::ClientCapabilities::LineFoldingOnly, lspserver::ClientCapabilities::offsetEncoding, lspserver::ClientCapabilities::OffsetsInSignatureHelp, Parameter, lspserver::ClientCapabilities::ReferenceContainer, lspserver::ClientCapabilities::RenamePrepareSupport, lspserver::ClientCapabilities::SemanticTokenRefreshSupport, lspserver::ClientCapabilities::SemanticTokens, lspserver::ClientCapabilities::SignatureHelpDocumentationFormat, lspserver::ClientCapabilities::TheiaSemanticHighlighting, lspserver::ClientCapabilities::WorkDoneProgress, lspserver::ClientCapabilities::WorkspaceConfiguration, and lspserver::ClientCapabilities::WorkspaceSymbolKinds.

    + +
    +
    + +

    ◆ fromJSON() [9/65]

    + +
    +
    + + + + + + + + + + + + + + + + +
    bool lspserver::fromJSON (const llvm::json::Value & Params,
    CodeActionContext & R,
    llvm::json::Path P )
    +
    +
    + +

    ◆ fromJSON() [10/65]

    + +
    +
    + + + + + + + + + + + + + + + + +
    bool lspserver::fromJSON (const llvm::json::Value & Params,
    CodeActionParams & R,
    llvm::json::Path P )
    +
    +
    + +

    ◆ fromJSON() [11/65]

    + +
    +
    + + + + + + + + + + + + + + + + +
    bool lspserver::fromJSON (const llvm::json::Value & Params,
    CompletionContext & R,
    llvm::json::Path P )
    +
    +
    + +

    ◆ fromJSON() [12/65]

    + +
    +
    + + + + + + + + + + + + + + + + +
    bool lspserver::fromJSON (const llvm::json::Value & E,
    CompletionItemKind & Out,
    llvm::json::Path P )
    +
    + +

    Definition at line 919 of file lspserver/src/Protocol.cpp.

    + +

    References Text, and TypeParameter.

    + +
    +
    + +

    ◆ fromJSON() [13/65]

    + +
    +
    + + + + + + + + + + + + + + + + +
    bool lspserver::fromJSON (const llvm::json::Value & E,
    CompletionItemKindBitset & Out,
    llvm::json::Path P )
    +
    + +

    Definition at line 953 of file lspserver/src/Protocol.cpp.

    + +

    References fromJSON().

    + +
    +
    + +

    ◆ fromJSON() [14/65]

    + +
    +
    + + + + + + + + + + + + + + + + +
    bool lspserver::fromJSON (const llvm::json::Value & Params,
    CompletionParams & R,
    llvm::json::Path P )
    +
    +
    + +

    ◆ fromJSON() [15/65]

    + +
    +
    + + + + + + + + + + + + + + + + +
    bool lspserver::fromJSON (const llvm::json::Value & Params,
    ConfigurationSettings & S,
    llvm::json::Path P )
    +
    +
    + +

    ◆ fromJSON() [16/65]

    + +
    +
    + + + + + + + + + + + + + + + + +
    bool lspserver::fromJSON (const llvm::json::Value & Params,
    Diagnostic & R,
    llvm::json::Path P )
    +
    +
    + +

    ◆ fromJSON() [17/65]

    + +
    +
    + + + + + + + + + + + + + + + + +
    bool lspserver::fromJSON (const llvm::json::Value & Params,
    DidChangeConfigurationParams & CCP,
    llvm::json::Path P )
    +
    + +

    Definition at line 1146 of file lspserver/src/Protocol.cpp.

    + +

    References lspserver::DidChangeConfigurationParams::settings.

    + +
    +
    + +

    ◆ fromJSON() [18/65]

    + +
    +
    + + + + + + + + + + + + + + + + +
    bool lspserver::fromJSON (const llvm::json::Value & Params,
    DidChangeTextDocumentParams & R,
    llvm::json::Path P )
    +
    +
    + +

    ◆ fromJSON() [19/65]

    + +
    +
    + + + + + + + + + + + + + + + + +
    bool lspserver::fromJSON (const llvm::json::Value & Params,
    DidChangeWatchedFilesParams & R,
    llvm::json::Path P )
    +
    + +

    Definition at line 557 of file lspserver/src/Protocol.cpp.

    + +

    References lspserver::DidChangeWatchedFilesParams::changes.

    + +
    +
    + +

    ◆ fromJSON() [20/65]

    + +
    +
    + + + + + + + + + + + + + + + + +
    bool lspserver::fromJSON (const llvm::json::Value & Params,
    DidCloseTextDocumentParams & R,
    llvm::json::Path P )
    +
    +
    + +

    ◆ fromJSON() [21/65]

    + +
    +
    + + + + + + + + + + + + + + + + +
    bool lspserver::fromJSON (const llvm::json::Value & Params,
    DidOpenTextDocumentParams & R,
    llvm::json::Path P )
    +
    + +

    Definition at line 512 of file lspserver/src/Protocol.cpp.

    + +

    References lspserver::DidOpenTextDocumentParams::textDocument.

    + +
    +
    + +

    ◆ fromJSON() [22/65]

    + +
    +
    + + + + + + + + + + + + + + + + +
    bool lspserver::fromJSON (const llvm::json::Value & Params,
    DidSaveTextDocumentParams & R,
    llvm::json::Path P )
    +
    + +

    Definition at line 524 of file lspserver/src/Protocol.cpp.

    + +

    References lspserver::DidSaveTextDocumentParams::textDocument.

    + +
    +
    + +

    ◆ fromJSON() [23/65]

    + +
    +
    + + + + + + + + + + + + + + + + +
    bool lspserver::fromJSON (const llvm::json::Value & Params,
    DocumentFormattingParams & R,
    llvm::json::Path P )
    +
    + +

    Definition at line 583 of file lspserver/src/Protocol.cpp.

    + +

    References lspserver::DocumentFormattingParams::textDocument.

    + +
    +
    + +

    ◆ fromJSON() [24/65]

    + +
    +
    + + + + + + + + + + + + + + + + +
    bool lspserver::fromJSON (const llvm::json::Value & Params,
    DocumentLinkParams & R,
    llvm::json::Path P )
    +
    + +

    Definition at line 1415 of file lspserver/src/Protocol.cpp.

    + +

    References lspserver::DocumentLinkParams::textDocument.

    + +
    +
    + +

    ◆ fromJSON() [25/65]

    + +
    +
    + + + + + + + + + + + + + + + + +
    bool lspserver::fromJSON (const llvm::json::Value & Params,
    DocumentOnTypeFormattingParams & R,
    llvm::json::Path P )
    +
    +
    + +

    ◆ fromJSON() [26/65]

    + +
    +
    + + + + + + + + + + + + + + + + +
    bool lspserver::fromJSON (const llvm::json::Value & Params,
    DocumentRangeFormattingParams & R,
    llvm::json::Path P )
    +
    +
    + +

    ◆ fromJSON() [27/65]

    + +
    +
    + + + + + + + + + + + + + + + + +
    bool lspserver::fromJSON (const llvm::json::Value & Params,
    DocumentSymbolParams & R,
    llvm::json::Path P )
    +
    + +

    Definition at line 589 of file lspserver/src/Protocol.cpp.

    + +

    References lspserver::DocumentSymbolParams::textDocument.

    + +
    +
    + +

    ◆ fromJSON() [28/65]

    + +
    +
    + + + + + + + + + + + + + + + + +
    bool lspserver::fromJSON (const llvm::json::Value & Params,
    ExecuteCommandParams & R,
    llvm::json::Path P )
    +
    +
    + +

    ◆ fromJSON() [29/65]

    + +
    +
    + + + + + + + + + + + + + + + + +
    bool lspserver::fromJSON (const llvm::json::Value & Params,
    FileEvent & R,
    llvm::json::Path P )
    +
    + +

    Definition at line 551 of file lspserver/src/Protocol.cpp.

    + +

    References lspserver::FileEvent::type, and lspserver::FileEvent::uri.

    + +
    +
    + +

    ◆ fromJSON() [30/65]

    + +
    +
    + + + + + + + + + + + + + + + + +
    bool lspserver::fromJSON (const llvm::json::Value & Params,
    FoldingRangeParams & R,
    llvm::json::Path P )
    +
    + +

    Definition at line 1428 of file lspserver/src/Protocol.cpp.

    + +

    References lspserver::FoldingRangeParams::textDocument.

    + +
    +
    + +

    ◆ fromJSON() [31/65]

    + +
    +
    + + + + + + + + + + + + + + + + +
    bool lspserver::fromJSON (const llvm::json::Value & Params,
    InitializationOptions & Opts,
    llvm::json::Path P )
    +
    +
    + +

    ◆ fromJSON() [32/65]

    + + + +

    ◆ fromJSON() [33/65]

    + +
    +
    + + + + + + + + + + + + + + + + +
    bool lspserver::fromJSON (const llvm::json::Value & Params,
    InlayHintsParams & R,
    llvm::json::Path P )
    +
    +
    + +

    ◆ fromJSON() [34/65]

    + +
    +
    + + + + + + + + + + + + + + + + +
    bool lspserver::fromJSON (const llvm::json::Value & V,
    MarkupKind & K,
    llvm::json::Path P )
    +
    + +

    Definition at line 879 of file lspserver/src/Protocol.cpp.

    + +

    References Markdown, and PlainText.

    + +
    +
    + +

    ◆ fromJSON() [35/65]

    + +
    +
    + + + + + +
    + + + + + + + + + + + + + + + + +
    bool lspserver::fromJSON (const llvm::json::Value & ,
    NoParams & ,
    llvm::json::Path  )
    +
    +inline
    +
    + +

    Definition at line 299 of file lspserver/include/lspserver/Protocol.h.

    + +
    +
    + +

    ◆ fromJSON() [36/65]

    + +
    +
    + + + + + + + + + + + + + + + + +
    bool lspserver::fromJSON (const llvm::json::Value & V,
    OffsetEncoding & OE,
    llvm::json::Path P )
    +
    + +

    Definition at line 1384 of file lspserver/src/Protocol.cpp.

    + +

    References UnsupportedEncoding, UTF16, UTF32, and UTF8.

    + +
    +
    + +

    ◆ fromJSON() [37/65]

    + +
    +
    + + + + + + + + + + + + + + + + +
    bool lspserver::fromJSON (const llvm::json::Value & Params,
    Position & R,
    llvm::json::Path P )
    +
    + +

    Definition at line 117 of file lspserver/src/Protocol.cpp.

    + +

    References lspserver::Position::character, and lspserver::Position::line.

    + +
    +
    + +

    ◆ fromJSON() [38/65]

    + +
    +
    + + + + + + + + + + + + + + + + +
    bool lspserver::fromJSON (const llvm::json::Value & Params,
    Range & R,
    llvm::json::Path P )
    +
    + +

    Definition at line 134 of file lspserver/src/Protocol.cpp.

    + +

    References lspserver::Range::end, and lspserver::Range::start.

    + +
    +
    + +

    ◆ fromJSON() [39/65]

    + +
    +
    + + + + + + + + + + + + + + + + +
    bool lspserver::fromJSON (const llvm::json::Value & Params,
    ReferenceParams & R,
    llvm::json::Path P )
    +
    + +

    Definition at line 1259 of file lspserver/src/Protocol.cpp.

    + +

    References lspserver::ReferenceParams::context, and fromJSON().

    + +
    +
    + +

    ◆ fromJSON() [40/65]

    + +
    +
    + + + + + + + + + + + + + + + + +
    bool lspserver::fromJSON (const llvm::json::Value & Params,
    RenameParams & R,
    llvm::json::Path P )
    +
    +
    + +

    ◆ fromJSON() [41/65]

    + +
    +
    + + + + + + + + + + + + + + + + +
    bool lspserver::fromJSON (const llvm::json::Value & Params,
    ResolveTypeHierarchyItemParams & R,
    llvm::json::Path P )
    +
    +
    + +

    ◆ fromJSON() [42/65]

    + +
    +
    + + + + + + + + + + + + + + + + +
    bool lspserver::fromJSON (const llvm::json::Value & Params,
    SelectionRangeParams & S,
    llvm::json::Path P )
    +
    +
    + +

    ◆ fromJSON() [43/65]

    + +
    +
    + + + + + + + + + + + + + + + + +
    bool lspserver::fromJSON (const llvm::json::Value & Params,
    SemanticTokensParams & R,
    llvm::json::Path P )
    +
    + +

    Definition at line 1117 of file lspserver/src/Protocol.cpp.

    + +

    References lspserver::SemanticTokensParams::textDocument.

    + +
    +
    + +

    ◆ fromJSON() [44/65]

    + +
    +
    + + + + + + + + + + + + + + + + +
    bool lspserver::fromJSON (const llvm::json::Value & E,
    SymbolKind & Out,
    llvm::json::Path P )
    +
    + +

    Definition at line 252 of file lspserver/src/Protocol.cpp.

    + +

    References File, and TypeParameter.

    + +
    +
    + +

    ◆ fromJSON() [45/65]

    + +
    +
    + + + + + + + + + + + + + + + + +
    bool lspserver::fromJSON (const llvm::json::Value & E,
    SymbolKindBitset & Out,
    llvm::json::Path P )
    +
    + +

    Definition at line 263 of file lspserver/src/Protocol.cpp.

    + +

    References fromJSON().

    + +
    +
    + +

    ◆ fromJSON() [46/65]

    + +
    +
    + + + + + + + + + + + + + + + + +
    bool lspserver::fromJSON (const llvm::json::Value & Params,
    TextDocumentContentChangeEvent & R,
    llvm::json::Path P )
    +
    +
    + +

    ◆ fromJSON() [47/65]

    + +
    +
    + + + + + + + + + + + + + + + + +
    bool lspserver::fromJSON (const llvm::json::Value & Params,
    TextDocumentEdit & R,
    llvm::json::Path P )
    +
    +
    + +

    ◆ fromJSON() [48/65]

    + +
    +
    + + + + + + + + + + + + + + + + +
    bool lspserver::fromJSON (const llvm::json::Value & Params,
    TextDocumentIdentifier & R,
    llvm::json::Path P )
    +
    + +

    Definition at line 98 of file lspserver/src/Protocol.cpp.

    + +

    References lspserver::TextDocumentIdentifier::uri.

    + +
    +
    + +

    ◆ fromJSON() [49/65]

    + +
    +
    + + + + + + + + + + + + + + + + +
    bool lspserver::fromJSON (const llvm::json::Value & Params,
    TextDocumentItem & R,
    llvm::json::Path P )
    +
    +
    + +

    ◆ fromJSON() [50/65]

    + +
    +
    + + + + + + + + + + + + + + + + +
    bool lspserver::fromJSON (const llvm::json::Value & Params,
    TextDocumentPositionParams & R,
    llvm::json::Path P )
    +
    +
    + +

    ◆ fromJSON() [51/65]

    + +
    +
    + + + + + + + + + + + + + + + + +
    bool lspserver::fromJSON (const llvm::json::Value & Params,
    TextEdit & R,
    llvm::json::Path P )
    +
    +
    + +

    ◆ fromJSON() [52/65]

    + +
    +
    + + + + + + + + + + + + + + + + +
    bool lspserver::fromJSON (const llvm::json::Value & Params,
    TweakArgs & A,
    llvm::json::Path P )
    +
    +
    + +

    ◆ fromJSON() [53/65]

    + + + +

    ◆ fromJSON() [54/65]

    + +
    +
    + + + + + + + + + + + + + + + + +
    bool lspserver::fromJSON (const llvm::json::Value & Params,
    TypeHierarchyPrepareParams & R,
    llvm::json::Path P )
    +
    +
    + +

    ◆ fromJSON() [55/65]

    + +
    +
    + + + + + + + + + + + + + + + + +
    bool lspserver::fromJSON (const llvm::json::Value & E,
    URIForFile & R,
    llvm::json::Path P )
    +
    +
    + +

    ◆ fromJSON() [56/65]

    + +
    +
    + + + + + + + + + + + + + + + + +
    bool lspserver::fromJSON (const llvm::json::Value & Params,
    VersionedTextDocumentIdentifier & R,
    llvm::json::Path P )
    +
    +
    + +

    ◆ fromJSON() [57/65]

    + +
    +
    + + + + + + + + + + + + + + + + +
    bool lspserver::fromJSON (const llvm::json::Value & Params,
    WorkspaceEdit & R,
    llvm::json::Path P )
    +
    +
    + +

    ◆ fromJSON() [58/65]

    + +
    +
    + + + + + + + + + + + + + + + + +
    bool lspserver::fromJSON (const llvm::json::Value & Params,
    WorkspaceSymbolParams & R,
    llvm::json::Path P )
    +
    +
    + +

    ◆ fromJSON() [59/65]

    + +
    +
    + + + + + + + + + + + + + + + + +
    bool lspserver::fromJSON (const llvm::json::Value & E,
    FileChangeType & Out,
    llvm::json::Path P )
    +
    + +

    Definition at line 539 of file lspserver/src/Protocol.cpp.

    + +

    References Created, and Deleted.

    + +
    +
    + +

    ◆ fromJSON() [60/65]

    + +
    +
    + + + + + + + + + + + + + + + + +
    bool lspserver::fromJSON (const llvm::json::Value & E,
    TraceLevel & Out,
    llvm::json::Path P )
    +
    + +

    Definition at line 234 of file lspserver/src/Protocol.cpp.

    + +

    References Messages, Off, and Verbose.

    + +
    +
    + +

    ◆ fromJSON() [61/65]

    + +
    +
    + + + + + + + + + + + + + + + + +
    bool lspserver::fromJSON (const llvm::json::Value & E,
    TypeHierarchyDirection & Out,
    llvm::json::Path P )
    +
    + +

    Definition at line 1180 of file lspserver/src/Protocol.cpp.

    + +

    References Both, and Children.

    + +
    +
    + +

    ◆ fromJSON() [62/65]

    + +
    +
    + + + + + + + + + + + + + + + + +
    bool lspserver::fromJSON (const llvm::json::Value & Params,
    ReferenceContext & R,
    llvm::json::Path P )
    +
    + +

    Definition at line 1253 of file lspserver/src/Protocol.cpp.

    + +

    References lspserver::ReferenceContext::includeDeclaration.

    + +
    +
    + +

    ◆ fromJSON() [63/65]

    + +
    +
    + + + + + + + + + + + + + + + + +
    bool lspserver::fromJSON (const llvm::json::Value & Params,
    SemanticTokensDeltaParams & R,
    llvm::json::Path P )
    +
    +
    + +

    ◆ fromJSON() [64/65]

    + +
    +
    + + + + + + + + + + + + + + + + +
    bool lspserver::fromJSON (const llvm::json::Value & Params,
    TypeHierarchyItem::ResolveParams & RP,
    llvm::json::Path P )
    +
    +
    + +

    ◆ fromJSON() [65/65]

    + +
    +
    + + + + + + + +
    bool lspserver::fromJSON (const TypeHierarchyItem::ResolveParams & )
    +
    + +
    +
    + +

    ◆ log()

    + +
    +
    +
    +template<typename... Ts>
    + + + + + + + + + + + +
    void lspserver::log (const char * Fmt,
    Ts &&... Vals )
    +
    + +

    Definition at line 58 of file Logger.h.

    + +

    References lspserver::Logger::Info, and lspserver::detail::log().

    + +
    +
    + +

    ◆ lspLength()

    + +
    +
    + + + + + + + +
    size_t lspserver::lspLength (llvm::StringRef Code)
    +
    + +

    Definition at line 50 of file SourceCode.cpp.

    + +

    References UnsupportedEncoding, UTF16, UTF32, and UTF8.

    + +

    Referenced by applyChange(), and offsetToPosition().

    + +
    +
    + +

    ◆ maybeCaseFoldPath()

    + +
    +
    + + + + + + + +
    std::string lspserver::maybeCaseFoldPath (PathRef Path)
    +
    + +
    +
    + +

    ◆ offsetToPosition()

    + +
    +
    + + + + + + + + + + + +
    Position lspserver::offsetToPosition (llvm::StringRef Code,
    size_t Offset )
    +
    +

    Turn an offset in Code into a [line, column] pair. The offset must be in range [0, Code.size()].

    + +

    Definition at line 144 of file SourceCode.cpp.

    + +

    References lspserver::Position::character, lspserver::Position::line, and lspLength().

    + +
    +
    + +

    ◆ operator<() [1/2]

    + +
    +
    + + + + + + + + + + + +
    bool lspserver::operator< (const CompletionItem & L,
    const CompletionItem & R )
    +
    +
    + +

    ◆ operator<() [2/2]

    + +
    +
    + + + + + + + + + + + +
    bool lspserver::operator< (const InlayHint & A,
    const InlayHint & B )
    +
    +
    + +

    ◆ operator<<() [1/17]

    + +
    +
    + + + + + + + + + + + +
    llvm::raw_ostream & lspserver::operator<< (llvm::raw_ostream & OS,
    const ASTNode & Root )
    +
    +
    + +

    ◆ operator<<() [2/17]

    + +
    +
    + + + + + + + + + + + +
    llvm::raw_ostream & lspserver::operator<< (llvm::raw_ostream & O,
    const CompletionItem & I )
    +
    + +

    Definition at line 993 of file lspserver/src/Protocol.cpp.

    + +

    References lspserver::CompletionItem::label, and toJSON().

    + +
    +
    + +

    ◆ operator<<() [3/17]

    + +
    +
    + + + + + + + + + + + +
    llvm::raw_ostream & lspserver::operator<< (llvm::raw_ostream & OS,
    const Diagnostic & D )
    +
    +
    + +

    ◆ operator<<() [4/17]

    + +
    +
    + + + + + + + + + + + +
    llvm::raw_ostream & lspserver::operator<< (llvm::raw_ostream & O,
    const DocumentHighlight & V )
    +
    +
    + +

    ◆ operator<<() [5/17]

    + +
    +
    + + + + + + + + + + + +
    llvm::raw_ostream & lspserver::operator<< (llvm::raw_ostream & OS,
    const Location & L )
    +
    + +

    Definition at line 157 of file lspserver/src/Protocol.cpp.

    + +

    References lspserver::Location::range, and lspserver::Location::uri.

    + +
    +
    + +

    ◆ operator<<() [6/17]

    + +
    +
    + + + + + + + + + + + +
    llvm::raw_ostream & lspserver::operator<< (llvm::raw_ostream & OS,
    const Position & P )
    +
    + +

    Definition at line 130 of file lspserver/src/Protocol.cpp.

    + +

    References lspserver::Position::character, and lspserver::Position::line.

    + +
    +
    + +

    ◆ operator<<() [7/17]

    + +
    +
    + + + + + + + + + + + +
    llvm::raw_ostream & lspserver::operator<< (llvm::raw_ostream & OS,
    const Range & R )
    +
    + +

    Definition at line 146 of file lspserver/src/Protocol.cpp.

    + +

    References lspserver::Range::end, and lspserver::Range::start.

    + +
    +
    + +

    ◆ operator<<() [8/17]

    + +
    +
    + + + + + + + + + + + +
    llvm::raw_ostream & lspserver::operator<< (llvm::raw_ostream & OS,
    const ReferenceLocation & L )
    +
    +
    + +

    ◆ operator<<() [9/17]

    + +
    +
    + + + + + + + + + + + +
    llvm::raw_ostream & lspserver::operator<< (llvm::raw_ostream & O,
    const SignatureInformation & I )
    +
    + +

    Definition at line 1035 of file lspserver/src/Protocol.cpp.

    + +

    References lspserver::SignatureInformation::label, and toJSON().

    + +
    +
    + +

    ◆ operator<<() [10/17]

    + +
    +
    + + + + + + + + + + + +
    llvm::raw_ostream & lspserver::operator<< (llvm::raw_ostream & O,
    const SymbolInformation & SI )
    +
    +
    + +

    ◆ operator<<() [11/17]

    + +
    +
    + + + + + + + + + + + +
    llvm::raw_ostream & lspserver::operator<< (llvm::raw_ostream & OS,
    const TextEdit & TE )
    +
    + +

    Definition at line 228 of file lspserver/src/Protocol.cpp.

    + +

    References lspserver::TextEdit::newText, and lspserver::TextEdit::range.

    + +
    +
    + +

    ◆ operator<<() [12/17]

    + +
    +
    + + + + + + + + + + + +
    llvm::raw_ostream & lspserver::operator<< (llvm::raw_ostream & O,
    const TypeHierarchyItem & I )
    +
    + +

    Definition at line 1201 of file lspserver/src/Protocol.cpp.

    + +

    References lspserver::TypeHierarchyItem::name, and toJSON().

    + +
    +
    + +

    ◆ operator<<() [13/17]

    + +
    +
    + + + + + + + + + + + +
    llvm::raw_ostream & lspserver::operator<< (llvm::raw_ostream & OS,
    InlayHintKind Kind )
    +
    + +

    Definition at line 1355 of file lspserver/src/Protocol.cpp.

    + +

    References Designator, Parameter, and Type.

    + +
    +
    + +

    ◆ operator<<() [14/17]

    + +
    +
    + + + + + + + + + + + +
    llvm::raw_ostream & lspserver::operator<< (llvm::raw_ostream & OS,
    OffsetEncoding Enc )
    +
    + +

    Definition at line 1396 of file lspserver/src/Protocol.cpp.

    + +
    +
    + +

    ◆ operator<<() [15/17]

    + +
    +
    + + + + + + + + + + + +
    llvm::raw_ostream & lspserver::operator<< (llvm::raw_ostream & O,
    const DocumentSymbol & S )
    +
    + +

    Definition at line 779 of file lspserver/src/Protocol.cpp.

    + +

    References lspserver::DocumentSymbol::name, and toJSON().

    + +
    +
    + +

    ◆ operator<<() [16/17]

    + +
    +
    + + + + + + + + + + + +
    llvm::raw_ostream & lspserver::operator<< (llvm::raw_ostream & OS,
    const URIForFile & U )
    +
    + +

    Definition at line 90 of file lspserver/src/Protocol.cpp.

    + +

    References lspserver::URIForFile::uri().

    + +
    +
    + +

    ◆ operator<<() [17/17]

    + +
    +
    + + + + + + + + + + + +
    llvm::raw_ostream & lspserver::operator<< (llvm::raw_ostream & OS,
    MarkupKind K )
    +
    + +

    Definition at line 896 of file lspserver/src/Protocol.cpp.

    + +
    +
    + +

    ◆ operator==() [1/3]

    + +
    +
    + + + + + + + + + + + +
    bool lspserver::operator== (const InlayHint & A,
    const InlayHint & B )
    +
    +
    + +

    ◆ operator==() [2/3]

    + + + +

    ◆ operator==() [3/3]

    + +
    +
    + + + + + +
    + + + + + + + + + + + +
    bool lspserver::operator== (const TextEdit & L,
    const TextEdit & R )
    +
    +inline
    +
    +
    + +

    ◆ parseParam()

    + +
    +
    +
    +template<typename T >
    + + + + + + + + + + + + + + + + +
    std::enable_if_t< std::is_default_constructible_v< T >, llvm::Expected< T > > lspserver::parseParam (const llvm::json::Value & Raw,
    llvm::StringRef PayloadName,
    llvm::StringRef PayloadKind )
    +
    + +

    Definition at line 59 of file LSPBinder.h.

    + +
    +
    + +

    ◆ parseParamWithDefault()

    + +
    +
    +
    +template<typename T >
    + + + + + + + + + + + + + + + + + + + + + +
    llvm::Expected< T > lspserver::parseParamWithDefault (const llvm::json::Value & Raw,
    llvm::StringRef PayloadName,
    llvm::StringRef PayloadKind,
    T Default )
    +
    + +

    Definition at line 67 of file LSPBinder.h.

    + +
    +
    + +

    ◆ pathEqual()

    + +
    +
    + + + + + + + + + + + +
    bool lspserver::pathEqual (PathRef ,
    PathRef  )
    +
    + +
    +
    + +

    ◆ pathStartsWith()

    + +
    +
    + + + + + + + + + + + + + + + + +
    bool lspserver::pathStartsWith (PathRef Ancestor,
    PathRef Path,
    llvm::sys::path::Style Style = llvm::sys::path::Style::native )
    +
    +

    Checks if Ancestor is a proper ancestor of Path. This is just a smarter lexical prefix match, e.g: foo/bar/baz doesn't start with foo/./bar. Both Ancestor and Path must be absolute.

    + +
    +
    + +

    ◆ positionToOffset()

    + +
    +
    + + + + + + + + + + + + + + + + +
    llvm::Expected< size_t > lspserver::positionToOffset (llvm::StringRef Code,
    Position P,
    bool AllowColumnsBeyondLineLength = true )
    +
    +

    Turn a [line, column] pair into an offset in Code.

    +

    If P.character exceeds the line length, returns the offset at end-of-line. (If !AllowColumnsBeyondLineLength, then returns an error instead). If the line number is out of range, returns an error.

    +

    The returned value is in the range [0, Code.size()].

    + +

    Definition at line 115 of file SourceCode.cpp.

    + +

    References lspserver::Position::character, error(), and lspserver::Position::line.

    + +

    Referenced by applyChange().

    + +
    +
    + +

    ◆ readLine()

    + +
    +
    + + + + + + + + + + + + + + + + +
    bool lspserver::readLine (int fd,
    const std::atomic< bool > & Close,
    llvm::SmallString< 128 > & Line )
    +
    +
    + +

    ◆ toJSON() [1/58]

    + +
    +
    + + + + + + + +
    llvm::json::Value lspserver::toJSON (const ApplyWorkspaceEditParams & Params)
    +
    + +

    Definition at line 830 of file lspserver/src/Protocol.cpp.

    + +

    References lspserver::ApplyWorkspaceEditParams::edit.

    + +
    +
    + +

    ◆ toJSON() [2/58]

    + +
    +
    + + + + + + + +
    llvm::json::Value lspserver::toJSON (const ASTNode & N)
    +
    +
    + +

    ◆ toJSON() [3/58]

    + +
    +
    + + + + + + + +
    llvm::json::Value lspserver::toJSON (const CallHierarchyIncomingCall & C)
    +
    +
    + +

    ◆ toJSON() [4/58]

    + + + +

    ◆ toJSON() [5/58]

    + +
    +
    + + + + + + + +
    llvm::json::Value lspserver::toJSON (const CallHierarchyOutgoingCall & C)
    +
    +
    + +

    ◆ toJSON() [6/58]

    + +
    +
    + + + + + + + +
    llvm::json::Value lspserver::toJSON (const ChangeAnnotation & CA)
    +
    +
    + +

    ◆ toJSON() [7/58]

    + + + +

    ◆ toJSON() [8/58]

    + +
    +
    + + + + + + + +
    llvm::json::Value lspserver::toJSON (const CodeDescription & D)
    +
    + +

    Definition at line 604 of file lspserver/src/Protocol.cpp.

    + +

    References lspserver::CodeDescription::href.

    + +
    +
    + +

    ◆ toJSON() [9/58]

    + +
    +
    + + + + + + + +
    llvm::json::Value lspserver::toJSON (const Command & C)
    +
    +
    + +

    ◆ toJSON() [10/58]

    + + + +

    ◆ toJSON() [11/58]

    + +
    +
    + + + + + + + +
    llvm::json::Value lspserver::toJSON (const CompletionList & L)
    +
    +
    + +

    ◆ toJSON() [12/58]

    + +
    +
    + + + + + + + +
    llvm::json::Value lspserver::toJSON (const ConfigurationItem & N)
    +
    +
    + +

    ◆ toJSON() [13/58]

    + +
    +
    + + + + + + + +
    llvm::json::Value lspserver::toJSON (const ConfigurationParams & N)
    +
    + +

    Definition at line 1497 of file lspserver/src/Protocol.cpp.

    + +

    References lspserver::ConfigurationParams::items.

    + +
    +
    + +

    ◆ toJSON() [14/58]

    + + + +

    ◆ toJSON() [15/58]

    + +
    +
    + + + + + + + +
    llvm::json::Value lspserver::toJSON (const DiagnosticRelatedInformation & DRI)
    +
    +
    + +

    ◆ toJSON() [16/58]

    + +
    +
    + + + + + + + +
    llvm::json::Value lspserver::toJSON (const DocumentHighlight & DH)
    +
    +
    + +

    ◆ toJSON() [17/58]

    + +
    +
    + + + + + + + +
    llvm::json::Value lspserver::toJSON (const DocumentLink & DocumentLink)
    +
    +
    + +

    ◆ toJSON() [18/58]

    + + + +

    ◆ toJSON() [19/58]

    + +
    +
    + + + + + + + +
    llvm::json::Value lspserver::toJSON (const FileStatus & FStatus)
    +
    + +

    Definition at line 1067 of file lspserver/src/Protocol.cpp.

    + +

    References lspserver::FileStatus::state, and lspserver::FileStatus::uri.

    + +
    +
    + +

    ◆ toJSON() [20/58]

    + +
    +
    + + + + + + + +
    llvm::json::Value lspserver::toJSON (const FoldingRange & Range)
    +
    + +

    Definition at line 1438 of file lspserver/src/Protocol.cpp.

    + +
    +
    + +

    ◆ toJSON() [21/58]

    + +
    +
    + + + + + + + +
    llvm::json::Value lspserver::toJSON (const Hover & H)
    +
    + +

    Definition at line 910 of file lspserver/src/Protocol.cpp.

    + +

    References lspserver::Hover::contents, lspserver::Hover::range, and toJSON().

    + +
    +
    + +

    ◆ toJSON() [22/58]

    + +
    +
    + + + + + + + +
    llvm::json::Value lspserver::toJSON (const InactiveRegionsParams & InactiveRegions)
    +
    +
    + +

    ◆ toJSON() [23/58]

    + +
    +
    + + + + + + + +
    llvm::json::Value lspserver::toJSON (const InlayHint & H)
    +
    +
    + +

    ◆ toJSON() [24/58]

    + +
    +
    + + + + + + + +
    llvm::json::Value lspserver::toJSON (const InlayHintKind & Kind)
    +
    + +

    Definition at line 1324 of file lspserver/src/Protocol.cpp.

    + +

    References Designator, Parameter, and Type.

    + +
    +
    + +

    ◆ toJSON() [25/58]

    + +
    +
    + + + + + + + +
    llvm::json::Value lspserver::toJSON (const Location & P)
    +
    + +

    Definition at line 150 of file lspserver/src/Protocol.cpp.

    + +

    References lspserver::Location::range, and lspserver::Location::uri.

    + +
    +
    + +

    ◆ toJSON() [26/58]

    + +
    +
    + + + + + + + +
    llvm::json::Value lspserver::toJSON (const MarkupContent & MC)
    +
    +
    + +

    ◆ toJSON() [27/58]

    + +
    +
    + + + + + + + +
    llvm::json::Value lspserver::toJSON (const MessageType & R)
    +
    + +

    Definition at line 504 of file lspserver/src/Protocol.cpp.

    + +
    +
    + +

    ◆ toJSON() [28/58]

    + +
    +
    + + + + + +
    + + + + + + + +
    llvm::json::Value lspserver::toJSON (const NoParams & )
    +
    +inline
    +
    + +

    Definition at line 298 of file lspserver/include/lspserver/Protocol.h.

    + +
    +
    + +

    ◆ toJSON() [29/58]

    + +
    +
    + + + + + + + +
    llvm::json::Value lspserver::toJSON (const OffsetEncoding & OE)
    +
    + +

    Definition at line 1383 of file lspserver/src/Protocol.cpp.

    + +
    +
    + +

    ◆ toJSON() [30/58]

    + +
    +
    + + + + + + + +
    llvm::json::Value lspserver::toJSON (const ParameterInformation & PI)
    +
    +
    + +

    ◆ toJSON() [31/58]

    + +
    +
    + + + + + + + +
    llvm::json::Value lspserver::toJSON (const Position & P)
    +
    + +

    Definition at line 123 of file lspserver/src/Protocol.cpp.

    + +

    References lspserver::Position::character, and lspserver::Position::line.

    + +
    +
    + +

    ◆ toJSON() [32/58]

    + +
    +
    +
    +template<typename T >
    + + + + + + + +
    llvm::json::Value lspserver::toJSON (const ProgressParams< T > & P)
    +
    +
    + +

    ◆ toJSON() [33/58]

    + +
    +
    + + + + + + + +
    llvm::json::Value lspserver::toJSON (const PublishDiagnosticsParams & PDP)
    +
    +
    + +

    ◆ toJSON() [34/58]

    + +
    +
    + + + + + + + +
    llvm::json::Value lspserver::toJSON (const Range & P)
    +
    + +

    Definition at line 139 of file lspserver/src/Protocol.cpp.

    + +

    References lspserver::Range::end, and lspserver::Range::start.

    + +
    +
    + +

    ◆ toJSON() [35/58]

    + +
    +
    + + + + + + + +
    llvm::json::Value lspserver::toJSON (const ReferenceLocation & P)
    +
    +
    + +

    ◆ toJSON() [36/58]

    + +
    +
    + + + + + + + +
    llvm::json::Value lspserver::toJSON (const SelectionRange & Out)
    +
    +
    + +

    ◆ toJSON() [37/58]

    + +
    +
    + + + + + + + +
    llvm::json::Value lspserver::toJSON (const SemanticTokens & Tokens)
    +
    +
    + +

    ◆ toJSON() [38/58]

    + +
    +
    + + + + + + + +
    llvm::json::Value lspserver::toJSON (const SemanticTokensEdit & Edit)
    +
    +
    + +

    ◆ toJSON() [39/58]

    + +
    +
    + + + + + + + +
    llvm::json::Value lspserver::toJSON (const SemanticTokensOrDelta & TE)
    +
    +
    + +

    ◆ toJSON() [40/58]

    + +
    +
    + + + + + + + +
    llvm::json::Value lspserver::toJSON (const ShowMessageParams & R)
    +
    +
    + +

    ◆ toJSON() [41/58]

    + +
    +
    + + + + + + + +
    llvm::json::Value lspserver::toJSON (const SignatureHelp & SH)
    +
    +
    + +

    ◆ toJSON() [42/58]

    + + + +

    ◆ toJSON() [43/58]

    + + + +

    ◆ toJSON() [44/58]

    + +
    +
    + + + + + + + +
    llvm::json::Value lspserver::toJSON (const TextDocumentEdit & P)
    +
    +
    + +

    ◆ toJSON() [45/58]

    + +
    +
    + + + + + + + +
    llvm::json::Value lspserver::toJSON (const TextDocumentIdentifier & R)
    +
    + +

    Definition at line 94 of file lspserver/src/Protocol.cpp.

    + +

    References lspserver::TextDocumentIdentifier::uri.

    + +
    +
    + +

    ◆ toJSON() [46/58]

    + +
    +
    + + + + + + + +
    llvm::json::Value lspserver::toJSON (const TextEdit & P)
    +
    +
    + +

    ◆ toJSON() [47/58]

    + +
    +
    + + + + + + + +
    llvm::json::Value lspserver::toJSON (const TweakArgs & A)
    +
    +
    + +

    ◆ toJSON() [48/58]

    + + + +

    ◆ toJSON() [49/58]

    + +
    +
    + + + + + + + +
    llvm::json::Value lspserver::toJSON (const TypeHierarchyItem::ResolveParams & RP)
    +
    +
    + +

    ◆ toJSON() [50/58]

    + +
    +
    + + + + + + + +
    llvm::json::Value lspserver::toJSON (const URIForFile & U)
    +
    + +

    Serialize/deserialize URIForFile to/from a string URI.

    + +

    Definition at line 88 of file lspserver/src/Protocol.cpp.

    + +

    References lspserver::URIForFile::uri().

    + +

    Referenced by operator<<(), operator<<(), operator<<(), operator<<(), operator<<(), toJSON(), toJSON(), toJSON(), toJSON(), and toJSON().

    + +
    +
    + +

    ◆ toJSON() [51/58]

    + +
    +
    + + + + + + + +
    llvm::json::Value lspserver::toJSON (const VersionedTextDocumentIdentifier & R)
    +
    + +

    Definition at line 104 of file lspserver/src/Protocol.cpp.

    + +

    References toJSON(), and lspserver::VersionedTextDocumentIdentifier::version.

    + +
    +
    + +

    ◆ toJSON() [52/58]

    + +
    +
    + + + + + + + +
    llvm::json::Value lspserver::toJSON (const WorkDoneProgressBegin & P)
    +
    +
    + +

    ◆ toJSON() [53/58]

    + +
    +
    + + + + + + + +
    llvm::json::Value lspserver::toJSON (const WorkDoneProgressCreateParams & P)
    +
    + +

    Definition at line 466 of file lspserver/src/Protocol.cpp.

    + +

    References lspserver::WorkDoneProgressCreateParams::token.

    + +
    +
    + +

    ◆ toJSON() [54/58]

    + +
    +
    + + + + + + + +
    llvm::json::Value lspserver::toJSON (const WorkDoneProgressEnd & P)
    +
    + +

    Definition at line 496 of file lspserver/src/Protocol.cpp.

    + +

    References lspserver::WorkDoneProgressEnd::message.

    + +
    +
    + +

    ◆ toJSON() [55/58]

    + +
    +
    + + + + + + + +
    llvm::json::Value lspserver::toJSON (const WorkDoneProgressReport & P)
    +
    +
    + +

    ◆ toJSON() [56/58]

    + +
    +
    + + + + + + + +
    llvm::json::Value lspserver::toJSON (const WorkspaceEdit & WE)
    +
    +
    + +

    ◆ toJSON() [57/58]

    + +
    +
    + + + + + + + +
    llvm::json::Value lspserver::toJSON (DiagnosticTag Tag)
    +
    + +

    Definition at line 602 of file lspserver/src/Protocol.cpp.

    + +
    +
    + +

    ◆ toJSON() [58/58]

    + +
    +
    + + + + + + + +
    llvm::json::Value lspserver::toJSON (SymbolTag Tag)
    +
    + +

    Definition at line 1266 of file lspserver/src/Protocol.cpp.

    + +
    +
    + +

    ◆ unionRanges()

    + +
    +
    + + + + + + + + + + + +
    void lspserver::unionRanges (Range & A,
    Range B )
    +
    + +
    +
    + +

    ◆ vlog()

    + +
    +
    +
    +template<typename... Ts>
    + + + + + + + + + + + +
    void lspserver::vlog (const char * Fmt,
    Ts &&... Vals )
    +
    +
    +

    Variable Documentation

    + +

    ◆ CompletionItemKindMax

    + +
    +
    + + + + + +
    + + + + +
    constexpr auto lspserver::CompletionItemKindMax
    +
    +constexpr
    +
    +Initial value:
    =
    +
    static_cast<size_t>(CompletionItemKind::TypeParameter)
    +
    +

    Definition at line 351 of file lspserver/include/lspserver/Protocol.h.

    + +
    +
    + +

    ◆ CompletionItemKindMin

    + +
    +
    + + + + + +
    + + + + +
    constexpr auto lspserver::CompletionItemKindMin
    +
    +constexpr
    +
    +Initial value:
    =
    +
    static_cast<size_t>(CompletionItemKind::Text)
    +
    +

    Definition at line 349 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by adjustKindToCapability().

    + +
    +
    + +

    ◆ kCurrentOffsetEncoding

    + +
    +
    + + + + + +
    + + + + +
    Key<OffsetEncoding> lspserver::kCurrentOffsetEncoding
    +
    +extern
    +
    + +
    +
    + +

    ◆ SemanticTokenEncodingSize

    + +
    +
    + + + + + +
    + + + + +
    constexpr unsigned lspserver::SemanticTokenEncodingSize = 5
    +
    +constexpr
    +
    + +

    Definition at line 1074 of file lspserver/src/Protocol.cpp.

    + +

    Referenced by toJSON().

    + +
    +
    + +

    ◆ SymbolKindMax

    + +
    +
    + + + + + +
    + + + + +
    constexpr auto lspserver::SymbolKindMax = static_cast<size_t>(SymbolKind::TypeParameter)
    +
    +constexpr
    +
    + +

    Definition at line 391 of file lspserver/include/lspserver/Protocol.h.

    + +
    +
    + +

    ◆ SymbolKindMin

    + +
    +
    + + + + + +
    + + + + +
    constexpr auto lspserver::SymbolKindMin = static_cast<size_t>(SymbolKind::File)
    +
    +constexpr
    +
    + +

    Definition at line 390 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by adjustKindToCapability().

    + +
    +
    +
    + + + + diff --git a/namespacelspserver_1_1detail.html b/namespacelspserver_1_1detail.html new file mode 100644 index 000000000..b34280d9e --- /dev/null +++ b/namespacelspserver_1_1detail.html @@ -0,0 +1,354 @@ + + + + + + + +nixd: lspserver::detail Namespace Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    lspserver::detail Namespace Reference
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Functions

    const char * debugType (const char *Filename)
     
    void logImpl (Logger::Level, const char *Fmt, const llvm::formatv_object_base &)
     
    template<typename T >
    T && wrap (T &&V)
     
    decltype(fmt_consume(llvm::Error::success())) wrap (llvm::Error &&V)
     
    template<typename... Ts>
    void log (Logger::Level L, const char *Fmt, Ts &&...Vals)
     
    llvm::Error error (std::error_code, std::string &&)
     
    template<typename T >
    std::enable_if_t< std::is_default_constructible_v< T >, T > valueOrDefault (const std::optional< T > &OptionalDefault)
     
    template<typename T >
    std::enable_if_t<!std::is_default_constructible_v< T >, T > valueOrUninitialized (const std::optional< T > &OptionalDefault)
     
    template<typename T >
    llvm::Expected< T > parseParamWithOptionalDefault (const llvm::json::Value &Raw, llvm::StringRef PayloadName, llvm::StringRef PayloadKind, std::optional< T > OptionalDefault={})
     
    +

    Function Documentation

    + +

    ◆ debugType()

    + +
    +
    + + + + + + + +
    const char * lspserver::detail::debugType (const char * Filename)
    +
    + +

    Definition at line 48 of file Logger.cpp.

    + +
    +
    + +

    ◆ error()

    + +
    +
    + + + + + + + + + + + +
    llvm::Error lspserver::detail::error (std::error_code EC,
    std::string && Msg )
    +
    + +

    Definition at line 87 of file Logger.cpp.

    + +

    Referenced by lspserver::error(), lspserver::error(), lspserver::error(), and lspserver::error().

    + +
    +
    + +

    ◆ log()

    + +
    +
    +
    +template<typename... Ts>
    + + + + + + + + + + + + + + + + +
    void lspserver::detail::log (Logger::Level L,
    const char * Fmt,
    Ts &&... Vals )
    +
    + +

    Definition at line 38 of file Logger.h.

    + +

    References logImpl(), and wrap().

    + +

    Referenced by lspserver::elog(), lspserver::log(), and lspserver::vlog().

    + +
    +
    + +

    ◆ logImpl()

    + +
    +
    + + + + + + + + + + + + + + + + +
    void lspserver::detail::logImpl (Logger::Level Level,
    const char * Fmt,
    const llvm::formatv_object_base & Message )
    +
    + +

    Definition at line 37 of file Logger.cpp.

    + +

    References lspserver::Logger::log().

    + +

    Referenced by log().

    + +
    +
    + +

    ◆ parseParamWithOptionalDefault()

    + +
    +
    +
    +template<typename T >
    + + + + + + + + + + + + + + + + + + + + + +
    llvm::Expected< T > lspserver::detail::parseParamWithOptionalDefault (const llvm::json::Value & Raw,
    llvm::StringRef PayloadName,
    llvm::StringRef PayloadKind,
    std::optional< T > OptionalDefault = {} )
    +
    + +

    Definition at line 33 of file LSPBinder.h.

    + +
    +
    + +

    ◆ valueOrDefault()

    + +
    +
    +
    +template<typename T >
    + + + + + + + +
    std::enable_if_t< std::is_default_constructible_v< T >, T > lspserver::detail::valueOrDefault (const std::optional< T > & OptionalDefault)
    +
    + +

    Definition at line 18 of file LSPBinder.h.

    + +
    +
    + +

    ◆ valueOrUninitialized()

    + +
    +
    +
    +template<typename T >
    + + + + + + + +
    std::enable_if_t<!std::is_default_constructible_v< T >, T > lspserver::detail::valueOrUninitialized (const std::optional< T > & OptionalDefault)
    +
    + +

    Definition at line 28 of file LSPBinder.h.

    + +
    +
    + +

    ◆ wrap() [1/2]

    + +
    +
    + + + + + +
    + + + + + + + +
    decltype(fmt_consume(llvm::Error::success())) lspserver::detail::wrap (llvm::Error && V)
    +
    +inline
    +
    + +

    Definition at line 34 of file Logger.h.

    + +
    +
    + +

    ◆ wrap() [2/2]

    + +
    +
    +
    +template<typename T >
    + + + + + + + +
    T && lspserver::detail::wrap (T && V)
    +
    + +

    Definition at line 33 of file Logger.h.

    + +

    Referenced by lspserver::error(), lspserver::error(), and log().

    + +
    +
    +
    + + + + diff --git a/namespacemembers.html b/namespacemembers.html new file mode 100644 index 000000000..5d79b1346 --- /dev/null +++ b/namespacemembers.html @@ -0,0 +1,88 @@ + + + + + + + +nixd: Namespace Members + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    Here is a list of all namespace members with links to the namespace documentation for each member:
    + +

    - a -

    +
    + + + + diff --git a/namespacemembers_b.html b/namespacemembers_b.html new file mode 100644 index 000000000..c1ad8138d --- /dev/null +++ b/namespacemembers_b.html @@ -0,0 +1,86 @@ + + + + + + + +nixd: Namespace Members + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    Here is a list of all namespace members with links to the namespace documentation for each member:
    + +

    - b -

    +
    + + + + diff --git a/namespacemembers_c.html b/namespacemembers_c.html new file mode 100644 index 000000000..b9f28b071 --- /dev/null +++ b/namespacemembers_c.html @@ -0,0 +1,94 @@ + + + + + + + +nixd: Namespace Members + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    Here is a list of all namespace members with links to the namespace documentation for each member:
    + +

    - c -

    +
    + + + + diff --git a/namespacemembers_d.html b/namespacemembers_d.html new file mode 100644 index 000000000..49b0db286 --- /dev/null +++ b/namespacemembers_d.html @@ -0,0 +1,94 @@ + + + + + + + +nixd: Namespace Members + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    Here is a list of all namespace members with links to the namespace documentation for each member:
    + +

    - d -

    +
    + + + + diff --git a/namespacemembers_e.html b/namespacemembers_e.html new file mode 100644 index 000000000..f5e035591 --- /dev/null +++ b/namespacemembers_e.html @@ -0,0 +1,119 @@ + + + + + + + +nixd: Namespace Members + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    Here is a list of all namespace members with links to the namespace documentation for each member:
    + +

    - e -

    +
    + + + + diff --git a/namespacemembers_enum.html b/namespacemembers_enum.html new file mode 100644 index 000000000..9db19a214 --- /dev/null +++ b/namespacemembers_enum.html @@ -0,0 +1,103 @@ + + + + + + + +nixd: Namespace Members + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    Here is a list of all namespace enums with links to the namespace documentation for each enum:
    +
    + + + + diff --git a/namespacemembers_eval.html b/namespacemembers_eval.html new file mode 100644 index 000000000..1dc0c33f8 --- /dev/null +++ b/namespacemembers_eval.html @@ -0,0 +1,110 @@ + + + + + + + +nixd: Namespace Members + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    Here is a list of all namespace enum values with links to the namespace documentation for each enum value:
    +
    + + + + diff --git a/namespacemembers_f.html b/namespacemembers_f.html new file mode 100644 index 000000000..6c613fc1d --- /dev/null +++ b/namespacemembers_f.html @@ -0,0 +1,88 @@ + + + + + + + +nixd: Namespace Members + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    Here is a list of all namespace members with links to the namespace documentation for each member:
    + +

    - f -

    +
    + + + + diff --git a/namespacemembers_func.html b/namespacemembers_func.html new file mode 100644 index 000000000..c41dcdd84 --- /dev/null +++ b/namespacemembers_func.html @@ -0,0 +1,88 @@ + + + + + + + +nixd: Namespace Members + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    Here is a list of all namespace functions with links to the namespace documentation for each function:
    + +

    - a -

    +
    + + + + diff --git a/namespacemembers_func_b.html b/namespacemembers_func_b.html new file mode 100644 index 000000000..d4d9aa440 --- /dev/null +++ b/namespacemembers_func_b.html @@ -0,0 +1,85 @@ + + + + + + + +nixd: Namespace Members + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    Here is a list of all namespace functions with links to the namespace documentation for each function:
    + +

    - b -

      +
    • begin() : nixt
    • +
    +
    + + + + diff --git a/namespacemembers_func_c.html b/namespacemembers_func_c.html new file mode 100644 index 000000000..d0b4c442d --- /dev/null +++ b/namespacemembers_func_c.html @@ -0,0 +1,87 @@ + + + + + + + +nixd: Namespace Members + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    Here is a list of all namespace functions with links to the namespace documentation for each function:
    + +

    - c -

    +
    + + + + diff --git a/namespacemembers_func_d.html b/namespacemembers_func_d.html new file mode 100644 index 000000000..1503b58d0 --- /dev/null +++ b/namespacemembers_func_d.html @@ -0,0 +1,90 @@ + + + + + + + +nixd: Namespace Members + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    Here is a list of all namespace functions with links to the namespace documentation for each function:
    + +

    - d -

    +
    + + + + diff --git a/namespacemembers_func_e.html b/namespacemembers_func_e.html new file mode 100644 index 000000000..824a085a8 --- /dev/null +++ b/namespacemembers_func_e.html @@ -0,0 +1,90 @@ + + + + + + + +nixd: Namespace Members + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    Here is a list of all namespace functions with links to the namespace documentation for each function:
    + +

    - e -

    +
    + + + + diff --git a/namespacemembers_func_f.html b/namespacemembers_func_f.html new file mode 100644 index 000000000..51d66a0b7 --- /dev/null +++ b/namespacemembers_func_f.html @@ -0,0 +1,86 @@ + + + + + + + +nixd: Namespace Members + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    Here is a list of all namespace functions with links to the namespace documentation for each function:
    + +

    - f -

    +
    + + + + diff --git a/namespacemembers_func_g.html b/namespacemembers_func_g.html new file mode 100644 index 000000000..087c99b44 --- /dev/null +++ b/namespacemembers_func_g.html @@ -0,0 +1,87 @@ + + + + + + + +nixd: Namespace Members + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    Here is a list of all namespace functions with links to the namespace documentation for each function:
    + +

    - g -

      +
    • getDeserializeContext() : nixt
    • +
    • getFileParseCache() : nixt
    • +
    • getLSPSeverity() : nixd
    • +
    +
    + + + + diff --git a/namespacemembers_func_i.html b/namespacemembers_func_i.html new file mode 100644 index 000000000..572b66ccd --- /dev/null +++ b/namespacemembers_func_i.html @@ -0,0 +1,85 @@ + + + + + + + +nixd: Namespace Members + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    Here is a list of all namespace functions with links to the namespace documentation for each function:
    + +

    - i -

      +
    • initEval() : nixt
    • +
    +
    + + + + diff --git a/namespacemembers_func_k.html b/namespacemembers_func_k.html new file mode 100644 index 000000000..79487c4bc --- /dev/null +++ b/namespacemembers_func_k.html @@ -0,0 +1,85 @@ + + + + + + + +nixd: Namespace Members + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    Here is a list of all namespace functions with links to the namespace documentation for each function:
    + +

    - k -

      +
    • kindOf() : nixt
    • +
    +
    + + + + diff --git a/namespacemembers_func_l.html b/namespacemembers_func_l.html new file mode 100644 index 000000000..52749ae80 --- /dev/null +++ b/namespacemembers_func_l.html @@ -0,0 +1,88 @@ + + + + + + + +nixd: Namespace Members + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    Here is a list of all namespace functions with links to the namespace documentation for each function:
    + +

    - l -

    +
    + + + + diff --git a/namespacemembers_func_m.html b/namespacemembers_func_m.html new file mode 100644 index 000000000..538f453b8 --- /dev/null +++ b/namespacemembers_func_m.html @@ -0,0 +1,85 @@ + + + + + + + +nixd: Namespace Members + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    Here is a list of all namespace functions with links to the namespace documentation for each function:
    + +

    - m -

    +
    + + + + diff --git a/namespacemembers_func_n.html b/namespacemembers_func_n.html new file mode 100644 index 000000000..9460eee85 --- /dev/null +++ b/namespacemembers_func_n.html @@ -0,0 +1,85 @@ + + + + + + + +nixd: Namespace Members + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    Here is a list of all namespace functions with links to the namespace documentation for each function:
    + +

    - n -

      +
    • nameOf() : nixt
    • +
    +
    + + + + diff --git a/namespacemembers_func_o.html b/namespacemembers_func_o.html new file mode 100644 index 000000000..6fe93f6ed --- /dev/null +++ b/namespacemembers_func_o.html @@ -0,0 +1,88 @@ + + + + + + + +nixd: Namespace Members + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    Here is a list of all namespace functions with links to the namespace documentation for each function:
    + +

    - o -

    +
    + + + + diff --git a/namespacemembers_func_p.html b/namespacemembers_func_p.html new file mode 100644 index 000000000..ade8de28c --- /dev/null +++ b/namespacemembers_func_p.html @@ -0,0 +1,92 @@ + + + + + + + +nixd: Namespace Members + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    Here is a list of all namespace functions with links to the namespace documentation for each function:
    + +

    - p -

    +
    + + + + diff --git a/namespacemembers_func_r.html b/namespacemembers_func_r.html new file mode 100644 index 000000000..f23fb9d3f --- /dev/null +++ b/namespacemembers_func_r.html @@ -0,0 +1,87 @@ + + + + + + + +nixd: Namespace Members + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    Here is a list of all namespace functions with links to the namespace documentation for each function:
    + +

    - r -

      +
    • readBytecode() : bc, nixbc
    • +
    • readBytecode< std::string >() : bc
    • +
    • readLine() : lspserver
    • +
    +
    + + + + diff --git a/namespacemembers_func_s.html b/namespacemembers_func_s.html new file mode 100644 index 000000000..a88b1c00c --- /dev/null +++ b/namespacemembers_func_s.html @@ -0,0 +1,85 @@ + + + + + + + +nixd: Namespace Members + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    Here is a list of all namespace functions with links to the namespace documentation for each function:
    + +

    - s -

    +
    + + + + diff --git a/namespacemembers_func_t.html b/namespacemembers_func_t.html new file mode 100644 index 000000000..e920914e7 --- /dev/null +++ b/namespacemembers_func_t.html @@ -0,0 +1,89 @@ + + + + + + + +nixd: Namespace Members + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    Here is a list of all namespace functions with links to the namespace documentation for each function:
    + +

    - t -

    +
    + + + + diff --git a/namespacemembers_func_u.html b/namespacemembers_func_u.html new file mode 100644 index 000000000..fa05b5f1e --- /dev/null +++ b/namespacemembers_func_u.html @@ -0,0 +1,85 @@ + + + + + + + +nixd: Namespace Members + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    Here is a list of all namespace functions with links to the namespace documentation for each function:
    + +

    - u -

    +
    + + + + diff --git a/namespacemembers_func_v.html b/namespacemembers_func_v.html new file mode 100644 index 000000000..de221e602 --- /dev/null +++ b/namespacemembers_func_v.html @@ -0,0 +1,88 @@ + + + + + + + +nixd: Namespace Members + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    Here is a list of all namespace functions with links to the namespace documentation for each function:
    + +

    - v -

    +
    + + + + diff --git a/namespacemembers_func_w.html b/namespacemembers_func_w.html new file mode 100644 index 000000000..89e1481ec --- /dev/null +++ b/namespacemembers_func_w.html @@ -0,0 +1,86 @@ + + + + + + + +nixd: Namespace Members + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    Here is a list of all namespace functions with links to the namespace documentation for each function:
    + +

    - w -

    +
    + + + + diff --git a/namespacemembers_g.html b/namespacemembers_g.html new file mode 100644 index 000000000..7a2f62608 --- /dev/null +++ b/namespacemembers_g.html @@ -0,0 +1,87 @@ + + + + + + + +nixd: Namespace Members + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    Here is a list of all namespace members with links to the namespace documentation for each member:
    + +

    - g -

      +
    • getDeserializeContext() : nixt
    • +
    • getFileParseCache() : nixt
    • +
    • getLSPSeverity() : nixd
    • +
    +
    + + + + diff --git a/namespacemembers_i.html b/namespacemembers_i.html new file mode 100644 index 000000000..57b95a43f --- /dev/null +++ b/namespacemembers_i.html @@ -0,0 +1,88 @@ + + + + + + + +nixd: Namespace Members + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    Here is a list of all namespace members with links to the namespace documentation for each member:
    + +

    - i -

    +
    + + + + diff --git a/namespacemembers_j.html b/namespacemembers_j.html new file mode 100644 index 000000000..3412c58f1 --- /dev/null +++ b/namespacemembers_j.html @@ -0,0 +1,85 @@ + + + + + + + +nixd: Namespace Members + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    Here is a list of all namespace members with links to the namespace documentation for each member:
    + +

    - j -

    +
    + + + + diff --git a/namespacemembers_k.html b/namespacemembers_k.html new file mode 100644 index 000000000..c27108aaf --- /dev/null +++ b/namespacemembers_k.html @@ -0,0 +1,86 @@ + + + + + + + +nixd: Namespace Members + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    Here is a list of all namespace members with links to the namespace documentation for each member:
    + +

    - k -

    +
    + + + + diff --git a/namespacemembers_l.html b/namespacemembers_l.html new file mode 100644 index 000000000..7d0f3412b --- /dev/null +++ b/namespacemembers_l.html @@ -0,0 +1,90 @@ + + + + + + + +nixd: Namespace Members + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    Here is a list of all namespace members with links to the namespace documentation for each member:
    + +

    - l -

    +
    + + + + diff --git a/namespacemembers_m.html b/namespacemembers_m.html new file mode 100644 index 000000000..c930438d5 --- /dev/null +++ b/namespacemembers_m.html @@ -0,0 +1,87 @@ + + + + + + + +nixd: Namespace Members + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    Here is a list of all namespace members with links to the namespace documentation for each member:
    + +

    - m -

    +
    + + + + diff --git a/namespacemembers_n.html b/namespacemembers_n.html new file mode 100644 index 000000000..5f1b5ecca --- /dev/null +++ b/namespacemembers_n.html @@ -0,0 +1,88 @@ + + + + + + + +nixd: Namespace Members + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    Here is a list of all namespace members with links to the namespace documentation for each member:
    + +

    - n -

    +
    + + + + diff --git a/namespacemembers_o.html b/namespacemembers_o.html new file mode 100644 index 000000000..e7b79020c --- /dev/null +++ b/namespacemembers_o.html @@ -0,0 +1,89 @@ + + + + + + + +nixd: Namespace Members + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    Here is a list of all namespace members with links to the namespace documentation for each member:
    + +

    - o -

    +
    + + + + diff --git a/namespacemembers_p.html b/namespacemembers_p.html new file mode 100644 index 000000000..cfbfdaacd --- /dev/null +++ b/namespacemembers_p.html @@ -0,0 +1,96 @@ + + + + + + + +nixd: Namespace Members + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    Here is a list of all namespace members with links to the namespace documentation for each member:
    + +

    - p -

    +
    + + + + diff --git a/namespacemembers_r.html b/namespacemembers_r.html new file mode 100644 index 000000000..3a47417f9 --- /dev/null +++ b/namespacemembers_r.html @@ -0,0 +1,87 @@ + + + + + + + +nixd: Namespace Members + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    Here is a list of all namespace members with links to the namespace documentation for each member:
    + +

    - r -

      +
    • readBytecode() : bc, nixbc
    • +
    • readBytecode< std::string >() : bc
    • +
    • readLine() : lspserver
    • +
    +
    + + + + diff --git a/namespacemembers_s.html b/namespacemembers_s.html new file mode 100644 index 000000000..5ce2e3443 --- /dev/null +++ b/namespacemembers_s.html @@ -0,0 +1,91 @@ + + + + + + + +nixd: Namespace Members + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    Here is a list of all namespace members with links to the namespace documentation for each member:
    + +

    - s -

    +
    + + + + diff --git a/namespacemembers_t.html b/namespacemembers_t.html new file mode 100644 index 000000000..e2224ddab --- /dev/null +++ b/namespacemembers_t.html @@ -0,0 +1,93 @@ + + + + + + + +nixd: Namespace Members + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    Here is a list of all namespace members with links to the namespace documentation for each member:
    + +

    - t -

    +
    + + + + diff --git a/namespacemembers_type.html b/namespacemembers_type.html new file mode 100644 index 000000000..b94e619fe --- /dev/null +++ b/namespacemembers_type.html @@ -0,0 +1,100 @@ + + + + + + + +nixd: Namespace Members + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    Here is a list of all namespace typedefs with links to the namespace documentation for each typedef:
    +
    + + + + diff --git a/namespacemembers_u.html b/namespacemembers_u.html new file mode 100644 index 000000000..051b64e39 --- /dev/null +++ b/namespacemembers_u.html @@ -0,0 +1,87 @@ + + + + + + + +nixd: Namespace Members + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    Here is a list of all namespace members with links to the namespace documentation for each member:
    + +

    - u -

    +
    + + + + diff --git a/namespacemembers_v.html b/namespacemembers_v.html new file mode 100644 index 000000000..58e6b8ef3 --- /dev/null +++ b/namespacemembers_v.html @@ -0,0 +1,89 @@ + + + + + + + +nixd: Namespace Members + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    Here is a list of all namespace members with links to the namespace documentation for each member:
    + +

    - v -

    +
    + + + + diff --git a/namespacemembers_vars.html b/namespacemembers_vars.html new file mode 100644 index 000000000..da1acfc92 --- /dev/null +++ b/namespacemembers_vars.html @@ -0,0 +1,88 @@ + + + + + + + +nixd: Namespace Members + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    Here is a list of all namespace variables with links to the namespace documentation for each variable:
    +
    + + + + diff --git a/namespacemembers_w.html b/namespacemembers_w.html new file mode 100644 index 000000000..514cc9633 --- /dev/null +++ b/namespacemembers_w.html @@ -0,0 +1,86 @@ + + + + + + + +nixd: Namespace Members + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    Here is a list of all namespace members with links to the namespace documentation for each member:
    + +

    - w -

    +
    + + + + diff --git a/namespacenix.html b/namespacenix.html new file mode 100644 index 000000000..d49566cd1 --- /dev/null +++ b/namespacenix.html @@ -0,0 +1,83 @@ + + + + + + + +nixd: nix Namespace Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    +
    nix Namespace Reference
    +
    +
    +
    + + + + diff --git a/namespacenixbc.html b/namespacenixbc.html new file mode 100644 index 000000000..126a72ea6 --- /dev/null +++ b/namespacenixbc.html @@ -0,0 +1,346 @@ + + + + + + + +nixd: nixbc Namespace Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    + +
    nixbc Namespace Reference
    +
    +
    + + + + + + + + + + +

    +Classes

    struct  FileHeader
     
    struct  NodeHeader
     
    class  Origin
     
    class  OriginPath
     
    + + + + + + + +

    +Typedefs

    using NixInt = int64_t
     
    using NixFloat = double
     
    using PosInt = uint32_t
     
    + + + +

    +Enumerations

    enum  ExprKind : int32_t {
    +  EK_Assert +, EK_Attrs +, EK_Call +, EK_ConcatStrings +,
    +  EK_Float +, EK_If +, EK_Int +, EK_Lambda +,
    +  EK_Let +, EK_List +, EK_OpAnd +, EK_OpConcatLists +,
    +  EK_OpEq +, EK_OpHasAttr +, EK_OpImpl +, EK_OpNEq +,
    +  EK_OpNot +, EK_OpOr +, EK_OpUpdate +, EK_Path +,
    +  EK_Pos +, EK_Select +, EK_String +, EK_Var +,
    +  EK_With +
    + }
     
    + + + + + + + + + +

    +Functions

    void readBytecode (std::string_view &Data, Origin &Obj)
     
    void writeBytecode (std::ostream &OS, const Origin &O)
     
    void readBytecode (std::string_view &Data, OriginPath &Obj)
     
    void writeBytecode (std::ostream &OS, const OriginPath &O)
     
    +

    Typedef Documentation

    + +

    ◆ NixFloat

    + +
    +
    + + + + +
    using nixbc::NixFloat = double
    +
    + +

    Definition at line 8 of file Type.h.

    + +
    +
    + +

    ◆ NixInt

    + +
    +
    + + + + +
    using nixbc::NixInt = int64_t
    +
    + +

    Definition at line 7 of file Type.h.

    + +
    +
    + +

    ◆ PosInt

    + +
    +
    + + + + +
    using nixbc::PosInt = uint32_t
    +
    + +

    Definition at line 9 of file Type.h.

    + +
    +
    +

    Enumeration Type Documentation

    + +

    ◆ ExprKind

    + +
    +
    + + + + +
    enum nixbc::ExprKind : int32_t
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Enumerator
    EK_Assert 
    EK_Attrs 
    EK_Call 
    EK_ConcatStrings 
    EK_Float 
    EK_If 
    EK_Int 
    EK_Lambda 
    EK_Let 
    EK_List 
    EK_OpAnd 
    EK_OpConcatLists 
    EK_OpEq 
    EK_OpHasAttr 
    EK_OpImpl 
    EK_OpNEq 
    EK_OpNot 
    EK_OpOr 
    EK_OpUpdate 
    EK_Path 
    EK_Pos 
    EK_Select 
    EK_String 
    EK_Var 
    EK_With 
    + +

    Definition at line 7 of file libnixbc/include/nixbc/Nodes.h.

    + +
    +
    +

    Function Documentation

    + +

    ◆ readBytecode() [1/2]

    + +
    +
    + + + + + + + + + + + +
    void nixbc::readBytecode (std::string_view & Data,
    Origin & Obj )
    +
    + +

    Definition at line 7 of file Origin.cpp.

    + +
    +
    + +

    ◆ readBytecode() [2/2]

    + +
    +
    + + + + + + + + + + + +
    void nixbc::readBytecode (std::string_view & Data,
    OriginPath & Obj )
    +
    + +

    Definition at line 11 of file Origin.cpp.

    + +
    +
    + +

    ◆ writeBytecode() [1/2]

    + +
    +
    + + + + + + + + + + + +
    void nixbc::writeBytecode (std::ostream & OS,
    const Origin & O )
    +
    + +

    Definition at line 9 of file Origin.cpp.

    + +

    Referenced by nixf::writeBytecode(), nixf::writeBytecode(), and nixf::writeBytecode().

    + +
    +
    + +

    ◆ writeBytecode() [2/2]

    + +
    +
    + + + + + + + + + + + +
    void nixbc::writeBytecode (std::ostream & OS,
    const OriginPath & O )
    +
    + +

    Definition at line 13 of file Origin.cpp.

    + +
    +
    +
    + + + + diff --git a/namespacenixd.html b/namespacenixd.html new file mode 100644 index 000000000..8cddbde7e --- /dev/null +++ b/namespacenixd.html @@ -0,0 +1,207 @@ + + + + + + + +nixd: nixd Namespace Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    + +
    nixd Namespace Reference
    +
    +
    + + + + + + +

    +Namespaces

    namespace  rpc
     
    namespace  util
     
    + + + + + + + + + + + + +

    +Classes

    class  Controller
     
    class  EvalClient
     
    class  EvalProvider
     
    class  NixTU
     Holds analyzed information about a document. More...
     
    class  OwnedEvalClient
     
    + + + + + + + + + +

    +Functions

    int getLSPSeverity (nixf::Diagnostic::DiagnosticKind Kind)
     
    lspserver::Position toLSPPosition (const nixf::LexerCursor &P)
     
    lspserver::Range toLSPRange (const nixf::LexerCursorRange &R)
     
    llvm::SmallVector< lspserver::DiagnosticTag, 1 > toLSPTags (const std::vector< nixf::DiagnosticTag > &Tags)
     
    +

    Function Documentation

    + +

    ◆ getLSPSeverity()

    + +
    +
    + + + + + + + +
    int nixd::getLSPSeverity (nixf::Diagnostic::DiagnosticKind Kind)
    +
    +
    + +

    ◆ toLSPPosition()

    + +
    +
    + + + + + + + +
    lspserver::Position nixd::toLSPPosition (const nixf::LexerCursor & P)
    +
    + +

    Definition at line 19 of file Convert.cpp.

    + +

    References nixf::LexerCursor::column(), and nixf::LexerCursor::line().

    + +

    Referenced by toLSPRange().

    + +
    +
    + +

    ◆ toLSPRange()

    + +
    +
    + + + + + + + +
    lspserver::Range nixd::toLSPRange (const nixf::LexerCursorRange & R)
    +
    + +

    Definition at line 24 of file Convert.cpp.

    + +

    References nixf::LexerCursorRange::lCur(), nixf::LexerCursorRange::rCur(), and toLSPPosition().

    + +
    +
    + +

    ◆ toLSPTags()

    + +
    +
    + + + + + + + +
    llvm::SmallVector< lspserver::DiagnosticTag, 1 > nixd::toLSPTags (const std::vector< nixf::DiagnosticTag > & Tags)
    +
    + +

    Definition at line 29 of file Convert.cpp.

    + +

    References nixf::Faded, and nixf::Striked.

    + +
    +
    +
    + + + + diff --git a/namespacenixd_1_1rpc.html b/namespacenixd_1_1rpc.html new file mode 100644 index 000000000..2d70eb4f1 --- /dev/null +++ b/namespacenixd_1_1rpc.html @@ -0,0 +1,394 @@ + + + + + + + +nixd: nixd::rpc Namespace Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    nixd::rpc Namespace Reference
    +
    +
    + + + + + + + + +

    +Classes

    struct  ExprValueParams
     
    struct  ExprValueResponse
     
    struct  RegisterBCParams
     
    + + + +

    +Enumerations

    enum class  LogLevel { Debug +, Info +, Warning +, Error + }
     
    + + + + + + + + + + + + + + + + + + + +

    +Functions

    llvm::json::Value toJSON (const RegisterBCParams &Params)
     
    bool fromJSON (const llvm::json::Value &Params, RegisterBCParams &R, llvm::json::Path P)
     
    llvm::json::Value toJSON (const ExprValueParams &Params)
     
    bool fromJSON (const llvm::json::Value &Params, ExprValueParams &R, llvm::json::Path P)
     
    llvm::json::Value toJSON (const ExprValueResponse &Params)
     
    bool fromJSON (const llvm::json::Value &Params, ExprValueResponse &R, llvm::json::Path P)
     
    bool fromJSON (const Value &Params, RegisterBCParams &R, Path P)
     
    bool fromJSON (const Value &Params, ExprValueParams &R, Path P)
     
    bool fromJSON (const Value &Params, ExprValueResponse &R, Path P)
     
    +

    Enumeration Type Documentation

    + +

    ◆ LogLevel

    + +
    +
    + + + + + +
    + + + + +
    enum class nixd::rpc::LogLevel
    +
    +strong
    +
    + + + + + +
    Enumerator
    Debug 
    Info 
    Warning 
    Error 
    + +

    Definition at line 14 of file nixd/librpc/include/nixd/rpc/Protocol.h.

    + +
    +
    +

    Function Documentation

    + +

    ◆ fromJSON() [1/6]

    + +
    +
    + + + + + + + + + + + + + + + + +
    bool nixd::rpc::fromJSON (const llvm::json::Value & Params,
    ExprValueParams & R,
    llvm::json::Path P )
    +
    + +
    +
    + +

    ◆ fromJSON() [2/6]

    + +
    +
    + + + + + + + + + + + + + + + + +
    bool nixd::rpc::fromJSON (const llvm::json::Value & Params,
    ExprValueResponse & R,
    llvm::json::Path P )
    +
    + +
    +
    + +

    ◆ fromJSON() [3/6]

    + +
    +
    + + + + + + + + + + + + + + + + +
    bool nixd::rpc::fromJSON (const llvm::json::Value & Params,
    RegisterBCParams & R,
    llvm::json::Path P )
    +
    + +
    +
    + +

    ◆ fromJSON() [4/6]

    + +
    +
    + + + + + + + + + + + + + + + + +
    bool nixd::rpc::fromJSON (const Value & Params,
    ExprValueParams & R,
    Path P )
    +
    + +

    Definition at line 29 of file nixd/librpc/src/Protocol.cpp.

    + +

    References nixd::rpc::ExprValueParams::ExprID.

    + +
    +
    + +

    ◆ fromJSON() [5/6]

    + +
    +
    + + + + + + + + + + + + + + + + +
    bool nixd::rpc::fromJSON (const Value & Params,
    ExprValueResponse & R,
    Path P )
    +
    +
    + +

    ◆ fromJSON() [6/6]

    + +
    +
    + + + + + + + + + + + + + + + + +
    bool nixd::rpc::fromJSON (const Value & Params,
    RegisterBCParams & R,
    Path P )
    +
    +
    + +

    ◆ toJSON() [1/3]

    + +
    +
    + + + + + + + +
    Value nixd::rpc::toJSON (const ExprValueParams & Params)
    +
    + +

    Definition at line 25 of file nixd/librpc/src/Protocol.cpp.

    + +

    References nixd::rpc::ExprValueParams::ExprID, and lspserver::Object.

    + +
    +
    + +

    ◆ toJSON() [2/3]

    + + + +

    ◆ toJSON() [3/3]

    + + +
    + + + + diff --git a/namespacenixd_1_1util.html b/namespacenixd_1_1util.html new file mode 100644 index 000000000..ea2ebfa92 --- /dev/null +++ b/namespacenixd_1_1util.html @@ -0,0 +1,142 @@ + + + + + + + +nixd: nixd::util Namespace Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    nixd::util Namespace Reference
    +
    +
    + + + + + + + + + + + + + + +

    +Classes

    class  AutoCloseFD
     File Descriptor RAII wrapper. More...
     
    class  AutoHUPPID
     
    class  AutoRemoveShm
     Shared memory object, the object will be removed in dtor. More...
     
    struct  OwnedRegion
     
    struct  PipedProc
     
    + + + +

    +Functions

    int forkPiped (int &In, int &Out, int &Err)
     
    +

    Function Documentation

    + +

    ◆ forkPiped()

    + +
    +
    + + + + + + + + + + + + + + + + +
    int nixd::util::forkPiped (int & In,
    int & Out,
    int & Err )
    +
    + +

    Definition at line 9 of file ForkPiped.cpp.

    + +

    Referenced by nixd::OwnedEvalClient::create().

    + +
    +
    +
    + + + + diff --git a/namespacenixf.html b/namespacenixf.html new file mode 100644 index 000000000..09310daf3 --- /dev/null +++ b/namespacenixf.html @@ -0,0 +1,447 @@ + + + + + + + +nixd: nixf Namespace Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    + +
    nixf Namespace Reference
    +
    +
    + + + + + + +

    +Namespaces

    namespace  detail
     
    namespace  tok
     
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Classes

    class  Attribute
     
    class  AttrName
     
    class  AttrPath
     
    class  Binding
     
    class  Binds
     
    class  Diagnostic
     
    class  Expr
     
    class  ExprAssert
     
    class  ExprAttrs
     
    class  ExprBinOp
     
    class  ExprCall
     A call/apply to some function. More...
     
    class  ExprFloat
     
    class  ExprIf
     
    class  ExprInt
     
    class  ExprLambda
     
    class  ExprLet
     
    class  ExprList
     
    class  ExprOp
     Abstract class for binary operators and unary operators. More...
     
    class  ExprOpHasAttr
     
    class  ExprParen
     
    class  ExprPath
     
    class  ExprSelect
     
    class  ExprString
     
    class  ExprUnaryOp
     
    class  ExprVar
     
    class  ExprWith
     
    class  Fix
     
    class  Formal
     
    class  Formals
     Lambda formal arguments. More...
     
    class  Identifier
     Identifier. Variable names, attribute names, etc. More...
     
    class  Inherit
     
    class  InterpolablePart
     
    class  InterpolatedParts
     
    class  Interpolation
     ${expr} construct More...
     
    class  LambdaArg
     
    class  Lexer
     
    class  LexerCursor
     A point in the source file. More...
     
    class  LexerCursorRange
     
    class  Misc
     Misc node, used for parentheses, keywords, etc. More...
     
    class  Node
     
    class  Note
     
    class  Op
     
    class  Parser
     
    class  PartialDiagnostic
     
    class  Position
     
    class  PositionRange
     
    class  Sema
     
    class  SemaAttrs
     Attribute set after deduplication. More...
     
    class  TextEdit
     
    class  Token
     A token. With it's kind, and the range in source code. More...
     
    + + + + + + + + + +

    +Typedefs

    using NixInt = int64_t
     
    using NixFloat = double
     
    using DK = Diagnostic::DiagnosticKind
     
    using NK = Note::NoteKind
     
    + + + +

    +Enumerations

    enum class  DiagnosticTag { Faded +, Striked + }
     
    + + + + + + + + + + +

    +Functions

    void writeBytecode (std::ostream &OS, const Node &N)
     
    std::shared_ptr< Nodeparse (std::string_view Src, std::vector< Diagnostic > &Diags)
     Parse a string.
     
    void writeBytecode (std::ostream &OS, const ExprInt &N)
     
    void writeBytecode (std::ostream &OS, const ExprBinOp &N)
     
    +

    Detailed Description

    +

    Diagnostic.h, diagnostic types and definitions

    +

    Diagnostics are structures with a main message, and optionally some additional information (body).

    +

    For diagnostics with a body, they may need a special overrided function to format the message.

    +

    Typedef Documentation

    + +

    ◆ DK

    + +
    +
    + +

    Definition at line 40 of file Lexer.cpp.

    + +
    +
    + +

    ◆ NixFloat

    + +
    +
    + + + + +
    using nixf::NixFloat = double
    +
    + +

    Definition at line 13 of file Simple.h.

    + +
    +
    + +

    ◆ NixInt

    + +
    +
    + + + + +
    using nixf::NixInt = int64_t
    +
    + +

    Definition at line 12 of file Simple.h.

    + +
    +
    + +

    ◆ NK

    + +
    +
    + + + + +
    using nixf::NK = Note::NoteKind
    +
    + +

    Definition at line 41 of file Lexer.cpp.

    + +
    +
    +

    Enumeration Type Documentation

    + +

    ◆ DiagnosticTag

    + +
    +
    + + + + + +
    + + + + +
    enum class nixf::DiagnosticTag
    +
    +strong
    +
    + + + +
    Enumerator
    Faded 
    Striked 
    + +

    Definition at line 75 of file Diagnostic.h.

    + +
    +
    +

    Function Documentation

    + +

    ◆ parse()

    + +
    +
    + + + + + + + + + + + +
    std::shared_ptr< Node > nixf::parse (std::string_view Src,
    std::vector< Diagnostic > & Diags )
    +
    + +

    Parse a string.

    +
    Parameters
    + + + +
    SrcThe string to parse.
    DiagsDiagnostics will be appended to this vector.
    +
    +
    + +

    Definition at line 38 of file ParseSupport.cpp.

    + +

    References nixf::Parser::parse().

    + +
    +
    + +

    ◆ writeBytecode() [1/3]

    + +
    +
    + + + + + + + + + + + +
    void nixf::writeBytecode (std::ostream & OS,
    const ExprBinOp & N )
    +
    +
    + +

    ◆ writeBytecode() [2/3]

    + +
    +
    + + + + + + + + + + + +
    void nixf::writeBytecode (std::ostream & OS,
    const ExprInt & N )
    +
    + +

    Definition at line 13 of file libnixf/src/Bytecode/Write.cpp.

    + +

    References nixbc::EK_Int, nixf::ExprInt::value(), and nixbc::writeBytecode().

    + +
    +
    + +

    ◆ writeBytecode() [3/3]

    + +
    +
    + + + + + + + + + + + +
    void nixf::writeBytecode (std::ostream & OS,
    const Node & N )
    +
    + +

    Definition at line 42 of file libnixf/src/Bytecode/Write.cpp.

    + +

    References nixf::Node::kind(), and nixbc::writeBytecode().

    + +
    +
    +
    + + + + diff --git a/namespacenixf_1_1detail.html b/namespacenixf_1_1detail.html new file mode 100644 index 000000000..093014068 --- /dev/null +++ b/namespacenixf_1_1detail.html @@ -0,0 +1,128 @@ + + + + + + + +nixd: nixf::detail Namespace Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    nixf::detail Namespace Reference
    +
    +
    + + + + +

    +Functions

    DiagnosticdiagNullExpr (std::vector< Diagnostic > &Diags, LexerCursor Loc, std::string As)
     
    +

    Function Documentation

    + +

    ◆ diagNullExpr()

    + + +
    + + + + diff --git a/namespacenixf_1_1tok.html b/namespacenixf_1_1tok.html new file mode 100644 index 000000000..ecc446ac5 --- /dev/null +++ b/namespacenixf_1_1tok.html @@ -0,0 +1,148 @@ + + + + + + + +nixd: nixf::tok Namespace Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    nixf::tok Namespace Reference
    +
    +
    + + + + +

    +Enumerations

    enum  TokenKind
     
    + + + +

    +Functions

    constexpr std::string_view spelling (TokenKind Kind)
     
    +

    Enumeration Type Documentation

    + +

    ◆ TokenKind

    + +
    +
    + + + + +
    enum nixf::tok::TokenKind
    +
    + +

    Definition at line 5 of file TokenKinds.h.

    + +
    +
    +

    Function Documentation

    + +

    ◆ spelling()

    + + +
    + + + + diff --git a/namespacenixt.html b/namespacenixt.html new file mode 100644 index 000000000..04577aa19 --- /dev/null +++ b/namespacenixt.html @@ -0,0 +1,1056 @@ + + + + + + + +nixd: nixt Namespace Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    + +
    nixt Namespace Reference
    +
    +
    + +

    Access ParseCache in nix::EvalState. +More...

    + + + + + + + +

    +Namespaces

    namespace  detail
     
    namespace  ek
     "ek" is short for "ExprKind".
     
    + + + + + + + + + + + + + + + + + + +

    +Classes

    struct  ArrayRef
     Weak reference to an array, with begin and end pointers. More...
     
    class  ASTDeserializer
     
    struct  ASTHeader
     Header of serialized AST. More...
     
    struct  DeserializeContext
     API Wrapper around nix:: More...
     
    struct  PtrPool
     A simple pointer pool, a vector of unique_ptrs. More...
     
    struct  RecursiveASTVisitor
     A CRTP base class for traversing nix::Expr * nodes. More...
     
    + + + + + + + + + + + + +

    +Typedefs

    using BytesRef = ArrayRef<char>
     
    using FileParseCache = std::map<nix::SourcePath, nix::Expr *>
     
    using ValueMap = std::map<std::uintptr_t, nix::Value>
     
    using EnvMap = std::map<std::uintptr_t, nix::Env *>
     
    using ParentMap = std::map<const nix::Expr *, const nix::Expr *>
     The parent map. The key is "child", the value is "parent".
     
    + + + +

    +Enumerations

    enum class  EncodeKind : uint32_t { NIX_EXPR +, AttrNameSymbol + }
     
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Functions

    template<class T >
    const T * begin (ArrayRef< T > B)
     Iterator begin. Used for range-based-for
     
    template<class T >
    const T * end (ArrayRef< T > B)
     Iterator end.
     
    std::string_view view (BytesRef B)
     
    template<class T >
    ArrayRef< T > advance (ArrayRef< T > B, long Offset)
     Advance the beginning pointer of bytes array.
     
    template<class T >
    std::size_t lengthof (ArrayRef< T > B)
     Get length of this array.
     
    DeserializeContext getDeserializeContext (nix::EvalState &State, std::string_view BasePath, const nix::Pos::Origin &Origin)
     Stable API wrapper around official nix.
     
    nix::Expr * deserializeHookable (std::string_view &Data, DeserializeContext &Ctx, PtrPool< nix::Expr > &Pool, ValueMap &VMap, EnvMap &EMap)
     
    nix::PosIdx displOf (const nix::Expr *E, nix::Displacement Displ)
     Get nix::PosIdx of an nix::Expr, from nix::Displacement.
     
    nix::PosIdx displOf (const nix::ExprAttrs *E, nix::Displacement Displ)
     
    nix::PosIdx displOf (const nix::ExprLet *E, nix::Displacement Displ)
     
    nix::PosIdx displOf (const nix::ExprLambda *E, nix::Displacement Displ)
     
    FileParseCachegetFileParseCache (nix::EvalState &S)
     
    void initEval ()
     
    ek::ExprKind kindOf (const nix::Expr &E)
     Determine the kind of nix::Expr.
     
    const char * nameOf (ek::ExprKind Kind)
     Get printable name of some kind.
     
    ParentMap parentMap (const nix::Expr *Root)
     Construct child -> parent relations of nix::Expr nodes.
     
    template<class T >
    +requires std::is_standard_layout_v<T> && std::is_trivial_v<T>
    std::size_t encode (std::ostream &OS, const T &Data)
     Basic primitives. Trivial data types are just written to a stream.
     
    std::size_t encode (std::ostream &OS, const std::string &Data)
     Encode string to bytes.
     
    std::size_t encode (std::ostream &OS, const nix::Pos::Origin &Origin)
     Encode string to bytes.
     
    void encodeAST (std::ostream &OS, const nix::SymbolTable &STable, const nix::PosTable &PTable, const nix::Pos::Origin &Origin, const nix::Expr *E)
     Encode an AST. E is the root of the AST.
     
    template<class T >
    +requires std::is_standard_layout_v<T> && std::is_trivial_v<T>
    std::size_t decode (BytesRef Data, T &Obj)
     Basic primitives. Deocde from bytes by memcpy.
     
    std::size_t decode (BytesRef Data, std::string &Str)
     Decode string from bytes.
     
    template<class T >
    consume (BytesRef &Data)
     Consume bytes from Data and construct an object of type T.
     
    nix::Expr * consumeAST (BytesRef &Data, PtrPool< nix::Expr > &Pool, nix::PosTable &PTable, nix::SymbolTable &STable)
     
    const char * nameOf (ExprKind Kind)
     
    +

    Detailed Description

    +

    Access ParseCache in nix::EvalState.

    +

    Library for playing with nix::Expr nodes.

    +

    This is a library with some utilities playing with nix AST nodes (e.g. traversing, visiting, encoding, decoding, dispatching, printing). It is not a parser, so you should use other libraries to parse nix code.

    +

    Typedef Documentation

    + +

    ◆ BytesRef

    + +
    +
    + + + + +
    using nixt::BytesRef = ArrayRef<char>
    +
    + +

    Definition at line 16 of file ArrayRef.h.

    + +
    +
    + +

    ◆ EnvMap

    + +
    +
    + + + + +
    using nixt::EnvMap = std::map<std::uintptr_t, nix::Env *>
    +
    + +

    Definition at line 10 of file HookExpr.h.

    + +
    +
    + +

    ◆ FileParseCache

    + +
    +
    + + + + +
    using nixt::FileParseCache = std::map<nix::SourcePath, nix::Expr *>
    +
    + +

    Definition at line 14 of file HackCache.h.

    + +
    +
    + +

    ◆ ParentMap

    + +
    +
    + + + + +
    using nixt::ParentMap = std::map<const nix::Expr *, const nix::Expr *>
    +
    + +

    The parent map. The key is "child", the value is "parent".

    + +

    Definition at line 11 of file ParentMap.h.

    + +
    +
    + +

    ◆ ValueMap

    + +
    +
    + + + + +
    using nixt::ValueMap = std::map<std::uintptr_t, nix::Value>
    +
    + +

    Definition at line 9 of file HookExpr.h.

    + +
    +
    +

    Enumeration Type Documentation

    + +

    ◆ EncodeKind

    + +
    +
    + + + + + +
    + + + + +
    enum class nixt::EncodeKind : uint32_t
    +
    +strong
    +
    + + + +
    Enumerator
    NIX_EXPR 
    AttrNameSymbol 
    + +

    Definition at line 19 of file Serialize.h.

    + +
    +
    +

    Function Documentation

    + +

    ◆ advance()

    + +
    +
    +
    +template<class T >
    + + + + + +
    + + + + + + + + + + + +
    ArrayRef< T > nixt::advance (ArrayRef< T > B,
    long Offset )
    +
    +inline
    +
    + +

    Advance the beginning pointer of bytes array.

    + +

    Definition at line 27 of file ArrayRef.h.

    + +

    References nixt::ArrayRef< T >::Begin, and nixt::ArrayRef< T >::End.

    + +

    Referenced by consume().

    + +
    +
    + +

    ◆ begin()

    + +
    +
    +
    +template<class T >
    + + + + + +
    + + + + + + + +
    const T * nixt::begin (ArrayRef< T > B)
    +
    +inline
    +
    + +

    Iterator begin. Used for range-based-for

    + +

    Definition at line 19 of file ArrayRef.h.

    + +

    References nixt::ArrayRef< T >::Begin.

    + +

    Referenced by decode().

    + +
    +
    + +

    ◆ consume()

    + +
    +
    +
    +template<class T >
    + + + + + + + +
    T nixt::consume (BytesRef & Data)
    +
    + +

    Consume bytes from Data and construct an object of type T.

    + +

    Definition at line 84 of file Serialize.h.

    + +

    References advance(), and decode().

    + +
    +
    + +

    ◆ consumeAST()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + +
    nix::Expr * nixt::consumeAST (BytesRef & Data,
    PtrPool< nix::Expr > & Pool,
    nix::PosTable & PTable,
    nix::SymbolTable & STable )
    +
    + +
    +
    + +

    ◆ decode() [1/2]

    + +
    +
    + + + + + + + + + + + +
    std::size_t nixt::decode (BytesRef Data,
    std::string & Str )
    +
    + +

    Decode string from bytes.

    + +
    +
    + +

    ◆ decode() [2/2]

    + +
    +
    +
    +template<class T >
    +requires std::is_standard_layout_v<T> && std::is_trivial_v<T>
    + + + + + + + + + + + +
    std::size_t nixt::decode (BytesRef Data,
    T & Obj )
    +
    + +

    Basic primitives. Deocde from bytes by memcpy.

    +
    Returns
    Size of bytes consumed.
    + +

    Definition at line 74 of file Serialize.h.

    + +

    References begin(), and lengthof().

    + +

    Referenced by consume().

    + +
    +
    + +

    ◆ deserializeHookable()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + +
    nix::Expr * nixt::deserializeHookable (std::string_view & Data,
    DeserializeContext & Ctx,
    PtrPool< nix::Expr > & Pool,
    ValueMap & VMap,
    EnvMap & EMap )
    +
    + +

    Definition at line 57 of file ASTReader.cpp.

    + +

    References nixt::ASTDeserializer::eatHookable().

    + +

    Referenced by nixd::EvalProvider::onRegisterBC().

    + +
    +
    + +

    ◆ displOf() [1/4]

    + +
    +
    + + + + + + + + + + + +
    nix::PosIdx nixt::displOf (const nix::Expr * E,
    nix::Displacement Displ )
    +
    + +

    Get nix::PosIdx of an nix::Expr, from nix::Displacement.

    +
    Note
    This is based on dynamic_cast, so it is not very efficient.
    +

    The function actually invokes displOf() of the corresponding Expr type.

    + +

    Definition at line 5 of file Displacement.cpp.

    + +

    References displOf().

    + +

    Referenced by displOf().

    + +
    +
    + +

    ◆ displOf() [2/4]

    + +
    +
    + + + + + + + + + + + +
    nix::PosIdx nixt::displOf (const nix::ExprAttrs * E,
    nix::Displacement Displ )
    +
    +
    Note
    The function asserts E->recursive. Since normal ExprAttrs cannot do variable binding.
    + +

    Definition at line 17 of file Displacement.cpp.

    + +
    +
    + +

    ◆ displOf() [3/4]

    + +
    +
    + + + + + + + + + + + +
    nix::PosIdx nixt::displOf (const nix::ExprLambda * E,
    nix::Displacement Displ )
    +
    + +

    Definition at line 33 of file Displacement.cpp.

    + +
    +
    + +

    ◆ displOf() [4/4]

    + +
    +
    + + + + + + + + + + + +
    nix::PosIdx nixt::displOf (const nix::ExprLet * E,
    nix::Displacement Displ )
    +
    + +

    Definition at line 26 of file Displacement.cpp.

    + +
    +
    + +

    ◆ encode() [1/3]

    + +
    +
    + + + + + + + + + + + +
    std::size_t nixt::encode (std::ostream & OS,
    const nix::Pos::Origin & Origin )
    +
    + +

    Encode string to bytes.

    + +
    +
    + +

    ◆ encode() [2/3]

    + +
    +
    + + + + + + + + + + + +
    std::size_t nixt::encode (std::ostream & OS,
    const std::string & Data )
    +
    + +

    Encode string to bytes.

    + +
    +
    + +

    ◆ encode() [3/3]

    + +
    +
    +
    +template<class T >
    +requires std::is_standard_layout_v<T> && std::is_trivial_v<T>
    + + + + + + + + + + + +
    std::size_t nixt::encode (std::ostream & OS,
    const T & Data )
    +
    + +

    Basic primitives. Trivial data types are just written to a stream.

    +
    Returns
    The beginning offset of the data in the stream.
    + +

    Definition at line 49 of file Serialize.h.

    + +
    +
    + +

    ◆ encodeAST()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + +
    void nixt::encodeAST (std::ostream & OS,
    const nix::SymbolTable & STable,
    const nix::PosTable & PTable,
    const nix::Pos::Origin & Origin,
    const nix::Expr * E )
    +
    + +

    Encode an AST. E is the root of the AST.

    + +
    +
    + +

    ◆ end()

    + +
    +
    +
    +template<class T >
    + + + + + +
    + + + + + + + +
    const T * nixt::end (ArrayRef< T > B)
    +
    +inline
    +
    + +

    Iterator end.

    + +

    Definition at line 22 of file ArrayRef.h.

    + +

    References nixt::ArrayRef< T >::End.

    + +
    +
    + +

    ◆ getDeserializeContext()

    + +
    +
    + + + + + + + + + + + + + + + + +
    DeserializeContext nixt::getDeserializeContext (nix::EvalState & State,
    std::string_view BasePath,
    const nix::Pos::Origin & Origin )
    +
    + +

    Stable API wrapper around official nix.

    +

    Because of "lazy-trees", these APIs have always breaked among nix updates, the function wraps the context with a "stable" class nix::EvalState.

    + +

    Definition at line 42 of file ASTReader.cpp.

    + +

    References nixt::DeserializeContext::STable.

    + +

    Referenced by nixd::EvalProvider::onRegisterBC().

    + +
    +
    + +

    ◆ getFileParseCache()

    + +
    +
    + + + + + +
    + + + + + + + +
    FileParseCache & nixt::getFileParseCache (nix::EvalState & S)
    +
    +inline
    +
    + +

    Definition at line 46 of file HackCache.h.

    + +

    Referenced by nixd::EvalProvider::onRegisterBC().

    + +
    +
    + +

    ◆ initEval()

    + +
    +
    + + + + + +
    + + + + + + + +
    void nixt::initEval ()
    +
    +inline
    +
    + +

    Definition at line 9 of file InitEval.h.

    + +

    Referenced by main().

    + +
    +
    + +

    ◆ kindOf()

    + +
    +
    + + + + + + + +
    ExprKind nixt::kindOf (const nix::Expr & E)
    +
    + +

    Determine the kind of nix::Expr.

    +
    Note
    This is based on dynamic_cast, so it is not very efficient.
    + +

    Definition at line 9 of file Kinds.cpp.

    + +

    References nixt::ek::LastExprKind.

    + +
    +
    + +

    ◆ lengthof()

    + +
    +
    +
    +template<class T >
    + + + + + +
    + + + + + + + +
    std::size_t nixt::lengthof (ArrayRef< T > B)
    +
    +inline
    +
    + +

    Get length of this array.

    + +

    Definition at line 31 of file ArrayRef.h.

    + +

    References nixt::ArrayRef< T >::Begin, and nixt::ArrayRef< T >::End.

    + +

    Referenced by decode().

    + +
    +
    + +

    ◆ nameOf() [1/2]

    + +
    +
    + + + + + + + +
    const char * nixt::nameOf (ek::ExprKind Kind)
    +
    + +

    Get printable name of some kind.

    + +
    +
    + +

    ◆ nameOf() [2/2]

    + +
    +
    + + + + + + + +
    const char * nixt::nameOf (ExprKind Kind)
    +
    + +

    Definition at line 22 of file Kinds.cpp.

    + +

    References nixt::ek::LastExprKind.

    + +
    +
    + +

    ◆ parentMap()

    + +
    +
    + + + + + + + +
    ParentMap nixt::parentMap (const nix::Expr * Root)
    +
    + +

    Construct child -> parent relations of nix::Expr nodes.

    + +

    Definition at line 5 of file ParentMap.cpp.

    + +

    References nixt::RecursiveASTVisitor< Derived >::traverseExpr().

    + +
    +
    + +

    ◆ view()

    + +
    +
    + + + + + +
    + + + + + + + +
    std::string_view nixt::view (BytesRef B)
    +
    +inline
    +
    + +

    Definition at line 24 of file ArrayRef.h.

    + +

    References nixt::ArrayRef< T >::Begin, and nixt::ArrayRef< T >::End.

    + +
    +
    +
    + + + + diff --git a/namespacenixt_1_1detail.html b/namespacenixt_1_1detail.html new file mode 100644 index 000000000..380971137 --- /dev/null +++ b/namespacenixt_1_1detail.html @@ -0,0 +1,99 @@ + + + + + + + +nixd: nixt::detail Namespace Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    nixt::detail Namespace Reference
    +
    +
    + + + + + + + + +

    +Classes

    struct  ParseCacheF
     
    struct  R
     
    struct  RB
     
    +
    + + + + diff --git a/namespacenixt_1_1ek.html b/namespacenixt_1_1ek.html new file mode 100644 index 000000000..5aaed5ad9 --- /dev/null +++ b/namespacenixt_1_1ek.html @@ -0,0 +1,126 @@ + + + + + + + +nixd: nixt::ek Namespace Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    nixt::ek Namespace Reference
    +
    +
    + +

    "ek" is short for "ExprKind". +More...

    + + + + + +

    +Enumerations

    enum  ExprKind { LastExprKind + }
     Enumeration of all kinds of nix::Expr. More...
     
    +

    Detailed Description

    +

    "ek" is short for "ExprKind".

    +

    This namespace contains all kinds of unscoped enum ExprKind. For convenience, you can using namespace ek; to ref these names directly.

    +

    Enumeration Type Documentation

    + +

    ◆ ExprKind

    + +
    +
    + + + + +
    enum nixt::ek::ExprKind
    +
    + +

    Enumeration of all kinds of nix::Expr.

    +

    The name is prefixed with EK_ to avoid name clashes with the AST nodes. e.g. EK_ExprInt. These entries are generated by including Nodes.inc, so members may not shown in generated docs.

    + + +
    Enumerator
    LastExprKind 
    + +

    Definition at line 24 of file Kinds.h.

    + +
    +
    +
    + + + + diff --git a/namespaces.html b/namespaces.html new file mode 100644 index 000000000..e500e166c --- /dev/null +++ b/namespaces.html @@ -0,0 +1,292 @@ + + + + + + + +nixd: Namespace List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    Namespace List
    +
    +
    +
    Here is a list of all namespaces with brief descriptions:
    +
    [detail level 1234]
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
     Nbc
     Nllvm
     NlspserverWhether current platform treats paths case insensitively
     Nnix
     Nnixbc
     Nnixd
     Nnixf
     NnixtAccess ParseCache in nix::EvalState
    +
    +
    + + + + diff --git a/nav_f.png b/nav_f.png new file mode 100644 index 0000000000000000000000000000000000000000..72a58a529ed3a9ed6aa0c51a79cf207e026deee2 GIT binary patch literal 153 zcmeAS@N?(olHy`uVBq!ia0vp^j6iI`!2~2XGqLUlQVE_ejv*C{Z|{2ZH7M}7UYxc) zn!W8uqtnIQ>_z8U literal 0 HcmV?d00001 diff --git a/nav_fd.png b/nav_fd.png new file mode 100644 index 0000000000000000000000000000000000000000..032fbdd4c54f54fa9a2e6423b94ef4b2ebdfaceb GIT binary patch literal 169 zcmeAS@N?(olHy`uVBq!ia0vp^j6iI`!2~2XGqLUlQU#tajv*C{Z|C~*H7f|XvG1G8 zt7aS*L7xwMeS}!z6R#{C5tIw-s~AJ==F^i}x3XyJseHR@yF& zerFf(Zf;Dd{+(0lDIROL@Sj-Ju2JQ8&-n%4%q?>|^bShc&lR?}7HeMo@BDl5N(aHY Uj$gdr1MOz;boFyt=akR{0D!zeaR2}S literal 0 HcmV?d00001 diff --git a/nav_g.png b/nav_g.png new file mode 100644 index 0000000000000000000000000000000000000000..2093a237a94f6c83e19ec6e5fd42f7ddabdafa81 GIT binary patch literal 95 zcmeAS@N?(olHy`uVBq!ia0vp^j6lrB!3HFm1ilyoDK$?Q$B+ufw|5PB85lU25BhtE tr?otc=hd~V+ws&_A@j8Fiv!KF$B+ufw|5=67#uj90@pIL wZ=Q8~_Ju`#59=RjDrmm`tMD@M=!-l18IR?&vFVdQ&MBb@0HFXL6W-eg#Jd_@e6*DPn)w;=|1H}Zvm9l6xXXB%>yL=NQU;mg M>FVdQ&MBb@0Bdt1Qvd(} literal 0 HcmV?d00001 diff --git a/nix-node-eval_2src_2Main_8cpp.html b/nix-node-eval_2src_2Main_8cpp.html new file mode 100644 index 000000000..470911290 --- /dev/null +++ b/nix-node-eval_2src_2Main_8cpp.html @@ -0,0 +1,123 @@ + + + + + + + +nixd: Main.cpp File Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    Main.cpp File Reference
    +
    +
    +
    #include "EvalProvider.h"
    +#include <lspserver/Connection.h>
    +#include <nixt/InitEval.h>
    +#include <unistd.h>
    +
    +

    Go to the source code of this file.

    + + + + +

    +Functions

    int main ()
     
    +

    Function Documentation

    + +

    ◆ main()

    + +
    +
    + + + + + + + +
    int main ()
    +
    + +

    Definition at line 10 of file nix-node-eval/src/Main.cpp.

    + +

    References nixt::initEval(), lspserver::LSPServer::run(), and lspserver::Standard.

    + +
    +
    +
    + + + + diff --git a/nix-node-eval_2src_2Main_8cpp_source.html b/nix-node-eval_2src_2Main_8cpp_source.html new file mode 100644 index 000000000..c46c05fa9 --- /dev/null +++ b/nix-node-eval_2src_2Main_8cpp_source.html @@ -0,0 +1,121 @@ + + + + + + + +nixd: Main.cpp Source File + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    nix-node-eval/src/Main.cpp
    +
    +
    +Go to the documentation of this file.
    1
    +
    2#include "EvalProvider.h"
    +
    3
    + +
    5
    +
    6#include <nixt/InitEval.h>
    +
    7
    +
    8#include <unistd.h>
    +
    9
    +
    +
    10int main() {
    + +
    12 auto In = std::make_unique<lspserver::InboundPort>(
    + +
    14
    +
    15 auto Out = std::make_unique<lspserver::OutboundPort>(false);
    +
    16 nixd::EvalProvider Provider(std::move(In), std::move(Out));
    +
    17
    +
    18 Provider.run();
    +
    19}
    +
    + + + + + + +
    void initEval()
    Definition InitEval.h:9
    + +
    + + + + diff --git a/nixd_2docs_2examples_2README_8md.html b/nixd_2docs_2examples_2README_8md.html new file mode 100644 index 000000000..ccd272335 --- /dev/null +++ b/nixd_2docs_2examples_2README_8md.html @@ -0,0 +1,83 @@ + + + + + + + +nixd: README.md File Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    +
    README.md File Reference
    +
    +
    +
    + + + + diff --git a/nixd_2librpc_2include_2nixd_2rpc_2Protocol_8h.html b/nixd_2librpc_2include_2nixd_2rpc_2Protocol_8h.html new file mode 100644 index 000000000..cb651dcf5 --- /dev/null +++ b/nixd_2librpc_2include_2nixd_2rpc_2Protocol_8h.html @@ -0,0 +1,141 @@ + + + + + + + +nixd: Protocol.h File Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    Protocol.h File Reference
    +
    +
    +
    #include <bc/Read.h>
    +#include <bc/Write.h>
    +#include <llvm/Support/JSON.h>
    +#include <cstdint>
    +#include <cstring>
    +#include <string>
    +
    +

    Go to the source code of this file.

    + + + + + + + + +

    +Classes

    struct  nixd::rpc::RegisterBCParams
     
    struct  nixd::rpc::ExprValueParams
     
    struct  nixd::rpc::ExprValueResponse
     
    + + + + + +

    +Namespaces

    namespace  nixd
     
    namespace  nixd::rpc
     
    + + + +

    +Enumerations

    enum class  nixd::rpc::LogLevel { nixd::rpc::Debug +, nixd::rpc::Info +, nixd::rpc::Warning +, nixd::rpc::Error + }
     
    + + + + + + + + + + + + + +

    +Functions

    llvm::json::Value nixd::rpc::toJSON (const RegisterBCParams &Params)
     
    bool nixd::rpc::fromJSON (const llvm::json::Value &Params, RegisterBCParams &R, llvm::json::Path P)
     
    llvm::json::Value nixd::rpc::toJSON (const ExprValueParams &Params)
     
    bool nixd::rpc::fromJSON (const llvm::json::Value &Params, ExprValueParams &R, llvm::json::Path P)
     
    llvm::json::Value nixd::rpc::toJSON (const ExprValueResponse &Params)
     
    bool nixd::rpc::fromJSON (const llvm::json::Value &Params, ExprValueResponse &R, llvm::json::Path P)
     
    +
    + + + + diff --git a/nixd_2librpc_2include_2nixd_2rpc_2Protocol_8h_source.html b/nixd_2librpc_2include_2nixd_2rpc_2Protocol_8h_source.html new file mode 100644 index 000000000..b9e8b9b77 --- /dev/null +++ b/nixd_2librpc_2include_2nixd_2rpc_2Protocol_8h_source.html @@ -0,0 +1,208 @@ + + + + + + + +nixd: Protocol.h Source File + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    nixd/librpc/include/nixd/rpc/Protocol.h
    +
    +
    +Go to the documentation of this file.
    1#pragma once
    +
    2
    +
    3#include <bc/Read.h>
    +
    4#include <bc/Write.h>
    +
    5
    +
    6#include <llvm/Support/JSON.h>
    +
    7
    +
    8#include <cstdint>
    +
    9#include <cstring>
    +
    10#include <string>
    +
    11
    +
    +
    12namespace nixd::rpc {
    +
    13
    +
    +
    14enum class LogLevel {
    +
    15 Debug,
    +
    16 Info,
    +
    17 Warning,
    +
    18 Error,
    +
    19};
    +
    +
    20
    +
    + +
    22 std::string Shm;
    +
    23 std::string BasePath;
    +
    24 std::string CachePath;
    +
    25 std::int64_t Size;
    +
    26};
    +
    +
    27
    +
    28llvm::json::Value toJSON(const RegisterBCParams &Params);
    +
    29bool fromJSON(const llvm::json::Value &Params, RegisterBCParams &R,
    +
    30 llvm::json::Path P);
    +
    31
    +
    + +
    33 std::int64_t ExprID;
    +
    34};
    +
    +
    35
    +
    36llvm::json::Value toJSON(const ExprValueParams &Params);
    +
    37bool fromJSON(const llvm::json::Value &Params, ExprValueParams &R,
    +
    38 llvm::json::Path P);
    +
    39
    +
    + +
    + +
    42 /// \brief The expr is not found in the registered bytecodes.
    + +
    44
    +
    45 /// \brief The expr is found, but the value is not evaluated. e.g. too deep
    + +
    47
    +
    48 /// \brief Encountered an error when evaluating the value.
    + +
    50
    +
    51 /// \brief The value is available.
    + +
    53 };
    +
    + +
    55 /// \brief The value ID, for future reference.
    +
    56 ///
    +
    57 /// We may want to query the value of the same expr multiple times, with more
    +
    58 /// detailed information.
    +
    59 std::int64_t ValueID;
    +
    60
    +
    61 /// \brief Opaque data, the value of the expr.
    +
    + + + +
    65 };
    +
    + +
    67};
    +
    +
    68
    +
    69llvm::json::Value toJSON(const ExprValueResponse &Params);
    +
    70bool fromJSON(const llvm::json::Value &Params, ExprValueResponse &R,
    +
    71 llvm::json::Path P);
    +
    72
    +
    73} // namespace nixd::rpc
    +
    + + + +
    bool fromJSON(const llvm::json::Value &Params, RegisterBCParams &R, llvm::json::Path P)
    +
    llvm::json::Value toJSON(const RegisterBCParams &Params)
    + + + + + + + + + +
    ValueKinds
    Opaque data, the value of the expr.
    + + + + +
    @ EvalError
    Encountered an error when evaluating the value.
    + +
    @ NotFound
    The expr is not found in the registered bytecodes.
    +
    @ NotEvaluated
    The expr is found, but the value is not evaluated. e.g. too deep.
    +
    std::int64_t ValueID
    The value ID, for future reference.
    + + + + + +
    + + + + diff --git a/nixd_2librpc_2src_2Protocol_8cpp.html b/nixd_2librpc_2src_2Protocol_8cpp.html new file mode 100644 index 000000000..cf6c0c260 --- /dev/null +++ b/nixd_2librpc_2src_2Protocol_8cpp.html @@ -0,0 +1,118 @@ + + + + + + + +nixd: Protocol.cpp File Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    Protocol.cpp File Reference
    +
    +
    +
    #include "nixd/rpc/Protocol.h"
    +#include <bc/Read.h>
    +#include <bc/Write.h>
    +
    +

    Go to the source code of this file.

    + + + + + + +

    +Namespaces

    namespace  nixd
     
    namespace  nixd::rpc
     
    + + + + + + + + + + + + + +

    +Functions

    llvm::json::Value nixd::rpc::toJSON (const RegisterBCParams &Params)
     
    bool nixd::rpc::fromJSON (const Value &Params, RegisterBCParams &R, Path P)
     
    llvm::json::Value nixd::rpc::toJSON (const ExprValueParams &Params)
     
    bool nixd::rpc::fromJSON (const Value &Params, ExprValueParams &R, Path P)
     
    llvm::json::Value nixd::rpc::toJSON (const ExprValueResponse &Params)
     
    bool nixd::rpc::fromJSON (const Value &Params, ExprValueResponse &R, Path P)
     
    +
    + + + + diff --git a/nixd_2librpc_2src_2Protocol_8cpp_source.html b/nixd_2librpc_2src_2Protocol_8cpp_source.html new file mode 100644 index 000000000..dfb38e02e --- /dev/null +++ b/nixd_2librpc_2src_2Protocol_8cpp_source.html @@ -0,0 +1,172 @@ + + + + + + + +nixd: Protocol.cpp Source File + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    nixd/librpc/src/Protocol.cpp
    +
    +
    +Go to the documentation of this file.
    1#include "nixd/rpc/Protocol.h"
    +
    2
    +
    3#include <bc/Read.h>
    +
    4#include <bc/Write.h>
    +
    5
    +
    6namespace nixd::rpc {
    +
    7
    + + +
    10using namespace llvm::json;
    +
    11
    +
    + +
    13 return Object{{"Shm", Params.Shm},
    +
    14 {"BasePath", Params.BasePath},
    +
    15 {"CachePath", Params.CachePath},
    +
    16 {"Size", Params.Size}};
    +
    17}
    +
    +
    18
    +
    +
    19bool fromJSON(const Value &Params, RegisterBCParams &R, Path P) {
    +
    20 ObjectMapper O(Params, P);
    +
    21 return O && O.map("Shm", R.Shm) && O.map("BasePath", R.BasePath) &&
    +
    22 O.map("CachePath", R.CachePath) && O.map("Size", R.Size);
    +
    23}
    +
    +
    24
    +
    + +
    26 return Object{{"ExprID", Params.ExprID}};
    +
    27}
    +
    +
    28
    +
    +
    29bool fromJSON(const Value &Params, ExprValueParams &R, Path P) {
    +
    30 ObjectMapper O(Params, P);
    +
    31 return O && O.map("ExprID", R.ExprID);
    +
    32}
    +
    +
    33
    +
    + +
    35 return Object{{"ResultKind", Params.ResultKind},
    +
    36 {"ValueID", Params.ValueID},
    +
    37 {"ValueKind", Params.ValueKind}};
    +
    38}
    +
    +
    39
    +
    +
    40bool fromJSON(const Value &Params, ExprValueResponse &R, Path P) {
    +
    41 ObjectMapper O(Params, P);
    +
    42 return O && O.map("ResultKind", R.ResultKind) &&
    +
    43 O.map("ValueID", R.ValueID) && O.map("ValueKind", R.ValueKind);
    +
    44}
    +
    +
    45
    +
    46} // namespace nixd::rpc
    + + +
    void readBytecode(std::string_view &Data, T &Obj)
    Definition Read.h:12
    +
    void writeBytecode(std::ostream &OS, const T &Data)
    Basic primitives. Trivial data types are just written to a stream.
    +
    std::string Path
    Definition Path.h:24
    + + + +
    bool fromJSON(const llvm::json::Value &Params, RegisterBCParams &R, llvm::json::Path P)
    +
    llvm::json::Value toJSON(const RegisterBCParams &Params)
    + + + + + + +
    std::int64_t ValueID
    The value ID, for future reference.
    + + + + + +
    + + + + diff --git a/nixd_2nix-node-eval_2README_8md.html b/nixd_2nix-node-eval_2README_8md.html new file mode 100644 index 000000000..ccd272335 --- /dev/null +++ b/nixd_2nix-node-eval_2README_8md.html @@ -0,0 +1,83 @@ + + + + + + + +nixd: README.md File Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    +
    README.md File Reference
    +
    +
    +
    + + + + diff --git a/open.png b/open.png new file mode 100644 index 0000000000000000000000000000000000000000..30f75c7efe2dd0c9e956e35b69777a02751f048b GIT binary patch literal 123 zcmeAS@N?(olHy`uVBq!ia0vp^oFL4>1|%O$WD@{VPM$7~Ar*{o?;hlAFyLXmaDC0y znK1_#cQqJWPES%4Uujug^TE?jMft$}Eq^WaR~)%f)vSNs&gek&x%A9X9sM + + + + + + +nixd: Related Pages + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    Related Pages
    +
    + + + + + diff --git a/plus.svg b/plus.svg new file mode 100644 index 000000000..075201655 --- /dev/null +++ b/plus.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/plusd.svg b/plusd.svg new file mode 100644 index 000000000..0c65bfe94 --- /dev/null +++ b/plusd.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/search/all_0.js b/search/all_0.js new file mode 100644 index 000000000..73a465ec6 --- /dev/null +++ b/search/all_0.js @@ -0,0 +1,58 @@ +var searchData= +[ + ['about_0',['About',['../md_README.html#autotoc_md43',1,'']]], + ['about_20nix_20language_20nixd_20workers_1',['Memory model about nix language & nixd workers',['../md_nixd_2docs_2dev.html#autotoc_md7',1,'']]], + ['absoluteparent_2',['absoluteParent',['../namespacelspserver.html#a0c037fecc55edd0a237f55ac5d4475d2',1,'lspserver']]], + ['activeparameter_3',['activeParameter',['../structlspserver_1_1SignatureHelp.html#a82586ca8ab364ba85c8e70cbdd9d9ceb',1,'lspserver::SignatureHelp']]], + ['activesignature_4',['activeSignature',['../structlspserver_1_1SignatureHelp.html#a3c06bb24aa840763eb4953f94c44116b',1,'lspserver::SignatureHelp']]], + ['add_5',['add',['../structnixt_1_1PtrPool.html#a1bd9b12d2490d559c3f8ab8bf91a7312',1,'nixt::PtrPool']]], + ['addattr_6',['addAttr',['../classnixf_1_1Sema.html#a5dd911cfc40391bcbb8941910cc796c2',1,'nixf::Sema']]], + ['addcommand_7',['addCommand',['../structlspserver_1_1HandlerRegistry.html#ac74dedf85400f27c36e0f976bd3cd24c',1,'lspserver::HandlerRegistry']]], + ['adddraft_8',['addDraft',['../classlspserver_1_1DraftStore.html#aa5ae55b3ef2dbc31a03152c97ae1c0dd',1,'lspserver::DraftStore']]], + ['additionaltextedits_9',['additionalTextEdits',['../structlspserver_1_1CompletionItem.html#ad2c4a2a18623b13c604567c2036910b6',1,'lspserver::CompletionItem']]], + ['addmethod_10',['addMethod',['../structlspserver_1_1HandlerRegistry.html#a66ec76a9ba0b79e7756852a3cb65bfc1',1,'lspserver::HandlerRegistry']]], + ['addnotification_11',['addNotification',['../structlspserver_1_1HandlerRegistry.html#a473db8004c5218906f77c42f0c77c35a',1,'lspserver::HandlerRegistry']]], + ['adjustkindtocapability_12',['adjustKindToCapability',['../namespacelspserver.html#ab0e770699b02793e166217a093e40d3b',1,'lspserver::adjustKindToCapability(CompletionItemKind Kind, CompletionItemKindBitset &SupportedCompletionItemKinds)'],['../namespacelspserver.html#a28a6ef11b276c533a13d45d1734a96d2',1,'lspserver::adjustKindToCapability(SymbolKind Kind, SymbolKindBitset &supportedSymbolKinds)']]], + ['advance_13',['advance',['../namespacenixt.html#a61ea964414bcfe5a03516c85590da63f',1,'nixt']]], + ['analysis_20work_14',['How does cross-file analysis work?',['../md_nixd_2docs_2dev.html#autotoc_md10',1,'']]], + ['ank_5fid_15',['ANK_ID',['../classnixf_1_1AttrName.html#ae921c55d9c7cdbb7780359b0478d33aba5f10fa5c4c1335c687e0e520ee7dcef3',1,'nixf::AttrName']]], + ['ank_5finterpolation_16',['ANK_Interpolation',['../classnixf_1_1AttrName.html#ae921c55d9c7cdbb7780359b0478d33aba5b993216745a1a20ab102f759fbdefbf',1,'nixf::AttrName']]], + ['ank_5fstring_17',['ANK_String',['../classnixf_1_1AttrName.html#ae921c55d9c7cdbb7780359b0478d33abaa46fa6637544de51c837f78c3dd6cad2',1,'nixf::AttrName']]], + ['annotationid_18',['annotationId',['../structlspserver_1_1TextEdit.html#ab8fab7d0ce5b95402d84465d7601838f',1,'lspserver::TextEdit']]], + ['applied_19',['applied',['../structlspserver_1_1ApplyWorkspaceEditResponse.html#a8d357df02fcca7d2ffe20c9fbd44e811',1,'lspserver::ApplyWorkspaceEditResponse']]], + ['applychange_20',['applyChange',['../namespacelspserver.html#a24b9d4c2890d751945884bae008da2aa',1,'lspserver']]], + ['applyworkspaceeditparams_21',['ApplyWorkspaceEditParams',['../structlspserver_1_1ApplyWorkspaceEditParams.html',1,'lspserver']]], + ['applyworkspaceeditresponse_22',['ApplyWorkspaceEditResponse',['../structlspserver_1_1ApplyWorkspaceEditResponse.html',1,'lspserver']]], + ['arcana_23',['arcana',['../structlspserver_1_1ASTNode.html#a7866d4f573751dc2461a1c6805fa4d0e',1,'lspserver::ASTNode']]], + ['arg_24',['arg',['../classnixf_1_1ExprLambda.html#a94a3cb9683d8b10490a6fe359cb84a46',1,'nixf::ExprLambda']]], + ['argliststart_25',['argListStart',['../structlspserver_1_1SignatureHelp.html#a64364d371a45d169b46ce6894292c7f2',1,'lspserver::SignatureHelp']]], + ['args_26',['args',['../classnixf_1_1PartialDiagnostic.html#a4cee5ad9adf731abe152e21916a3b27f',1,'nixf::PartialDiagnostic::args() const'],['../classnixf_1_1PartialDiagnostic.html#a2adc626af34105342467367b72d4d7ed',1,'nixf::PartialDiagnostic::args()'],['../classnixf_1_1ExprCall.html#a69ea1ca91c8eb5ae33d2cb0dd1caeb7b',1,'nixf::ExprCall::args()'],['../classnixf_1_1ExprCall.html#a754c12f0dc17ce69ba81d6493378d7b8',1,'nixf::ExprCall::args() const']]], + ['argument_27',['argument',['../structlspserver_1_1ExecuteCommandParams.html#a6963261aad84fd5998d36d018048000b',1,'lspserver::ExecuteCommandParams']]], + ['array_28',['Array',['../namespacelspserver.html#a2c2f610d4b7f64335e8d68b47e18ea6fa4410ec34d9e6c1a68100ca0ce033fb17',1,'lspserver']]], + ['arrayref_29',['ArrayRef',['../structnixt_1_1ArrayRef.html',1,'nixt']]], + ['arrayref_2eh_30',['ArrayRef.h',['../ArrayRef_8h.html',1,'']]], + ['ast_31',['ast',['../classnixd_1_1NixTU.html#af84c5eb174e0059336cab9f802f2e59a',1,'nixd::NixTU']]], + ['astdeserializer_32',['ASTDeserializer',['../classnixt_1_1ASTDeserializer.html',1,'nixt::ASTDeserializer'],['../classnixt_1_1ASTDeserializer.html#a2423ed4de2c7a79ba4f2dbe6bdf03540',1,'nixt::ASTDeserializer::ASTDeserializer()']]], + ['astheader_33',['ASTHeader',['../structnixt_1_1ASTHeader.html',1,'nixt']]], + ['astnode_34',['ASTNode',['../structlspserver_1_1ASTNode.html',1,'lspserver']]], + ['astparams_35',['ASTParams',['../structlspserver_1_1ASTParams.html',1,'lspserver']]], + ['astreader_2ecpp_36',['ASTReader.cpp',['../ASTReader_8cpp.html',1,'']]], + ['astreader_2eh_37',['ASTReader.h',['../ASTReader_8h.html',1,'']]], + ['asvfs_38',['asVFS',['../classlspserver_1_1DraftStore.html#aec81eb3be70461578bb820090958147d',1,'lspserver::DraftStore']]], + ['attribute_39',['Attribute',['../classnixf_1_1Attribute.html',1,'nixf::Attribute'],['../classnixf_1_1Attribute.html#a8be05a74b77a5f0f6c28c397dec8a305',1,'nixf::Attribute::Attribute()=default'],['../classnixf_1_1Attribute.html#ab8bdd58f83e8ae48fff2185e73a460f3',1,'nixf::Attribute::Attribute(std::shared_ptr< Node > Key, std::shared_ptr< Expr > Value, bool FromInherit)']]], + ['attrname_40',['AttrName',['../classnixf_1_1AttrName.html',1,'nixf::AttrName'],['../classnixf_1_1AttrName.html#af6ad9a31b3150005a6f51ea6f1a97f38',1,'nixf::AttrName::AttrName(std::shared_ptr< Identifier > ID, LexerCursorRange Range)'],['../classnixf_1_1AttrName.html#a7ae6223957d18cb7561d130e12c2ad1a',1,'nixf::AttrName::AttrName(std::shared_ptr< ExprString > String)'],['../classnixf_1_1AttrName.html#a2e68f74f7e758fdb7ac5bd1c6dcb42c3',1,'nixf::AttrName::AttrName(std::shared_ptr< Interpolation > Interp)']]], + ['attrnamekind_41',['AttrNameKind',['../classnixf_1_1AttrName.html#ae921c55d9c7cdbb7780359b0478d33ab',1,'nixf::AttrName']]], + ['attrnamesymbol_42',['AttrNameSymbol',['../namespacenixt.html#a5bcdc1a90b949f11bc1a7147ce48c50da1a95272f8e9e810d04d1a418a1178dd8',1,'nixt']]], + ['attrpath_43',['AttrPath',['../classnixf_1_1AttrPath.html',1,'nixf::AttrPath'],['../classnixf_1_1AttrPath.html#a9e434f7d68ca28f8f9fca19e85048038',1,'nixf::AttrPath::AttrPath()']]], + ['attrpath_44',['attrpath',['../classnixf_1_1ExprOpHasAttr.html#aab50a5158a7e291d1487f67db56214ad',1,'nixf::ExprOpHasAttr']]], + ['attrs_2eh_45',['Attrs.h',['../Attrs_8h.html',1,'']]], + ['authority_46',['authority',['../classlspserver_1_1URI.html#a91512c203ca0302ae7760037b550c1af',1,'lspserver::URI']]], + ['autoclosefd_47',['AutoCloseFD',['../classnixd_1_1util_1_1AutoCloseFD.html',1,'nixd::util::AutoCloseFD'],['../classnixd_1_1util_1_1AutoCloseFD.html#a4dd8fe6c67d4b920f4868bc4a4efd93f',1,'nixd::util::AutoCloseFD::AutoCloseFD(FDTy FD)'],['../classnixd_1_1util_1_1AutoCloseFD.html#a7f6710413f3f9cb1ad282f5c7ff87145',1,'nixd::util::AutoCloseFD::AutoCloseFD(const AutoCloseFD &)=delete'],['../classnixd_1_1util_1_1AutoCloseFD.html#a42415ae875dce069c99af6d545fc1269',1,'nixd::util::AutoCloseFD::AutoCloseFD(AutoCloseFD &&That) noexcept']]], + ['autoclosefd_2ecpp_48',['AutoCloseFD.cpp',['../AutoCloseFD_8cpp.html',1,'']]], + ['autoclosefd_2eh_49',['AutoCloseFD.h',['../AutoCloseFD_8h.html',1,'']]], + ['autohuppid_50',['AutoHUPPID',['../classnixd_1_1util_1_1AutoHUPPID.html',1,'nixd::util::AutoHUPPID'],['../classnixd_1_1util_1_1AutoHUPPID.html#a7cb09e2c7c22b43d36ac1b9db7a5722c',1,'nixd::util::AutoHUPPID::AutoHUPPID()']]], + ['autohuppid_2eh_51',['AutoHUPPID.h',['../AutoHUPPID_8h.html',1,'']]], + ['autoremoveshm_52',['AutoRemoveShm',['../classnixd_1_1util_1_1AutoRemoveShm.html',1,'nixd::util::AutoRemoveShm'],['../classnixd_1_1util_1_1AutoRemoveShm.html#a4de910c79a7fd561cad1c9bed456d13d',1,'nixd::util::AutoRemoveShm::AutoRemoveShm()']]], + ['autoremoveshm_2ecpp_53',['AutoRemoveShm.cpp',['../AutoRemoveShm_8cpp.html',1,'']]], + ['autoremoveshm_2eh_54',['AutoRemoveShm.h',['../AutoRemoveShm_8h.html',1,'']]] +]; diff --git a/search/all_1.js b/search/all_1.js new file mode 100644 index 000000000..570fe30b8 --- /dev/null +++ b/search/all_1.js @@ -0,0 +1,22 @@ +var searchData= +[ + ['basepath_0',['BasePath',['../structnixt_1_1DeserializeContext.html#a3e5245500d3aa0c06d0f6628ffcf0c7f',1,'nixt::DeserializeContext::BasePath'],['../structnixd_1_1rpc_1_1RegisterBCParams.html#a5bc906ef1bb5e417127edd3d3e4019c6',1,'nixd::rpc::RegisterBCParams::BasePath']]], + ['basic_2eh_1',['Basic.h',['../Basic_8h.html',1,'']]], + ['bc_2',['bc',['../namespacebc.html',1,'']]], + ['begin_3',['Begin',['../structnixt_1_1ArrayRef.html#a532d9ae439c1aaa249e2395ec738bcd8',1,'nixt::ArrayRef']]], + ['begin_4',['begin',['../classnixf_1_1PositionRange.html#a3acf7afdf0226f2f24b00e77db17ecfd',1,'nixf::PositionRange::begin()'],['../namespacenixt.html#a373e5cbe21a0f73243e8b912e418ba86',1,'nixt::begin()']]], + ['being_20collected_5',['How does language information being collected?',['../md_nixd_2docs_2dev.html#autotoc_md8',1,'']]], + ['binding_6',['Binding',['../classnixf_1_1Binding.html',1,'nixf::Binding'],['../classnixf_1_1Binding.html#a48c7605bb210f2f7c62185aa5255ded9',1,'nixf::Binding::Binding()']]], + ['bindings_7',['bindings',['../classnixf_1_1Binds.html#abf296edeca19f4e0ba3c644f5bbc263c',1,'nixf::Binds']]], + ['binds_8',['Binds',['../classnixf_1_1Binds.html',1,'nixf']]], + ['binds_9',['binds',['../classnixf_1_1ExprAttrs.html#ad78576f46894599609db94783ca21ebb',1,'nixf::ExprAttrs::binds()'],['../classnixf_1_1ExprLet.html#a51481261bb8028954e4b55d3eb6a8990',1,'nixf::ExprLet::binds()']]], + ['binds_10',['Binds',['../classnixf_1_1Binds.html#a6d2badff19ff4592eff48465a4f741a8',1,'nixf::Binds']]], + ['body_11',['body',['../classnixf_1_1ExprLambda.html#a64b0fd5c85d37d736da859892fc0b67b',1,'nixf::ExprLambda::body()'],['../classlspserver_1_1URI.html#aac7d80bf1c74cabcf10143735261dba2',1,'lspserver::URI::body()']]], + ['boolean_12',['Boolean',['../namespacelspserver.html#a2c2f610d4b7f64335e8d68b47e18ea6fa27226c864bac7454a8504f8edb15d95b',1,'lspserver']]], + ['both_13',['Both',['../namespacelspserver.html#a7d97020df0f5bac6de94854de72d22eba130c5b3473c57faa76e2a1c54e26f88e',1,'lspserver']]], + ['broadcast_14',['broadcast',['../classlspserver_1_1Event.html#a29b5c5938637f186fe4bd5f7999b161c',1,'lspserver::Event']]], + ['build_15',['nix-build',['../md_nixd_2docs_2user-guide.html#autotoc_md30',1,'']]], + ['build_20the_20project_20from_20source_16',['Build the project from source',['../md_nixd_2docs_2user-guide.html#autotoc_md29',1,'']]], + ['by_20itself_17',['Why does nix evaluator see your data structure, instead of parsing file by itself?',['../md_nixd_2docs_2dev.html#autotoc_md9',1,'']]], + ['bytesref_18',['BytesRef',['../namespacenixt.html#ae10826e6bb599542683902aaf27623a6',1,'nixt']]] +]; diff --git a/search/all_10.js b/search/all_10.js new file mode 100644 index 000000000..a6838aa25 --- /dev/null +++ b/search/all_10.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['query_0',['query',['../structlspserver_1_1WorkspaceSymbolParams.html#af755eb104664e7ac12c63fe626217b4d',1,'lspserver::WorkspaceSymbolParams']]], + ['quickfix_5fkind_1',['QUICKFIX_KIND',['../structlspserver_1_1CodeAction.html#ac04afd233a820f7f18d661a19d583cf9',1,'lspserver::CodeAction']]] +]; diff --git a/search/all_11.js b/search/all_11.js new file mode 100644 index 000000000..989716abc --- /dev/null +++ b/search/all_11.js @@ -0,0 +1,60 @@ +var searchData= +[ + ['r_0',['R',['../structnixt_1_1detail_1_1R.html',1,'nixt::detail']]], + ['range_1',['Range',['../structlspserver_1_1Range.html',1,'lspserver']]], + ['range_2',['range',['../structlspserver_1_1Location.html#a72599515be2b0748b1a2d06ddfa27ce1',1,'lspserver::Location::range'],['../structlspserver_1_1TextEdit.html#af88adc68e3f49a97eb3f2387f8ff566e',1,'lspserver::TextEdit::range'],['../structlspserver_1_1TextDocumentContentChangeEvent.html#a5d88c6058ffece60feeb2d7c6f00e0db',1,'lspserver::TextDocumentContentChangeEvent::range'],['../structlspserver_1_1DocumentRangeFormattingParams.html#afc7ddd1d1cec40801f54d7a0a6a9e504',1,'lspserver::DocumentRangeFormattingParams::range'],['../structlspserver_1_1Diagnostic.html#a7286ecac7bcbf496630e7d25fecad764',1,'lspserver::Diagnostic::range'],['../structlspserver_1_1CodeActionParams.html#a14f7de9f7a175401af63384370892112',1,'lspserver::CodeActionParams::range'],['../structlspserver_1_1DocumentSymbol.html#a43126241e8fcc831c1ed2b35e6d7483e',1,'lspserver::DocumentSymbol::range'],['../structlspserver_1_1Hover.html#a3e15e2b843a7f0d974fcc419b6c964fe',1,'lspserver::Hover::range'],['../structlspserver_1_1DocumentHighlight.html#a4f91477e698d9c036f08af3496b62ccd',1,'lspserver::DocumentHighlight::range'],['../structlspserver_1_1TypeHierarchyItem.html#a25c3ba3a2abbca768fea4d558f1f12ad',1,'lspserver::TypeHierarchyItem::range'],['../structlspserver_1_1CallHierarchyItem.html#afe63b105273dd1b2330744adde08f2b1',1,'lspserver::CallHierarchyItem::range'],['../structlspserver_1_1InlayHintsParams.html#ab928462b063eaa6dff3889b826d3624e',1,'lspserver::InlayHintsParams::range'],['../structlspserver_1_1InlayHint.html#a1864d91ef102995a7e0693b9a4b8d0e9',1,'lspserver::InlayHint::range'],['../structlspserver_1_1SelectionRange.html#a0c0540cf3bb69f399246d3aa1150f9e9',1,'lspserver::SelectionRange::range'],['../structlspserver_1_1DocumentLink.html#a46f8dd6d08c2ebac42411cd306d40e4c',1,'lspserver::DocumentLink::range'],['../structlspserver_1_1ASTParams.html#ab4600ef338b1dd5cc5762f0a4f1d051d',1,'lspserver::ASTParams::range'],['../structlspserver_1_1ASTNode.html#ae40838be379ed39a9c1b933ce38d16c8',1,'lspserver::ASTNode::range'],['../classnixf_1_1PartialDiagnostic.html#ad41d9da5072ab9953e85346ea8b13572',1,'nixf::PartialDiagnostic::range()'],['../classnixf_1_1Node.html#ac41eab257d538cf9a1625d8edc9f6cba',1,'nixf::Node::range()'],['../classnixf_1_1LexerCursorRange.html#a6ad684b278e832317fc1d0ac6b3d3b27',1,'nixf::LexerCursorRange::range()'],['../classnixf_1_1Token.html#a3447796262343771d90266110cfafd4a',1,'nixf::Token::range()']]], + ['range_2eh_3',['Range.h',['../Range_8h.html',1,'']]], + ['rangelength_4',['rangeLength',['../structlspserver_1_1TextDocumentContentChangeEvent.html#a851c8cf41711b8889f4876d9ce8917e9',1,'lspserver::TextDocumentContentChangeEvent']]], + ['rawcapabilities_5',['rawCapabilities',['../structlspserver_1_1InitializeParams.html#a2fe50285736d99377ea443dc604b5f6e',1,'lspserver::InitializeParams']]], + ['rb_6',['RB',['../structnixt_1_1detail_1_1RB.html',1,'nixt::detail']]], + ['rcur_7',['rCur',['../classnixf_1_1Node.html#aa4b694a2f3970bd3e641377ffd340ce9',1,'nixf::Node::rCur()'],['../classnixf_1_1LexerCursorRange.html#ac49a2e69ddf5fd5fa01ec691c540c060',1,'nixf::LexerCursorRange::rCur()'],['../classnixf_1_1Token.html#a7a8de8a2ef5b3a0f89cca42a946a5082',1,'nixf::Token::rCur()']]], + ['read_8',['Read',['../namespacelspserver.html#a63ffb3d295b12032400790fb555de2e9a7a1a5f3e79fdc91edf2f5ead9d66abb4',1,'lspserver']]], + ['read_2ecpp_9',['Read.cpp',['../Read_8cpp.html',1,'']]], + ['read_2eh_10',['Read.h',['../Read_8h.html',1,'']]], + ['readbytecode_11',['readBytecode',['../namespacebc.html#a264910f00af41013c3e16a9129f3dff8',1,'bc::readBytecode(std::string_view &Data, T &Obj)'],['../namespacebc.html#aa122c3976610146d6a05dc9f48a3bea9',1,'bc::readBytecode(std::string_view &Data, T &Obj)'],['../namespacebc.html#a34afc9ac145f3655fda9a11aeeaba794',1,'bc::readBytecode(std::string_view &Data, std::vector< T > &Obj)'],['../namespacenixbc.html#aae017e22bb2a1ca63af80532095cb936',1,'nixbc::readBytecode(std::string_view &Data, Origin &Obj)'],['../namespacenixbc.html#a2afda84bce744a76a93acdbb3802492a',1,'nixbc::readBytecode(std::string_view &Data, OriginPath &Obj)']]], + ['readbytecode_3c_20std_3a_3astring_20_3e_12',['readBytecode< std::string >',['../namespacebc.html#a6bf2a852588bc882069769c4f830bd49',1,'bc::readBytecode< std::string >(std::string_view &Data, std::string &Obj)'],['../namespacebc.html#a6bf2a852588bc882069769c4f830bd49',1,'bc::readBytecode< std::string >(std::string_view &Data, std::string &Obj)']]], + ['readdelimitedmessage_13',['readDelimitedMessage',['../classlspserver_1_1InboundPort.html#ac130e7a1daffba4a6a5a70b4649bd18e',1,'lspserver::InboundPort']]], + ['readline_14',['readLine',['../namespacelspserver.html#afbe5d31d367546d2d2bd41949e6ac3a8',1,'lspserver']]], + ['readme_15',['README',['../md_README.html',1,'']]], + ['readme_2emd_16',['README.md',['../README_8md.html',1,'']]], + ['readmessage_17',['readMessage',['../classlspserver_1_1InboundPort.html#aa781da274df2375c0c9f648ccc4ca393',1,'lspserver::InboundPort']]], + ['readstandardmessage_18',['readStandardMessage',['../classlspserver_1_1InboundPort.html#a75f1031eb93fc44b3a0f2649545b1a56',1,'lspserver::InboundPort']]], + ['rec_19',['rec',['../classnixf_1_1ExprAttrs.html#ab2e72b19f5e98455f60d0cf34a98f11d',1,'nixf::ExprAttrs']]], + ['record_20',['record',['../structnixt_1_1PtrPool.html#a9d6e70d8db772764426b6a60f0634d48',1,'nixt::PtrPool']]], + ['recursiveastvisitor_21',['RecursiveASTVisitor',['../structnixt_1_1RecursiveASTVisitor.html',1,'nixt']]], + ['refactor_5fkind_22',['REFACTOR_KIND',['../structlspserver_1_1CodeAction.html#a295eab424b61078692bd4724863ffb6e',1,'lspserver::CodeAction']]], + ['reference_23',['Reference',['../namespacelspserver.html#aaa34ea3819069fbee52018467e9586e0a63d5049791d9d79d86e9a108b0a999ca',1,'lspserver']]], + ['referencecontainer_24',['ReferenceContainer',['../structlspserver_1_1ClientCapabilities.html#a23245d62863c4845a7c21d0f3a3d7d9e',1,'lspserver::ClientCapabilities']]], + ['referencecontext_25',['ReferenceContext',['../structlspserver_1_1ReferenceContext.html',1,'lspserver']]], + ['referencelocation_26',['ReferenceLocation',['../structlspserver_1_1ReferenceLocation.html',1,'lspserver']]], + ['referenceparams_27',['ReferenceParams',['../structlspserver_1_1ReferenceParams.html',1,'lspserver']]], + ['region_28',['Region',['../structnixd_1_1util_1_1OwnedRegion.html#a54951ef6fe4ee01a7cdef42491a8565f',1,'nixd::util::OwnedRegion']]], + ['region_5fkind_29',['REGION_KIND',['../structlspserver_1_1FoldingRange.html#afac29491858221e8ee6cf47dbf82218a',1,'lspserver::FoldingRange']]], + ['registerbc_30',['RegisterBC',['../classnixd_1_1EvalClient.html#a373a545dcd678c49af18766457af1fd7',1,'nixd::EvalClient']]], + ['registerbcparams_31',['RegisterBCParams',['../structnixd_1_1rpc_1_1RegisterBCParams.html',1,'nixd::rpc']]], + ['registry_32',['Registry',['../classlspserver_1_1LSPServer.html#a0e1207414ee5d585895e21781c0ab850',1,'lspserver::LSPServer']]], + ['relatedinformation_33',['relatedInformation',['../structlspserver_1_1Diagnostic.html#aa0190fd8d50563c34dcb264dc75eb310',1,'lspserver::Diagnostic']]], + ['release_34',['release',['../classnixd_1_1util_1_1AutoCloseFD.html#ab69ba32fd428e832dbc04e877bdfdba9',1,'nixd::util::AutoCloseFD']]], + ['removedraft_35',['removeDraft',['../classlspserver_1_1DraftStore.html#a9432c04dbf56358e7967b9cefc096131',1,'lspserver::DraftStore']]], + ['removeformal_36',['removeFormal',['../classnixf_1_1Sema.html#abb324d1b4655fc7ca0863cd9fc2b52f8',1,'nixf::Sema']]], + ['renameparams_37',['RenameParams',['../structlspserver_1_1RenameParams.html',1,'lspserver']]], + ['renamepreparesupport_38',['RenamePrepareSupport',['../structlspserver_1_1ClientCapabilities.html#a71b489d3c1c56b89dab0c9737e5db47a',1,'lspserver::ClientCapabilities']]], + ['reply_39',['reply',['../classlspserver_1_1OutboundPort.html#ac1da9934b3ab8851b33551dc27dd40be',1,'lspserver::OutboundPort']]], + ['reproducible_20editors_20environment_40',['Reproducible Editors Environment',['../md_nixd_2docs_2editors_2editors.html',1,'']]], + ['requestcancelled_41',['RequestCancelled',['../namespacelspserver.html#a748780c668b7e2d2e3700f6e7075b078a40f07a96a26ddc298439934bd214e540',1,'lspserver']]], + ['resolve_42',['resolve',['../structlspserver_1_1TypeHierarchyPrepareParams.html#a0d86174cfe8dd5f3935c69dcc60c0868',1,'lspserver::TypeHierarchyPrepareParams::resolve'],['../structlspserver_1_1ResolveTypeHierarchyItemParams.html#a7e688f43e6bea9c0c6bdc1fcb005ed5f',1,'lspserver::ResolveTypeHierarchyItemParams::resolve'],['../classlspserver_1_1URI.html#a320b8ee0a87dcb9785283a0a061de112',1,'lspserver::URI::resolve(const URI &U, llvm::StringRef HintPath="")'],['../classlspserver_1_1URI.html#afa1f3a0f44369e6853de808d877f27ad',1,'lspserver::URI::resolve(llvm::StringRef FileURI, llvm::StringRef HintPath="")']]], + ['resolveparams_43',['ResolveParams',['../structlspserver_1_1TypeHierarchyItem_1_1ResolveParams.html',1,'lspserver::TypeHierarchyItem']]], + ['resolvepath_44',['resolvePath',['../classlspserver_1_1URI.html#af74e7671fefbbbd61db978ac8d7c35fa',1,'lspserver::URI']]], + ['resolvetypehierarchyitemparams_45',['ResolveTypeHierarchyItemParams',['../structlspserver_1_1ResolveTypeHierarchyItemParams.html',1,'lspserver']]], + ['resources_46',['Resources',['../md_README.html#autotoc_md46',1,'']]], + ['resultid_47',['resultId',['../structlspserver_1_1SemanticTokens.html#ab92abab0e225f469dd2ad0bab71f4c02',1,'lspserver::SemanticTokens::resultId'],['../structlspserver_1_1SemanticTokensOrDelta.html#af69c411d4e2dd2202d5066a541cef5de',1,'lspserver::SemanticTokensOrDelta::resultId']]], + ['resultkind_48',['ResultKind',['../structnixd_1_1rpc_1_1ExprValueResponse.html#a8a8a1e1c65bb699483e3bf866cb2e768',1,'nixd::rpc::ExprValueResponse']]], + ['resultkinds_49',['ResultKinds',['../structnixd_1_1rpc_1_1ExprValueResponse.html#aae25daf6dbf5578afc233532331a5b40',1,'nixd::rpc::ExprValueResponse']]], + ['rhs_50',['rhs',['../classnixf_1_1ExprBinOp.html#a3f13d7e7779ecbe960a77e9a3e4529e6',1,'nixf::ExprBinOp']]], + ['role_51',['role',['../structlspserver_1_1ASTNode.html#a74f3169e46dbbda8e69896e89dab9640',1,'lspserver::ASTNode']]], + ['rootfs_52',['RootFS',['../structnixt_1_1DeserializeContext.html#a0df14235d17964b04d0471ce435f2f73',1,'nixt::DeserializeContext']]], + ['rootpath_53',['rootPath',['../structlspserver_1_1InitializeParams.html#a2c16c4e2abcb0c3d2b48e41a8af37710',1,'lspserver::InitializeParams']]], + ['rooturi_54',['rootUri',['../structlspserver_1_1InitializeParams.html#aa6049080ea5d5fef57c65e163ee3c522',1,'lspserver::InitializeParams']]], + ['rparen_55',['rparen',['../classnixf_1_1ExprParen.html#a833d9e2d5780c480d4105b1bfa325b05',1,'nixf::ExprParen']]], + ['run_56',['run',['../classlspserver_1_1LSPServer.html#af88fc336cbc2b4513a0461e4b30bb2d6',1,'lspserver::LSPServer']]] +]; diff --git a/search/all_12.js b/search/all_12.js new file mode 100644 index 000000000..36000dbaa --- /dev/null +++ b/search/all_12.js @@ -0,0 +1,86 @@ +var searchData= +[ + ['scheme_0',['scheme',['../classlspserver_1_1URI.html#ab97804c060c2e322f07ab7c882ad3319',1,'lspserver::URI']]], + ['scopeuri_1',['scopeUri',['../structlspserver_1_1ConfigurationItem.html#a8c5e346cbe75438657277cb6e9a2ab72',1,'lspserver::ConfigurationItem']]], + ['score_2',['score',['../structlspserver_1_1SymbolInformation.html#a07f92e4294e42238530bd0357716b56d',1,'lspserver::SymbolInformation::score'],['../structlspserver_1_1CompletionItem.html#a3125bcafb61ec3a4955f40e375c2859a',1,'lspserver::CompletionItem::score']]], + ['section_3',['section',['../structlspserver_1_1ConfigurationItem.html#a0fde8544e49cdf8fe744533fc9ac4f62',1,'lspserver::ConfigurationItem']]], + ['see_20your_20data_20structure_20instead_20of_20parsing_20file_20by_20itself_4',['Why does nix evaluator see your data structure, instead of parsing file by itself?',['../md_nixd_2docs_2dev.html#autotoc_md9',1,'']]], + ['selection_5',['selection',['../structlspserver_1_1TweakArgs.html#aed640853946c3ce6439157f18d967a65',1,'lspserver::TweakArgs']]], + ['selectionrange_6',['SelectionRange',['../structlspserver_1_1SelectionRange.html',1,'lspserver']]], + ['selectionrange_7',['selectionRange',['../structlspserver_1_1DocumentSymbol.html#aab8745d1cc01112ff5bff7c87a8733d7',1,'lspserver::DocumentSymbol::selectionRange'],['../structlspserver_1_1TypeHierarchyItem.html#a5f11aa7d43d7f54614e9c61e5163ed0b',1,'lspserver::TypeHierarchyItem::selectionRange'],['../structlspserver_1_1CallHierarchyItem.html#a144fe12f06a357e08d7fdd7b0cf5ac56',1,'lspserver::CallHierarchyItem::selectionRange']]], + ['selectionrangeparams_8',['SelectionRangeParams',['../structlspserver_1_1SelectionRangeParams.html',1,'lspserver']]], + ['selectorcreate_9',['selectOrCreate',['../classnixf_1_1Sema.html#a0b137b12fbec016d52ef7fd8bae0ff10',1,'nixf::Sema']]], + ['sema_10',['Sema',['../classnixf_1_1Sema.html',1,'nixf::Sema'],['../classnixf_1_1SemaAttrs.html#a4b2d8fa9accf6f1bd3f8768eacbe31a6',1,'nixf::SemaAttrs::Sema'],['../classnixf_1_1ExprAttrs.html#a4b2d8fa9accf6f1bd3f8768eacbe31a6',1,'nixf::ExprAttrs::Sema'],['../classnixf_1_1Sema.html#ae2d3c9846532adba88cf4d746cdb9e67',1,'nixf::Sema::Sema()']]], + ['sema_11',['sema',['../classnixf_1_1ExprAttrs.html#a552568476b135321dbbc77080d965baf',1,'nixf::ExprAttrs']]], + ['semaactions_2ecpp_12',['SemaActions.cpp',['../SemaActions_8cpp.html',1,'']]], + ['semaactions_2eh_13',['SemaActions.h',['../SemaActions_8h.html',1,'']]], + ['semaattrs_14',['SemaAttrs',['../classnixf_1_1SemaAttrs.html',1,'nixf::SemaAttrs'],['../classnixf_1_1SemaAttrs.html#a6fbf876a47b325281ca39196ca3b80bc',1,'nixf::SemaAttrs::SemaAttrs(Misc *Recursive)'],['../classnixf_1_1SemaAttrs.html#a213ee7465c9d56ccde6be97868a7b16c',1,'nixf::SemaAttrs::SemaAttrs(std::map< std::string, Attribute > Static, std::vector< Attribute > Dynamic, Misc *Recursive)']]], + ['semantictoken_15',['SemanticToken',['../structlspserver_1_1SemanticToken.html',1,'lspserver']]], + ['semantictokenencodingsize_16',['SemanticTokenEncodingSize',['../namespacelspserver.html#ae3e57634421f7602fa0dbd6e75086aaa',1,'lspserver']]], + ['semantictokenrefreshsupport_17',['SemanticTokenRefreshSupport',['../structlspserver_1_1ClientCapabilities.html#aef72c66925b5731b7e8a08f3e6ea7c8c',1,'lspserver::ClientCapabilities']]], + ['semantictokens_18',['SemanticTokens',['../structlspserver_1_1SemanticTokens.html',1,'lspserver::SemanticTokens'],['../structlspserver_1_1ClientCapabilities.html#ab4ca2fff918be5824d5e1cfcd92d68c7',1,'lspserver::ClientCapabilities::SemanticTokens']]], + ['semantictokensdeltaparams_19',['SemanticTokensDeltaParams',['../structlspserver_1_1SemanticTokensDeltaParams.html',1,'lspserver']]], + ['semantictokensedit_20',['SemanticTokensEdit',['../structlspserver_1_1SemanticTokensEdit.html',1,'lspserver']]], + ['semantictokensordelta_21',['SemanticTokensOrDelta',['../structlspserver_1_1SemanticTokensOrDelta.html',1,'lspserver']]], + ['semantictokensparams_22',['SemanticTokensParams',['../structlspserver_1_1SemanticTokensParams.html',1,'lspserver']]], + ['sendmessage_23',['sendMessage',['../classlspserver_1_1OutboundPort.html#a66baca8ef340b385c4852c522c1d4a42',1,'lspserver::OutboundPort']]], + ['serialize_2eh_24',['Serialize.h',['../Serialize_8h.html',1,'']]], + ['servernotinitialized_25',['ServerNotInitialized',['../namespacelspserver.html#a748780c668b7e2d2e3700f6e7075b078a65b820c7dc7106af8ac1292df8f7119f',1,'lspserver']]], + ['setcur_26',['setCur',['../classnixf_1_1Lexer.html#aa1da76c67db3bcd5d9bcf89c8f9052c2',1,'nixf::Lexer']]], + ['settings_27',['settings',['../structlspserver_1_1DidChangeConfigurationParams.html#ae04eb8c83f034e1a569175988ce3ca88',1,'lspserver::DidChangeConfigurationParams']]], + ['setup_20guide_28',['Editor Setup Guide',['../md_nixd_2docs_2editor-setup.html#autotoc_md15',1,'']]], + ['severity_29',['Severity',['../classnixf_1_1Diagnostic.html#a1ae78a8db740ce789f2dc8b4603f9d7b',1,'nixf::Diagnostic']]], + ['severity_30',['severity',['../structlspserver_1_1Diagnostic.html#ab8b54ca4cec8ed0292d8a4498207cf1c',1,'lspserver::Diagnostic::severity'],['../classnixf_1_1Diagnostic.html#af2604208de6c52c85e4827bd54243d66',1,'nixf::Diagnostic::severity()']]], + ['shm_31',['Shm',['../structnixd_1_1rpc_1_1RegisterBCParams.html#a4575caaf66f72a7983096412d4998e83',1,'nixd::rpc::RegisterBCParams::Shm'],['../structnixd_1_1util_1_1OwnedRegion.html#a1d6d412887c3f5c8956a52f4f3e0e438',1,'nixd::util::OwnedRegion::Shm']]], + ['shmname_32',['shmName',['../classnixd_1_1util_1_1AutoRemoveShm.html#ae5742ac205976bb5d6ced9b2732003a9',1,'nixd::util::AutoRemoveShm']]], + ['shouldtraversepostorder_33',['shouldTraversePostOrder',['../structnixt_1_1RecursiveASTVisitor.html#aeae26a42e443af02877fe52456b5d9a3',1,'nixt::RecursiveASTVisitor']]], + ['showmessageparams_34',['ShowMessageParams',['../structlspserver_1_1ShowMessageParams.html',1,'lspserver']]], + ['signaturehelp_35',['SignatureHelp',['../structlspserver_1_1SignatureHelp.html',1,'lspserver']]], + ['signaturehelpdocumentationformat_36',['SignatureHelpDocumentationFormat',['../structlspserver_1_1ClientCapabilities.html#a11d45c27c2fafa0d63094d35c5d58054',1,'lspserver::ClientCapabilities']]], + ['signatureinformation_37',['SignatureInformation',['../structlspserver_1_1SignatureInformation.html',1,'lspserver']]], + ['signatures_38',['signatures',['../structlspserver_1_1SignatureHelp.html#ac18bbb5ea735f40b23576fefc74db7fd',1,'lspserver::SignatureHelp']]], + ['simple_2eh_39',['Simple.h',['../Simple_8h.html',1,'']]], + ['size_40',['Size',['../structnixd_1_1rpc_1_1RegisterBCParams.html#af1a3c041a9a174951d771c138eead874',1,'nixd::rpc::RegisterBCParams']]], + ['sname_41',['sname',['../classnixf_1_1Note.html#a6c2401307d74cbbab60176b1812b76e7',1,'nixf::Note::sname(NoteKind Kind)'],['../classnixf_1_1Note.html#aa07e5eedd7be333ad6cad27450fea8a2',1,'nixf::Note::sname() const'],['../classnixf_1_1Diagnostic.html#aa0e7c95d756d7af0e07ec8cb104d22f0',1,'nixf::Diagnostic::sname(DiagnosticKind Kind)'],['../classnixf_1_1Diagnostic.html#a5f3fa89c21696fb6221bd32cd4d8767b',1,'nixf::Diagnostic::sname() const']]], + ['snippet_42',['Snippet',['../namespacelspserver.html#aaa34ea3819069fbee52018467e9586e0ac437bb5adb99c55aa0754151c5a61e3d',1,'lspserver::Snippet'],['../namespacelspserver.html#ac7ba537910cf2ac19f50ecf4bf062c00ac437bb5adb99c55aa0754151c5a61e3d',1,'lspserver::Snippet']]], + ['sorttext_43',['sortText',['../structlspserver_1_1CompletionItem.html#a394f2a3dd0edf7043f8beb4aa66007af',1,'lspserver::CompletionItem']]], + ['source_44',['Build the project from source',['../md_nixd_2docs_2user-guide.html#autotoc_md29',1,'']]], + ['source_45',['source',['../structlspserver_1_1Diagnostic.html#ab5feec8a8e947e5e3359ede8922da2f9',1,'lspserver::Diagnostic']]], + ['sourcecode_2ecpp_46',['SourceCode.cpp',['../SourceCode_8cpp.html',1,'']]], + ['sourcecode_2eh_47',['SourceCode.h',['../SourceCode_8h.html',1,'']]], + ['spelling_48',['spelling',['../namespacenixf_1_1tok.html#a22303bfd9cb56f2263925fb456d35877',1,'nixf::tok']]], + ['spk_5fescaped_49',['SPK_Escaped',['../classnixf_1_1InterpolablePart.html#a7454ab26e6f93fe207838d0388a70a12a63721b8bb75f7221f6ddfeef51cf3754',1,'nixf::InterpolablePart']]], + ['spk_5finterpolation_50',['SPK_Interpolation',['../classnixf_1_1InterpolablePart.html#a7454ab26e6f93fe207838d0388a70a12a1fb110f8e219a5c2803a7608ca3e2747',1,'nixf::InterpolablePart']]], + ['src_51',['src',['../classnixf_1_1Node.html#a8aecdb38ea3becaa4c3486e9a22bac04',1,'nixf::Node']]], + ['src_2fparse_2fparser_2eh_52',['Parser.h',['../src_2Parse_2Parser_8h.html',1,'']]], + ['stable_53',['STable',['../structnixt_1_1DeserializeContext.html#a8030356e2ec79cc8b9702f9a0cc5964b',1,'nixt::DeserializeContext']]], + ['standard_54',['Standard',['../namespacelspserver.html#a452c423a64856fd113d0303affd5a1b8aeb6d8ae6f20283755b339c0dc273988b',1,'lspserver']]], + ['start_55',['start',['../structlspserver_1_1Range.html#a96ddad776731107707764549a79df7be',1,'lspserver::Range']]], + ['startcharacter_56',['startCharacter',['../structlspserver_1_1FoldingRange.html#a343a7f7d07da469b4fc5db2df0d984c0',1,'lspserver::FoldingRange']]], + ['started_57',['Get Started',['../md_README.html#autotoc_md45',1,'']]], + ['startline_58',['startLine',['../structlspserver_1_1FoldingRange.html#ad8f95f4d508dc33b2954e9ba88f39229',1,'lspserver::FoldingRange']]], + ['starttoken_59',['startToken',['../structlspserver_1_1SemanticTokensEdit.html#af609dc75a21ef6b8c63da7a971478968',1,'lspserver::SemanticTokensEdit']]], + ['state_60',['state',['../structlspserver_1_1FileStatus.html#a9bbeea280bfa730a07c4231df25f9303',1,'lspserver::FileStatus']]], + ['staticattrs_61',['staticAttrs',['../classnixf_1_1SemaAttrs.html#adb4cd398a017d36cdf5b2b581fcdf78b',1,'nixf::SemaAttrs']]], + ['staticname_62',['staticName',['../classnixf_1_1AttrName.html#a26f8f0850b88fa1ab24494cb8c969b06',1,'nixf::AttrName']]], + ['stderr_63',['Stderr',['../structnixd_1_1util_1_1PipedProc.html#a4d38460e2d6fccb6ad30b356e8528110',1,'nixd::util::PipedProc']]], + ['stdin_64',['Stdin',['../structnixd_1_1util_1_1PipedProc.html#ab7c30291763dc89721e155109b64df09',1,'nixd::util::PipedProc']]], + ['stdout_65',['Stdout',['../structnixd_1_1util_1_1PipedProc.html#aa2c11a45e02bafe869d620b930d9e14f',1,'nixd::util::PipedProc']]], + ['streamlogger_66',['StreamLogger',['../classlspserver_1_1StreamLogger.html',1,'lspserver::StreamLogger'],['../classlspserver_1_1StreamLogger.html#a49ddb7eeb5f140e6f79aed6c51e05491',1,'lspserver::StreamLogger::StreamLogger()']]], + ['streamstyle_67',['StreamStyle',['../classlspserver_1_1InboundPort.html#a506a9cc914e720b4fd005fc31fb16549',1,'lspserver::InboundPort']]], + ['striked_68',['Striked',['../namespacenixf.html#a107eebaa5e9ba959f752e4ac049cf078aefb65517f08dab1e15d017d64de22b96',1,'nixf']]], + ['string_69',['string',['../classnixf_1_1AttrName.html#aa606d39021e67e8f858ac3ecdf298133',1,'nixf::AttrName']]], + ['string_70',['String',['../namespacelspserver.html#a2c2f610d4b7f64335e8d68b47e18ea6fa27118326006d3829667a400ad23d5d98',1,'lspserver']]], + ['struct_71',['Struct',['../namespacelspserver.html#aaa34ea3819069fbee52018467e9586e0a886ef5dbd655a6c97726d7091c6b173e',1,'lspserver::Struct'],['../namespacelspserver.html#a2c2f610d4b7f64335e8d68b47e18ea6fa886ef5dbd655a6c97726d7091c6b173e',1,'lspserver::Struct']]], + ['structure_20instead_20of_20parsing_20file_20by_20itself_72',['Why does nix evaluator see your data structure, instead of parsing file by itself?',['../md_nixd_2docs_2dev.html#autotoc_md9',1,'']]], + ['subscription_73',['Subscription',['../classlspserver_1_1Event_1_1Subscription.html',1,'lspserver::Event< T >::Subscription'],['../classlspserver_1_1Event_1_1Subscription.html#a98f9174cc6d1cf01d4159abb5151199f',1,'lspserver::Event::Subscription::Subscription()'],['../classlspserver_1_1Event_1_1Subscription.html#a010c842beec38ef18ff5ca4011f23696',1,'lspserver::Event::Subscription::Subscription(Subscription &&Other)']]], + ['support_2ecpp_74',['Support.cpp',['../Support_8cpp.html',1,'']]], + ['switchstreamstyle_75',['switchStreamStyle',['../classlspserver_1_1LSPServer.html#ae32986041af5973c958e01718641fccb',1,'lspserver::LSPServer']]], + ['symbolinformation_76',['SymbolInformation',['../structlspserver_1_1SymbolInformation.html',1,'lspserver']]], + ['symbolkind_77',['SymbolKind',['../namespacelspserver.html#a2c2f610d4b7f64335e8d68b47e18ea6f',1,'lspserver']]], + ['symbolkindbitset_78',['SymbolKindBitset',['../namespacelspserver.html#a0e9fd79270562f41f0357ad395d09645',1,'lspserver']]], + ['symbolkindmax_79',['SymbolKindMax',['../namespacelspserver.html#aff90ea4801e512dbd2d7015aac1816d6',1,'lspserver']]], + ['symbolkindmin_80',['SymbolKindMin',['../namespacelspserver.html#ae2b1b4c253fef25798dc22648f5462a6',1,'lspserver']]], + ['symboltag_81',['SymbolTag',['../namespacelspserver.html#a0ab41ec28e07b679bf3d6de08c39b4bf',1,'lspserver']]], + ['syntaxkinds_2einc_82',['SyntaxKinds.inc',['../SyntaxKinds_8inc.html',1,'']]] +]; diff --git a/search/all_13.js b/search/all_13.js new file mode 100644 index 000000000..4931e6a1b --- /dev/null +++ b/search/all_13.js @@ -0,0 +1,70 @@ +var searchData= +[ + ['tag_0',['tag',['../classnixf_1_1PartialDiagnostic.html#a1856976da05c5e0f0be1ceff38b1848e',1,'nixf::PartialDiagnostic']]], + ['tags_1',['tags',['../structlspserver_1_1Diagnostic.html#a6d353d0c8e4004ba84e8fba5c660b90a',1,'lspserver::Diagnostic::tags'],['../structlspserver_1_1CallHierarchyItem.html#a6c9dcdcd1d001629a65dbf9247e81abc',1,'lspserver::CallHierarchyItem::tags'],['../classnixf_1_1PartialDiagnostic.html#a6a980e9e70615655cb9b7d02787f0521',1,'nixf::PartialDiagnostic::tags()']]], + ['target_2',['target',['../structlspserver_1_1DocumentLink.html#a861ebba1ff7639e897574111760f620a',1,'lspserver::DocumentLink']]], + ['target_3',['Target',['../md_nixd_2docs_2user-guide.html#autotoc_md34',1,'']]], + ['testing_4',['Testing',['../md_nixd_2docs_2dev.html#autotoc_md11',1,'']]], + ['text_5',['text',['../structlspserver_1_1TextDocumentItem.html#ad041e382506df7b771f9e686ac2479fc',1,'lspserver::TextDocumentItem::text'],['../structlspserver_1_1TextDocumentContentChangeEvent.html#a4df3c87d75a49dff1b8beb97dafe6f0f',1,'lspserver::TextDocumentContentChangeEvent::text']]], + ['text_6',['Text',['../namespacelspserver.html#aaa34ea3819069fbee52018467e9586e0a9dffbf69ffba8bc38bc4e01abf4b1675',1,'lspserver::Text'],['../namespacelspserver.html#a63ffb3d295b12032400790fb555de2e9a9dffbf69ffba8bc38bc4e01abf4b1675',1,'lspserver::Text']]], + ['textdocument_7',['textDocument',['../structlspserver_1_1TextDocumentEdit.html#ae88a6e2394cb3d5172a4d6fd75f0754d',1,'lspserver::TextDocumentEdit::textDocument'],['../structlspserver_1_1DidOpenTextDocumentParams.html#a217ef079724110c11e6f2846151e658a',1,'lspserver::DidOpenTextDocumentParams::textDocument'],['../structlspserver_1_1DidCloseTextDocumentParams.html#a7509489ed976d9614b8d19a3b00281f8',1,'lspserver::DidCloseTextDocumentParams::textDocument'],['../structlspserver_1_1DidSaveTextDocumentParams.html#ae2c5364709b413aa5cace8e0b08375f3',1,'lspserver::DidSaveTextDocumentParams::textDocument'],['../structlspserver_1_1DidChangeTextDocumentParams.html#ac8b3054f5ee528f65c3194393384a57c',1,'lspserver::DidChangeTextDocumentParams::textDocument'],['../structlspserver_1_1DocumentRangeFormattingParams.html#a5710a0a1536165422a1f6b1750b92384',1,'lspserver::DocumentRangeFormattingParams::textDocument'],['../structlspserver_1_1DocumentOnTypeFormattingParams.html#a2404a342650729939ecf0e3170cb33b5',1,'lspserver::DocumentOnTypeFormattingParams::textDocument'],['../structlspserver_1_1DocumentFormattingParams.html#a9a12630900529fbf33fcae8020a9785c',1,'lspserver::DocumentFormattingParams::textDocument'],['../structlspserver_1_1DocumentSymbolParams.html#a3a3a0cd15eed6fb468b89351d7327081',1,'lspserver::DocumentSymbolParams::textDocument'],['../structlspserver_1_1CodeActionParams.html#a7feda1a9802f28ada1839f1551f0a969',1,'lspserver::CodeActionParams::textDocument'],['../structlspserver_1_1TextDocumentPositionParams.html#a711573bc39468489f22a25840c51e492',1,'lspserver::TextDocumentPositionParams::textDocument'],['../structlspserver_1_1RenameParams.html#ae3b62c4a60df287dc9aa4c09a7631b4d',1,'lspserver::RenameParams::textDocument'],['../structlspserver_1_1InlayHintsParams.html#a30af858954af2a8c85a806a056a1e5a4',1,'lspserver::InlayHintsParams::textDocument'],['../structlspserver_1_1SemanticTokensParams.html#a858440b1732bb3f61e4632a4b093c94d',1,'lspserver::SemanticTokensParams::textDocument'],['../structlspserver_1_1SemanticTokensDeltaParams.html#aebfa61f223ebeb69f82a7fa3744729a7',1,'lspserver::SemanticTokensDeltaParams::textDocument'],['../structlspserver_1_1SelectionRangeParams.html#a9b853cef7117f6eb8a365a57b2bd7414',1,'lspserver::SelectionRangeParams::textDocument'],['../structlspserver_1_1DocumentLinkParams.html#a37e238bb85e147eaf6dc0a2975f9e71e',1,'lspserver::DocumentLinkParams::textDocument'],['../structlspserver_1_1FoldingRangeParams.html#ae4022354132cff48e3273ed9aa335b09',1,'lspserver::FoldingRangeParams::textDocument'],['../structlspserver_1_1ASTParams.html#a77c29cc220c5d4f17b88bf82695bb3a8',1,'lspserver::ASTParams::textDocument']]], + ['textdocument_8',['TextDocument',['../structlspserver_1_1InactiveRegionsParams.html#a5a1c776441b06da81f837b980dd3fa72',1,'lspserver::InactiveRegionsParams']]], + ['textdocumentcontentchangeevent_9',['TextDocumentContentChangeEvent',['../structlspserver_1_1TextDocumentContentChangeEvent.html',1,'lspserver']]], + ['textdocumentedit_10',['TextDocumentEdit',['../structlspserver_1_1TextDocumentEdit.html',1,'lspserver']]], + ['textdocumentidentifier_11',['TextDocumentIdentifier',['../structlspserver_1_1TextDocumentIdentifier.html',1,'lspserver']]], + ['textdocumentitem_12',['TextDocumentItem',['../structlspserver_1_1TextDocumentItem.html',1,'lspserver']]], + ['textdocumentpositionparams_13',['TextDocumentPositionParams',['../structlspserver_1_1TextDocumentPositionParams.html',1,'lspserver']]], + ['textdocumentsync_2ecpp_14',['TextDocumentSync.cpp',['../TextDocumentSync_8cpp.html',1,'']]], + ['textdocumentsynckind_15',['TextDocumentSyncKind',['../namespacelspserver.html#a96d435eb7c5ff25b80532d96bbedef3e',1,'lspserver']]], + ['textedit_16',['TextEdit',['../structlspserver_1_1TextEdit.html',1,'lspserver::TextEdit'],['../classnixf_1_1TextEdit.html',1,'nixf::TextEdit']]], + ['textedit_17',['textEdit',['../structlspserver_1_1CompletionItem.html#a6dbc2caed2a3ee6a016fe10169ffe3ae',1,'lspserver::CompletionItem']]], + ['textedit_18',['TextEdit',['../classnixf_1_1TextEdit.html#ad5d1fdcac6cbfeed63a12b115e13e532',1,'nixf::TextEdit']]], + ['the_20format_19',['The format',['../md_libnixbc_2README.html#autotoc_md1',1,'']]], + ['the_20project_20from_20source_20',['Build the project from source',['../md_nixd_2docs_2user-guide.html#autotoc_md29',1,'']]], + ['theiasemantichighlighting_21',['TheiaSemanticHighlighting',['../structlspserver_1_1ClientCapabilities.html#a7b47fbcfcb3be0c4b7ddb2d1927a2f2c',1,'lspserver::ClientCapabilities']]], + ['then_22',['then',['../classnixf_1_1ExprIf.html#a2f80b0835b006680c5e764d2673c41a0',1,'nixf::ExprIf']]], + ['title_23',['title',['../structlspserver_1_1WorkDoneProgressBegin.html#a615c123e0359ed8242791ec804570baf',1,'lspserver::WorkDoneProgressBegin::title'],['../structlspserver_1_1WorkDoneProgressReport.html#a1a5e77534bbb4ad4f283bce90201ec5b',1,'lspserver::WorkDoneProgressReport::title'],['../structlspserver_1_1Command.html#a2277f653309da4f7c9ae64cb5af92b23',1,'lspserver::Command::title'],['../structlspserver_1_1CodeAction.html#a052e9ef8b95710101beed46a115350c2',1,'lspserver::CodeAction::title']]], + ['to_24',['to',['../structlspserver_1_1CallHierarchyOutgoingCall.html#a660cfc5378905361d45e1b2f6ef40494',1,'lspserver::CallHierarchyOutgoingCall']]], + ['to_20use_20nixd_20in_20my_20em_20flake_20em_25',['How to use nixd in my <em>flake</em>?',['../md_nixd_2docs_2user-guide.html#autotoc_md40',1,'']]], + ['tobytecode_26',['toBytecode',['../namespacebc.html#aebd4151947c89d10a41ca97231dd84ff',1,'bc']]], + ['tojson_27',['toJSON',['../namespacelspserver.html#a8ec3d7cc35dfdf896f97ac1137ad4fb7',1,'lspserver::toJSON(const URIForFile &U)'],['../namespacelspserver.html#a7ef50f0f528f46a211f9579b24c7fab5',1,'lspserver::toJSON(const TextDocumentIdentifier &)'],['../namespacelspserver.html#afc09ee3e99f6c4ffa41435a97798578a',1,'lspserver::toJSON(const VersionedTextDocumentIdentifier &)'],['../namespacelspserver.html#aff0d63e9c2ba89776e662b27809d6f47',1,'lspserver::toJSON(const Position &)'],['../namespacelspserver.html#a743d12950ae5e3619d6c8bfbfe1fe8ee',1,'lspserver::toJSON(const Range &)'],['../namespacelspserver.html#a4c0a06c37062e11e275644d049ce3095',1,'lspserver::toJSON(const Location &)'],['../namespacelspserver.html#aa1e3f4338effc86d5f6bc7816299b588',1,'lspserver::toJSON(const ReferenceLocation &)'],['../namespacelspserver.html#a2b1144c0f8dc0213e157b8ee23fdd9f0',1,'lspserver::toJSON(const TextEdit &)'],['../namespacelspserver.html#acfe2aa5558bd5ab24a4022acfb6a163f',1,'lspserver::toJSON(const ChangeAnnotation &)'],['../namespacelspserver.html#a6f499d92f409550bf795a5a99fe1601e',1,'lspserver::toJSON(const TextDocumentEdit &)'],['../namespacelspserver.html#a9b8346d48148fd7240b65c991ca59688',1,'lspserver::toJSON(const NoParams &)'],['../namespacelspserver.html#a266c3dccc3b6cac8cf3becf855b79961',1,'lspserver::toJSON(const OffsetEncoding &)'],['../namespacelspserver.html#abc3bf2f561a4a0a27c171a1aa3f1b2c5',1,'lspserver::toJSON(const WorkDoneProgressCreateParams &P)'],['../namespacelspserver.html#ac515834273eb5a72ffc7ffbad86875b1',1,'lspserver::toJSON(const ProgressParams< T > &P)'],['../namespacelspserver.html#a0333faeb60947f54cf3bb430a5240875',1,'lspserver::toJSON(const WorkDoneProgressBegin &)'],['../namespacelspserver.html#af03c5454237edc9456422d7813bcd23d',1,'lspserver::toJSON(const WorkDoneProgressReport &)'],['../namespacelspserver.html#af181f3d13d5c99655cbb48e4182ec1b0',1,'lspserver::toJSON(const WorkDoneProgressEnd &)'],['../namespacelspserver.html#a1c54b1f33452a80e971cb14a680317e1',1,'lspserver::toJSON(const MessageType &)'],['../namespacelspserver.html#a915ac9f4b1eff0869899f6e1c7fbb303',1,'lspserver::toJSON(const ShowMessageParams &)'],['../namespacelspserver.html#a50bc4b5f57a326c73d7ea3d832fa0ae4',1,'lspserver::toJSON(const DiagnosticRelatedInformation &)'],['../namespacelspserver.html#a19a76321cf25bdd9ee5eac17fd0bdc9b',1,'lspserver::toJSON(DiagnosticTag Tag)'],['../namespacelspserver.html#afcd244f8d722e628d754846ab2798a6b',1,'lspserver::toJSON(const CodeDescription &)'],['../namespacelspserver.html#a55107875f33ec2df36fdd9d3db2e942e',1,'lspserver::toJSON(const Diagnostic &)'],['../namespacelspserver.html#aab1a6d429da27e494b56a517c239d041',1,'lspserver::toJSON(const PublishDiagnosticsParams &)'],['../namespacelspserver.html#ae01765eaa57d8d7e9510df4a31306cef',1,'lspserver::toJSON(const WorkspaceEdit &WE)'],['../namespacelspserver.html#a8a8564b4a7d9e799a2822927bc198eb3',1,'lspserver::toJSON(const TweakArgs &A)'],['../namespacelspserver.html#aad93856653302a66381078cc9e0ed57f',1,'lspserver::toJSON(const Command &C)'],['../namespacelspserver.html#af0cab4afa9e7fe2f800e5fae089a4fbc',1,'lspserver::toJSON(const CodeAction &)'],['../namespacelspserver.html#a077831ab6babe38051e9eec8146b9596',1,'lspserver::toJSON(const DocumentSymbol &S)'],['../namespacelspserver.html#a9dc694ba4171d6ff4ef3e2dbaee1e8b3',1,'lspserver::toJSON(const SymbolInformation &)'],['../namespacelspserver.html#a2c14cbc0e60f9adc35083d9f4dee132e',1,'lspserver::toJSON(const ApplyWorkspaceEditParams &)'],['../namespacelspserver.html#abea183efe985f4dfec4ab16655deea54',1,'lspserver::toJSON(const MarkupContent &MC)'],['../namespacelspserver.html#a03def96b0eb14408415ec9c378ac3d09',1,'lspserver::toJSON(const Hover &H)'],['../namespacelspserver.html#a0bb2d4b539636697b99dfbd1a1e440de',1,'lspserver::toJSON(const CompletionItem &)'],['../namespacelspserver.html#a7779a282f6576aaf3e89578df913a32d',1,'lspserver::toJSON(const CompletionList &)'],['../namespacelspserver.html#a6442d656d64b69c6990a05b1c7387a10',1,'lspserver::toJSON(const ParameterInformation &)'],['../namespacelspserver.html#af49bb5bdd40bdcb5456f902e9fcf13b6',1,'lspserver::toJSON(const SignatureInformation &)'],['../namespacelspserver.html#a99e3e58bd976961597908fc5fc8aa4eb',1,'lspserver::toJSON(const SignatureHelp &)'],['../namespacelspserver.html#a1b3224105d68ca659eec1bbd290a5480',1,'lspserver::toJSON(const DocumentHighlight &DH)'],['../namespacelspserver.html#a8384a6194e742180725e59405783e7f8',1,'lspserver::toJSON(const TypeHierarchyItem::ResolveParams &)'],['../namespacelspserver.html#ad76a1825fb207d5a9ef9e530920df3e5',1,'lspserver::toJSON(const TypeHierarchyItem &)'],['../namespacelspserver.html#a069f2663df40b5bbd9057f1f50f30585',1,'lspserver::toJSON(SymbolTag)'],['../namespacelspserver.html#aa6210a13efd342b5894099a986125d53',1,'lspserver::toJSON(const CallHierarchyItem &)'],['../namespacelspserver.html#a6e2b4bb0fde0db4e8f4423c8e0cdc0fd',1,'lspserver::toJSON(const CallHierarchyIncomingCall &)'],['../namespacelspserver.html#a2234f5a821031979139f8b76510cc8fd',1,'lspserver::toJSON(const CallHierarchyOutgoingCall &)'],['../namespacelspserver.html#a0f72ff63f0167a058f9614c664bfafad',1,'lspserver::toJSON(const InlayHintKind &)'],['../namespacelspserver.html#a1386bb909903f463693a885d3c622324',1,'lspserver::toJSON(const InlayHint &)'],['../namespacelspserver.html#a75642d616554642b3c818f86519da2db',1,'lspserver::toJSON(const FileStatus &)'],['../namespacelspserver.html#aea20a7d3ba0da82c20c7957cf565bbc0',1,'lspserver::toJSON(const SemanticTokens &)'],['../namespacelspserver.html#a4d9d9a52efe369f6713350e6e57cbfb9',1,'lspserver::toJSON(const SemanticTokensEdit &)'],['../namespacelspserver.html#a2ce4e83c2ac4bf8bac380b0ea9f0ce7a',1,'lspserver::toJSON(const SemanticTokensOrDelta &)'],['../namespacelspserver.html#aac20d81d02fc2bbd12c0db99318fd235',1,'lspserver::toJSON(const InactiveRegionsParams &InactiveRegions)'],['../namespacelspserver.html#a2135e3d34ceee187063d5e7ebca04705',1,'lspserver::toJSON(const SelectionRange &)'],['../namespacelspserver.html#a5197340962b2a1e17e3fcfd598ee15a8',1,'lspserver::toJSON(const DocumentLink &DocumentLink)'],['../namespacelspserver.html#abf241954cc23ea0eae5043cb62983089',1,'lspserver::toJSON(const FoldingRange &Range)'],['../namespacelspserver.html#a1c70b23820e26f80a4c191d1e70af1c5',1,'lspserver::toJSON(const ASTNode &)'],['../namespacelspserver.html#a24c704fa58f8e4f4ca72c16cde83ed93',1,'lspserver::toJSON(const ConfigurationItem &)'],['../namespacelspserver.html#ab7dab7f38a08901a492500acc11342d6',1,'lspserver::toJSON(const ConfigurationParams &)'],['../namespacenixd_1_1rpc.html#ac0ad0807274222922b752a449d058240',1,'nixd::rpc::toJSON(const RegisterBCParams &Params)'],['../namespacenixd_1_1rpc.html#a1058076ae944696dda1bc1c71203eca5',1,'nixd::rpc::toJSON(const ExprValueParams &Params)'],['../namespacenixd_1_1rpc.html#a1f7e90ff89a46609c740a2c642efa8e6',1,'nixd::rpc::toJSON(const ExprValueResponse &Params)']]], + ['tok_28',['TOK',['../TokenKinds_8h.html#a945154b9ce5490ab4a1da02b8f3de998',1,'TokenKinds.h']]], + ['tok_5fbin_5fop_29',['TOK_BIN_OP',['../ParseOp_8cpp.html#a052cfda61e4253302a7782f4507def5c',1,'ParseOp.cpp']]], + ['tok_5fkeyword_30',['TOK_KEYWORD',['../Lexer_8cpp.html#a55ecb387580ba22c6a8bd4fef5aa5919',1,'TOK_KEYWORD: Lexer.cpp'],['../Token_8h.html#a55ecb387580ba22c6a8bd4fef5aa5919',1,'TOK_KEYWORD: Token.h']]], + ['token_31',['Token',['../classnixf_1_1Token.html',1,'nixf']]], + ['token_32',['token',['../structlspserver_1_1WorkDoneProgressCreateParams.html#a4773c3d8da9b802f0ea4014d215a16bc',1,'lspserver::WorkDoneProgressCreateParams::token'],['../structlspserver_1_1ProgressParams.html#af32f955802d46f7520d5dfea40ac1a23',1,'lspserver::ProgressParams::token']]], + ['token_33',['Token',['../classnixf_1_1Token.html#a663c3e1dc061f2adb6fa4587d1c86cad',1,'nixf::Token']]], + ['token_2eh_34',['Token.h',['../Token_8h.html',1,'']]], + ['tokenkind_35',['TokenKind',['../namespacenixf_1_1tok.html#ac48889fb889670cdfa47e8ec6b2006b2',1,'nixf::tok']]], + ['tokenkinds_2eh_36',['TokenKinds.h',['../TokenKinds_8h.html',1,'']]], + ['tokenkinds_2einc_37',['TokenKinds.inc',['../TokenKinds_8inc.html',1,'']]], + ['tokenmodifiers_38',['tokenModifiers',['../structlspserver_1_1SemanticToken.html#af42e29b209027f7b6252ae1a4303c43c',1,'lspserver::SemanticToken']]], + ['tokens_39',['tokens',['../structlspserver_1_1SemanticTokens.html#a54cb027b530cac17da1894ca51a10087',1,'lspserver::SemanticTokens::tokens'],['../structlspserver_1_1SemanticTokensEdit.html#a7c8371496c0de5367e79b94ffbf2ac23',1,'lspserver::SemanticTokensEdit::tokens'],['../structlspserver_1_1SemanticTokensOrDelta.html#add742b64ca1f9775ffedd798fe878a8c',1,'lspserver::SemanticTokensOrDelta::tokens']]], + ['tokens_2einc_40',['Tokens.inc',['../Tokens_8inc.html',1,'']]], + ['tokentype_41',['tokenType',['../structlspserver_1_1SemanticToken.html#a4e425e4a09bf442db63393a70d293ebb',1,'lspserver::SemanticToken']]], + ['tolspposition_42',['toLSPPosition',['../namespacenixd.html#a5944cdc272c8a49dba2fd206b62b2697',1,'nixd']]], + ['tolsprange_43',['toLSPRange',['../namespacenixd.html#ad73c292905db61216135e7982e4681a3',1,'nixd']]], + ['tolsptags_44',['toLSPTags',['../namespacenixd.html#aed677a632cad0aba844def114336270a',1,'nixd']]], + ['tools_2fnixd_2fsrc_2fmain_2ecpp_45',['Main.cpp',['../tools_2nixd_2src_2Main_8cpp.html',1,'']]], + ['tostring_46',['toString',['../classlspserver_1_1URI.html#abbcf9d8d5d654fad7720b188781de90c',1,'lspserver::URI']]], + ['trace_47',['trace',['../structlspserver_1_1InitializeParams.html#a75b313b2cd966478e96f036baa1795ce',1,'lspserver::InitializeParams']]], + ['tracelevel_48',['TraceLevel',['../namespacelspserver.html#a84ff90cc9ec54bbbee73d83bdf8c6928',1,'lspserver']]], + ['traverse_2einc_49',['Traverse.inc',['../Traverse_8inc.html',1,'']]], + ['traverseexpr_50',['traverseExpr',['../structnixt_1_1RecursiveASTVisitor.html#a57603dce28547d1f8d08bab24eb765c6',1,'nixt::RecursiveASTVisitor']]], + ['triggercharacter_51',['triggerCharacter',['../structlspserver_1_1CompletionContext.html#a2b2c02bdba5bcd3490677374222bdaf1',1,'lspserver::CompletionContext']]], + ['triggercharacter_52',['TriggerCharacter',['../namespacelspserver.html#a509e18127b3bb638d67ba0aaf019afbeac883aed3fc5d1f53a248a4eff2fb63b0',1,'lspserver']]], + ['triggerkind_53',['triggerKind',['../structlspserver_1_1CompletionContext.html#a59109e3e142aa1bc8f0c6451beebe17f',1,'lspserver::CompletionContext']]], + ['triggertriggerforincompletecompletions_54',['TriggerTriggerForIncompleteCompletions',['../namespacelspserver.html#a509e18127b3bb638d67ba0aaf019afbea9073e5ba1ac00bb9c0b728f3c3d9db5f',1,'lspserver']]], + ['try_5fto_55',['TRY_TO',['../Visitor_8h.html#ae878ccdb81d0f1de95a6d98b83a64e58',1,'Visitor.h']]], + ['try_5fto_5ftraverse_56',['TRY_TO_TRAVERSE',['../Visitor_8h.html#a7b0e21ce7f2491ebf87b82f627181121',1,'Visitor.h']]], + ['tt_20nix_3a_3aexpr_20tt_20expressions_57',['libnixt, Playing with <tt>nix::Expr</tt> expressions.',['../md_libnixt_2README.html',1,'']]], + ['tweakargs_58',['TweakArgs',['../structlspserver_1_1TweakArgs.html',1,'lspserver']]], + ['tweakid_59',['tweakID',['../structlspserver_1_1TweakArgs.html#a2d17e8d4d528bde86452611c98158f9f',1,'lspserver::TweakArgs']]], + ['type_60',['type',['../structnixt_1_1detail_1_1R.html#a9e0bfbfee7812e96d2759c100ae65ffb',1,'nixt::detail::R::type'],['../structnixt_1_1detail_1_1ParseCacheF.html#a5a3f9977d42517aea3bafb957562bcf4',1,'nixt::detail::ParseCacheF::type'],['../structlspserver_1_1ShowMessageParams.html#a3b448495f8a6838a18dac55158a863a6',1,'lspserver::ShowMessageParams::type'],['../structlspserver_1_1FileEvent.html#abd9dc8d9b1b38442013caabb9bf0b113',1,'lspserver::FileEvent::type']]], + ['type_61',['Type',['../namespacelspserver.html#ad0e04d3cce4fb889bbf88064199247f8aa1fa27779242b4902f7ae3bdd5c6d508',1,'lspserver']]], + ['type_2eh_62',['Type.h',['../Type_8h.html',1,'']]], + ['typehierarchydirection_63',['TypeHierarchyDirection',['../namespacelspserver.html#a7d97020df0f5bac6de94854de72d22eb',1,'lspserver']]], + ['typehierarchyitem_64',['TypeHierarchyItem',['../structlspserver_1_1TypeHierarchyItem.html',1,'lspserver']]], + ['typehierarchyprepareparams_65',['TypeHierarchyPrepareParams',['../structlspserver_1_1TypeHierarchyPrepareParams.html',1,'lspserver']]], + ['typeparameter_66',['TypeParameter',['../namespacelspserver.html#aaa34ea3819069fbee52018467e9586e0abacdd231dc91b0d271df56df65d1eab3',1,'lspserver::TypeParameter'],['../namespacelspserver.html#a2c2f610d4b7f64335e8d68b47e18ea6fabacdd231dc91b0d271df56df65d1eab3',1,'lspserver::TypeParameter']]] +]; diff --git a/search/all_14.js b/search/all_14.js new file mode 100644 index 000000000..5380d4281 --- /dev/null +++ b/search/all_14.js @@ -0,0 +1,23 @@ +var searchData= +[ + ['unionranges_0',['unionRanges',['../namespacelspserver.html#a1d543d73f88565b59621538d51fb34df',1,'lspserver']]], + ['unit_1',['Unit',['../namespacelspserver.html#aaa34ea3819069fbee52018467e9586e0a19c562a36aeb455d09534f93b4f5236f',1,'lspserver']]], + ['unknownerrorcode_2',['UnknownErrorCode',['../namespacelspserver.html#a748780c668b7e2d2e3700f6e7075b078a6987ecdaa445fee7770c8ee77c1c0551',1,'lspserver']]], + ['unnecessary_3',['Unnecessary',['../namespacelspserver.html#af6f9096acddc880ee3694315f62d1be2aa53a0e56e8caae20491695a36a74b59c',1,'lspserver']]], + ['unsafecreate_4',['unsafeCreate',['../classnixf_1_1LexerCursor.html#a5e9b05e14a69c5c6b6ef8eda7b0af416',1,'nixf::LexerCursor']]], + ['unsupportedencoding_5',['UnsupportedEncoding',['../namespacelspserver.html#a2ea2a228752a8a5289ef9ed3c27bbc88aa3f2a49bd188837ebb624a98293899a6',1,'lspserver']]], + ['uri_6',['URI',['../classlspserver_1_1URI.html',1,'lspserver::URI'],['../classlspserver_1_1URI.html#af4b7b70de82110b7dc3238a1a7f61364',1,'lspserver::URI::URI()']]], + ['uri_7',['uri',['../structlspserver_1_1TextDocumentIdentifier.html#ae0058e7218928a3a9c0942e34c099bd9',1,'lspserver::TextDocumentIdentifier::uri'],['../structlspserver_1_1Location.html#ae6c744989a17d7e138413ae0f04ed7fe',1,'lspserver::Location::uri'],['../structlspserver_1_1TextDocumentItem.html#aec408297ed72d4ebf7bef880311d7f08',1,'lspserver::TextDocumentItem::uri'],['../structlspserver_1_1FileEvent.html#a69a4baa8e6d84feb5a369805bb7c4949',1,'lspserver::FileEvent::uri'],['../structlspserver_1_1PublishDiagnosticsParams.html#a4879076f9d347e486f02cb1ae50d6b29',1,'lspserver::PublishDiagnosticsParams::uri'],['../structlspserver_1_1TypeHierarchyItem.html#a71199824601db534cbd0b289dac252bf',1,'lspserver::TypeHierarchyItem::uri'],['../structlspserver_1_1CallHierarchyItem.html#a0929e4650af758e8530a7d345b7dfe9c',1,'lspserver::CallHierarchyItem::uri'],['../structlspserver_1_1FileStatus.html#a6d500237788189bee2a4f26f88711967',1,'lspserver::FileStatus::uri'],['../structlspserver_1_1URIForFile.html#aed55ac711769bce7d879c2eb17b657cd',1,'lspserver::URIForFile::uri()']]], + ['uri_2ecpp_8',['URI.cpp',['../URI_8cpp.html',1,'']]], + ['uri_2eh_9',['URI.h',['../URI_8h.html',1,'']]], + ['uriforfile_10',['URIForFile',['../structlspserver_1_1URIForFile.html',1,'lspserver::URIForFile'],['../structlspserver_1_1URIForFile.html#a656ca164a73f3b520aab8db1711f9b4e',1,'lspserver::URIForFile::URIForFile()']]], + ['urifromabsolutepath_11',['uriFromAbsolutePath',['../classlspserver_1_1URIScheme.html#aad975c1e77d1061f170ee8dd21e06ea5',1,'lspserver::URIScheme']]], + ['urischeme_12',['URIScheme',['../classlspserver_1_1URIScheme.html',1,'lspserver']]], + ['urischemeregistry_13',['URISchemeRegistry',['../namespacelspserver.html#ac4f9a32127fe15dcc1a1c92e6b99ff81',1,'lspserver']]], + ['use_20nixd_20in_20my_20em_20flake_20em_14',['How to use nixd in my <em>flake</em>?',['../md_nixd_2docs_2user-guide.html#autotoc_md40',1,'']]], + ['user_20guide_15',['User Guide',['../md_nixd_2docs_2user-guide.html',1,'']]], + ['user_2dguide_2emd_16',['user-guide.md',['../user-guide_8md.html',1,'']]], + ['utf16_17',['UTF16',['../namespacelspserver.html#a2ea2a228752a8a5289ef9ed3c27bbc88af023832671d1cf95ebe4934d58722a14',1,'lspserver']]], + ['utf32_18',['UTF32',['../namespacelspserver.html#a2ea2a228752a8a5289ef9ed3c27bbc88a92dca193c750fb95044806ff8f00db6c',1,'lspserver']]], + ['utf8_19',['UTF8',['../namespacelspserver.html#a2ea2a228752a8a5289ef9ed3c27bbc88aeb7ee0fb585e2ac64fdc086466c474b1',1,'lspserver']]] +]; diff --git a/search/all_15.js b/search/all_15.js new file mode 100644 index 000000000..938cd5aef --- /dev/null +++ b/search/all_15.js @@ -0,0 +1,23 @@ +var searchData= +[ + ['value_0',['value',['../structlspserver_1_1ProgressParams.html#a66d76fc63bd68b7ceef5888f614ec0fb',1,'lspserver::ProgressParams::value'],['../structlspserver_1_1MarkupContent.html#a9fce420e5360ed1b3a4ac10ab31ff2ee',1,'lspserver::MarkupContent::value'],['../classnixf_1_1Binding.html#ab831cd6b8ab83de1ec78fcfb2fd537e9',1,'nixf::Binding::value() const'],['../classnixf_1_1Binding.html#a190359de365d1b78c3c09a2adc08857a',1,'nixf::Binding::value()'],['../classnixf_1_1Attribute.html#a0641e58219d03f9fad54aa54fa8d02df',1,'nixf::Attribute::value()'],['../classnixf_1_1Attribute.html#a041ada543f74f51a4b070740f225e92b',1,'nixf::Attribute::value() const'],['../classnixf_1_1ExprAssert.html#aa35731ffb5b6c7b557be9353774b143c',1,'nixf::ExprAssert::value()'],['../classnixf_1_1ExprInt.html#a6f22cf0b8b17bec24945d4e2610c58fd',1,'nixf::ExprInt::value()'],['../classnixf_1_1ExprFloat.html#abd18c0d953cb278ca3ec96889c40aa2a',1,'nixf::ExprFloat::value()']]], + ['value_1',['Value',['../namespacelspserver.html#aaa34ea3819069fbee52018467e9586e0a689202409e48743b914713f96d93947c',1,'lspserver']]], + ['valueid_2',['ValueID',['../structnixd_1_1rpc_1_1ExprValueResponse.html#ae2ee320f645ae39f13154dacfcbbf273',1,'nixd::rpc::ExprValueResponse']]], + ['valuekind_3',['ValueKind',['../structnixd_1_1rpc_1_1ExprValueResponse.html#a3f4582b6f9276c6086c0361d034acd59',1,'nixd::rpc::ExprValueResponse']]], + ['valuekinds_4',['ValueKinds',['../structnixd_1_1rpc_1_1ExprValueResponse.html#a788097e9ca88ca57b0059f5805570f21',1,'nixd::rpc::ExprValueResponse']]], + ['valuemap_5',['ValueMap',['../namespacenixt.html#a975d3f84f7f8c866c06d8891bdc30a39',1,'nixt']]], + ['valueordefault_6',['valueOrDefault',['../namespacelspserver_1_1detail.html#a14409fe3d1765ee7719a582537265d14',1,'lspserver::detail']]], + ['valueoruninitialized_7',['valueOrUninitialized',['../namespacelspserver_1_1detail.html#a2464e7c3b029cd7ae905705912a81680',1,'lspserver::detail']]], + ['variable_8',['Variable',['../namespacelspserver.html#aaa34ea3819069fbee52018467e9586e0a47c14840d8e15331fa420b9b2f757cd9',1,'lspserver::Variable'],['../namespacelspserver.html#a2c2f610d4b7f64335e8d68b47e18ea6fa47c14840d8e15331fa420b9b2f757cd9',1,'lspserver::Variable']]], + ['verbose_9',['Verbose',['../classlspserver_1_1Logger.html#a96543597ca6f5377381ee5a4dba571faa2aede9106ebc0fdf12422f0613a6988a',1,'lspserver::Logger::Verbose'],['../namespacelspserver.html#a84ff90cc9ec54bbbee73d83bdf8c6928ad4a9fa383ab700c5bdd6f31cf7df0faf',1,'lspserver::Verbose']]], + ['version_10',['version',['../structlspserver_1_1VersionedTextDocumentIdentifier.html#a15a3e228928c56114361e8acd167f3b3',1,'lspserver::VersionedTextDocumentIdentifier::version'],['../structlspserver_1_1TextDocumentItem.html#ac42234e0a3d72a6e873afe921e56cb24',1,'lspserver::TextDocumentItem::version'],['../structlspserver_1_1PublishDiagnosticsParams.html#a8134cfaec839aa3821da034601f72792',1,'lspserver::PublishDiagnosticsParams::version']]], + ['version_11',['Version',['../structnixbc_1_1FileHeader.html#ab3a89a146d9b1cc6f2c34e5daf42e70f',1,'nixbc::FileHeader::Version'],['../structnixt_1_1ASTHeader.html#a0ed75d0ae116822afd23b1b3222874fa',1,'nixt::ASTHeader::Version'],['../structlspserver_1_1DraftStore_1_1Draft.html#a2006ec1c2e11fbfb33cf12e6ae140627',1,'lspserver::DraftStore::Draft::Version']]], + ['versionedtextdocumentidentifier_12',['VersionedTextDocumentIdentifier',['../structlspserver_1_1VersionedTextDocumentIdentifier.html',1,'lspserver']]], + ['view_13',['view',['../classnixf_1_1Token.html#af94bb88ab40927bd69a5911deb92e341',1,'nixf::Token::view()'],['../namespacenixt.html#a3fc7850857c2f3926fd23e418dd73a0d',1,'nixt::view()']]], + ['vim_14',['(Neo)vim',['../md_nixd_2docs_2editor-setup.html#autotoc_md17',1,'']]], + ['visitexpr_15',['visitExpr',['../structnixt_1_1RecursiveASTVisitor.html#ac5f669c0e627795c6afaac79704a4bac',1,'nixt::RecursiveASTVisitor']]], + ['visitor_2eh_16',['Visitor.h',['../Visitor_8h.html',1,'']]], + ['vlog_17',['vlog',['../namespacelspserver.html#af758a20d871350d59fd5d1fc530acc73',1,'lspserver']]], + ['vscode_18',['VSCode',['../md_nixd_2docs_2editor-setup.html#autotoc_md16',1,'']]], + ['vscodium_19',['VSCodium',['../md_nixd_2docs_2editors_2editors.html#autotoc_md24',1,'']]] +]; diff --git a/search/all_16.js b/search/all_16.js new file mode 100644 index 000000000..2fb80312a --- /dev/null +++ b/search/all_16.js @@ -0,0 +1,25 @@ +var searchData= +[ + ['wantdiagnostics_0',['wantDiagnostics',['../structlspserver_1_1DidChangeTextDocumentParams.html#aa5de91313cf41fc019c0d2ff6add6fd2',1,'lspserver::DidChangeTextDocumentParams']]], + ['warning_1',['Warning',['../namespacelspserver.html#a200604f8ba85e73cda84aa47933d8fcba0eaadb4fcb48a0a0ed7bc9868be9fbaa',1,'lspserver::Warning'],['../namespacenixd_1_1rpc.html#adb82fac4db5997115883b375252dd765a0eaadb4fcb48a0a0ed7bc9868be9fbaa',1,'nixd::rpc::Warning']]], + ['we_20❤️_20contributions_2',['We ❤️ Contributions!',['../md_nixd_2docs_2editor-setup.html',1,'']]], + ['why_20does_20nix_20evaluator_20see_20your_20data_20structure_20instead_20of_20parsing_20file_20by_20itself_3',['Why does nix evaluator see your data structure, instead of parsing file by itself?',['../md_nixd_2docs_2dev.html#autotoc_md9',1,'']]], + ['wip_20note_20🚧_4',['WIP Note 🚧',['../md_README.html#autotoc_md42',1,'']]], + ['with_5',['with',['../classnixf_1_1ExprWith.html#a29f83259744bc8dfb316e7d2485799fc',1,'nixf::ExprWith']]], + ['with_20tt_20nix_3a_3aexpr_20tt_20expressions_6',['libnixt, Playing with <tt>nix::Expr</tt> expressions.',['../md_libnixt_2README.html',1,'']]], + ['work_7',['How does cross-file analysis work?',['../md_nixd_2docs_2dev.html#autotoc_md10',1,'']]], + ['workdoneprogress_8',['WorkDoneProgress',['../structlspserver_1_1ClientCapabilities.html#a12f51f1ebbf150096735b8c0d08ae1da',1,'lspserver::ClientCapabilities']]], + ['workdoneprogressbegin_9',['WorkDoneProgressBegin',['../structlspserver_1_1WorkDoneProgressBegin.html',1,'lspserver']]], + ['workdoneprogresscreateparams_10',['WorkDoneProgressCreateParams',['../structlspserver_1_1WorkDoneProgressCreateParams.html',1,'lspserver']]], + ['workdoneprogressend_11',['WorkDoneProgressEnd',['../structlspserver_1_1WorkDoneProgressEnd.html',1,'lspserver']]], + ['workdoneprogressreport_12',['WorkDoneProgressReport',['../structlspserver_1_1WorkDoneProgressReport.html',1,'lspserver']]], + ['workers_13',['Workers',['../md_nixd_2docs_2dev.html#autotoc_md7',1,'Memory model about nix language & nixd workers'],['../md_nixd_2docs_2user-guide.html#autotoc_md36',1,'Workers']]], + ['workingdirectory_14',['workingDirectory',['../structlspserver_1_1ClangdCompileCommand.html#a6241182e88f916fa93a8ba490298bb2b',1,'lspserver::ClangdCompileCommand']]], + ['workspaceconfiguration_15',['WorkspaceConfiguration',['../structlspserver_1_1ClientCapabilities.html#a5c1a520b8a2460a00473adda0e35c340',1,'lspserver::ClientCapabilities']]], + ['workspaceedit_16',['WorkspaceEdit',['../structlspserver_1_1WorkspaceEdit.html',1,'lspserver']]], + ['workspacesymbolkinds_17',['WorkspaceSymbolKinds',['../structlspserver_1_1ClientCapabilities.html#a76b8d5eb3293f7d8fcd4956492ce4a3a',1,'lspserver::ClientCapabilities']]], + ['workspacesymbolparams_18',['WorkspaceSymbolParams',['../structlspserver_1_1WorkspaceSymbolParams.html',1,'lspserver']]], + ['wrap_19',['wrap',['../namespacelspserver_1_1detail.html#aa2ddd906ab8a11c9d4651a83c5b0cb26',1,'lspserver::detail::wrap(T &&V)'],['../namespacelspserver_1_1detail.html#a02ac1f849f3e0284a3f4a4e74d01af0f',1,'lspserver::detail::wrap(llvm::Error &&V)']]], + ['write_20',['Write',['../namespacelspserver.html#a63ffb3d295b12032400790fb555de2e9a1129c0e4d43f2d121652a7302712cff6',1,'lspserver']]], + ['writebytecode_21',['writeBytecode',['../namespacebc.html#aff42b0d34d0356cd30561ff540e8c614',1,'bc::writeBytecode(std::ostream &OS, const T &Data)'],['../namespacebc.html#a998001cae289a6568cdc93196c2368d1',1,'bc::writeBytecode(std::ostream &OS, const std::string_view &Data)'],['../namespacebc.html#a1dc2dd0ab00903723d7265eefc58cd84',1,'bc::writeBytecode(std::ostream &OS, const std::string &Data)'],['../namespacenixbc.html#ae575627b076ef1eb2e959d369f8aa90c',1,'nixbc::writeBytecode(std::ostream &OS, const Origin &O)'],['../namespacenixbc.html#a436fcb9df8affdf562ed866a0334ddea',1,'nixbc::writeBytecode(std::ostream &OS, const OriginPath &O)'],['../namespacenixf.html#aaa9148c6cf48d05a4cef1bf5a1572987',1,'nixf::writeBytecode(std::ostream &OS, const Node &N)'],['../namespacenixf.html#a8cc16c18c2da07afb4b79cac865e195f',1,'nixf::writeBytecode(std::ostream &OS, const ExprInt &N)'],['../namespacenixf.html#a943705f057fe107d8ca421fce438be49',1,'nixf::writeBytecode(std::ostream &OS, const ExprBinOp &N)']]] +]; diff --git a/search/all_17.js b/search/all_17.js new file mode 100644 index 000000000..5cabb823d --- /dev/null +++ b/search/all_17.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['your_20data_20structure_20instead_20of_20parsing_20file_20by_20itself_0',['Why does nix evaluator see your data structure, instead of parsing file by itself?',['../md_nixd_2docs_2dev.html#autotoc_md9',1,'']]] +]; diff --git a/search/all_18.js b/search/all_18.js new file mode 100644 index 000000000..f7557441e --- /dev/null +++ b/search/all_18.js @@ -0,0 +1,16 @@ +var searchData= +[ + ['_7eautoclosefd_0',['~AutoCloseFD',['../classnixd_1_1util_1_1AutoCloseFD.html#a847af93bb4d9cb5339edc9fbf785c226',1,'nixd::util::AutoCloseFD']]], + ['_7eautohuppid_1',['~AutoHUPPID',['../classnixd_1_1util_1_1AutoHUPPID.html#a1765f56e4ef6be4629498757def6bb51',1,'nixd::util::AutoHUPPID']]], + ['_7eautoremoveshm_2',['~AutoRemoveShm',['../classnixd_1_1util_1_1AutoRemoveShm.html#a317a460aa901b745e1d51f5bc94f3210',1,'nixd::util::AutoRemoveShm']]], + ['_7eevalclient_3',['~EvalClient',['../classnixd_1_1EvalClient.html#ae1ee626d0a230caa0192acd71de69907',1,'nixd::EvalClient']]], + ['_7eevent_4',['~Event',['../classlspserver_1_1Event.html#add2067f7673f6529988fa00c4403e01d',1,'lspserver::Event']]], + ['_7elogger_5',['~Logger',['../classlspserver_1_1Logger.html#a42147a0c148e79580855df3e197f401d',1,'lspserver::Logger']]], + ['_7eloggingsession_6',['~LoggingSession',['../classlspserver_1_1LoggingSession.html#a7b09ffaf678fdba9052b8dca2e106d44',1,'lspserver::LoggingSession']]], + ['_7emessagehandler_7',['~MessageHandler',['../classlspserver_1_1MessageHandler.html#ae0bf7e59e9f77c9d130b790c088cf35a',1,'lspserver::MessageHandler']]], + ['_7enode_8',['~Node',['../classnixf_1_1Node.html#aa73de0be9c141d65bc069da9dbab3ce6',1,'nixf::Node']]], + ['_7eownedevalclient_9',['~OwnedEvalClient',['../classnixd_1_1OwnedEvalClient.html#a4b1928c43348bb2b1e781eef7265edd1',1,'nixd::OwnedEvalClient']]], + ['_7epartialdiagnostic_10',['~PartialDiagnostic',['../classnixf_1_1PartialDiagnostic.html#a37245d15a330a0cb32bd4016e8278f21',1,'nixf::PartialDiagnostic']]], + ['_7esubscription_11',['~Subscription',['../classlspserver_1_1Event_1_1Subscription.html#a45cd4986ad61bb72c8bf5dca01da0b65',1,'lspserver::Event::Subscription']]], + ['_7eurischeme_12',['~URIScheme',['../classlspserver_1_1URIScheme.html#a71d6a13d7eb3f4dba25ec3bff4a9165d',1,'lspserver::URIScheme']]] +]; diff --git a/search/all_19.js b/search/all_19.js new file mode 100644 index 000000000..b0cdd6e4f --- /dev/null +++ b/search/all_19.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['❤️_20contributions_0',['We ❤️ Contributions!',['../md_nixd_2docs_2editor-setup.html',1,'']]] +]; diff --git a/search/all_1a.js b/search/all_1a.js new file mode 100644 index 000000000..4dd2ab286 --- /dev/null +++ b/search/all_1a.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['🚧_0',['WIP Note 🚧',['../md_README.html#autotoc_md42',1,'']]] +]; diff --git a/search/all_2.js b/search/all_2.js new file mode 100644 index 000000000..225f2f670 --- /dev/null +++ b/search/all_2.js @@ -0,0 +1,106 @@ +var searchData= +[ + ['cachepath_0',['CachePath',['../structnixd_1_1rpc_1_1RegisterBCParams.html#a05a2ba7d10d4eff149a9f4efacd900d5',1,'nixd::rpc::RegisterBCParams']]], + ['call_1',['call',['../classlspserver_1_1OutboundPort.html#acece6b5fd08945aee7805777718f036d',1,'lspserver::OutboundPort']]], + ['callback_2',['Callback',['../namespacelspserver.html#a03efdf65be6922bd890ae9f335a42eea',1,'lspserver']]], + ['callhierarchyincomingcall_3',['CallHierarchyIncomingCall',['../structlspserver_1_1CallHierarchyIncomingCall.html',1,'lspserver']]], + ['callhierarchyincomingcallsparams_4',['CallHierarchyIncomingCallsParams',['../structlspserver_1_1CallHierarchyIncomingCallsParams.html',1,'lspserver']]], + ['callhierarchyitem_5',['CallHierarchyItem',['../structlspserver_1_1CallHierarchyItem.html',1,'lspserver']]], + ['callhierarchyoutgoingcall_6',['CallHierarchyOutgoingCall',['../structlspserver_1_1CallHierarchyOutgoingCall.html',1,'lspserver']]], + ['callhierarchyoutgoingcallsparams_7',['CallHierarchyOutgoingCallsParams',['../structlspserver_1_1CallHierarchyOutgoingCallsParams.html',1,'lspserver']]], + ['callhierarchyprepareparams_8',['CallHierarchyPrepareParams',['../structlspserver_1_1CallHierarchyPrepareParams.html',1,'lspserver']]], + ['cancellable_9',['cancellable',['../structlspserver_1_1WorkDoneProgressBegin.html#a276fb02101fa9f4be3f6a36719ed8803',1,'lspserver::WorkDoneProgressBegin::cancellable'],['../structlspserver_1_1WorkDoneProgressReport.html#a27e984834c174545c91127d1cfe24e8f',1,'lspserver::WorkDoneProgressReport::cancellable']]], + ['cancelsstalerequests_10',['CancelsStaleRequests',['../structlspserver_1_1ClientCapabilities.html#acbc8e34ef67060584c718ec34afed0d1',1,'lspserver::ClientCapabilities']]], + ['canonicalize_11',['canonicalize',['../structlspserver_1_1URIForFile.html#a25f1325018685a980fb43903e1b84646',1,'lspserver::URIForFile']]], + ['capabilities_12',['capabilities',['../structlspserver_1_1InitializeParams.html#a8aaeec3437fab694f6bb26c9099fab34',1,'lspserver::InitializeParams']]], + ['category_13',['category',['../structlspserver_1_1Diagnostic.html#a21b40fea8f3fd1e8894dda71de83c867',1,'lspserver::Diagnostic']]], + ['ch_14',['ch',['../structlspserver_1_1DocumentOnTypeFormattingParams.html#a6d1f0d5479f16fb4712c42bc4c133257',1,'lspserver::DocumentOnTypeFormattingParams']]], + ['changeannotation_15',['ChangeAnnotation',['../structlspserver_1_1ChangeAnnotation.html',1,'lspserver::ChangeAnnotation'],['../structlspserver_1_1ClientCapabilities.html#a22201e80ea990631298edcfa9573d26f',1,'lspserver::ClientCapabilities::ChangeAnnotation']]], + ['changeannotationidentifier_16',['ChangeAnnotationIdentifier',['../namespacelspserver.html#a2bc48769a7aed78e103a39fd791c3e0a',1,'lspserver']]], + ['changeannotations_17',['changeAnnotations',['../structlspserver_1_1WorkspaceEdit.html#a27004ca131579862ed8388872d953718',1,'lspserver::WorkspaceEdit']]], + ['changed_18',['Changed',['../namespacelspserver.html#a1acdb8484c09865d22820cdd7e4242aba820dbd2b8f606aff866c0bbfb6b737c1',1,'lspserver']]], + ['changes_19',['changes',['../structlspserver_1_1DidChangeWatchedFilesParams.html#a34e7e7e1f38e561560ba2f4236e259c2',1,'lspserver::DidChangeWatchedFilesParams::changes'],['../structlspserver_1_1WorkspaceEdit.html#a179cc4cabf6e8c39124d64514c69ed62',1,'lspserver::WorkspaceEdit::changes']]], + ['character_20',['character',['../structlspserver_1_1Position.html#ae143f4f60a1b652359b505820ea12291',1,'lspserver::Position']]], + ['checkattrrecursiveformerge_21',['checkAttrRecursiveForMerge',['../classnixf_1_1Sema.html#aa2f40eead33f88c01564da59dd86ded1',1,'nixf::Sema']]], + ['checkformalellipsis_22',['checkFormalEllipsis',['../classnixf_1_1Sema.html#a4f62354c3a63d6084ff05210b935a71e',1,'nixf::Sema']]], + ['checkformalempty_23',['checkFormalEmpty',['../classnixf_1_1Sema.html#aa930ffbbda48a74dd8e1dc819b92d5da',1,'nixf::Sema']]], + ['checkformalsep_24',['checkFormalSep',['../classnixf_1_1Sema.html#a739f2a57c39e588659a6a8487e35e747',1,'nixf::Sema']]], + ['children_25',['children',['../structlspserver_1_1DocumentSymbol.html#a87cee1cdfeba40c3d3532745efaa0e13',1,'lspserver::DocumentSymbol::children'],['../structlspserver_1_1TypeHierarchyItem.html#a2c03f1227823a56f4ec4373027a5a6ca',1,'lspserver::TypeHierarchyItem::children'],['../structlspserver_1_1ASTNode.html#aa7027ce41d7f8b5081fe00bd3d5cdc56',1,'lspserver::ASTNode::children'],['../classnixf_1_1AttrName.html#ae029f123ded28b4065fe54939e31785c',1,'nixf::AttrName::children()'],['../classnixf_1_1AttrPath.html#a86de6e9e93f51ae3b0abb03e76d59dc9',1,'nixf::AttrPath::children()'],['../classnixf_1_1Binding.html#a9606604d309cef68da836da80d17cea4',1,'nixf::Binding::children()'],['../classnixf_1_1Inherit.html#a2c33f5a3d9c76cc26fc3c32c6f519370',1,'nixf::Inherit::children()'],['../classnixf_1_1Binds.html#a36fd2327c008e98b591d75aee7e4c64d',1,'nixf::Binds::children()'],['../classnixf_1_1ExprAttrs.html#a44f2879914b8f6c0f6cba34551536aa1',1,'nixf::ExprAttrs::children()'],['../classnixf_1_1Node.html#af2ec762fa5da05d4a831e6f1ef8157c1',1,'nixf::Node::children()'],['../classnixf_1_1Misc.html#a978fd51448ad1963e31f0758008ed434',1,'nixf::Misc::children()'],['../classnixf_1_1Identifier.html#ac4c5e079b9d55aba824906eb4a0a247f',1,'nixf::Identifier::children()'],['../classnixf_1_1ExprSelect.html#a1bd60f3e4d93326745660bacac642ba9',1,'nixf::ExprSelect::children()'],['../classnixf_1_1ExprCall.html#a73ce3949eba5dd5b6d95abcfdd31e075',1,'nixf::ExprCall::children()'],['../classnixf_1_1ExprList.html#a6b14f39e7f8e2857c3e3001557957aab',1,'nixf::ExprList::children()'],['../classnixf_1_1ExprIf.html#ab3577d7742ac7a8df19805736afa94ed',1,'nixf::ExprIf::children()'],['../classnixf_1_1ExprAssert.html#aa9dd3d95979387bb1fab7a5db9df3dc2',1,'nixf::ExprAssert::children()'],['../classnixf_1_1ExprLet.html#ae584f7768f6b94f3ee1493fa11927e49',1,'nixf::ExprLet::children()'],['../classnixf_1_1ExprWith.html#ae676076dbd2597dfc47739fa0f159291',1,'nixf::ExprWith::children()'],['../classnixf_1_1Formal.html#a226a4a6a0784d9527675ce54e6471f8e',1,'nixf::Formal::children()'],['../classnixf_1_1Formals.html#a8b5ee2f6b210ee0e5d24fcc3c8ca0533',1,'nixf::Formals::children()'],['../classnixf_1_1LambdaArg.html#a9109135b1344f787008054d851450336',1,'nixf::LambdaArg::children()'],['../classnixf_1_1ExprLambda.html#aef46fafcd18babeff6005b3570eb28ce',1,'nixf::ExprLambda::children()'],['../classnixf_1_1Op.html#a464d2c0b40f61196802cc72f5b11ef28',1,'nixf::Op::children()'],['../classnixf_1_1ExprOp.html#a24c225e3e7dab57728bd19dca2e73230',1,'nixf::ExprOp::children()'],['../classnixf_1_1ExprBinOp.html#ac99b5619a3fa9faff9768cf5916eeb0f',1,'nixf::ExprBinOp::children()'],['../classnixf_1_1ExprOpHasAttr.html#a5cde75187c6f96d3e6490c6d291e1b36',1,'nixf::ExprOpHasAttr::children()'],['../classnixf_1_1ExprUnaryOp.html#abc9193cfc8328e3a79a5789e9611152e',1,'nixf::ExprUnaryOp::children()'],['../classnixf_1_1ExprInt.html#a06a97f8a92d086ba4a95e4b53f2ee3c9',1,'nixf::ExprInt::children()'],['../classnixf_1_1ExprFloat.html#aeae38043d47ed419d620673251087bff',1,'nixf::ExprFloat::children()'],['../classnixf_1_1Interpolation.html#a2b2745c8722e3c723679c60d339fc8b6',1,'nixf::Interpolation::children()'],['../classnixf_1_1InterpolatedParts.html#a5e8860be66750ed3e56f5fd9cb89b80f',1,'nixf::InterpolatedParts::children()'],['../classnixf_1_1ExprString.html#a85c9e50826682924d4eb3a12a6a929b4',1,'nixf::ExprString::children()'],['../classnixf_1_1ExprPath.html#a1830a9806ce0cce419ce8adbcddeee84',1,'nixf::ExprPath::children()'],['../classnixf_1_1ExprParen.html#ad71fe3e184e003f26577f5c287047274',1,'nixf::ExprParen::children()'],['../classnixf_1_1ExprVar.html#a0f51f49ecb68e3f24bd658ad6dffadfa',1,'nixf::ExprVar::children()']]], + ['children_26',['Children',['../namespacelspserver.html#a7d97020df0f5bac6de94854de72d22eba64e4aca4297806247f62a7b5f8cbd3df',1,'lspserver']]], + ['childvector_27',['ChildVector',['../classnixf_1_1Node.html#a9cd82ef04a42e90e785f680fac0d3ba1',1,'nixf::Node']]], + ['clangdcompilecommand_28',['ClangdCompileCommand',['../structlspserver_1_1ClangdCompileCommand.html',1,'lspserver']]], + ['class_29',['Class',['../namespacelspserver.html#aaa34ea3819069fbee52018467e9586e0a9bd81329febf6efe22788e03ddeaf0af',1,'lspserver::Class'],['../namespacelspserver.html#a2c2f610d4b7f64335e8d68b47e18ea6fa9bd81329febf6efe22788e03ddeaf0af',1,'lspserver::Class']]], + ['classof_30',['classof',['../classnixf_1_1Expr.html#a4575b972c2e7c4ce8389ac397ea3a70b',1,'nixf::Expr']]], + ['clientcapabilities_31',['ClientCapabilities',['../structlspserver_1_1ClientCapabilities.html',1,'lspserver']]], + ['close_32',['close',['../classlspserver_1_1InboundPort.html#a654e594cba394792fb01c94a5a916680',1,'lspserver::InboundPort']]], + ['closeinbound_33',['closeInbound',['../classlspserver_1_1LSPServer.html#aaaabca1d9e626068a602488d24f3d8fb',1,'lspserver::LSPServer']]], + ['coc_20nvim_34',['Coc.nvim',['../md_nixd_2docs_2editor-setup.html#autotoc_md18',1,'']]], + ['code_35',['Code',['../classlspserver_1_1LSPError.html#af62784dcaa4a163311ee443fdb5b6fbe',1,'lspserver::LSPError']]], + ['code_36',['code',['../structlspserver_1_1Diagnostic.html#afe1b6d530bc7794546fefa8417791070',1,'lspserver::Diagnostic']]], + ['codeaction_37',['CodeAction',['../structlspserver_1_1CodeAction.html',1,'lspserver']]], + ['codeaction_2ecpp_38',['CodeAction.cpp',['../CodeAction_8cpp.html',1,'']]], + ['codeactioncontext_39',['CodeActionContext',['../structlspserver_1_1CodeActionContext.html',1,'lspserver']]], + ['codeactionparams_40',['CodeActionParams',['../structlspserver_1_1CodeActionParams.html',1,'lspserver']]], + ['codeactions_41',['codeActions',['../structlspserver_1_1Diagnostic.html#a50d09e4ad66c183144bffdafa57fc27c',1,'lspserver::Diagnostic']]], + ['codeactionstructure_42',['CodeActionStructure',['../structlspserver_1_1ClientCapabilities.html#a1f6689df81fb2f610a44577b8892b465',1,'lspserver::ClientCapabilities']]], + ['codedescription_43',['CodeDescription',['../structlspserver_1_1CodeDescription.html',1,'lspserver']]], + ['codedescription_44',['codeDescription',['../structlspserver_1_1Diagnostic.html#aab3ff3c5e05964c94d59953be04106b7',1,'lspserver::Diagnostic']]], + ['collected_45',['How does language information being collected?',['../md_nixd_2docs_2dev.html#autotoc_md8',1,'']]], + ['collectwords_46',['collectWords',['../namespacelspserver.html#a917da274f676099780efde7f1b02e430',1,'lspserver']]], + ['color_47',['Color',['../namespacelspserver.html#aaa34ea3819069fbee52018467e9586e0acb5feb1b7314637725a2e73bdc9f7295',1,'lspserver']]], + ['column_48',['column',['../classnixf_1_1Position.html#a3b7fb2514b10014af595c4f87fdd8f4a',1,'nixf::Position::column()'],['../classnixf_1_1LexerCursor.html#a3c2bf1a27e8a99fd838c6097bee01d42',1,'nixf::LexerCursor::column()']]], + ['comma_49',['comma',['../classnixf_1_1Formal.html#a222e180ec769ee04c991a5a1864ce0fa',1,'nixf::Formal']]], + ['command_50',['Command',['../structlspserver_1_1Command.html',1,'lspserver']]], + ['command_51',['command',['../structlspserver_1_1ExecuteCommandParams.html#a71da99cc61d7afdf601b741cc092a1ee',1,'lspserver::ExecuteCommandParams::command'],['../structlspserver_1_1CodeAction.html#a2f93c23c9a676fcd9a398f09295b0fe7',1,'lspserver::CodeAction::command']]], + ['commandhandlers_52',['CommandHandlers',['../structlspserver_1_1HandlerRegistry.html#add8037a88465edbdf4dc0997cf555a22',1,'lspserver::HandlerRegistry']]], + ['comment_5fkind_53',['COMMENT_KIND',['../structlspserver_1_1FoldingRange.html#a8a41668a8c28a0f6ca78d85d2a5dfc9d',1,'lspserver::FoldingRange']]], + ['commit_20message_54',['Commit message',['../md_nixd_2docs_2dev.html#autotoc_md13',1,'']]], + ['compilationcommand_55',['compilationCommand',['../structlspserver_1_1ClangdCompileCommand.html#ac7fff39c7001e142639bd4f354766e86',1,'lspserver::ClangdCompileCommand']]], + ['compilationdatabasechanges_56',['compilationDatabaseChanges',['../structlspserver_1_1ConfigurationSettings.html#a98a619e0cfe33de910b54a3bf92f4aef',1,'lspserver::ConfigurationSettings']]], + ['compilationdatabasepath_57',['compilationDatabasePath',['../structlspserver_1_1InitializationOptions.html#ab49eba7865575a6892c84818fdfacae5',1,'lspserver::InitializationOptions']]], + ['completioncontext_58',['CompletionContext',['../structlspserver_1_1CompletionContext.html',1,'lspserver']]], + ['completiondocumentationformat_59',['CompletionDocumentationFormat',['../structlspserver_1_1ClientCapabilities.html#aacceadaa864237af47dbeb526756af30',1,'lspserver::ClientCapabilities']]], + ['completionfixes_60',['CompletionFixes',['../structlspserver_1_1ClientCapabilities.html#ad963ab576e4e2521bfd82b32d631b34f',1,'lspserver::ClientCapabilities']]], + ['completionitem_61',['CompletionItem',['../structlspserver_1_1CompletionItem.html',1,'lspserver']]], + ['completionitemkind_62',['CompletionItemKind',['../namespacelspserver.html#aaa34ea3819069fbee52018467e9586e0',1,'lspserver']]], + ['completionitemkindbitset_63',['CompletionItemKindBitset',['../namespacelspserver.html#a7e959ebcba302a09862ac315ab8a9959',1,'lspserver']]], + ['completionitemkindmax_64',['CompletionItemKindMax',['../namespacelspserver.html#a370c2e8f5f633bb746da59c7fb4aed51',1,'lspserver']]], + ['completionitemkindmin_65',['CompletionItemKindMin',['../namespacelspserver.html#a6a6a0de6bae46775cd99df9f3d3464d0',1,'lspserver']]], + ['completionitemkinds_66',['CompletionItemKinds',['../structlspserver_1_1ClientCapabilities.html#a8a4f39e40573c188427b349c6d416dff',1,'lspserver::ClientCapabilities']]], + ['completionlist_67',['CompletionList',['../structlspserver_1_1CompletionList.html',1,'lspserver']]], + ['completionparams_68',['CompletionParams',['../structlspserver_1_1CompletionParams.html',1,'lspserver']]], + ['completionsnippets_69',['CompletionSnippets',['../structlspserver_1_1ClientCapabilities.html#a40c62df533f8cef56342ef95fd70109b',1,'lspserver::ClientCapabilities']]], + ['completiontriggerkind_70',['CompletionTriggerKind',['../namespacelspserver.html#a509e18127b3bb638d67ba0aaf019afbe',1,'lspserver']]], + ['cond_71',['cond',['../classnixf_1_1ExprIf.html#a302c8b1f948b23a39be23444479a9063',1,'nixf::ExprIf::cond()'],['../classnixf_1_1ExprAssert.html#ac7cdada7b3231ab9f552a4eaa5d8220d',1,'nixf::ExprAssert::cond()']]], + ['configsettings_72',['ConfigSettings',['../structlspserver_1_1InitializationOptions.html#aacc7ca3094384d93127b9991d2c83066',1,'lspserver::InitializationOptions']]], + ['configuration_73',['Configuration',['../md_nixd_2docs_2user-guide.html#autotoc_md32',1,'']]], + ['configuration_20examples_74',['Configuration Examples',['../md_nixd_2docs_2examples_2README.html',1,'']]], + ['configurationitem_75',['ConfigurationItem',['../structlspserver_1_1ConfigurationItem.html',1,'lspserver']]], + ['configurationparams_76',['ConfigurationParams',['../structlspserver_1_1ConfigurationParams.html',1,'lspserver']]], + ['configurationsettings_77',['ConfigurationSettings',['../structlspserver_1_1ConfigurationSettings.html',1,'lspserver']]], + ['connection_2ecpp_78',['Connection.cpp',['../Connection_8cpp.html',1,'']]], + ['connection_2eh_79',['Connection.h',['../Connection_8h.html',1,'']]], + ['constant_80',['Constant',['../namespacelspserver.html#aaa34ea3819069fbee52018467e9586e0acb17869fe51048b5a5c4c6106551a255',1,'lspserver::Constant'],['../namespacelspserver.html#a2c2f610d4b7f64335e8d68b47e18ea6facb17869fe51048b5a5c4c6106551a255',1,'lspserver::Constant']]], + ['constructor_81',['Constructor',['../namespacelspserver.html#aaa34ea3819069fbee52018467e9586e0a678d0a4421b60dc59999ac02837496a6',1,'lspserver::Constructor'],['../namespacelspserver.html#a2c2f610d4b7f64335e8d68b47e18ea6fa678d0a4421b60dc59999ac02837496a6',1,'lspserver::Constructor']]], + ['consume_82',['consume',['../namespacenixt.html#ae82ebf3f2e7224da9f53ead9c2017036',1,'nixt']]], + ['consumeast_83',['consumeAST',['../namespacenixt.html#af5af0dc80196f5f6a76e98c8edc1c694',1,'nixt']]], + ['containername_84',['containerName',['../structlspserver_1_1ReferenceLocation.html#af056b6531807a1e4b52e6078dbf85c23',1,'lspserver::ReferenceLocation::containerName'],['../structlspserver_1_1SymbolInformation.html#a2e7c69ae8d835694726fcb581732c4e1',1,'lspserver::SymbolInformation::containerName']]], + ['contains_85',['contains',['../classnixf_1_1PositionRange.html#a0e2d86927188043a8dd88aa708c9f4ad',1,'nixf::PositionRange::contains()'],['../classnixf_1_1LexerCursorRange.html#adc8195c88763f05c43fec65345eb7c4e',1,'nixf::LexerCursorRange::contains()'],['../structlspserver_1_1Range.html#ab0192ecf2af5d514b1ceca78daf3421e',1,'lspserver::Range::contains(Position Pos) const'],['../structlspserver_1_1Range.html#a5a0283a277498865dd7ec4753a8fa19e',1,'lspserver::Range::contains(Range Rng) const']]], + ['contentchanges_86',['contentChanges',['../structlspserver_1_1DidChangeTextDocumentParams.html#abe344523b534af82fb6720cf043552fe',1,'lspserver::DidChangeTextDocumentParams']]], + ['contentmodified_87',['ContentModified',['../namespacelspserver.html#a748780c668b7e2d2e3700f6e7075b078a9b94414188b105cb3bbefa5449c4b15e',1,'lspserver']]], + ['contents_88',['contents',['../structlspserver_1_1Hover.html#ad9113ca9cdbb2d6e18adadf8e54e6776',1,'lspserver::Hover']]], + ['contents_89',['Contents',['../structlspserver_1_1DraftStore_1_1Draft.html#af5a92b90635350db3f21e75687aa13a7',1,'lspserver::DraftStore::Draft']]], + ['context_90',['context',['../structlspserver_1_1CodeActionParams.html#acae8a9998cde30fe6603804ac165f2e0',1,'lspserver::CodeActionParams::context'],['../structlspserver_1_1CompletionParams.html#a767e509e9e53793b5abdeab0c70f6c62',1,'lspserver::CompletionParams::context'],['../structlspserver_1_1ReferenceParams.html#adfe9fc1a89a136d88f164bda8ebea33f',1,'lspserver::ReferenceParams::context']]], + ['contributing_91',['Contributing',['../md_nixd_2docs_2dev.html#autotoc_md12',1,'']]], + ['contributions_92',['We ❤️ Contributions!',['../md_nixd_2docs_2editor-setup.html',1,'']]], + ['controller_93',['Controller',['../classnixd_1_1Controller.html',1,'nixd::Controller'],['../classnixd_1_1Controller.html#ace32259e4ecfbbc5549b600b40b683c0',1,'nixd::Controller::Controller()']]], + ['controller_2eh_94',['Controller.h',['../Controller_8h.html',1,'']]], + ['convert_2ecpp_95',['Convert.cpp',['../Convert_8cpp.html',1,'']]], + ['convert_2eh_96',['Convert.h',['../Convert_8h.html',1,'']]], + ['converttoerrorcode_97',['convertToErrorCode',['../classlspserver_1_1LSPError.html#ade86cbededef0f4f201c595a4c40dbdb',1,'lspserver::LSPError']]], + ['create_98',['create',['../classlspserver_1_1URI.html#a541845ccb3fb53de56a807bcf5b1aae8',1,'lspserver::URI::create(llvm::StringRef AbsolutePath, llvm::StringRef Scheme)'],['../classlspserver_1_1URI.html#a1f02851a56015bf32ec78c43e2709fb0',1,'lspserver::URI::create(llvm::StringRef AbsolutePath)'],['../classnixd_1_1OwnedEvalClient.html#adc702181c2f2ace5ed344dba21426e82',1,'nixd::OwnedEvalClient::create()']]], + ['created_99',['Created',['../namespacelspserver.html#a1acdb8484c09865d22820cdd7e4242aba0eceeb45861f9585dd7a97a3e36f85c6',1,'lspserver']]], + ['createfile_100',['createFile',['../classlspserver_1_1URI.html#ae7df5b5cae4a6cfaa1174107ce74d6a3',1,'lspserver::URI']]], + ['cross_20file_20analysis_20work_101',['How does cross-file analysis work?',['../md_nixd_2docs_2dev.html#autotoc_md10',1,'']]], + ['cur_102',['cur',['../classnixf_1_1Lexer.html#ae4da43a46013f7d9b8cecb2ffb662cdf',1,'nixf::Lexer']]] +]; diff --git a/search/all_3.js b/search/all_3.js new file mode 100644 index 000000000..8bac3590e --- /dev/null +++ b/search/all_3.js @@ -0,0 +1,83 @@ +var searchData= +[ + ['data_0',['data',['../structlspserver_1_1Diagnostic.html#af0b215b52be88d308e50cf9320c939af',1,'lspserver::Diagnostic::data'],['../structlspserver_1_1TypeHierarchyItem.html#aa280ac47c37153952d16ecfe232b3823',1,'lspserver::TypeHierarchyItem::data'],['../structlspserver_1_1CallHierarchyItem.html#a977cc863bddd0d2a0f174265b270e65f',1,'lspserver::CallHierarchyItem::data']]], + ['data_20structure_20instead_20of_20parsing_20file_20by_20itself_1',['Why does nix evaluator see your data structure, instead of parsing file by itself?',['../md_nixd_2docs_2dev.html#autotoc_md9',1,'']]], + ['debug_2',['Debug',['../classlspserver_1_1Logger.html#a96543597ca6f5377381ee5a4dba571faa4b6c6efd37089c0ad40995881daf45c0',1,'lspserver::Logger::Debug'],['../namespacenixd_1_1rpc.html#adb82fac4db5997115883b375252dd765aa603905470e2a5b8c13e96b579ef0dba',1,'nixd::rpc::Debug']]], + ['debugtype_3',['debugType',['../namespacelspserver_1_1detail.html#aa58647f2c78be0d58df77d03cc501cf8',1,'lspserver::detail']]], + ['decode_4',['decode',['../namespacenixt.html#a3e9badd6587388fb0247cd40e5335a63',1,'nixt::decode(BytesRef Data, T &Obj)'],['../namespacenixt.html#a99aaf0249869fabd17693eab71fcabf5',1,'nixt::decode(BytesRef Data, std::string &Str)']]], + ['decodeerror_5',['decodeError',['../namespacelspserver.html#a4bd833d210de2459a2ea02ddac4463a1',1,'lspserver']]], + ['decodeversion_6',['decodeVersion',['../classlspserver_1_1DraftStore.html#af294781b087a6eb64a503f26639eef10',1,'lspserver::DraftStore']]], + ['dedup_7',['dedup',['../classnixf_1_1Formals.html#afe1883021bac934d8b4dedb0fe92f7d1',1,'nixf::Formals::dedup()'],['../classnixf_1_1Formals.html#aa3d973073065cfd31ba82349e415038d',1,'nixf::Formals::dedup() const']]], + ['dedupformal_8',['dedupFormal',['../classnixf_1_1Sema.html#a2c0ad66c6c7875dca78c25e9e1557567',1,'nixf::Sema']]], + ['def_5ftraverse_5ftype_9',['DEF_TRAVERSE_TYPE',['../Visitor_8h.html#a44f20d102cc60a863f99cfcf913adb73',1,'Visitor.h']]], + ['defaultexpr_10',['defaultExpr',['../classnixf_1_1ExprSelect.html#a847186cf4a50ecde3b3980ce3434d9eb',1,'nixf::ExprSelect::defaultExpr()'],['../classnixf_1_1Formal.html#aee28832c5fbd3bd02591bfc6491734f2',1,'nixf::Formal::defaultExpr()']]], + ['deleted_11',['Deleted',['../namespacelspserver.html#a1acdb8484c09865d22820cdd7e4242aba5fe6005bf6e415c950c011fb65f12b8f',1,'lspserver']]], + ['deletetokens_12',['deleteTokens',['../structlspserver_1_1SemanticTokensEdit.html#ae4be7a7bb31366d726d4daa5004194f0',1,'lspserver::SemanticTokensEdit']]], + ['delimited_13',['Delimited',['../namespacelspserver.html#a452c423a64856fd113d0303affd5a1b8af6a6c0fefcadb1df90205a0b9a7fb8b7',1,'lspserver']]], + ['deltaline_14',['deltaLine',['../structlspserver_1_1SemanticToken.html#ab2e11bdb8e0ec4ab69c350e7a56690c4',1,'lspserver::SemanticToken']]], + ['deltastart_15',['deltaStart',['../structlspserver_1_1SemanticToken.html#ac2564dccb01d96fbaa0fbbe31806de89',1,'lspserver::SemanticToken']]], + ['deprecated_16',['deprecated',['../structlspserver_1_1DocumentSymbol.html#aab42ee3ae7ab894b7d0c6518ef9a8b9a',1,'lspserver::DocumentSymbol::deprecated'],['../structlspserver_1_1CompletionItem.html#a5fc658f6d8bb5a02de934157ffb4c591',1,'lspserver::CompletionItem::deprecated'],['../structlspserver_1_1TypeHierarchyItem.html#a3d54d55182228d3ec5a9c249a8e02b40',1,'lspserver::TypeHierarchyItem::deprecated']]], + ['deprecated_17',['Deprecated',['../namespacelspserver.html#af6f9096acddc880ee3694315f62d1be2a106522b707d7ea2d4eb122d313c919c0',1,'lspserver::Deprecated'],['../namespacelspserver.html#a0ab41ec28e07b679bf3d6de08c39b4bfa0ac54cb10e7494cff1949826e8e32f7b',1,'lspserver::Deprecated']]], + ['depth_18',['Depth',['../md_nixd_2docs_2user-guide.html#autotoc_md35',1,'']]], + ['descend_19',['descend',['../classnixf_1_1Node.html#a0baddb708b003d7fccc90d3f09f94515',1,'nixf::Node']]], + ['description_20',['description',['../structlspserver_1_1ChangeAnnotation.html#a01cdeffae101b5bbc8b37bc989f0d798',1,'lspserver::ChangeAnnotation']]], + ['deserialize_2eh_21',['Deserialize.h',['../Deserialize_8h.html',1,'']]], + ['deserializecontext_22',['DeserializeContext',['../structnixt_1_1DeserializeContext.html',1,'nixt']]], + ['deserializehookable_23',['deserializeHookable',['../namespacenixt.html#ab0d028a74390873ec4872a7745e0ed44',1,'nixt']]], + ['design_24',['Design',['../md_nixd_2docs_2dev.html#autotoc_md6',1,'']]], + ['designator_25',['Designator',['../namespacelspserver.html#ad0e04d3cce4fb889bbf88064199247f8abd5f348ef116c03d1c6e165aee01d7c6',1,'lspserver']]], + ['desugarinheritexpr_26',['desugarInheritExpr',['../classnixf_1_1Sema.html#a6d9f0a65a0eee43ac6bae2644976a76f',1,'nixf::Sema']]], + ['detail_27',['detail',['../structlspserver_1_1DocumentSymbol.html#af037ebee94ba40c8c3fa9a9b97cd9593',1,'lspserver::DocumentSymbol::detail'],['../structlspserver_1_1CompletionItem.html#adb536a6041745a56f1a4b61952050480',1,'lspserver::CompletionItem::detail'],['../structlspserver_1_1TypeHierarchyItem.html#a3acaec54bac97f00970f3f60b5595a07',1,'lspserver::TypeHierarchyItem::detail'],['../structlspserver_1_1CallHierarchyItem.html#a6f85a69a6533859ae26727c5c7f6c76a',1,'lspserver::CallHierarchyItem::detail'],['../structlspserver_1_1ASTNode.html#a658ae9b7fe041d674d36125a576c97d3',1,'lspserver::ASTNode::detail']]], + ['dev_2emd_28',['dev.md',['../dev_8md.html',1,'']]], + ['developers_20manual_29',['Developers' Manual',['../md_nixd_2docs_2dev.html',1,'']]], + ['diag_30',['DIAG',['../Diagnostic_8h.html#a535a3b0a477dc9a5ad95a97c6b1245e9',1,'DIAG: Diagnostic.h'],['../Diagnostic_8cpp.html#a535a3b0a477dc9a5ad95a97c6b1245e9',1,'DIAG: Diagnostic.cpp'],['../Diagnostic_8cpp.html#a535a3b0a477dc9a5ad95a97c6b1245e9',1,'DIAG: Diagnostic.cpp'],['../Diagnostic_8cpp.html#a535a3b0a477dc9a5ad95a97c6b1245e9',1,'DIAG: Diagnostic.cpp']]], + ['diag_5fnote_31',['DIAG_NOTE',['../Diagnostic_8h.html#afe3736072b3caadd3e0b53b53f114401',1,'DIAG_NOTE: Diagnostic.h'],['../Diagnostic_8cpp.html#afe3736072b3caadd3e0b53b53f114401',1,'DIAG_NOTE: Diagnostic.cpp'],['../Diagnostic_8cpp.html#afe3736072b3caadd3e0b53b53f114401',1,'DIAG_NOTE: Diagnostic.cpp']]], + ['diagnostic_32',['Diagnostic',['../structlspserver_1_1Diagnostic.html',1,'lspserver::Diagnostic'],['../classnixf_1_1Diagnostic.html',1,'nixf::Diagnostic'],['../classnixf_1_1Diagnostic.html#a309a5829099380594fd612938d81d186',1,'nixf::Diagnostic::Diagnostic()']]], + ['diagnostic_2ecpp_33',['Diagnostic.cpp',['../Diagnostic_8cpp.html',1,'']]], + ['diagnostic_2eh_34',['Diagnostic.h',['../Diagnostic_8h.html',1,'']]], + ['diagnosticcategory_35',['DiagnosticCategory',['../structlspserver_1_1ClientCapabilities.html#a3bcb1982254552b19c9f329a9cf8dc36',1,'lspserver::ClientCapabilities']]], + ['diagnosticfixes_36',['DiagnosticFixes',['../structlspserver_1_1ClientCapabilities.html#a3651f14900f6f64715aba940ba5a5487',1,'lspserver::ClientCapabilities']]], + ['diagnostickind_37',['DiagnosticKind',['../classnixf_1_1Diagnostic.html#aa2fa4a9efdd2d50f4773a2e35001ec51',1,'nixf::Diagnostic']]], + ['diagnostickinds_2einc_38',['DiagnosticKinds.inc',['../DiagnosticKinds_8inc.html',1,'']]], + ['diagnosticrelatedinformation_39',['DiagnosticRelatedInformation',['../structlspserver_1_1DiagnosticRelatedInformation.html',1,'lspserver::DiagnosticRelatedInformation'],['../structlspserver_1_1ClientCapabilities.html#af606342f91664eb0f02a8473bfb671e1',1,'lspserver::ClientCapabilities::DiagnosticRelatedInformation']]], + ['diagnostics_40',['diagnostics',['../structlspserver_1_1PublishDiagnosticsParams.html#accddbdde6f1048d4f096fe8809436a7e',1,'lspserver::PublishDiagnosticsParams::diagnostics'],['../structlspserver_1_1CodeActionContext.html#a675ae78336587ba56643104a8a08af52',1,'lspserver::CodeActionContext::diagnostics'],['../structlspserver_1_1CodeAction.html#aebb2b0259bc124bf5073b8ad8fc02c63',1,'lspserver::CodeAction::diagnostics'],['../classnixd_1_1NixTU.html#a10b00e84fe21b6248f95f7f6513ece26',1,'nixd::NixTU::diagnostics()']]], + ['diagnostics_2ecpp_41',['Diagnostics.cpp',['../Diagnostics_8cpp.html',1,'']]], + ['diagnostictag_42',['DiagnosticTag',['../namespacenixf.html#a107eebaa5e9ba959f752e4ac049cf078',1,'nixf::DiagnosticTag'],['../namespacelspserver.html#af6f9096acddc880ee3694315f62d1be2',1,'lspserver::DiagnosticTag']]], + ['diagnullexpr_43',['diagNullExpr',['../namespacenixf_1_1detail.html#af9e82df3ce22230174d929f2746563df',1,'nixf::detail']]], + ['didchangeconfigurationparams_44',['DidChangeConfigurationParams',['../structlspserver_1_1DidChangeConfigurationParams.html',1,'lspserver']]], + ['didchangetextdocumentparams_45',['DidChangeTextDocumentParams',['../structlspserver_1_1DidChangeTextDocumentParams.html',1,'lspserver']]], + ['didchangewatchedfilesparams_46',['DidChangeWatchedFilesParams',['../structlspserver_1_1DidChangeWatchedFilesParams.html',1,'lspserver']]], + ['didclosetextdocumentparams_47',['DidCloseTextDocumentParams',['../structlspserver_1_1DidCloseTextDocumentParams.html',1,'lspserver']]], + ['didopentextdocumentparams_48',['DidOpenTextDocumentParams',['../structlspserver_1_1DidOpenTextDocumentParams.html',1,'lspserver']]], + ['didsavetextdocumentparams_49',['DidSaveTextDocumentParams',['../structlspserver_1_1DidSaveTextDocumentParams.html',1,'lspserver']]], + ['direction_50',['direction',['../structlspserver_1_1TypeHierarchyPrepareParams.html#a1633112373fe988ab63351510d4451d7',1,'lspserver::TypeHierarchyPrepareParams::direction'],['../structlspserver_1_1ResolveTypeHierarchyItemParams.html#a162afb087a469ee31dfb33ffc96a0078',1,'lspserver::ResolveTypeHierarchyItemParams::direction']]], + ['dispatch_51',['dispatch',['../classlspserver_1_1InboundPort.html#ace26b7918381acdad51daf4aa4d7cef1',1,'lspserver::InboundPort']]], + ['displacement_2ecpp_52',['Displacement.cpp',['../Displacement_8cpp.html',1,'']]], + ['displacement_2eh_53',['Displacement.h',['../Displacement_8h.html',1,'']]], + ['displof_54',['displOf',['../namespacenixt.html#a012fca8e00357e49fa030b70292c91b8',1,'nixt::displOf(const nix::Expr *E, nix::Displacement Displ)'],['../namespacenixt.html#a775e5f296dc6823d6c1fa9fca4ad8f03',1,'nixt::displOf(const nix::ExprAttrs *E, nix::Displacement Displ)'],['../namespacenixt.html#a0c15d5cbd147cf52ed52a6cf86d6fb15',1,'nixt::displOf(const nix::ExprLet *E, nix::Displacement Displ)'],['../namespacenixt.html#a8a7031e69c6edade7adde78112e2fe8d',1,'nixt::displOf(const nix::ExprLambda *E, nix::Displacement Displ)']]], + ['dk_55',['DK',['../namespacenixf.html#ac5076c38b3329780550a4ef0a56205b5',1,'nixf']]], + ['documentation_56',['documentation',['../structlspserver_1_1CompletionItem.html#aa183f55e545b3d9cec67ee0215c44fc5',1,'lspserver::CompletionItem::documentation'],['../structlspserver_1_1ParameterInformation.html#a9edaf2b37f1c8554a92533dfe4d6f26d',1,'lspserver::ParameterInformation::documentation'],['../structlspserver_1_1SignatureInformation.html#aca94098c6dbc608061da7430613c2f71',1,'lspserver::SignatureInformation::documentation']]], + ['documentchanges_57',['DocumentChanges',['../structlspserver_1_1ClientCapabilities.html#a767ca9a750699c8a40abacd36cb8e72e',1,'lspserver::ClientCapabilities']]], + ['documentchanges_58',['documentChanges',['../structlspserver_1_1WorkspaceEdit.html#a996b34bc9e3f55607a91304bd9addea9',1,'lspserver::WorkspaceEdit']]], + ['documentformattingparams_59',['DocumentFormattingParams',['../structlspserver_1_1DocumentFormattingParams.html',1,'lspserver']]], + ['documenthighlight_60',['DocumentHighlight',['../structlspserver_1_1DocumentHighlight.html',1,'lspserver']]], + ['documenthighlightkind_61',['DocumentHighlightKind',['../namespacelspserver.html#a63ffb3d295b12032400790fb555de2e9',1,'lspserver']]], + ['documentlink_62',['DocumentLink',['../structlspserver_1_1DocumentLink.html',1,'lspserver']]], + ['documentlinkparams_63',['DocumentLinkParams',['../structlspserver_1_1DocumentLinkParams.html',1,'lspserver']]], + ['documentontypeformattingparams_64',['DocumentOnTypeFormattingParams',['../structlspserver_1_1DocumentOnTypeFormattingParams.html',1,'lspserver']]], + ['documentrangeformattingparams_65',['DocumentRangeFormattingParams',['../structlspserver_1_1DocumentRangeFormattingParams.html',1,'lspserver']]], + ['documentsymbol_66',['DocumentSymbol',['../structlspserver_1_1DocumentSymbol.html',1,'lspserver']]], + ['documentsymbolparams_67',['DocumentSymbolParams',['../structlspserver_1_1DocumentSymbolParams.html',1,'lspserver']]], + ['does_20cross_20file_20analysis_20work_68',['How does cross-file analysis work?',['../md_nixd_2docs_2dev.html#autotoc_md10',1,'']]], + ['does_20language_20information_20being_20collected_69',['How does language information being collected?',['../md_nixd_2docs_2dev.html#autotoc_md8',1,'']]], + ['does_20nix_20evaluator_20see_20your_20data_20structure_20instead_20of_20parsing_20file_20by_20itself_70',['Why does nix evaluator see your data structure, instead of parsing file by itself?',['../md_nixd_2docs_2dev.html#autotoc_md9',1,'']]], + ['draft_71',['Draft',['../structlspserver_1_1DraftStore_1_1Draft.html',1,'lspserver::DraftStore']]], + ['draftstore_72',['DraftStore',['../classlspserver_1_1DraftStore.html',1,'lspserver']]], + ['draftstore_2ecpp_73',['DraftStore.cpp',['../DraftStore_8cpp.html',1,'']]], + ['draftstore_2eh_74',['DraftStore.h',['../DraftStore_8h.html',1,'']]], + ['ds_5ferror_75',['DS_Error',['../classnixf_1_1Diagnostic.html#a1ae78a8db740ce789f2dc8b4603f9d7baf587c7a518dcf415b845382645a6c9f7',1,'nixf::Diagnostic']]], + ['ds_5ffatal_76',['DS_Fatal',['../classnixf_1_1Diagnostic.html#a1ae78a8db740ce789f2dc8b4603f9d7ba704830342f52172a4615ed988b4dffb8',1,'nixf::Diagnostic']]], + ['ds_5fwarning_77',['DS_Warning',['../classnixf_1_1Diagnostic.html#a1ae78a8db740ce789f2dc8b4603f9d7ba324f60c858794ca923640da68fef4f59',1,'nixf::Diagnostic']]], + ['dupattr_78',['dupAttr',['../classnixf_1_1Sema.html#a813c4f1c697dc1b0874fff49008750b6',1,'nixf::Sema']]], + ['dynamicattrs_79',['dynamicAttrs',['../classnixf_1_1SemaAttrs.html#ac41612aaaa0284c7aaa104eec65871ca',1,'nixf::SemaAttrs']]] +]; diff --git a/search/all_4.js b/search/all_4.js new file mode 100644 index 000000000..1345d1b78 --- /dev/null +++ b/search/all_4.js @@ -0,0 +1,103 @@ +var searchData= +[ + ['eat_0',['eat',['../namespacebc.html#ac849924be2bbae45f91ea69a98b6d050',1,'bc']]], + ['eatexprint_1',['eatExprInt',['../classnixt_1_1ASTDeserializer.html#a4f2a3c9eeef53c3f0342412670b726d6',1,'nixt::ASTDeserializer']]], + ['eathookable_2',['eatHookable',['../classnixt_1_1ASTDeserializer.html#a137a2672aba8eda7ddb87c5a49011705',1,'nixt::ASTDeserializer']]], + ['eatsymbol_3',['eatSymbol',['../classnixt_1_1ASTDeserializer.html#aa5c396ef46e8e3a65c61c75c16aa466f',1,'nixt::ASTDeserializer']]], + ['edit_4',['edit',['../structlspserver_1_1CodeAction.html#a62ac2b0b5c0f9c2ae614b245cb24fad9',1,'lspserver::CodeAction::edit'],['../structlspserver_1_1ApplyWorkspaceEditParams.html#a88cb4d47bcf97b968ba410c47825ef05',1,'lspserver::ApplyWorkspaceEditParams::edit'],['../classnixf_1_1Fix.html#a99a48f92d2c5fcc520bc4d33776a41c2',1,'nixf::Fix::edit()']]], + ['editor_20setup_20guide_5',['Editor Setup Guide',['../md_nixd_2docs_2editor-setup.html#autotoc_md15',1,'']]], + ['editor_2dsetup_2emd_6',['editor-setup.md',['../editor-setup_8md.html',1,'']]], + ['editors_20environment_7',['Reproducible Editors Environment',['../md_nixd_2docs_2editors_2editors.html',1,'']]], + ['editors_2emd_8',['editors.md',['../editors_8md.html',1,'']]], + ['edits_9',['edits',['../structlspserver_1_1TextDocumentEdit.html#a80d279e3fbe701c1e6430bf2ce212351',1,'lspserver::TextDocumentEdit::edits'],['../structlspserver_1_1SemanticTokensOrDelta.html#a14ccbb25fee46f1959d5fad84ee1bdf1',1,'lspserver::SemanticTokensOrDelta::edits'],['../classnixf_1_1Fix.html#a62f8f141759b0b3b0f09f77970f25643',1,'nixf::Fix::edits()']]], + ['eglot_10',['Eglot',['../md_nixd_2docs_2editor-setup.html#autotoc_md21',1,'']]], + ['ek_5fassert_11',['EK_Assert',['../namespacenixbc.html#a0612133b6c5a4bca6d5c1e4c063759cea951ec1aff99c40b530658f58617b3d9e',1,'nixbc']]], + ['ek_5fattrs_12',['EK_Attrs',['../namespacenixbc.html#a0612133b6c5a4bca6d5c1e4c063759cea2347dc083167bdc28accb5bebdc91a73',1,'nixbc']]], + ['ek_5fcall_13',['EK_Call',['../namespacenixbc.html#a0612133b6c5a4bca6d5c1e4c063759cea4ddab866a02834da77061bc6e5d588f1',1,'nixbc']]], + ['ek_5fconcatstrings_14',['EK_ConcatStrings',['../namespacenixbc.html#a0612133b6c5a4bca6d5c1e4c063759ceacc43b997170b1875541f7033c02aa313',1,'nixbc']]], + ['ek_5ffloat_15',['EK_Float',['../namespacenixbc.html#a0612133b6c5a4bca6d5c1e4c063759cea12dc35524646eee9aafb55bdd635767e',1,'nixbc']]], + ['ek_5fif_16',['EK_If',['../namespacenixbc.html#a0612133b6c5a4bca6d5c1e4c063759cea0d764a572bb99af20bd96d5c5b305e86',1,'nixbc']]], + ['ek_5fint_17',['EK_Int',['../namespacenixbc.html#a0612133b6c5a4bca6d5c1e4c063759ceab9ec6960cd2bd93ad36f60b2b11fc00f',1,'nixbc']]], + ['ek_5flambda_18',['EK_Lambda',['../namespacenixbc.html#a0612133b6c5a4bca6d5c1e4c063759cea644cf442b3ff8bde39c3ab702e92a373',1,'nixbc']]], + ['ek_5flet_19',['EK_Let',['../namespacenixbc.html#a0612133b6c5a4bca6d5c1e4c063759ceaea0b11f0d28f554935d04e58163e600d',1,'nixbc']]], + ['ek_5flist_20',['EK_List',['../namespacenixbc.html#a0612133b6c5a4bca6d5c1e4c063759cea830eb468ec0d3fc71d4b96a1137f2131',1,'nixbc']]], + ['ek_5fopand_21',['EK_OpAnd',['../namespacenixbc.html#a0612133b6c5a4bca6d5c1e4c063759ceae7bf520fea250351dd5b607f9f327e89',1,'nixbc']]], + ['ek_5fopconcatlists_22',['EK_OpConcatLists',['../namespacenixbc.html#a0612133b6c5a4bca6d5c1e4c063759ceab861ec5678576f952cebe266ade31b56',1,'nixbc']]], + ['ek_5fopeq_23',['EK_OpEq',['../namespacenixbc.html#a0612133b6c5a4bca6d5c1e4c063759ceacff272eaa2d5be52add5965684a0a27c',1,'nixbc']]], + ['ek_5fophasattr_24',['EK_OpHasAttr',['../namespacenixbc.html#a0612133b6c5a4bca6d5c1e4c063759cea6c830dd96a68a986539b8f6a109dcf61',1,'nixbc']]], + ['ek_5fopimpl_25',['EK_OpImpl',['../namespacenixbc.html#a0612133b6c5a4bca6d5c1e4c063759cea942d7d6dd927ca27dea3ae5866b1d825',1,'nixbc']]], + ['ek_5fopneq_26',['EK_OpNEq',['../namespacenixbc.html#a0612133b6c5a4bca6d5c1e4c063759ceae9dc3341b3976cdf6784a104db06ea2f',1,'nixbc']]], + ['ek_5fopnot_27',['EK_OpNot',['../namespacenixbc.html#a0612133b6c5a4bca6d5c1e4c063759ceaa9c2339438a773181795ae42a9f7040d',1,'nixbc']]], + ['ek_5fopor_28',['EK_OpOr',['../namespacenixbc.html#a0612133b6c5a4bca6d5c1e4c063759cea0ea53925d95782dcb8b7b7ef1c2c7a26',1,'nixbc']]], + ['ek_5fopupdate_29',['EK_OpUpdate',['../namespacenixbc.html#a0612133b6c5a4bca6d5c1e4c063759cea89d6ea7d4e92b01688259d70b37a6a06',1,'nixbc']]], + ['ek_5fpath_30',['EK_Path',['../namespacenixbc.html#a0612133b6c5a4bca6d5c1e4c063759cea2612d0c527a150a44bcbe4a599d89376',1,'nixbc']]], + ['ek_5fpos_31',['EK_Pos',['../namespacenixbc.html#a0612133b6c5a4bca6d5c1e4c063759ceab6996a1edd0a84ef0222a1e6cbb03af9',1,'nixbc']]], + ['ek_5fselect_32',['EK_Select',['../namespacenixbc.html#a0612133b6c5a4bca6d5c1e4c063759cea2df01e393103038d3e5be97cd5683892',1,'nixbc']]], + ['ek_5fstring_33',['EK_String',['../namespacenixbc.html#a0612133b6c5a4bca6d5c1e4c063759cea1574bec6e6e6ac78864e1808952dde62',1,'nixbc']]], + ['ek_5fvar_34',['EK_Var',['../namespacenixbc.html#a0612133b6c5a4bca6d5c1e4c063759cea75d3ce32ccd58f65dac53db7b0f63d90',1,'nixbc']]], + ['ek_5fwith_35',['EK_With',['../namespacenixbc.html#a0612133b6c5a4bca6d5c1e4c063759cea3d0e377f8141719409f135696d6080cc',1,'nixbc']]], + ['elements_36',['elements',['../classnixf_1_1ExprList.html#a0193022985b2c580b53ba51819eae41a',1,'nixf::ExprList::elements() const'],['../classnixf_1_1ExprList.html#a07f838b05b78cc79fd1142a895ac9d20',1,'nixf::ExprList::elements()']]], + ['ellipsis_37',['ellipsis',['../classnixf_1_1Formal.html#a09e0332f1a7e1614b54c7704d32964d1',1,'nixf::Formal']]], + ['elog_38',['elog',['../namespacelspserver.html#a82488367b9fb79e2aa29e871e264730d',1,'lspserver']]], + ['elseexpr_39',['elseExpr',['../classnixf_1_1ExprIf.html#a6b2a181f583874616ee43d78e348fbe3',1,'nixf::ExprIf']]], + ['em_20flake_20em_40',['How to use nixd in my <em>flake</em>?',['../md_nixd_2docs_2user-guide.html#autotoc_md40',1,'']]], + ['emacs_41',['Emacs',['../md_nixd_2docs_2editor-setup.html#autotoc_md20',1,'']]], + ['encode_42',['encode',['../namespacenixt.html#a25061c67368e1c6c24d35f1c399854e9',1,'nixt::encode(std::ostream &OS, const T &Data)'],['../namespacenixt.html#a273741249be52b8b1cd0b4e9f3e68610',1,'nixt::encode(std::ostream &OS, const std::string &Data)'],['../namespacenixt.html#a36bedb0bafa77f89b2d471b1550b786c',1,'nixt::encode(std::ostream &OS, const nix::Pos::Origin &Origin)']]], + ['encodeast_43',['encodeAST',['../namespacenixt.html#a94c6760741573011c38cf19c30130f70',1,'nixt']]], + ['encodekind_44',['EncodeKind',['../namespacenixt.html#a5bcdc1a90b949f11bc1a7147ce48c50d',1,'nixt']]], + ['encodeversion_45',['encodeVersion',['../classlspserver_1_1DraftStore.html#a03755988045ecc0881cc22ed9f4494d1',1,'lspserver::DraftStore']]], + ['end_46',['End',['../structnixt_1_1ArrayRef.html#a32da33a8da4d4b5459292207a3fd2bc7',1,'nixt::ArrayRef']]], + ['end_47',['end',['../structlspserver_1_1Range.html#af6b76464d1b60245f086b225353d4be5',1,'lspserver::Range::end'],['../classnixf_1_1PositionRange.html#add684fcec94fdd8448adc660428af795',1,'nixf::PositionRange::end()'],['../namespacenixt.html#a96f6acc6d2d5c11eb3189af95897e5d6',1,'nixt::end()']]], + ['endcharacter_48',['endCharacter',['../structlspserver_1_1FoldingRange.html#ae2f313f031ea23b32ac16462aabba26c',1,'lspserver::FoldingRange']]], + ['endline_49',['endLine',['../structlspserver_1_1FoldingRange.html#a9c67eafdbaadf93abea34279b9450d7e',1,'lspserver::FoldingRange']]], + ['enum_50',['Enum',['../namespacelspserver.html#aaa34ea3819069fbee52018467e9586e0acf20423ed48998082c20099488a0917c',1,'lspserver::Enum'],['../namespacelspserver.html#a2c2f610d4b7f64335e8d68b47e18ea6facf20423ed48998082c20099488a0917c',1,'lspserver::Enum']]], + ['enummember_51',['EnumMember',['../namespacelspserver.html#aaa34ea3819069fbee52018467e9586e0a692ec2aadc30b3b8cc45b63c507e48a1',1,'lspserver::EnumMember'],['../namespacelspserver.html#a2c2f610d4b7f64335e8d68b47e18ea6fa692ec2aadc30b3b8cc45b63c507e48a1',1,'lspserver::EnumMember']]], + ['environment_52',['Reproducible Editors Environment',['../md_nixd_2docs_2editors_2editors.html',1,'']]], + ['envmap_53',['EnvMap',['../namespacenixt.html#a07e5104c8cd6f8edc7f136140f613dae',1,'nixt']]], + ['error_54',['Error',['../classlspserver_1_1Logger.html#a96543597ca6f5377381ee5a4dba571faa1aec2f15e5029084120d37988813df8c',1,'lspserver::Logger::Error'],['../namespacelspserver.html#a200604f8ba85e73cda84aa47933d8fcba902b0d55fddef6f8d651fe1035b7d4bd',1,'lspserver::Error'],['../namespacenixd_1_1rpc.html#adb82fac4db5997115883b375252dd765a902b0d55fddef6f8d651fe1035b7d4bd',1,'nixd::rpc::Error']]], + ['error_55',['error',['../namespacelspserver_1_1detail.html#aeee993448ede36ac82279260d982a71e',1,'lspserver::detail::error()'],['../namespacelspserver.html#a142f6b9e1eae57c5e8f3fe77fa563de3',1,'lspserver::error(std::error_code EC, const char *Fmt, Ts &&...Vals)'],['../namespacelspserver.html#a3ff33b89685987c09e4e06e48423945d',1,'lspserver::error(const char *Fmt, Ts &&...Vals)'],['../namespacelspserver.html#ad3e284b3f43df7cebf215ea80b69d698',1,'lspserver::error(std::error_code EC, std::string Msg)'],['../namespacelspserver.html#a39f650b9146227ca6a052c20eddd88e7',1,'lspserver::error(std::string Msg)']]], + ['errorcode_56',['ErrorCode',['../namespacelspserver.html#a748780c668b7e2d2e3700f6e7075b078',1,'lspserver']]], + ['escaped_57',['escaped',['../classnixf_1_1InterpolablePart.html#a479152105d80ebf36b0a866258c1bbdf',1,'nixf::InterpolablePart']]], + ['eval_58',['nix-node-eval',['../md_nixd_2nix-node-eval_2README.html',1,'']]], + ['evalclient_59',['EvalClient',['../classnixd_1_1EvalClient.html',1,'nixd::EvalClient'],['../classnixd_1_1EvalClient.html#a267f0cf23af6529f52b4c74ae50dfc31',1,'nixd::EvalClient::EvalClient()']]], + ['evalclient_2ecpp_60',['EvalClient.cpp',['../EvalClient_8cpp.html',1,'']]], + ['evalclient_2eh_61',['EvalClient.h',['../EvalClient_8h.html',1,'']]], + ['evalerror_62',['EvalError',['../structnixd_1_1rpc_1_1ExprValueResponse.html#aae25daf6dbf5578afc233532331a5b40a1bfdf5db46eaf547236d7d33010c09ce',1,'nixd::rpc::ExprValueResponse']]], + ['evalprovider_63',['EvalProvider',['../classnixd_1_1EvalProvider.html',1,'nixd::EvalProvider'],['../classnixd_1_1EvalProvider.html#a3afed826bb93d1a565511affcc6a29db',1,'nixd::EvalProvider::EvalProvider()']]], + ['evalprovider_2ecpp_64',['EvalProvider.cpp',['../EvalProvider_8cpp.html',1,'']]], + ['evalprovider_2eh_65',['EvalProvider.h',['../EvalProvider_8h.html',1,'']]], + ['evaluation_66',['Evaluation',['../md_nixd_2docs_2user-guide.html#autotoc_md33',1,'']]], + ['evaluator_20see_20your_20data_20structure_20instead_20of_20parsing_20file_20by_20itself_67',['Why does nix evaluator see your data structure, instead of parsing file by itself?',['../md_nixd_2docs_2dev.html#autotoc_md9',1,'']]], + ['event_68',['Event',['../classlspserver_1_1Event.html',1,'lspserver::Event< T >'],['../namespacelspserver.html#aaa34ea3819069fbee52018467e9586e0aa4ecfc70574394990cf17bd83df499f7',1,'lspserver::Event'],['../namespacelspserver.html#a2c2f610d4b7f64335e8d68b47e18ea6faa4ecfc70574394990cf17bd83df499f7',1,'lspserver::Event']]], + ['examples_69',['Configuration Examples',['../md_nixd_2docs_2examples_2README.html',1,'']]], + ['executecommandparams_70',['ExecuteCommandParams',['../structlspserver_1_1ExecuteCommandParams.html',1,'lspserver']]], + ['expr_71',['Expr',['../classnixf_1_1Expr.html',1,'nixf::Expr'],['../classnixf_1_1Expr.html#a12e87d1fab1d766cf93bbb0ac38b708d',1,'nixf::Expr::Expr()']]], + ['expr_72',['expr',['../classnixf_1_1Inherit.html#a06da124f4e3b808c2c3db8d44d0b5060',1,'nixf::Inherit::expr()'],['../classnixf_1_1Inherit.html#a238e6d06460e441d5d72e5f5145f4b86',1,'nixf::Inherit::expr() const'],['../classnixf_1_1ExprSelect.html#ac1a75c9a89efbfe87a6771837a0272f9',1,'nixf::ExprSelect::expr()'],['../classnixf_1_1ExprLet.html#a34753fee6c3375560cbc411d4da0a24f',1,'nixf::ExprLet::expr()'],['../classnixf_1_1ExprWith.html#ae93be186317e3b8e115e7d72519245f2',1,'nixf::ExprWith::expr()'],['../classnixf_1_1ExprOpHasAttr.html#a3c1826e34a63ce9cc456b55c485f1d57',1,'nixf::ExprOpHasAttr::expr()'],['../classnixf_1_1ExprUnaryOp.html#acec1b568597d9f91a66e1d68176656a3',1,'nixf::ExprUnaryOp::expr()'],['../classnixf_1_1Interpolation.html#a86402f604f4773b6f39ea22b32c86e05',1,'nixf::Interpolation::expr()'],['../classnixf_1_1ExprParen.html#a60501e082aea530cd0909f0e587c92ce',1,'nixf::ExprParen::expr()']]], + ['expr_73',['EXPR',['../Basic_8h.html#a66c4fd18ac8f9e2f0a4a7e6ea5a3a7b7',1,'EXPR: Basic.h'],['../Nodes_8cpp.html#a66c4fd18ac8f9e2f0a4a7e6ea5a3a7b7',1,'EXPR: Nodes.cpp']]], + ['expr_2eh_74',['Expr.h',['../Expr_8h.html',1,'']]], + ['exprassert_75',['ExprAssert',['../classnixf_1_1ExprAssert.html',1,'nixf::ExprAssert'],['../classnixf_1_1ExprAssert.html#a40edbca00d2dd57b3e67ebb2f8267cab',1,'nixf::ExprAssert::ExprAssert()']]], + ['exprattrs_76',['ExprAttrs',['../classnixf_1_1ExprAttrs.html',1,'nixf::ExprAttrs'],['../classnixf_1_1ExprAttrs.html#abe45b2e9a18aa38182550c2bc72b94fd',1,'nixf::ExprAttrs::ExprAttrs()']]], + ['exprbinop_77',['ExprBinOp',['../classnixf_1_1ExprBinOp.html',1,'nixf::ExprBinOp'],['../classnixf_1_1ExprBinOp.html#a0fe6f745400078a7ce6e54e074751e99',1,'nixf::ExprBinOp::ExprBinOp()']]], + ['exprcall_78',['ExprCall',['../classnixf_1_1ExprCall.html',1,'nixf::ExprCall'],['../classnixf_1_1ExprCall.html#a6f60faa211da6f3beb69f2aee03e05e2',1,'nixf::ExprCall::ExprCall()']]], + ['expressions_79',['libnixt, Playing with <tt>nix::Expr</tt> expressions.',['../md_libnixt_2README.html',1,'']]], + ['exprfloat_80',['ExprFloat',['../classnixf_1_1ExprFloat.html',1,'nixf::ExprFloat'],['../classnixf_1_1ExprFloat.html#ab8b80abe8c5ecc5a111d4c690f35011a',1,'nixf::ExprFloat::ExprFloat()']]], + ['exprid_81',['ExprID',['../structnixd_1_1rpc_1_1ExprValueParams.html#a9f2b048f1f85283449ccc9e3000ee470',1,'nixd::rpc::ExprValueParams']]], + ['exprif_82',['ExprIf',['../classnixf_1_1ExprIf.html',1,'nixf::ExprIf'],['../classnixf_1_1ExprIf.html#a88ddfa784fec625a2c090ad3dc745f1d',1,'nixf::ExprIf::ExprIf()']]], + ['exprint_83',['ExprInt',['../classnixf_1_1ExprInt.html',1,'nixf::ExprInt'],['../classnixf_1_1ExprInt.html#a98d404e1e836df102e5b05a8b11d2bbd',1,'nixf::ExprInt::ExprInt()']]], + ['exprkind_84',['ExprKind',['../namespacenixbc.html#a0612133b6c5a4bca6d5c1e4c063759ce',1,'nixbc::ExprKind'],['../namespacenixt_1_1ek.html#a92936c4da989def360778fc59ea9dc8b',1,'nixt::ek::ExprKind']]], + ['exprlambda_85',['ExprLambda',['../classnixf_1_1ExprLambda.html',1,'nixf::ExprLambda'],['../classnixf_1_1ExprLambda.html#adee27f61cd0fac29864b6467e480d492',1,'nixf::ExprLambda::ExprLambda()']]], + ['exprlet_86',['ExprLet',['../classnixf_1_1ExprLet.html',1,'nixf::ExprLet'],['../classnixf_1_1ExprLet.html#af2ec56c4c2a650cf68f531a8f597d58d',1,'nixf::ExprLet::ExprLet()']]], + ['exprlist_87',['ExprList',['../classnixf_1_1ExprList.html',1,'nixf::ExprList'],['../classnixf_1_1ExprList.html#af61bba618b32855be81cac21b9c0c864',1,'nixf::ExprList::ExprList()']]], + ['exprop_88',['ExprOp',['../classnixf_1_1ExprOp.html',1,'nixf::ExprOp'],['../classnixf_1_1ExprOp.html#a8b3e7ca3bf69983264ea305b05c30298',1,'nixf::ExprOp::ExprOp()']]], + ['exprophasattr_89',['ExprOpHasAttr',['../classnixf_1_1ExprOpHasAttr.html',1,'nixf::ExprOpHasAttr'],['../classnixf_1_1ExprOpHasAttr.html#af8b54ae89510f8b2e203912c37daaa19',1,'nixf::ExprOpHasAttr::ExprOpHasAttr()']]], + ['exprparen_90',['ExprParen',['../classnixf_1_1ExprParen.html',1,'nixf::ExprParen'],['../classnixf_1_1ExprParen.html#ae2a39d10e0a66c70342a90b6f25dfd55',1,'nixf::ExprParen::ExprParen()']]], + ['exprpath_91',['ExprPath',['../classnixf_1_1ExprPath.html',1,'nixf::ExprPath'],['../classnixf_1_1ExprPath.html#ac85244257515173f2becda4f8c59c8c7',1,'nixf::ExprPath::ExprPath()']]], + ['exprselect_92',['ExprSelect',['../classnixf_1_1ExprSelect.html',1,'nixf::ExprSelect'],['../classnixf_1_1ExprSelect.html#a65a9fdfe883d6985aa76ebb5da6c85bb',1,'nixf::ExprSelect::ExprSelect()']]], + ['exprstring_93',['ExprString',['../classnixf_1_1ExprString.html',1,'nixf::ExprString'],['../classnixf_1_1ExprString.html#aeaa71e49de7f779867cbc487a7b3e6e7',1,'nixf::ExprString::ExprString()']]], + ['exprunaryop_94',['ExprUnaryOp',['../classnixf_1_1ExprUnaryOp.html',1,'nixf::ExprUnaryOp'],['../classnixf_1_1ExprUnaryOp.html#a3397dc4d0cc34d6b6f58cc4464e4b559',1,'nixf::ExprUnaryOp::ExprUnaryOp()']]], + ['exprvalue_95',['ExprValue',['../classnixd_1_1EvalClient.html#acb85b540a1ec98673f4c1653408859a1',1,'nixd::EvalClient']]], + ['exprvalueparams_96',['ExprValueParams',['../structnixd_1_1rpc_1_1ExprValueParams.html',1,'nixd::rpc']]], + ['exprvalueresponse_97',['ExprValueResponse',['../structnixd_1_1rpc_1_1ExprValueResponse.html',1,'nixd::rpc']]], + ['exprvar_98',['ExprVar',['../classnixf_1_1ExprVar.html',1,'nixf::ExprVar'],['../classnixf_1_1ExprVar.html#a3636e3f329b3cd8bce706860206db46c',1,'nixf::ExprVar::ExprVar()']]], + ['exprwith_99',['ExprWith',['../classnixf_1_1ExprWith.html',1,'nixf::ExprWith'],['../classnixf_1_1ExprWith.html#a4cd0a4d7fba87e4d13ff602ed10789c4',1,'nixf::ExprWith::ExprWith()']]] +]; diff --git a/search/all_5.js b/search/all_5.js new file mode 100644 index 000000000..fd5d66a9a --- /dev/null +++ b/search/all_5.js @@ -0,0 +1,55 @@ +var searchData= +[ + ['f_0',['F',['../structnixt_1_1detail_1_1RB_1_1F.html',1,'nixt::detail::RB< Tag, p >::F'],['../structnixt_1_1detail_1_1RB_1_1F.html#ae924dab413321fa6dd1604e5d5dd33e8',1,'nixt::detail::RB::F::F()']]], + ['faded_1',['Faded',['../namespacenixf.html#a107eebaa5e9ba959f752e4ac049cf078a2716c1e477a70de6b2508c5ccd8c2588',1,'nixf']]], + ['failurereason_2',['failureReason',['../structlspserver_1_1ApplyWorkspaceEditResponse.html#a2437768953c39799133b592d2bbc7aff',1,'lspserver::ApplyWorkspaceEditResponse']]], + ['fallbackflags_3',['fallbackFlags',['../structlspserver_1_1InitializationOptions.html#a5e9330f2f44c0398570b5a2571b6f2f8',1,'lspserver::InitializationOptions']]], + ['faq_4',['FAQ',['../md_nixd_2docs_2user-guide.html#autotoc_md39',1,'']]], + ['fdty_5',['FDTy',['../classnixd_1_1util_1_1AutoCloseFD.html#ab7c1cca2c222a76edecfe013c6e54e09',1,'nixd::util::AutoCloseFD']]], + ['features_20preview_6',['Features Preview',['../md_README.html#autotoc_md44',1,'']]], + ['field_7',['Field',['../namespacelspserver.html#aaa34ea3819069fbee52018467e9586e0a6f16a5f8ff5d75ab84c018adacdfcbb7',1,'lspserver::Field'],['../namespacelspserver.html#a2c2f610d4b7f64335e8d68b47e18ea6fa6f16a5f8ff5d75ab84c018adacdfcbb7',1,'lspserver::Field']]], + ['file_8',['file',['../structlspserver_1_1TweakArgs.html#a5ee336faeb522b474b155098925c3a85',1,'lspserver::TweakArgs::file'],['../structlspserver_1_1URIForFile.html#af4471722f38b155208c4ca6bfc9fcb0b',1,'lspserver::URIForFile::file()']]], + ['file_9',['File',['../namespacelspserver.html#aaa34ea3819069fbee52018467e9586e0a0b27918290ff5323bea1e3b78a9cf04e',1,'lspserver::File'],['../namespacelspserver.html#a2c2f610d4b7f64335e8d68b47e18ea6fa0b27918290ff5323bea1e3b78a9cf04e',1,'lspserver::File']]], + ['file_20analysis_20work_10',['How does cross-file analysis work?',['../md_nixd_2docs_2dev.html#autotoc_md10',1,'']]], + ['file_20by_20itself_11',['Why does nix evaluator see your data structure, instead of parsing file by itself?',['../md_nixd_2docs_2dev.html#autotoc_md9',1,'']]], + ['filechangetype_12',['FileChangeType',['../namespacelspserver.html#a1acdb8484c09865d22820cdd7e4242ab',1,'lspserver']]], + ['fileevent_13',['FileEvent',['../structlspserver_1_1FileEvent.html',1,'lspserver']]], + ['fileheader_14',['FileHeader',['../structnixbc_1_1FileHeader.html',1,'nixbc']]], + ['fileheader_2eh_15',['FileHeader.h',['../FileHeader_8h.html',1,'']]], + ['fileparsecache_16',['FileParseCache',['../namespacenixt.html#a30eb50de19bd3e90f2b575787ec35044',1,'nixt']]], + ['filestatus_17',['FileStatus',['../structlspserver_1_1FileStatus.html',1,'lspserver::FileStatus'],['../structlspserver_1_1InitializationOptions.html#a48a390f999402d313ca861f296567cde',1,'lspserver::InitializationOptions::FileStatus']]], + ['filtertext_18',['filterText',['../structlspserver_1_1CompletionItem.html#a71dcfdcd867a876761dbb9d740077da2',1,'lspserver::CompletionItem']]], + ['fix_19',['Fix',['../classnixf_1_1Fix.html',1,'nixf::Fix'],['../classnixf_1_1Fix.html#a0f2933f83e52d667c2479681c7259ea5',1,'nixf::Fix::Fix()']]], + ['fix_20',['fix',['../classnixf_1_1Diagnostic.html#a92366a85a2893ba31c22a8a31914e4a6',1,'nixf::Diagnostic']]], + ['fixes_21',['fixes',['../classnixf_1_1Diagnostic.html#ab084f13cf3992140004e98a6d5561796',1,'nixf::Diagnostic']]], + ['flake_20em_22',['How to use nixd in my <em>flake</em>?',['../md_nixd_2docs_2user-guide.html#autotoc_md40',1,'']]], + ['flakes_23',['Nix Flakes',['../md_nixd_2docs_2user-guide.html#autotoc_md31',1,'']]], + ['float_24',['Float',['../structnixd_1_1rpc_1_1ExprValueResponse.html#a788097e9ca88ca57b0059f5805570f21aa02c440dad0e0a2352f4de261fa2ffa3',1,'nixd::rpc::ExprValueResponse']]], + ['fn_25',['fn',['../classnixf_1_1ExprCall.html#a34a3a144a95f7f94e1b28f12c7b286b1',1,'nixf::ExprCall']]], + ['fo_26',['FO',['../structnixt_1_1detail_1_1RB.html#afcbe35d3a5bdf0e78512459128a80cca',1,'nixt::detail::RB']]], + ['folder_27',['Folder',['../namespacelspserver.html#aaa34ea3819069fbee52018467e9586e0ab0f2b97dc5d2b76b26e040408bb1d8af',1,'lspserver']]], + ['foldingrange_28',['FoldingRange',['../structlspserver_1_1FoldingRange.html',1,'lspserver']]], + ['foldingrangeparams_29',['FoldingRangeParams',['../structlspserver_1_1FoldingRangeParams.html',1,'lspserver']]], + ['forcerebuild_30',['forceRebuild',['../structlspserver_1_1DidChangeTextDocumentParams.html#a5016d926510b80405dd10c3fc5aa6abc',1,'lspserver::DidChangeTextDocumentParams']]], + ['forkpiped_31',['forkPiped',['../namespacenixd_1_1util.html#a2aea2c36f0418823b63557798439b6ed',1,'nixd::util']]], + ['forkpiped_2ecpp_32',['ForkPiped.cpp',['../ForkPiped_8cpp.html',1,'']]], + ['forkpiped_2eh_33',['ForkPiped.h',['../ForkPiped_8h.html',1,'']]], + ['formal_34',['Formal',['../classnixf_1_1Formal.html',1,'nixf::Formal'],['../classnixf_1_1Formal.html#a72ef1da648eb9630f88dbfe5577aaaca',1,'nixf::Formal::Formal(LexerCursorRange Range, std::shared_ptr< Misc > Comma, std::shared_ptr< Identifier > ID, std::shared_ptr< Expr > Default)'],['../classnixf_1_1Formal.html#ad75c9e36167ba5ecd5dd9e7d92b74f01',1,'nixf::Formal::Formal(LexerCursorRange Range, std::shared_ptr< Misc > Comma, std::shared_ptr< Misc > Ellipsis)']]], + ['formals_35',['Formals',['../classnixf_1_1Formals.html',1,'nixf']]], + ['formals_36',['formals',['../classnixf_1_1LambdaArg.html#a126e8da96e3c9097fdd69d4a6586d583',1,'nixf::LambdaArg']]], + ['formals_37',['Formals',['../classnixf_1_1Formals.html#a2e970bd6237d5078f30a023e58fd217f',1,'nixf::Formals']]], + ['formalvector_38',['FormalVector',['../classnixf_1_1Formals.html#a2773c21044f3f91000d59df0d3d9ae10',1,'nixf::Formals::FormalVector'],['../classnixf_1_1Sema.html#a98b2ff06568d9a14816b666cb0ceca3b',1,'nixf::Sema::FormalVector']]], + ['format_39',['format',['../classnixf_1_1PartialDiagnostic.html#af16755c1a019103494ccec3ba0f14c73',1,'nixf::PartialDiagnostic::format()'],['../structllvm_1_1format__provider_3_01lspserver_1_1Position_01_4.html#a99df5b81ac711fc620a4768358755e65',1,'llvm::format_provider< lspserver::Position >::format()']]], + ['format_40',['Format',['../md_nixd_2docs_2user-guide.html#autotoc_md37',1,'Format'],['../md_libnixbc_2README.html#autotoc_md2',1,'Node Format'],['../md_libnixbc_2README.html#autotoc_md1',1,'The format']]], + ['format_5fprovider_3c_20lspserver_3a_3aposition_20_3e_41',['format_provider< lspserver::Position >',['../structllvm_1_1format__provider_3_01lspserver_1_1Position_01_4.html',1,'llvm']]], + ['fragments_42',['fragments',['../classnixf_1_1InterpolatedParts.html#ac21ab247218d873f571e114379a9eeaa',1,'nixf::InterpolatedParts']]], + ['from_43',['from',['../structlspserver_1_1CallHierarchyIncomingCall.html#a1f18ad5df77c33925fef1e5a6f2e6836',1,'lspserver::CallHierarchyIncomingCall']]], + ['from_20source_44',['Build the project from source',['../md_nixd_2docs_2user-guide.html#autotoc_md29',1,'']]], + ['frominherit_45',['fromInherit',['../classnixf_1_1Attribute.html#a661bbe72351e06a44a04795476fb7a45',1,'nixf::Attribute']]], + ['fromjson_46',['fromJSON',['../namespacelspserver.html#a2e94d9cf18dddd2e69fbcc9f2908ed1b',1,'lspserver::fromJSON(const llvm::json::Value &, URIForFile &, llvm::json::Path)'],['../namespacelspserver.html#a7fad476113fe92547c57cc2f5a00602d',1,'lspserver::fromJSON(const llvm::json::Value &, TextDocumentIdentifier &, llvm::json::Path)'],['../namespacelspserver.html#ab5827b6bdd7a6bcad59880963c8d6fc6',1,'lspserver::fromJSON(const llvm::json::Value &, VersionedTextDocumentIdentifier &, llvm::json::Path)'],['../namespacelspserver.html#af403b1e72675121d402697bc51e078f5',1,'lspserver::fromJSON(const llvm::json::Value &, Position &, llvm::json::Path)'],['../namespacelspserver.html#aa7d39723137e4742100ab791106c75dc',1,'lspserver::fromJSON(const llvm::json::Value &, Range &, llvm::json::Path)'],['../namespacelspserver.html#a41a12262d70c180b780ea9a473c47305',1,'lspserver::fromJSON(const llvm::json::Value &, TextEdit &, llvm::json::Path)'],['../namespacelspserver.html#a502b9ca7eae21e185a394bc31b0585c4',1,'lspserver::fromJSON(const llvm::json::Value &, ChangeAnnotation &, llvm::json::Path)'],['../namespacelspserver.html#aeb69c472e76f6a68dd3d3e3d01c12676',1,'lspserver::fromJSON(const llvm::json::Value &, TextDocumentEdit &, llvm::json::Path)'],['../namespacelspserver.html#ab94a7c9c0305bafd41be1310eff01a52',1,'lspserver::fromJSON(const llvm::json::Value &, TextDocumentItem &, llvm::json::Path)'],['../namespacelspserver.html#a34e3afd23503aa6cb76167f27800d32e',1,'lspserver::fromJSON(const llvm::json::Value &E, TraceLevel &Out, llvm::json::Path)'],['../namespacelspserver.html#a2c65e902f9bdf76aa7297b7f248dc40f',1,'lspserver::fromJSON(const llvm::json::Value &, NoParams &, llvm::json::Path)'],['../namespacelspserver.html#a121bba22651da3e31a165cffb96525eb',1,'lspserver::fromJSON(const llvm::json::Value &, CompletionItemKind &, llvm::json::Path)'],['../namespacelspserver.html#a1fc438c428d9f91494ddd44101fe284a',1,'lspserver::fromJSON(const llvm::json::Value &, CompletionItemKindBitset &, llvm::json::Path)'],['../namespacelspserver.html#af096d62ca9aa0fb347f3a0d55e336951',1,'lspserver::fromJSON(const llvm::json::Value &, SymbolKind &, llvm::json::Path)'],['../namespacelspserver.html#a705aa2c5122d2bc0b6c59b0bab0fdb39',1,'lspserver::fromJSON(const llvm::json::Value &, SymbolKindBitset &, llvm::json::Path)'],['../namespacelspserver.html#abfc15924e6b9c0087d286ad4c0804b55',1,'lspserver::fromJSON(const llvm::json::Value &, OffsetEncoding &, llvm::json::Path)'],['../namespacelspserver.html#a7f83ba5eb183d9f4339b46f7e786c893',1,'lspserver::fromJSON(const llvm::json::Value &, MarkupKind &, llvm::json::Path)'],['../namespacelspserver.html#a60add771d2eccc85c043345706e84020',1,'lspserver::fromJSON(const llvm::json::Value &, ClientCapabilities &, llvm::json::Path)'],['../namespacelspserver.html#a1875251bbf63a30562fedb64004024e5',1,'lspserver::fromJSON(const llvm::json::Value &, ClangdCompileCommand &, llvm::json::Path)'],['../namespacelspserver.html#a61fb070e1837cd7c0ea7fc4a07722dc4',1,'lspserver::fromJSON(const llvm::json::Value &, ConfigurationSettings &, llvm::json::Path)'],['../namespacelspserver.html#afbd634b14f3b141276f564e2923a0ebf',1,'lspserver::fromJSON(const llvm::json::Value &, InitializationOptions &, llvm::json::Path)'],['../namespacelspserver.html#a5ba974c126b6ab67da2fa46629e59b65',1,'lspserver::fromJSON(const llvm::json::Value &, InitializeParams &, llvm::json::Path)'],['../namespacelspserver.html#a34689e5d7eefe39a19104a650a91a3e1',1,'lspserver::fromJSON(const llvm::json::Value &, DidOpenTextDocumentParams &, llvm::json::Path)'],['../namespacelspserver.html#a22f957891f81b1490f6f6be6de57ef08',1,'lspserver::fromJSON(const llvm::json::Value &, DidCloseTextDocumentParams &, llvm::json::Path)'],['../namespacelspserver.html#abb3ef72d709652624305f297b4efab46',1,'lspserver::fromJSON(const llvm::json::Value &, DidSaveTextDocumentParams &, llvm::json::Path)'],['../namespacelspserver.html#ad0406ffcd64ec54eaa2756276d40e5c2',1,'lspserver::fromJSON(const llvm::json::Value &, TextDocumentContentChangeEvent &, llvm::json::Path)'],['../namespacelspserver.html#a5ec03b23ae72f888c12eba3f682a818b',1,'lspserver::fromJSON(const llvm::json::Value &, DidChangeTextDocumentParams &, llvm::json::Path)'],['../namespacelspserver.html#ac9b1deabad2029b21b90804b33862846',1,'lspserver::fromJSON(const llvm::json::Value &E, FileChangeType &Out, llvm::json::Path)'],['../namespacelspserver.html#a6c0eea913b3b16db2b9b1d46a7c38bf6',1,'lspserver::fromJSON(const llvm::json::Value &, FileEvent &, llvm::json::Path)'],['../namespacelspserver.html#a599d703dc3e1ae81f86e524734fc114c',1,'lspserver::fromJSON(const llvm::json::Value &, DidChangeWatchedFilesParams &, llvm::json::Path)'],['../namespacelspserver.html#a37390fc2fb1cbf8055642333351a1920',1,'lspserver::fromJSON(const llvm::json::Value &, DidChangeConfigurationParams &, llvm::json::Path)'],['../namespacelspserver.html#a8affe97d4537c173c3cf10e0848680b0',1,'lspserver::fromJSON(const llvm::json::Value &, DocumentRangeFormattingParams &, llvm::json::Path)'],['../namespacelspserver.html#a6868eae48e05b27f436a92fec057f3e5',1,'lspserver::fromJSON(const llvm::json::Value &, DocumentOnTypeFormattingParams &, llvm::json::Path)'],['../namespacelspserver.html#abd104f9100d1776a3bfe5dd072f41364',1,'lspserver::fromJSON(const llvm::json::Value &, DocumentFormattingParams &, llvm::json::Path)'],['../namespacelspserver.html#a7253a4ea5e1ee8ab02d24e8203783fe3',1,'lspserver::fromJSON(const llvm::json::Value &, DocumentSymbolParams &, llvm::json::Path)'],['../namespacelspserver.html#aa12b544964b076906914b9368cecfd88',1,'lspserver::fromJSON(const llvm::json::Value &, Diagnostic &, llvm::json::Path)'],['../namespacelspserver.html#a837c1a4c3e2aea8ce232c4ccd4e1e28d',1,'lspserver::fromJSON(const llvm::json::Value &, CodeActionContext &, llvm::json::Path)'],['../namespacelspserver.html#aa02a74d34bd0e046d35009af6918460c',1,'lspserver::fromJSON(const llvm::json::Value &, CodeActionParams &, llvm::json::Path)'],['../namespacelspserver.html#a62c0575c140b285f34227325056c9f37',1,'lspserver::fromJSON(const llvm::json::Value &, WorkspaceEdit &, llvm::json::Path)'],['../namespacelspserver.html#a7b8fa9f2528d90c7735590facf80aa43',1,'lspserver::fromJSON(const llvm::json::Value &, TweakArgs &, llvm::json::Path)'],['../namespacelspserver.html#aaa292d6a5e424c48bc9d9d098cd20051',1,'lspserver::fromJSON(const llvm::json::Value &, ExecuteCommandParams &, llvm::json::Path)'],['../namespacelspserver.html#a9032b11173989a509ca134e33b5709d9',1,'lspserver::fromJSON(const llvm::json::Value &, WorkspaceSymbolParams &, llvm::json::Path)'],['../namespacelspserver.html#a54369ee35d1e834fab44031c2ebec64e',1,'lspserver::fromJSON(const llvm::json::Value &, ApplyWorkspaceEditResponse &, llvm::json::Path)'],['../namespacelspserver.html#ac0eb106dba5abc8f0fde139f38945d90',1,'lspserver::fromJSON(const llvm::json::Value &, TextDocumentPositionParams &, llvm::json::Path)'],['../namespacelspserver.html#afc6bbd27c09bdb469d28e7fbf0daa087',1,'lspserver::fromJSON(const llvm::json::Value &, CompletionContext &, llvm::json::Path)'],['../namespacelspserver.html#abcd0aebac9d4f5476d4e96899ad3e2a6',1,'lspserver::fromJSON(const llvm::json::Value &, CompletionParams &, llvm::json::Path)'],['../namespacelspserver.html#ac3bce0a075486b80c08cb22413d9e44b',1,'lspserver::fromJSON(const llvm::json::Value &, RenameParams &, llvm::json::Path)'],['../namespacelspserver.html#af6b280672cd5b8e9c06173a7e25a64ef',1,'lspserver::fromJSON(const llvm::json::Value &E, TypeHierarchyDirection &Out, llvm::json::Path)'],['../namespacelspserver.html#ad48b56046456581c50049ebc301e6da2',1,'lspserver::fromJSON(const llvm::json::Value &, TypeHierarchyPrepareParams &, llvm::json::Path)'],['../namespacelspserver.html#a85107b5e57f9b925669a027190fb6ccc',1,'lspserver::fromJSON(const TypeHierarchyItem::ResolveParams &)'],['../namespacelspserver.html#af6a2f5985bf2aa043faa8db32ea7022e',1,'lspserver::fromJSON(const llvm::json::Value &, TypeHierarchyItem &, llvm::json::Path)'],['../namespacelspserver.html#a967e3d2e163e04bf220f4de90ca39a5b',1,'lspserver::fromJSON(const llvm::json::Value &, ResolveTypeHierarchyItemParams &, llvm::json::Path)'],['../namespacelspserver.html#afc856c4e08754ad17b0db303b02ef648',1,'lspserver::fromJSON(const llvm::json::Value &, CallHierarchyItem &, llvm::json::Path)'],['../namespacelspserver.html#a3f755a0549cbfa93de7dce9f3166a87d',1,'lspserver::fromJSON(const llvm::json::Value &, CallHierarchyIncomingCallsParams &, llvm::json::Path)'],['../namespacelspserver.html#af9c964df9e226bb62a3d2a8bb8e49a76',1,'lspserver::fromJSON(const llvm::json::Value &, CallHierarchyOutgoingCallsParams &, llvm::json::Path)'],['../namespacelspserver.html#a777032061a1b9d6ed47879ced6e2ef4f',1,'lspserver::fromJSON(const llvm::json::Value &, InlayHintsParams &, llvm::json::Path)'],['../namespacelspserver.html#a37327dd47c864fbfb707c3844e054a30',1,'lspserver::fromJSON(const llvm::json::Value &, ReferenceParams &, llvm::json::Path)'],['../namespacelspserver.html#a633bf4f1d8592c7ed8d5000ff6f224bb',1,'lspserver::fromJSON(const llvm::json::Value &, SemanticTokensParams &, llvm::json::Path)'],['../namespacelspserver.html#a7ec7316fba7383e95ebe2cfc43426971',1,'lspserver::fromJSON(const llvm::json::Value &Params, SemanticTokensDeltaParams &R, llvm::json::Path)'],['../namespacelspserver.html#a3fbd8504dd0126c5852d8fc119deeec6',1,'lspserver::fromJSON(const llvm::json::Value &, SelectionRangeParams &, llvm::json::Path)'],['../namespacelspserver.html#ad00055d046160a6bd9a259cd65136246',1,'lspserver::fromJSON(const llvm::json::Value &, DocumentLinkParams &, llvm::json::Path)'],['../namespacelspserver.html#a61eb86e4b804eb3887db00746036cf9a',1,'lspserver::fromJSON(const llvm::json::Value &, FoldingRangeParams &, llvm::json::Path)'],['../namespacelspserver.html#a1297472893fc4cd85abe5e816e4f734c',1,'lspserver::fromJSON(const llvm::json::Value &, ASTParams &, llvm::json::Path)'],['../namespacelspserver.html#ae6ec3c26620f68aacdd0b4b9ce294aa5',1,'lspserver::fromJSON(const llvm::json::Value &Params, TypeHierarchyItem::ResolveParams &RP, llvm::json::Path P)'],['../namespacelspserver.html#a0ec0e1ac85519aca0249bcfe3f4f01bd',1,'lspserver::fromJSON(const llvm::json::Value &Params, ReferenceContext &R, llvm::json::Path P)'],['../namespacenixd_1_1rpc.html#a6ec9419a8c35071b5a8b996c25791dc1',1,'nixd::rpc::fromJSON(const llvm::json::Value &Params, RegisterBCParams &R, llvm::json::Path P)'],['../namespacenixd_1_1rpc.html#a8835d346b947edf11c8e3aea90c6e52f',1,'nixd::rpc::fromJSON(const llvm::json::Value &Params, ExprValueParams &R, llvm::json::Path P)'],['../namespacenixd_1_1rpc.html#a47f3e63aca9996905d999d9d27d2d919',1,'nixd::rpc::fromJSON(const llvm::json::Value &Params, ExprValueResponse &R, llvm::json::Path P)'],['../namespacenixd_1_1rpc.html#a5525b8f51e1c44cdd903c096935cf9b0',1,'nixd::rpc::fromJSON(const Value &Params, RegisterBCParams &R, Path P)'],['../namespacenixd_1_1rpc.html#a7cd3f9be52a205e2a671a5933ca37983',1,'nixd::rpc::fromJSON(const Value &Params, ExprValueParams &R, Path P)'],['../namespacenixd_1_1rpc.html#a084a94e7139a74ee93b3d098c43aa14f',1,'nixd::rpc::fromJSON(const Value &Params, ExprValueResponse &R, Path P)']]], + ['fromranges_47',['fromRanges',['../structlspserver_1_1CallHierarchyIncomingCall.html#a3bf53545c722718468c4bd6a5cad7168',1,'lspserver::CallHierarchyIncomingCall::fromRanges'],['../structlspserver_1_1CallHierarchyOutgoingCall.html#ae80af7807ec43827da6a95ea7a5c707a',1,'lspserver::CallHierarchyOutgoingCall::fromRanges']]], + ['fromuri_48',['fromURI',['../structlspserver_1_1URIForFile.html#ae0d57afc543eca5ccf3479333d12c404',1,'lspserver::URIForFile']]], + ['full_49',['Full',['../namespacelspserver.html#a96d435eb7c5ff25b80532d96bbedef3eabbd47109890259c0127154db1af26c75',1,'lspserver']]], + ['function_50',['Function',['../namespacelspserver.html#aaa34ea3819069fbee52018467e9586e0a86408593c34af77fdd90df932f8b5261',1,'lspserver::Function'],['../namespacelspserver.html#a2c2f610d4b7f64335e8d68b47e18ea6fa86408593c34af77fdd90df932f8b5261',1,'lspserver::Function']]], + ['function_2eh_51',['Function.h',['../Function_8h.html',1,'']]] +]; diff --git a/search/all_6.js b/search/all_6.js new file mode 100644 index 000000000..034089990 --- /dev/null +++ b/search/all_6.js @@ -0,0 +1,14 @@ +var searchData= +[ + ['get_0',['get',['../classnixd_1_1util_1_1AutoCloseFD.html#a98d2d4f9c35c73cd55707113ff67c6b0',1,'nixd::util::AutoCloseFD::get()'],['../classnixd_1_1util_1_1AutoRemoveShm.html#a1fb1fc7eecc419e3d2d3c5b2fe9e37cb',1,'nixd::util::AutoRemoveShm::get()']]], + ['get_20started_1',['Get Started',['../md_README.html#autotoc_md45',1,'']]], + ['getabsolutepath_2',['getAbsolutePath',['../classlspserver_1_1URIScheme.html#a810c252a7793f73c7831a8d11ff6bfd6',1,'lspserver::URIScheme']]], + ['getactivefiles_3',['getActiveFiles',['../classlspserver_1_1DraftStore.html#a6754dd30b75c1972fd4e460aebad76cb',1,'lspserver::DraftStore']]], + ['getderived_4',['getDerived',['../structnixt_1_1RecursiveASTVisitor.html#ae836d176fbd00e3e9b409d2b926cc63c',1,'nixt::RecursiveASTVisitor']]], + ['getdeserializecontext_5',['getDeserializeContext',['../namespacenixt.html#a8a2e7f8d733597ab4be7010d14bac9e4',1,'nixt']]], + ['getdraft_6',['getDraft',['../classlspserver_1_1DraftStore.html#a6a7a5c47213af923989e6473efb021c2',1,'lspserver::DraftStore']]], + ['getfileparsecache_7',['getFileParseCache',['../namespacenixt.html#a2477f5778bb79d7e1d041cd52b9951df',1,'nixt']]], + ['getincludespelling_8',['getIncludeSpelling',['../classlspserver_1_1URIScheme.html#ab5be826dad7367a46a9a44c170267f94',1,'lspserver::URIScheme']]], + ['getlspseverity_9',['getLSPSeverity',['../namespacenixd.html#a19133b596a33f6f08ca6d857194ac8c4',1,'nixd']]], + ['guide_10',['Guide',['../md_nixd_2docs_2editor-setup.html#autotoc_md15',1,'Editor Setup Guide'],['../md_nixd_2docs_2user-guide.html',1,'User Guide']]] +]; diff --git a/search/all_7.js b/search/all_7.js new file mode 100644 index 000000000..9081bd290 --- /dev/null +++ b/search/all_7.js @@ -0,0 +1,19 @@ +var searchData= +[ + ['hackcache_2eh_0',['HackCache.h',['../HackCache_8h.html',1,'']]], + ['handle_1',['Handle',['../structnixbc_1_1NodeHeader.html#ab43e0e5e3208e341a372cdebc945def3',1,'nixbc::NodeHeader']]], + ['handlermap_2',['HandlerMap',['../structlspserver_1_1HandlerRegistry.html#a260e9df7c4da0c6a22c53008442035f4',1,'lspserver::HandlerRegistry']]], + ['handlerregistry_3',['HandlerRegistry',['../structlspserver_1_1HandlerRegistry.html',1,'lspserver']]], + ['hasexpr_4',['hasExpr',['../classnixf_1_1Inherit.html#a8ca85be69eb7816dce6f535b7b419c4f',1,'nixf::Inherit']]], + ['hassignaturehelp_5',['HasSignatureHelp',['../structlspserver_1_1ClientCapabilities.html#a9ca47e898beb1c56b06c67c96fd5123a',1,'lspserver::ClientCapabilities']]], + ['hierarchicaldocumentsymbol_6',['HierarchicalDocumentSymbol',['../structlspserver_1_1ClientCapabilities.html#a97a1aefd747510606ac5b43038b6ff73',1,'lspserver::ClientCapabilities']]], + ['hookexpr_2ecpp_7',['HookExpr.cpp',['../HookExpr_8cpp.html',1,'']]], + ['hookexpr_2eh_8',['HookExpr.h',['../HookExpr_8h.html',1,'']]], + ['hover_9',['Hover',['../structlspserver_1_1Hover.html',1,'lspserver']]], + ['hover_2ecpp_10',['Hover.cpp',['../Hover_8cpp.html',1,'']]], + ['hovercontentformat_11',['HoverContentFormat',['../structlspserver_1_1ClientCapabilities.html#af75256e464cbc48e35bf300a990f2339',1,'lspserver::ClientCapabilities']]], + ['how_20does_20cross_20file_20analysis_20work_12',['How does cross-file analysis work?',['../md_nixd_2docs_2dev.html#autotoc_md10',1,'']]], + ['how_20does_20language_20information_20being_20collected_13',['How does language information being collected?',['../md_nixd_2docs_2dev.html#autotoc_md8',1,'']]], + ['how_20to_20use_20nixd_20in_20my_20em_20flake_20em_14',['How to use nixd in my <em>flake</em>?',['../md_nixd_2docs_2user-guide.html#autotoc_md40',1,'']]], + ['href_15',['href',['../structlspserver_1_1CodeDescription.html#a950cfe72f2650727ab9040454cffbe26',1,'lspserver::CodeDescription']]] +]; diff --git a/search/all_8.js b/search/all_8.js new file mode 100644 index 000000000..b63fe84e5 --- /dev/null +++ b/search/all_8.js @@ -0,0 +1,64 @@ +var searchData= +[ + ['id_0',['id',['../classnixf_1_1AttrName.html#a37eea7dfc9412f77f58150a2b1d307af',1,'nixf::AttrName::id() const'],['../classnixf_1_1AttrName.html#a1332acacbcb232c335e12e688b9522c6',1,'nixf::AttrName::id()'],['../classnixf_1_1Formal.html#aab8695fb13ff49a84040916aeedaacde',1,'nixf::Formal::id()'],['../classnixf_1_1LambdaArg.html#a0450b03f0836a74285553ceeb2a74693',1,'nixf::LambdaArg::id()'],['../classnixf_1_1ExprVar.html#a2f1e22696283f87b7a15387fe8672f23',1,'nixf::ExprVar::id()']]], + ['id_1',['ID',['../classlspserver_1_1LSPError.html#af96f9140d7b80774964ade9f71fc51ef',1,'lspserver::LSPError']]], + ['identifier_2',['Identifier',['../classnixf_1_1Identifier.html',1,'nixf::Identifier'],['../classnixf_1_1Identifier.html#aa4b6888bb5acf1d22a88720e0764668c',1,'nixf::Identifier::Identifier()']]], + ['implicitprogresscreation_3',['ImplicitProgressCreation',['../structlspserver_1_1ClientCapabilities.html#ae99d6881f86577aaec54f868833e0805',1,'lspserver::ClientCapabilities']]], + ['import_5fkind_4',['IMPORT_KIND',['../structlspserver_1_1FoldingRange.html#a3040c1531b4f5133af99920cdc6d23f6',1,'lspserver::FoldingRange']]], + ['in_5',['In',['../classlspserver_1_1InboundPort.html#afb28d5b31d3b8f6fe1a9ab3f17e9768f',1,'lspserver::InboundPort']]], + ['in_6',['in',['../classnixf_1_1ExprLet.html#a00c00f7add4f1ed0c9ba28f2d89c8872',1,'nixf::ExprLet']]], + ['in_20my_20em_20flake_20em_7',['How to use nixd in my <em>flake</em>?',['../md_nixd_2docs_2user-guide.html#autotoc_md40',1,'']]], + ['inactiveregions_8',['InactiveRegions',['../structlspserver_1_1ClientCapabilities.html#af2686e5c4895a0a854d91e3dba375180',1,'lspserver::ClientCapabilities::InactiveRegions'],['../structlspserver_1_1InactiveRegionsParams.html#aa9c2423142598c35bfd465eed891f467',1,'lspserver::InactiveRegionsParams::InactiveRegions']]], + ['inactiveregionsparams_9',['InactiveRegionsParams',['../structlspserver_1_1InactiveRegionsParams.html',1,'lspserver']]], + ['inboundport_10',['InboundPort',['../classlspserver_1_1InboundPort.html',1,'lspserver::InboundPort'],['../classlspserver_1_1InboundPort.html#a419e5af57e0cca6ccfe6978b35675bbe',1,'lspserver::InboundPort::InboundPort()']]], + ['include_2fnixf_2fparse_2fparser_2eh_11',['Parser.h',['../include_2nixf_2Parse_2Parser_8h.html',1,'']]], + ['includedeclaration_12',['includeDeclaration',['../structlspserver_1_1ReferenceContext.html#abdbba19760558847f47948f67dec14f1',1,'lspserver::ReferenceContext']]], + ['includespelling_13',['includeSpelling',['../classlspserver_1_1URI.html#aca4cec72a895ac2b26e28f814d2f1624',1,'lspserver::URI']]], + ['incremental_14',['Incremental',['../namespacelspserver.html#a96d435eb7c5ff25b80532d96bbedef3ea482be0da5798aaaecbf7416714e6607f',1,'lspserver']]], + ['indicator_15',['indicator',['../classlspserver_1_1Logger.html#ac118beec87dfcd4a03ed63148a64d8c1',1,'lspserver::Logger']]], + ['info_16',['Info',['../classlspserver_1_1Logger.html#a96543597ca6f5377381ee5a4dba571faa1b5b28822814a65fcd846e8d0c48a81e',1,'lspserver::Logger::Info'],['../namespacelspserver.html#a200604f8ba85e73cda84aa47933d8fcba4059b0251f66a18cb56f544728796875',1,'lspserver::Info'],['../namespacenixd_1_1rpc.html#adb82fac4db5997115883b375252dd765a4059b0251f66a18cb56f544728796875',1,'nixd::rpc::Info']]], + ['info_5fkind_17',['INFO_KIND',['../structlspserver_1_1CodeAction.html#a35f3a22bb33d882f294f79bfad896573',1,'lspserver::CodeAction']]], + ['information_20being_20collected_18',['How does language information being collected?',['../md_nixd_2docs_2dev.html#autotoc_md8',1,'']]], + ['inherit_19',['Inherit',['../classnixf_1_1Inherit.html',1,'nixf::Inherit'],['../classnixf_1_1Inherit.html#aa02b90d3a483e460c71b0bad76a02391',1,'nixf::Inherit::Inherit()']]], + ['initeval_20',['initEval',['../namespacenixt.html#abfdf7b34660dfb0339b1a8d432258d64',1,'nixt']]], + ['initeval_2eh_21',['InitEval.h',['../InitEval_8h.html',1,'']]], + ['initializationoptions_22',['InitializationOptions',['../structlspserver_1_1InitializationOptions.html',1,'lspserver']]], + ['initializationoptions_23',['initializationOptions',['../structlspserver_1_1InitializeParams.html#a5e88a877f71891675820b640ff12bc7f',1,'lspserver::InitializeParams']]], + ['initializedparams_24',['InitializedParams',['../namespacelspserver.html#a0f06aec4d410e011a3c2d6501ddfef94',1,'lspserver']]], + ['initializeparams_25',['InitializeParams',['../structlspserver_1_1InitializeParams.html',1,'lspserver']]], + ['inlayhint_26',['InlayHint',['../structlspserver_1_1InlayHint.html',1,'lspserver']]], + ['inlayhintkind_27',['InlayHintKind',['../namespacelspserver.html#ad0e04d3cce4fb889bbf88064199247f8',1,'lspserver']]], + ['inlayhintsparams_28',['InlayHintsParams',['../structlspserver_1_1InlayHintsParams.html',1,'lspserver']]], + ['insertattr_29',['insertAttr',['../classnixf_1_1Sema.html#a8933229f3c2b172d106ea94790742b5a',1,'nixf::Sema']]], + ['inserttext_30',['insertText',['../structlspserver_1_1CompletionItem.html#a8bf42e95f9c1da002854af23eebeac3f',1,'lspserver::CompletionItem']]], + ['inserttextformat_31',['insertTextFormat',['../structlspserver_1_1CompletionItem.html#a82d58166654813e1fabdbbd58e76802f',1,'lspserver::CompletionItem']]], + ['inserttextformat_32',['InsertTextFormat',['../namespacelspserver.html#ac7ba537910cf2ac19f50ecf4bf062c00',1,'lspserver']]], + ['installation_33',['Installation',['../md_nixd_2docs_2user-guide.html#autotoc_md28',1,'']]], + ['instead_20of_20parsing_20file_20by_20itself_34',['Why does nix evaluator see your data structure, instead of parsing file by itself?',['../md_nixd_2docs_2dev.html#autotoc_md9',1,'']]], + ['int_35',['Int',['../structnixd_1_1rpc_1_1ExprValueResponse.html#a788097e9ca88ca57b0059f5805570f21a66a0fcd7eb462355b3befc43311a7352',1,'nixd::rpc::ExprValueResponse']]], + ['interface_36',['Interface',['../namespacelspserver.html#aaa34ea3819069fbee52018467e9586e0a3c1aac82863ed9e5a9aca8ce687f711d',1,'lspserver::Interface'],['../namespacelspserver.html#a2c2f610d4b7f64335e8d68b47e18ea6fa3c1aac82863ed9e5a9aca8ce687f711d',1,'lspserver::Interface']]], + ['internalerror_37',['InternalError',['../namespacelspserver.html#a748780c668b7e2d2e3700f6e7075b078a8462b58246e70e5c83e5b939a9332cb5',1,'lspserver']]], + ['interpolablepart_38',['InterpolablePart',['../classnixf_1_1InterpolablePart.html',1,'nixf::InterpolablePart'],['../classnixf_1_1InterpolablePart.html#a29e1b59d28906887cdcd93fb6b16007b',1,'nixf::InterpolablePart::InterpolablePart(std::string Escaped)'],['../classnixf_1_1InterpolablePart.html#a92efe8156388f5e7c8868478257ed504',1,'nixf::InterpolablePart::InterpolablePart(std::shared_ptr< Interpolation > Interp)']]], + ['interpolablepartkind_39',['InterpolablePartKind',['../classnixf_1_1InterpolablePart.html#a7454ab26e6f93fe207838d0388a70a12',1,'nixf::InterpolablePart']]], + ['interpolatedparts_40',['InterpolatedParts',['../classnixf_1_1InterpolatedParts.html',1,'nixf::InterpolatedParts'],['../classnixf_1_1InterpolatedParts.html#ad192bdf50ff8fe023cd057c2a0c8eeea',1,'nixf::InterpolatedParts::InterpolatedParts()']]], + ['interpolation_41',['Interpolation',['../classnixf_1_1Interpolation.html',1,'nixf::Interpolation'],['../classnixf_1_1Interpolation.html#a55aceae8cdb93625335d3d7cde838db1',1,'nixf::Interpolation::Interpolation()']]], + ['interpolation_42',['interpolation',['../classnixf_1_1AttrName.html#ac2732ba9cdfb0b82133f240aadd06af3',1,'nixf::AttrName::interpolation()'],['../classnixf_1_1InterpolablePart.html#ac67030946a216a5de81f566dccb6a857',1,'nixf::InterpolablePart::interpolation()']]], + ['invalidparams_43',['InvalidParams',['../namespacelspserver.html#a748780c668b7e2d2e3700f6e7075b078ad4c4700b7580ce00c94ddf7b363de696',1,'lspserver']]], + ['invalidrequest_44',['InvalidRequest',['../namespacelspserver.html#a748780c668b7e2d2e3700f6e7075b078ad544eb3da2f68d24cf92a8519ed53a31',1,'lspserver']]], + ['invoked_45',['Invoked',['../namespacelspserver.html#a509e18127b3bb638d67ba0aaf019afbea78ebb05ef299168efe905bfffed49fc1',1,'lspserver']]], + ['isat_46',['isAt',['../classnixf_1_1LexerCursor.html#a7f6e007a3d39a02b99f6930e9d02bce4',1,'nixf::LexerCursor']]], + ['isellipsis_47',['isEllipsis',['../classnixf_1_1Formal.html#a8343c279f0396f74167e646bfda90b0f',1,'nixf::Formal']]], + ['isexpr_48',['isExpr',['../classnixf_1_1Expr.html#a6f85bfc7d96a73d8d8d3714df0758d74',1,'nixf::Expr']]], + ['isincomplete_49',['isIncomplete',['../structlspserver_1_1CompletionList.html#a2319e93956c0454fc9b2e06e7605636d',1,'lspserver::CompletionList']]], + ['isinsertion_50',['isInsertion',['../classnixf_1_1TextEdit.html#a422a39a4961490c3451e5f3fc18fbb25',1,'nixf::TextEdit']]], + ['isliteral_51',['isLiteral',['../classnixf_1_1InterpolatedParts.html#a7e1d40e5c9a19eaa027ac861a56ce8d3',1,'nixf::InterpolatedParts::isLiteral()'],['../classnixf_1_1ExprString.html#a42d86124c5beb4bdd871b1df5c1d2def',1,'nixf::ExprString::isLiteral()']]], + ['ispreferred_52',['isPreferred',['../structlspserver_1_1CodeAction.html#abcad8bbfe56f70b1819de2a67f1f607f',1,'lspserver::CodeAction']]], + ['isrecursive_53',['isRecursive',['../classnixf_1_1SemaAttrs.html#ab7a4d35f7742538bc3cd2d5c3646d9fe',1,'nixf::SemaAttrs::isRecursive()'],['../classnixf_1_1ExprAttrs.html#a2c881c1d2eda371913c523fc9506b45a',1,'nixf::ExprAttrs::isRecursive()']]], + ['isreleased_54',['isReleased',['../classnixd_1_1util_1_1AutoCloseFD.html#afa07891874d05328b8884768257d1311',1,'nixd::util::AutoCloseFD::isReleased() const'],['../classnixd_1_1util_1_1AutoCloseFD.html#acce7733c899b3f1434012851f13010f1',1,'nixd::util::AutoCloseFD::isReleased(FDTy FD)']]], + ['isremoval_55',['isRemoval',['../classnixf_1_1TextEdit.html#acfe595455ec070184a8228d482cf0405',1,'nixf::TextEdit']]], + ['isreplace_56',['isReplace',['../classnixf_1_1TextEdit.html#ac1716784158c0b6d6d1d92c6a0def933',1,'nixf::TextEdit']]], + ['isstatic_57',['isStatic',['../classnixf_1_1AttrName.html#ab7eef836b1c3fafccf262271653d428e',1,'nixf::AttrName']]], + ['item_58',['item',['../structlspserver_1_1ResolveTypeHierarchyItemParams.html#a3f5b3449622a275a87a1cf8d81cbbe44',1,'lspserver::ResolveTypeHierarchyItemParams::item'],['../structlspserver_1_1CallHierarchyIncomingCallsParams.html#abc3688232581b4f4fc9475c4a36bfe92',1,'lspserver::CallHierarchyIncomingCallsParams::item'],['../structlspserver_1_1CallHierarchyOutgoingCallsParams.html#ad93a5017b9282be153c97d94ff0f751d',1,'lspserver::CallHierarchyOutgoingCallsParams::item']]], + ['items_59',['items',['../structlspserver_1_1CompletionList.html#a76cb0f838134404363ab569593645415',1,'lspserver::CompletionList::items'],['../structlspserver_1_1ConfigurationParams.html#ae3804192f58e4e8c49b3e2f30a451226',1,'lspserver::ConfigurationParams::items']]], + ['itself_60',['Why does nix evaluator see your data structure, instead of parsing file by itself?',['../md_nixd_2docs_2dev.html#autotoc_md9',1,'']]] +]; diff --git a/search/all_9.js b/search/all_9.js new file mode 100644 index 000000000..4c8213fcf --- /dev/null +++ b/search/all_9.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['json_0',['JSON',['../structlspserver_1_1HandlerRegistry.html#aae59055288de39d90b87956f75cf638b',1,'lspserver::HandlerRegistry']]], + ['jsonstreamstyle_1',['JSONStreamStyle',['../namespacelspserver.html#a452c423a64856fd113d0303affd5a1b8',1,'lspserver']]] +]; diff --git a/search/all_a.js b/search/all_a.js new file mode 100644 index 000000000..583d5ad6b --- /dev/null +++ b/search/all_a.js @@ -0,0 +1,13 @@ +var searchData= +[ + ['kcurrentoffsetencoding_0',['kCurrentOffsetEncoding',['../namespacelspserver.html#ae1b6a9026eb83daa2a63574e1005d83a',1,'lspserver']]], + ['key_1',['Key',['../classlspserver_1_1Key.html',1,'lspserver::Key< Type >'],['../classlspserver_1_1Key.html#a1128de7250ff5aff4cf85716b1ae1db4',1,'lspserver::Key::Key()=default'],['../classlspserver_1_1Key.html#a74024df00906949e35743df130f03c52',1,'lspserver::Key::Key(Key const &)=delete'],['../classlspserver_1_1Key.html#a4347488a94627de0c978e0db958a19ed',1,'lspserver::Key::Key(Key &&)=delete']]], + ['key_2',['key',['../classnixf_1_1Attribute.html#aa9ec98cff6e42880aad7e7bb56e19593',1,'nixf::Attribute::key()'],['../classnixf_1_1Attribute.html#ad1811131ee58bd7e7bca6641afd52ec8',1,'nixf::Attribute::key() const']]], + ['key_3',['Key',['../namespacelspserver.html#a2c2f610d4b7f64335e8d68b47e18ea6fa897356954c2cd3d41b221e3f24f99bba',1,'lspserver']]], + ['keyword_4',['Keyword',['../namespacelspserver.html#aaa34ea3819069fbee52018467e9586e0a220f3d3750583b9db48568a0b5b9a5f1',1,'lspserver']]], + ['kind_5',['Kind',['../structnixbc_1_1NodeHeader.html#a345af7d66e5de525bf662087f2137b47',1,'nixbc::NodeHeader']]], + ['kind_6',['kind',['../structlspserver_1_1CodeAction.html#a26603047f6e9d21a0ac165bb640f6475',1,'lspserver::CodeAction::kind'],['../structlspserver_1_1DocumentSymbol.html#a7be4667dd3a01c27ef03aa7d879ae31a',1,'lspserver::DocumentSymbol::kind'],['../structlspserver_1_1SymbolInformation.html#a0c63e727aa001538e3223a0a9bc51d46',1,'lspserver::SymbolInformation::kind'],['../structlspserver_1_1MarkupContent.html#a393d771d4f385adc861d1334349763e4',1,'lspserver::MarkupContent::kind'],['../structlspserver_1_1CompletionItem.html#ac68ddcb165fd5494cfa399e4f263b4c1',1,'lspserver::CompletionItem::kind'],['../structlspserver_1_1DocumentHighlight.html#a685fc74c25ed8ce534b9a61bcbd08474',1,'lspserver::DocumentHighlight::kind'],['../structlspserver_1_1TypeHierarchyItem.html#a63d5dc917cc696de17eeaf5a7a118477',1,'lspserver::TypeHierarchyItem::kind'],['../structlspserver_1_1CallHierarchyItem.html#a8391613af26a815b0d2a3252ad0d83c3',1,'lspserver::CallHierarchyItem::kind'],['../structlspserver_1_1InlayHint.html#a3b7488c6dc540e9b717e06916d7c3278',1,'lspserver::InlayHint::kind'],['../structlspserver_1_1FoldingRange.html#a6466d20ac4f4c316706f84f44011a77f',1,'lspserver::FoldingRange::kind'],['../structlspserver_1_1ASTNode.html#affd8896647d23a27d7309fa3d58cfd10',1,'lspserver::ASTNode::kind'],['../classnixbc_1_1Origin.html#a78a5dde3233f3c24c7cd020272b77cc5',1,'nixbc::Origin::kind()'],['../classnixf_1_1Note.html#a67c9e66efdc40efa3d1ec95fc2a5e81c',1,'nixf::Note::kind()'],['../classnixf_1_1Diagnostic.html#a82b4e924a249fcd27a642ef2cb113236',1,'nixf::Diagnostic::kind()'],['../classnixf_1_1AttrName.html#a7e9d45fecc667902a9a967c3b0805ff0',1,'nixf::AttrName::kind()'],['../classnixf_1_1Node.html#a70bc1e77075106ab48230fdf1c16131e',1,'nixf::Node::kind()'],['../classnixf_1_1InterpolablePart.html#a40069ab5439fba5746b11aaa135c64e3',1,'nixf::InterpolablePart::kind()'],['../classnixf_1_1Token.html#a2cc4fcd85973b767d39d1f17e7f5b84d',1,'nixf::Token::kind()']]], + ['kindof_7',['kindOf',['../namespacenixt.html#a14f947c6785ceea1112a3e2f729d6e99',1,'nixt']]], + ['kinds_2ecpp_8',['Kinds.cpp',['../Kinds_8cpp.html',1,'']]], + ['kinds_2eh_9',['Kinds.h',['../Kinds_8h.html',1,'']]] +]; diff --git a/search/all_b.js b/search/all_b.js new file mode 100644 index 000000000..3726b99ae --- /dev/null +++ b/search/all_b.js @@ -0,0 +1,75 @@ +var searchData= +[ + ['label_0',['label',['../structlspserver_1_1ChangeAnnotation.html#add58420132de005edcce9c73314849d2',1,'lspserver::ChangeAnnotation::label'],['../structlspserver_1_1CompletionItem.html#a0d90c112a5af2f7a0dfeb7159d2c9e63',1,'lspserver::CompletionItem::label'],['../structlspserver_1_1SignatureInformation.html#af357a9326b29a2210eb2e1ed3dceea77',1,'lspserver::SignatureInformation::label'],['../structlspserver_1_1InlayHint.html#a985b7be874ca02fa7c0b07bedb63cafd',1,'lspserver::InlayHint::label']]], + ['labeloffsets_1',['labelOffsets',['../structlspserver_1_1ParameterInformation.html#a46a2e3a692bdede2e2600db5442153bc',1,'lspserver::ParameterInformation']]], + ['labelstring_2',['labelString',['../structlspserver_1_1ParameterInformation.html#a0692ce1f9dd04a5597c10af9f0c5974a',1,'lspserver::ParameterInformation']]], + ['lambda_2eh_3',['Lambda.h',['../Lambda_8h.html',1,'']]], + ['lambdaarg_4',['LambdaArg',['../classnixf_1_1LambdaArg.html',1,'nixf::LambdaArg'],['../classnixf_1_1LambdaArg.html#a5daa70fdfe636545f6e08de072622fbb',1,'nixf::LambdaArg::LambdaArg()']]], + ['language_20information_20being_20collected_5',['How does language information being collected?',['../md_nixd_2docs_2dev.html#autotoc_md8',1,'']]], + ['language_20nixd_20workers_6',['Memory model about nix language & nixd workers',['../md_nixd_2docs_2dev.html#autotoc_md7',1,'']]], + ['languageid_7',['languageId',['../structlspserver_1_1TextDocumentItem.html#a7c4fbb979f975664b26c677f6f5c47ed',1,'lspserver::TextDocumentItem']]], + ['lastexprkind_8',['LastExprKind',['../namespacenixt_1_1ek.html#a92936c4da989def360778fc59ea9dc8bab81cdfe0226cefa918385e7000ffd49f',1,'nixt::ek']]], + ['lcur_9',['lCur',['../classnixf_1_1Node.html#a25b0a58045d86dc758c21bc933f02456',1,'nixf::Node::lCur()'],['../classnixf_1_1LexerCursorRange.html#a6d409425a5fefdcb0282602534ee8c70',1,'nixf::LexerCursorRange::lCur()'],['../classnixf_1_1Token.html#a0efa72d27b3ba322cb51d54052f199ce',1,'nixf::Token::lCur()']]], + ['length_10',['length',['../structlspserver_1_1SemanticToken.html#a081ca08285c9a311da5dbf0364fd89ff',1,'lspserver::SemanticToken']]], + ['lengthof_11',['lengthof',['../namespacenixt.html#ac6b4f9213d65373445ab2fff33c850b9',1,'nixt']]], + ['let_12',['let',['../classnixf_1_1ExprLet.html#a80858dce8da7d509ceae5b17bc79e522',1,'nixf::ExprLet']]], + ['level_13',['Level',['../classlspserver_1_1Logger.html#a96543597ca6f5377381ee5a4dba571fa',1,'lspserver::Logger']]], + ['lex_14',['lex',['../classnixf_1_1Lexer.html#a4f4fc8d7768663267c1e39b5f2ff473d',1,'nixf::Lexer']]], + ['lexer_15',['Lexer',['../classnixf_1_1Lexer.html',1,'nixf::Lexer'],['../classnixf_1_1LexerCursor.html#a2e54c4809acbcd06c4bd4f186ad91584',1,'nixf::LexerCursor::Lexer'],['../classnixf_1_1Lexer.html#a3f1f523e443a3b243d2c1758e7828d91',1,'nixf::Lexer::Lexer()']]], + ['lexer_2ecpp_16',['Lexer.cpp',['../Lexer_8cpp.html',1,'']]], + ['lexer_2eh_17',['Lexer.h',['../Lexer_8h.html',1,'']]], + ['lexercursor_18',['LexerCursor',['../classnixf_1_1LexerCursor.html',1,'nixf::LexerCursor'],['../classnixf_1_1LexerCursor.html#af101842967183f023921408dd434e768',1,'nixf::LexerCursor::LexerCursor()=default'],['../classnixf_1_1LexerCursor.html#aea1928ea78580e14214c1471f2e4812d',1,'nixf::LexerCursor::LexerCursor(const LexerCursor &)=default'],['../classnixf_1_1LexerCursor.html#a637eea5fb280770e8c0f821d649e4f67',1,'nixf::LexerCursor::LexerCursor(LexerCursor &&)=default']]], + ['lexercursorrange_19',['LexerCursorRange',['../classnixf_1_1LexerCursorRange.html',1,'nixf::LexerCursorRange'],['../classnixf_1_1LexerCursorRange.html#a064373ae78ac5771b1c01c80433d7434',1,'nixf::LexerCursorRange::LexerCursorRange()=default'],['../classnixf_1_1LexerCursorRange.html#a4ed6bd6f67387ea4aae1d0112464bd1f',1,'nixf::LexerCursorRange::LexerCursorRange(LexerCursor LCur, LexerCursor RCur)'],['../classnixf_1_1LexerCursorRange.html#a4004f4c78722d5964c5ac962e20e4b88',1,'nixf::LexerCursorRange::LexerCursorRange(LexerCursor Pos)']]], + ['lexindstring_20',['lexIndString',['../classnixf_1_1Lexer.html#ab8e3b964411abeaa9f96f54be59903e7',1,'nixf::Lexer']]], + ['lexpath_21',['lexPath',['../classnixf_1_1Lexer.html#a522bd5e08f77a9186c67d4438385783e',1,'nixf::Lexer']]], + ['lexstring_22',['lexString',['../classnixf_1_1Lexer.html#a73fcd4898b57fb9acdb57e3c5ae728c1',1,'nixf::Lexer']]], + ['lhs_23',['lhs',['../classnixf_1_1ExprBinOp.html#ac9191de6305a5bfec16ad76962b7d7af',1,'nixf::ExprBinOp']]], + ['libbc_2finclude_2fbc_2fwrite_2eh_24',['Write.h',['../libbc_2include_2bc_2Write_8h.html',1,'']]], + ['libbc_2fsrc_2fwrite_2ecpp_25',['Write.cpp',['../libbc_2src_2Write_8cpp.html',1,'']]], + ['libnixbc_26',['libnixbc',['../md_libnixbc_2README.html',1,'']]], + ['libnixbc_2finclude_2fnixbc_2fnodes_2eh_27',['Nodes.h',['../libnixbc_2include_2nixbc_2Nodes_8h.html',1,'']]], + ['libnixbc_2freadme_2emd_28',['README.md',['../libnixbc_2README_8md.html',1,'']]], + ['libnixf_2finclude_2fnixf_2fbasic_2fnodes_2eh_29',['Nodes.h',['../libnixf_2include_2nixf_2Basic_2Nodes_8h.html',1,'']]], + ['libnixf_2finclude_2fnixf_2fbytecode_2fwrite_2eh_30',['Write.h',['../libnixf_2include_2nixf_2Bytecode_2Write_8h.html',1,'']]], + ['libnixf_2fsrc_2fbytecode_2fwrite_2ecpp_31',['Write.cpp',['../libnixf_2src_2Bytecode_2Write_8cpp.html',1,'']]], + ['libnixf_2fsrc_2fbytecode_2fwrite_2eh_32',['Write.h',['../libnixf_2src_2Bytecode_2Write_8h.html',1,'']]], + ['libnixt_20playing_20with_20tt_20nix_3a_3aexpr_20tt_20expressions_33',['libnixt, Playing with <tt>nix::Expr</tt> expressions.',['../md_libnixt_2README.html',1,'']]], + ['libnixt_2freadme_2emd_34',['README.md',['../libnixt_2README_8md.html',1,'']]], + ['lifetime_2ecpp_35',['LifeTime.cpp',['../LifeTime_8cpp.html',1,'']]], + ['limit_36',['limit',['../structlspserver_1_1WorkspaceSymbolParams.html#aadd80a745c97d6ae35413c980c989d81',1,'lspserver::WorkspaceSymbolParams::limit'],['../structlspserver_1_1CompletionParams.html#acb666c154a571e7c8ede79d3cdbe6938',1,'lspserver::CompletionParams::limit']]], + ['line_37',['line',['../structlspserver_1_1Position.html#a35edaccca4ca122b0a99faf02da0b03c',1,'lspserver::Position::line'],['../classnixf_1_1Position.html#aa33d8d0993b776cf943cf0e63dff97d7',1,'nixf::Position::line()'],['../classnixf_1_1LexerCursor.html#ae3caa5e5aaed9a784ef34bfa021d9f60',1,'nixf::LexerCursor::line()']]], + ['linefoldingonly_38',['LineFoldingOnly',['../structlspserver_1_1ClientCapabilities.html#ac455e1a742f8c5aa88d781bce220216f',1,'lspserver::ClientCapabilities']]], + ['listener_39',['Listener',['../classlspserver_1_1Event.html#a2bd0fd7d19a15a37af841f1758aadac1',1,'lspserver::Event']]], + ['literal_40',['literal',['../classnixf_1_1InterpolatedParts.html#a6d6b71a8c7089c5b349646b4cce7ee3e',1,'nixf::InterpolatedParts::literal()'],['../classnixf_1_1ExprString.html#a89d896ae4e5c288cba3ad3a3a7116eae',1,'nixf::ExprString::literal()']]], + ['llvm_41',['llvm',['../namespacellvm.html',1,'']]], + ['location_42',['Location',['../structlspserver_1_1Location.html',1,'lspserver']]], + ['location_43',['location',['../structlspserver_1_1DiagnosticRelatedInformation.html#a2bbe3214ee91607562c9cdba02019596',1,'lspserver::DiagnosticRelatedInformation::location'],['../structlspserver_1_1SymbolInformation.html#af54cf457d97f284f2fc646971af096d9',1,'lspserver::SymbolInformation::location']]], + ['log_44',['log',['../classlspserver_1_1Logger.html#ac88d64e08af769eb4c15e7de281d06b4',1,'lspserver::Logger::log()'],['../classlspserver_1_1StreamLogger.html#a3d17ea78233af01acabccff562a3b885',1,'lspserver::StreamLogger::log()'],['../classlspserver_1_1LSPError.html#add23014bce7d7a956d1417bccb464235',1,'lspserver::LSPError::log()'],['../namespacelspserver_1_1detail.html#ab18e4b39063f9a81348d6b149f4abcba',1,'lspserver::detail::log()'],['../namespacelspserver.html#af88cb3e1cf91f1aa2aaa14c3b418ffe9',1,'lspserver::log(const char *Fmt, Ts &&...Vals)']]], + ['log_45',['Log',['../namespacelspserver.html#a200604f8ba85e73cda84aa47933d8fcbace0be71e33226e4c1db2bcea5959f16b',1,'lspserver']]], + ['logger_46',['Logger',['../classlspserver_1_1Logger.html',1,'lspserver']]], + ['logger_2ecpp_47',['Logger.cpp',['../Logger_8cpp.html',1,'']]], + ['logger_2eh_48',['Logger.h',['../Logger_8h.html',1,'']]], + ['loggingsession_49',['LoggingSession',['../classlspserver_1_1LoggingSession.html',1,'lspserver::LoggingSession'],['../classlspserver_1_1LoggingSession.html#a79cf73b21da45c292f6741b752f7b4d3',1,'lspserver::LoggingSession::LoggingSession(Logger &Instance)'],['../classlspserver_1_1LoggingSession.html#a1ab7e0b95f4dad6aad166576ae709ecd',1,'lspserver::LoggingSession::LoggingSession(LoggingSession &&)=delete'],['../classlspserver_1_1LoggingSession.html#a1b51406b6587dd03d239ecaec34f080e',1,'lspserver::LoggingSession::LoggingSession(LoggingSession const &)=delete']]], + ['logimpl_50',['logImpl',['../namespacelspserver_1_1detail.html#a8905d8683dee5d9b3492afb380e5d947',1,'lspserver::detail']]], + ['loglevel_51',['LogLevel',['../namespacenixd_1_1rpc.html#adb82fac4db5997115883b375252dd765',1,'nixd::rpc']]], + ['loop_52',['loop',['../classlspserver_1_1InboundPort.html#ac7e0915cb005ecd6fe77b609801aae6a',1,'lspserver::InboundPort']]], + ['lowerbinds_53',['lowerBinds',['../classnixf_1_1Sema.html#a5cb52f2d7a5742bd3ae8b873223a202c',1,'nixf::Sema']]], + ['lowerinherit_54',['lowerInherit',['../classnixf_1_1Sema.html#a194dcd5cf7aa2d89b47be498e085fec7',1,'nixf::Sema']]], + ['lowerinheritname_55',['lowerInheritName',['../classnixf_1_1Sema.html#aadbaa995cab207f7048b31801faee081',1,'nixf::Sema']]], + ['lparen_56',['lparen',['../classnixf_1_1ExprParen.html#af95065f247843154ae0e342e2c303032',1,'nixf::ExprParen']]], + ['lsp_20mode_57',['lsp-mode',['../md_nixd_2docs_2editor-setup.html#autotoc_md22',1,'']]], + ['lspbinder_2eh_58',['LSPBinder.h',['../LSPBinder_8h.html',1,'']]], + ['lspdiagnosticcompare_59',['LSPDiagnosticCompare',['../structlspserver_1_1LSPDiagnosticCompare.html',1,'lspserver']]], + ['lsperror_60',['LSPError',['../classlspserver_1_1LSPError.html',1,'lspserver::LSPError'],['../classlspserver_1_1LSPError.html#a6c652f24319d875f2324ccf4d2b44221',1,'lspserver::LSPError::LSPError()']]], + ['lsplength_61',['lspLength',['../namespacelspserver.html#a33cf5ae9ff1beb1ed5da6be44131c538',1,'lspserver']]], + ['lspserver_62',['LSPServer',['../classlspserver_1_1LSPServer.html',1,'lspserver']]], + ['lspserver_63',['lspserver',['../namespacelspserver.html',1,'']]], + ['lspserver_64',['LSPServer',['../classlspserver_1_1LSPServer.html#a53836f18f56886fc4726d1c691aa5967',1,'lspserver::LSPServer']]], + ['lspserver_65',['lspserver',['../md_lspserver_2README.html',1,'']]], + ['lspserver_2ecpp_66',['LSPServer.cpp',['../LSPServer_8cpp.html',1,'']]], + ['lspserver_2eh_67',['LSPServer.h',['../LSPServer_8h.html',1,'']]], + ['lspserver_2finclude_2flspserver_2fprotocol_2eh_68',['Protocol.h',['../lspserver_2include_2lspserver_2Protocol_8h.html',1,'']]], + ['lspserver_2freadme_2emd_69',['README.md',['../lspserver_2README_8md.html',1,'']]], + ['lspserver_2fsrc_2fprotocol_2ecpp_70',['Protocol.cpp',['../lspserver_2src_2Protocol_8cpp.html',1,'']]], + ['lspserver_3a_3adetail_71',['detail',['../namespacelspserver_1_1detail.html',1,'lspserver']]] +]; diff --git a/search/all_c.js b/search/all_c.js new file mode 100644 index 000000000..eff3e5400 --- /dev/null +++ b/search/all_c.js @@ -0,0 +1,33 @@ +var searchData= +[ + ['magic_0',['Magic',['../structnixbc_1_1FileHeader.html#adcd98b8d41e349fb290fd6989a1825d9',1,'nixbc::FileHeader::Magic'],['../structnixt_1_1ASTHeader.html#a35492d0f33e24cbfd0a9669a629b9635',1,'nixt::ASTHeader::Magic']]], + ['magicvalue_1',['MagicValue',['../structnixbc_1_1FileHeader.html#a96c3c86952ec70c0fd11298bf76abda2',1,'nixbc::FileHeader']]], + ['main_2',['main',['../nix-node-eval_2src_2Main_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): Main.cpp'],['../tools_2nixd_2src_2Main_8cpp.html#a0ddf1224851353fc92bfbff6f499fa97',1,'main(int argc, char *argv[]): Main.cpp']]], + ['manual_3',['Developers' Manual',['../md_nixd_2docs_2dev.html',1,'']]], + ['markdown_4',['Markdown',['../namespacelspserver.html#a6d13302ad950c821ee002913c8387a00a2182a74bab7188d959e795d9301e87ff',1,'lspserver']]], + ['markupcontent_5',['MarkupContent',['../structlspserver_1_1MarkupContent.html',1,'lspserver']]], + ['markupkind_6',['MarkupKind',['../namespacelspserver.html#a6d13302ad950c821ee002913c8387a00',1,'lspserver']]], + ['maybecasefoldpath_7',['maybeCaseFoldPath',['../namespacelspserver.html#ab49fa9797f103735094684a9efd58ee3',1,'lspserver']]], + ['maybelambda_8',['maybeLambda',['../classnixf_1_1Expr.html#adc0538410c715aa8fb0beb6c60363241',1,'nixf::Expr::maybeLambda(NodeKind Kind)'],['../classnixf_1_1Expr.html#a60eaf12f6f5c7a77f0a88b9e3e1b9ead',1,'nixf::Expr::maybeLambda() const']]], + ['members_9',['members',['../classnixf_1_1Formals.html#ace5c19dfe52d31c30b9b85ea90561ae9',1,'nixf::Formals']]], + ['memory_20model_20about_20nix_20language_20nixd_20workers_10',['Memory model about nix language & nixd workers',['../md_nixd_2docs_2dev.html#autotoc_md7',1,'']]], + ['mergeattrsets_11',['mergeAttrSets',['../classnixf_1_1Sema.html#a476c6746dd40eb1f78311701f232897b',1,'nixf::Sema']]], + ['message_12',['Message',['../md_nixd_2docs_2dev.html#autotoc_md13',1,'Commit message'],['../classlspserver_1_1LSPError.html#a19b4a5ac8612ee1fa10fd57c1b29f938',1,'lspserver::LSPError::Message']]], + ['message_13',['message',['../structlspserver_1_1WorkDoneProgressReport.html#abe9ac584e17fce55dcb37f553f858172',1,'lspserver::WorkDoneProgressReport::message'],['../structlspserver_1_1WorkDoneProgressEnd.html#a93ba2520529f6e75208b21beb0f039af',1,'lspserver::WorkDoneProgressEnd::message'],['../structlspserver_1_1ShowMessageParams.html#a8983ba66c0b613be326adf4aeee68c26',1,'lspserver::ShowMessageParams::message'],['../structlspserver_1_1DiagnosticRelatedInformation.html#a09c68904cc7dc3be8eda059a8a79127f',1,'lspserver::DiagnosticRelatedInformation::message'],['../structlspserver_1_1Diagnostic.html#a9badc16050c726bd4a4431d1539d7617',1,'lspserver::Diagnostic::message'],['../classnixf_1_1Fix.html#a6d2eadc2231d2c77c6e587829e8384b7',1,'nixf::Fix::message()'],['../classnixf_1_1PartialDiagnostic.html#a339b3422ba3e25587abb99320f6efd60',1,'nixf::PartialDiagnostic::message()'],['../classnixf_1_1Note.html#abfaf81d8e924ea75f0396a4d750ca395',1,'nixf::Note::message(NoteKind Kind)'],['../classnixf_1_1Note.html#a028caf358af448d776080236109de247',1,'nixf::Note::message() const override'],['../classnixf_1_1Diagnostic.html#ab0d1aa3bd471eed314bce15c46b2f629',1,'nixf::Diagnostic::message(DiagnosticKind Kind)'],['../classnixf_1_1Diagnostic.html#a94204abe6167a2f27f13e66e8bde04a0',1,'nixf::Diagnostic::message() const override']]], + ['messagehandler_14',['MessageHandler',['../classlspserver_1_1MessageHandler.html',1,'lspserver']]], + ['messages_15',['Messages',['../namespacelspserver.html#a84ff90cc9ec54bbbee73d83bdf8c6928a41de6d6cfb8953c021bbe4ba0701c8a1',1,'lspserver']]], + ['messagetype_16',['MessageType',['../namespacelspserver.html#a200604f8ba85e73cda84aa47933d8fcb',1,'lspserver']]], + ['method_17',['Method',['../namespacelspserver.html#aaa34ea3819069fbee52018467e9586e0a4c3880bb027f159e801041b1021e88e8',1,'lspserver::Method'],['../namespacelspserver.html#a2c2f610d4b7f64335e8d68b47e18ea6fa4c3880bb027f159e801041b1021e88e8',1,'lspserver::Method']]], + ['methodhandlers_18',['MethodHandlers',['../structlspserver_1_1HandlerRegistry.html#ab9b29fe16e502b4735c0ad29dc63db3a',1,'lspserver::HandlerRegistry']]], + ['methodnotfound_19',['MethodNotFound',['../namespacelspserver.html#a748780c668b7e2d2e3700f6e7075b078a011fb1f694f7b928964b898fc5d0ca5c',1,'lspserver']]], + ['misc_20',['Misc',['../classnixf_1_1Misc.html',1,'nixf::Misc'],['../classnixf_1_1Misc.html#a5a46e9d50e77fa519e426571882b4440',1,'nixf::Misc::Misc()']]], + ['missing_21',['Missing',['../namespacelspserver.html#aaa34ea3819069fbee52018467e9586e0a2aee0be2678ee90fd327cc186826438e',1,'lspserver::Missing'],['../namespacelspserver.html#ac7ba537910cf2ac19f50ecf4bf062c00a2aee0be2678ee90fd327cc186826438e',1,'lspserver::Missing']]], + ['mkinsertion_22',['mkInsertion',['../classnixf_1_1TextEdit.html#aa01de417f0748dd4f29fe8dae17ca601',1,'nixf::TextEdit']]], + ['mkoutmethod_23',['mkOutMethod',['../classlspserver_1_1LSPServer.html#a5dd731ed81441fd2630f4e0be2f633ac',1,'lspserver::LSPServer']]], + ['mkoutnotifiction_24',['mkOutNotifiction',['../classlspserver_1_1LSPServer.html#afeb63f9af680b6c3fec9d31d725f8c5c',1,'lspserver::LSPServer']]], + ['mkremoval_25',['mkRemoval',['../classnixf_1_1TextEdit.html#a8b915421713ff5dc17b1c8d51babaebb',1,'nixf::TextEdit']]], + ['mode_26',['lsp-mode',['../md_nixd_2docs_2editor-setup.html#autotoc_md22',1,'']]], + ['model_20about_20nix_20language_20nixd_20workers_27',['Memory model about nix language & nixd workers',['../md_nixd_2docs_2dev.html#autotoc_md7',1,'']]], + ['module_28',['Module',['../namespacelspserver.html#aaa34ea3819069fbee52018467e9586e0ae55f75a29310d7b60f7ac1d390c8ae42',1,'lspserver::Module'],['../namespacelspserver.html#a2c2f610d4b7f64335e8d68b47e18ea6fae55f75a29310d7b60f7ac1d390c8ae42',1,'lspserver::Module']]], + ['my_20em_20flake_20em_29',['How to use nixd in my <em>flake</em>?',['../md_nixd_2docs_2user-guide.html#autotoc_md40',1,'']]] +]; diff --git a/search/all_d.js b/search/all_d.js new file mode 100644 index 000000000..4341b2dc5 --- /dev/null +++ b/search/all_d.js @@ -0,0 +1,69 @@ +var searchData= +[ + ['name_0',['name',['../structlspserver_1_1DocumentSymbol.html#a8ecb1c7da4f126f332fb7af486ad9beb',1,'lspserver::DocumentSymbol::name'],['../structlspserver_1_1SymbolInformation.html#add4797cfc1a791fde9e3f4095f52bd1d',1,'lspserver::SymbolInformation::name'],['../structlspserver_1_1TypeHierarchyItem.html#a85a9fc14897ac2408eb2bea661816e5a',1,'lspserver::TypeHierarchyItem::name'],['../structlspserver_1_1CallHierarchyItem.html#a8a42860dfea030330f4569d816d95172',1,'lspserver::CallHierarchyItem::name'],['../classnixf_1_1Node.html#a8684d3e35bf7a384a4c9dace285c6dff',1,'nixf::Node::name(NodeKind Kind)'],['../classnixf_1_1Node.html#a23fa13c81bea085160151ccdf45602b8',1,'nixf::Node::name() const'],['../classnixf_1_1Identifier.html#a47c41be126861fa080bfba0584c56a64',1,'nixf::Identifier::name()']]], + ['nameof_1',['nameOf',['../namespacenixt.html#a3efffc7408dd31f34dec03f721c1fda7',1,'nixt::nameOf(ek::ExprKind Kind)'],['../namespacenixt.html#a14859ce0482047eae16356d494e8f402',1,'nixt::nameOf(ExprKind Kind)']]], + ['names_2',['names',['../classnixf_1_1AttrPath.html#ae0143958c2795a68fb6254a583c1c00f',1,'nixf::AttrPath::names()'],['../classnixf_1_1Inherit.html#a26fed72a675db2c13c7f0f89199bdc94',1,'nixf::Inherit::names()']]], + ['namespace_3',['Namespace',['../namespacelspserver.html#a2c2f610d4b7f64335e8d68b47e18ea6fab3ba0fe968ce39dcfc6fe8cc0f1b02da',1,'lspserver']]], + ['needsconfirmation_4',['needsConfirmation',['../structlspserver_1_1ChangeAnnotation.html#aca9324acf18a5f70fdea8571081cc720',1,'lspserver::ChangeAnnotation']]], + ['neo_20vim_5',['(Neo)vim',['../md_nixd_2docs_2editor-setup.html#autotoc_md17',1,'']]], + ['neovim_6',['Neovim',['../md_nixd_2docs_2editor-setup.html#autotoc_md19',1,'Neovim'],['../md_nixd_2docs_2editors_2editors.html#autotoc_md25',1,'Neovim']]], + ['newname_7',['newName',['../structlspserver_1_1RenameParams.html#a4f121d58cb2a9799003eecdcc12f23d2',1,'lspserver::RenameParams']]], + ['newtext_8',['newText',['../structlspserver_1_1TextEdit.html#adec5027e18f0fb42b23460061d615bfe',1,'lspserver::TextEdit::newText'],['../classnixf_1_1TextEdit.html#a0782f25df320f1b76c84f457d9a0d366',1,'nixf::TextEdit::newText()']]], + ['nix_9',['nix',['../namespacenix.html',1,'']]], + ['nix_20build_10',['nix-build',['../md_nixd_2docs_2user-guide.html#autotoc_md30',1,'']]], + ['nix_20evaluator_20see_20your_20data_20structure_20instead_20of_20parsing_20file_20by_20itself_11',['Why does nix evaluator see your data structure, instead of parsing file by itself?',['../md_nixd_2docs_2dev.html#autotoc_md9',1,'']]], + ['nix_20flakes_12',['Nix Flakes',['../md_nixd_2docs_2user-guide.html#autotoc_md31',1,'']]], + ['nix_20language_20nixd_20workers_13',['Memory model about nix language & nixd workers',['../md_nixd_2docs_2dev.html#autotoc_md7',1,'']]], + ['nix_20node_20eval_14',['nix-node-eval',['../md_nixd_2nix-node-eval_2README.html',1,'']]], + ['nix_2dnode_2deval_2fsrc_2fmain_2ecpp_15',['Main.cpp',['../nix-node-eval_2src_2Main_8cpp.html',1,'']]], + ['nix_3a_3aexpr_20tt_20expressions_16',['libnixt, Playing with <tt>nix::Expr</tt> expressions.',['../md_libnixt_2README.html',1,'']]], + ['nix_5fexpr_17',['NIX_EXPR',['../HookExpr_8h.html#a1e5ff931d487013b06f582d1b9e38c1c',1,'NIX_EXPR: HookExpr.h'],['../Serialize_8h.html#a1e5ff931d487013b06f582d1b9e38c1c',1,'NIX_EXPR: Serialize.h'],['../Visitor_8h.html#a1e5ff931d487013b06f582d1b9e38c1c',1,'NIX_EXPR: Visitor.h'],['../Visitor_8h.html#a1e5ff931d487013b06f582d1b9e38c1c',1,'NIX_EXPR: Visitor.h'],['../Visitor_8h.html#a1e5ff931d487013b06f582d1b9e38c1c',1,'NIX_EXPR: Visitor.h'],['../HookExpr_8cpp.html#a1e5ff931d487013b06f582d1b9e38c1c',1,'NIX_EXPR: HookExpr.cpp'],['../Kinds_8cpp.html#a1e5ff931d487013b06f582d1b9e38c1c',1,'NIX_EXPR: Kinds.cpp'],['../Kinds_8cpp.html#a1e5ff931d487013b06f582d1b9e38c1c',1,'NIX_EXPR: Kinds.cpp'],['../namespacenixt.html#a5bcdc1a90b949f11bc1a7147ce48c50da672449eef17923093e3cfce967572e94',1,'nixt::NIX_EXPR']]], + ['nixbc_18',['nixbc',['../namespacenixbc.html',1,'']]], + ['nixd_19',['nixd',['../namespacenixd.html',1,'']]], + ['nixd_20in_20my_20em_20flake_20em_20',['How to use nixd in my <em>flake</em>?',['../md_nixd_2docs_2user-guide.html#autotoc_md40',1,'']]], + ['nixd_20workers_21',['Memory model about nix language & nixd workers',['../md_nixd_2docs_2dev.html#autotoc_md7',1,'']]], + ['nixd_2fdocs_2fexamples_2freadme_2emd_22',['README.md',['../nixd_2docs_2examples_2README_8md.html',1,'']]], + ['nixd_2flibrpc_2finclude_2fnixd_2frpc_2fprotocol_2eh_23',['Protocol.h',['../nixd_2librpc_2include_2nixd_2rpc_2Protocol_8h.html',1,'']]], + ['nixd_2flibrpc_2fsrc_2fprotocol_2ecpp_24',['Protocol.cpp',['../nixd_2librpc_2src_2Protocol_8cpp.html',1,'']]], + ['nixd_2fnix_2dnode_2deval_2freadme_2emd_25',['README.md',['../nixd_2nix-node-eval_2README_8md.html',1,'']]], + ['nixd_3a_3arpc_26',['rpc',['../namespacenixd_1_1rpc.html',1,'nixd']]], + ['nixd_3a_3autil_27',['util',['../namespacenixd_1_1util.html',1,'nixd']]], + ['nixf_28',['nixf',['../namespacenixf.html',1,'']]], + ['nixf_3a_3adetail_29',['detail',['../namespacenixf_1_1detail.html',1,'nixf']]], + ['nixf_3a_3atok_30',['tok',['../namespacenixf_1_1tok.html',1,'nixf']]], + ['nixfloat_31',['NixFloat',['../namespacenixbc.html#af44243e73a91999dfaa46524e53cc4d6',1,'nixbc::NixFloat'],['../namespacenixf.html#ae0a23b6341e30167b5ffcf039f958f31',1,'nixf::NixFloat']]], + ['nixint_32',['NixInt',['../namespacenixbc.html#a09c5596b0cefd0e239c3c1304b1965e0',1,'nixbc::NixInt'],['../namespacenixf.html#aa5dba9ae7b53e4af5f0c5376b9126f8a',1,'nixf::NixInt']]], + ['nixt_33',['nixt',['../namespacenixt.html',1,'']]], + ['nixt_3a_3adetail_34',['detail',['../namespacenixt_1_1detail.html',1,'nixt']]], + ['nixt_3a_3aek_35',['ek',['../namespacenixt_1_1ek.html',1,'nixt']]], + ['nixtu_36',['NixTU',['../classnixd_1_1NixTU.html',1,'nixd::NixTU'],['../classnixd_1_1NixTU.html#a175eb5c09159572b4d0b46d9220a7993',1,'nixd::NixTU::NixTU()=default'],['../classnixd_1_1NixTU.html#a52a6a507ba9f04b43955396e3daa0e49',1,'nixd::NixTU::NixTU(std::vector< nixf::Diagnostic > Diagnostics, std::shared_ptr< nixf::Node > AST, std::optional< util::OwnedRegion > ASTByteCode)']]], + ['nixtu_2eh_37',['NixTU.h',['../NixTU_8h.html',1,'']]], + ['nk_38',['NK',['../namespacenixf.html#aa87db50149a82c4cfa982654590eb996',1,'nixf']]], + ['nk_5fbeginexpr_39',['NK_BeginExpr',['../classnixf_1_1Node.html#a33f84590ebf2cafe57a2ae525a3cb24fa82c7c6773a7d7fe65e1dc2f99d2337cc',1,'nixf::Node']]], + ['nk_5fendexpr_40',['NK_EndExpr',['../classnixf_1_1Node.html#a33f84590ebf2cafe57a2ae525a3cb24fa449d58d691e0f457b4c0469348897ee9',1,'nixf::Node']]], + ['node_41',['Node',['../classnixf_1_1Node.html',1,'nixf::Node'],['../classnixf_1_1Node.html#ad11d40789cd9815f1f5c11df610d501d',1,'nixf::Node::Node()']]], + ['node_42',['NODE',['../Basic_8h.html#ae51fb3910ef81fe9a8d43fe6f0c8fbd8',1,'NODE: Basic.h'],['../Nodes_8cpp.html#ae51fb3910ef81fe9a8d43fe6f0c8fbd8',1,'NODE: Nodes.cpp']]], + ['node_20eval_43',['nix-node-eval',['../md_nixd_2nix-node-eval_2README.html',1,'']]], + ['node_20format_44',['Node Format',['../md_libnixbc_2README.html#autotoc_md2',1,'']]], + ['nodeheader_45',['NodeHeader',['../structnixbc_1_1NodeHeader.html',1,'nixbc']]], + ['nodekind_46',['NodeKind',['../classnixf_1_1Node.html#a33f84590ebf2cafe57a2ae525a3cb24f',1,'nixf::Node']]], + ['nodekinds_2einc_47',['NodeKinds.inc',['../NodeKinds_8inc.html',1,'']]], + ['nodes_48',['Nodes',['../structnixt_1_1PtrPool.html#a1800dc79208ee98a3d549855aa9b19ae',1,'nixt::PtrPool']]], + ['nodes_2ecpp_49',['Nodes.cpp',['../Nodes_8cpp.html',1,'']]], + ['nodes_2einc_50',['Nodes.inc',['../Nodes_8inc.html',1,'']]], + ['none_51',['None',['../namespacelspserver.html#a96d435eb7c5ff25b80532d96bbedef3ea6adf97f83acf6453d4a6a4b1070f3754',1,'lspserver']]], + ['noparams_52',['NoParams',['../structlspserver_1_1NoParams.html',1,'lspserver']]], + ['note_53',['Note',['../classnixf_1_1Note.html',1,'nixf::Note'],['../classnixf_1_1Note.html#a9984578ffc34751c62a52a16c4621661',1,'nixf::Note::Note()']]], + ['note_54',['note',['../classnixf_1_1Diagnostic.html#a4f2b8ee8c6168580c085e03e0a01bffc',1,'nixf::Diagnostic']]], + ['note_20🚧_55',['WIP Note 🚧',['../md_README.html#autotoc_md42',1,'']]], + ['notekind_56',['NoteKind',['../classnixf_1_1Note.html#afd0b733e88a64c9f06305eacfbc49592',1,'nixf::Note']]], + ['notekinds_2einc_57',['NoteKinds.inc',['../NoteKinds_8inc.html',1,'']]], + ['notes_58',['notes',['../classnixf_1_1Diagnostic.html#adb5fbb6e886dd6ee6966ad8dc65a74fd',1,'nixf::Diagnostic']]], + ['notevaluated_59',['NotEvaluated',['../structnixd_1_1rpc_1_1ExprValueResponse.html#aae25daf6dbf5578afc233532331a5b40ac8edcaf2b7b454d5c55bdb0042611af1',1,'nixd::rpc::ExprValueResponse']]], + ['notfound_60',['NotFound',['../structnixd_1_1rpc_1_1ExprValueResponse.html#aae25daf6dbf5578afc233532331a5b40aa345680532bc76323e45d8888784b25a',1,'nixd::rpc::ExprValueResponse']]], + ['notificationhandlers_61',['NotificationHandlers',['../structlspserver_1_1HandlerRegistry.html#aafabcb783d12b17e1243b809ce910ed4',1,'lspserver::HandlerRegistry']]], + ['notify_62',['notify',['../classlspserver_1_1OutboundPort.html#a85ec6be072ff927259769f5961ad9e79',1,'lspserver::OutboundPort']]], + ['null_63',['Null',['../namespacelspserver.html#a2c2f610d4b7f64335e8d68b47e18ea6fabbb93ef26e3c101ff11cdd21cab08a94',1,'lspserver']]], + ['number_64',['Number',['../namespacelspserver.html#a2c2f610d4b7f64335e8d68b47e18ea6fab2ee912b91d69b435159c7c3f6df7f5f',1,'lspserver']]], + ['nvim_65',['Coc.nvim',['../md_nixd_2docs_2editor-setup.html#autotoc_md18',1,'']]] +]; diff --git a/search/all_e.js b/search/all_e.js new file mode 100644 index 000000000..af88bd220 --- /dev/null +++ b/search/all_e.js @@ -0,0 +1,51 @@ +var searchData= +[ + ['object_0',['Object',['../namespacelspserver.html#a2c2f610d4b7f64335e8d68b47e18ea6fa497031794414a552435f90151ac3b54b',1,'lspserver']]], + ['observe_1',['observe',['../classlspserver_1_1Event.html#a371a83f606c7b98af3a0c55d2e9b8d0c',1,'lspserver::Event']]], + ['of_20parsing_20file_20by_20itself_2',['Why does nix evaluator see your data structure, instead of parsing file by itself?',['../md_nixd_2docs_2dev.html#autotoc_md9',1,'']]], + ['off_3',['Off',['../namespacelspserver.html#a84ff90cc9ec54bbbee73d83bdf8c6928ad15305d7a4e34e02489c74a5ef542f36',1,'lspserver']]], + ['offset_4',['offset',['../classnixf_1_1LexerCursor.html#a5dc0fd53d1ef98feab10e6d7c9d319ad',1,'nixf::LexerCursor']]], + ['offsetencoding_5',['offsetEncoding',['../structlspserver_1_1ClientCapabilities.html#ae2666d024c096114db82d579cd6052b2',1,'lspserver::ClientCapabilities']]], + ['offsetencoding_6',['OffsetEncoding',['../namespacelspserver.html#a2ea2a228752a8a5289ef9ed3c27bbc88',1,'lspserver']]], + ['offsetsinsignaturehelp_7',['OffsetsInSignatureHelp',['../structlspserver_1_1ClientCapabilities.html#ad609bc3de9a9964c4663cd2d16d5a58a',1,'lspserver::ClientCapabilities']]], + ['offsettoposition_8',['offsetToPosition',['../namespacelspserver.html#ac71023b148ed02879e34fd46bf7f6781',1,'lspserver']]], + ['ok_9',['OK',['../structnixd_1_1rpc_1_1ExprValueResponse.html#aae25daf6dbf5578afc233532331a5b40a3ad59822e2b500a77642fbcabd240713',1,'nixd::rpc::ExprValueResponse']]], + ['ok_5fnone_10',['OK_None',['../classnixbc_1_1Origin.html#ac48aab2b76b7be9129c325b1c0852cc8adf623447b9b9023ea1327f9f315392e2',1,'nixbc::Origin']]], + ['ok_5fpath_11',['OK_Path',['../classnixbc_1_1Origin.html#ac48aab2b76b7be9129c325b1c0852cc8a61588cc557502568ee2d784c0dd1d45b',1,'nixbc::Origin']]], + ['ok_5fstdin_12',['OK_Stdin',['../classnixbc_1_1Origin.html#ac48aab2b76b7be9129c325b1c0852cc8aa73b2f62acbd91f07628e3adc1a5898a',1,'nixbc::Origin']]], + ['ok_5fstring_13',['OK_String',['../classnixbc_1_1Origin.html#ac48aab2b76b7be9129c325b1c0852cc8ac319048a9e464d7d924c33a0e315467b',1,'nixbc::Origin']]], + ['oldrange_14',['oldRange',['../classnixf_1_1TextEdit.html#a7cfa20b90917da966cba7bb51e9e90f7',1,'nixf::TextEdit']]], + ['oncall_15',['onCall',['../classlspserver_1_1MessageHandler.html#ab203a403bb6038c38cb38cb42add8170',1,'lspserver::MessageHandler']]], + ['onexprattrs_16',['onExprAttrs',['../classnixf_1_1Sema.html#a2551dfd3d1b94d27905cc8a467726f6b',1,'nixf::Sema']]], + ['onexprvalue_17',['onExprValue',['../classnixd_1_1EvalProvider.html#ab3e68d91b47eff7a255de39d1e085923',1,'nixd::EvalProvider']]], + ['onformals_18',['onFormals',['../classnixf_1_1Sema.html#ab8c50241f63d575ff8bc9a3e76b933d1',1,'nixf::Sema']]], + ['only_19',['only',['../structlspserver_1_1CodeActionContext.html#a7ff6fc854befe3a80eca853cc990b84d',1,'lspserver::CodeActionContext']]], + ['onnotify_20',['onNotify',['../classlspserver_1_1MessageHandler.html#aac19f27657fcbf0d9608ad190d71ddef',1,'lspserver::MessageHandler']]], + ['onregisterbc_21',['onRegisterBC',['../classnixd_1_1EvalProvider.html#a792da053ce2f95446d56eec2d306fd02',1,'nixd::EvalProvider']]], + ['onreply_22',['onReply',['../classlspserver_1_1MessageHandler.html#aa54175b940483903b3c4c3bd093c3435',1,'lspserver::MessageHandler']]], + ['op_23',['Op',['../classnixf_1_1Op.html',1,'nixf::Op'],['../classnixf_1_1Op.html#aff59913eecd7f9cafc80bbb29daccd18',1,'nixf::Op::Op(LexerCursorRange Range, tok::TokenKind OpKind)']]], + ['op_24',['op',['../classnixf_1_1Op.html#a5f0bf93da42657f12d0ac0985201efc5',1,'nixf::Op::op()'],['../classnixf_1_1ExprOp.html#a864b79b1a9f2ab90e9a8582723198118',1,'nixf::ExprOp::op()']]], + ['op_2eh_25',['Op.h',['../Op_8h.html',1,'']]], + ['operator_26',['Operator',['../namespacelspserver.html#aaa34ea3819069fbee52018467e9586e0ae1b3ec89ead7f83a9245ed5c9cacfdbf',1,'lspserver::Operator'],['../namespacelspserver.html#a2c2f610d4b7f64335e8d68b47e18ea6fae1b3ec89ead7f83a9245ed5c9cacfdbf',1,'lspserver::Operator']]], + ['operator_20bool_27',['operator bool',['../structlspserver_1_1URIForFile.html#a3b6bf195656afd19a7bdf79957c3dc91',1,'lspserver::URIForFile']]], + ['operator_20pid_5ft_28',['operator pid_t',['../classnixd_1_1util_1_1AutoHUPPID.html#a48ab5415b1d7b30b0181c0d70a700ea3',1,'nixd::util::AutoHUPPID']]], + ['operator_21_3d_29',['operator!=',['../structlspserver_1_1URIForFile.html#a31ee6d24ac4bc5c80a58678fdd21bffa',1,'lspserver::URIForFile::operator!='],['../structlspserver_1_1Position.html#a491d63c3bca4605a8573835a3b36429c',1,'lspserver::Position::operator!='],['../structlspserver_1_1Range.html#afc5f4e389bda427e5dd2d4516ae18b67',1,'lspserver::Range::operator!='],['../structlspserver_1_1Location.html#a591ba82fef403e0139adeeeae13f311b',1,'lspserver::Location::operator!='],['../structlspserver_1_1DocumentLink.html#a6c2692eba60f1e2b2e84dda79cc6d0a8',1,'lspserver::DocumentLink::operator!=']]], + ['operator_28_29_30',['operator()',['../structlspserver_1_1LSPDiagnosticCompare.html#a7d5b98919a787f50e772137eec45acc6',1,'lspserver::LSPDiagnosticCompare']]], + ['operator_2f_31',['operator/',['../structlspserver_1_1Range.html#ae615d88095508e29aca124832441f933',1,'lspserver::Range']]], + ['operator_3c_32',['operator<',['../classnixf_1_1Position.html#ae5fe888cc801224c1ea37f008ed4bc58',1,'nixf::Position::operator<'],['../structlspserver_1_1URIForFile.html#a23a7a0602a363c9806cae6aa97038d76',1,'lspserver::URIForFile::operator<'],['../structlspserver_1_1Position.html#ae5fe888cc801224c1ea37f008ed4bc58',1,'lspserver::Position::operator<'],['../structlspserver_1_1Range.html#a8b5d0821f3aa8f7084772a9813241f8d',1,'lspserver::Range::operator<'],['../structlspserver_1_1Location.html#a56d4b7dd8734b3ff2d9280d63ff0ad31',1,'lspserver::Location::operator<'],['../structlspserver_1_1DocumentHighlight.html#a6abdc62c99a3eafca2ff94633fe7c97c',1,'lspserver::DocumentHighlight::operator<'],['../classlspserver_1_1URI.html#a2b5e86ec6405a83854ad439e312f6361',1,'lspserver::URI::operator<'],['../namespacelspserver.html#af54fb741a74716d8b626474d31e4cdcc',1,'lspserver::operator<(const CompletionItem &, const CompletionItem &)'],['../namespacelspserver.html#a27358b21dd4a6de2eed0bf9f7bdddb63',1,'lspserver::operator<(const InlayHint &, const InlayHint &)']]], + ['operator_3c_3c_33',['operator<<',['../classnixf_1_1PartialDiagnostic.html#a9c402e1854b242672fbbf6caf058d93b',1,'nixf::PartialDiagnostic::operator<<()'],['../classnixf_1_1Note.html#a7cc5d6bfeb152212674af2be149778cc',1,'nixf::Note::operator<<()'],['../namespacelspserver.html#a9f39bf8c9dba1cf56d78c259094fa8bf',1,'lspserver::operator<<(llvm::raw_ostream &, const Position &)'],['../namespacelspserver.html#a7559a2dea9e668c6571c978391f8e820',1,'lspserver::operator<<(llvm::raw_ostream &, const Range &)'],['../namespacelspserver.html#ae6e842eb510d19ce54d604a79e30a5a4',1,'lspserver::operator<<(llvm::raw_ostream &, const Location &)'],['../namespacelspserver.html#adc0bebfc72dcd4049a5a6faab870c031',1,'lspserver::operator<<(llvm::raw_ostream &, const ReferenceLocation &)'],['../namespacelspserver.html#a78470dccbdd51688e42cf32812a40b66',1,'lspserver::operator<<(llvm::raw_ostream &, const TextEdit &)'],['../namespacelspserver.html#ac1e2fb1ca4b1c408ed1799593012880c',1,'lspserver::operator<<(llvm::raw_ostream &, OffsetEncoding)'],['../namespacelspserver.html#a3e89840017236e939a9172d7c57a8760',1,'lspserver::operator<<(llvm::raw_ostream &OS, MarkupKind)'],['../namespacelspserver.html#a4338c746112e7177aaf28ab0f31c5a7b',1,'lspserver::operator<<(llvm::raw_ostream &, const Diagnostic &)'],['../namespacelspserver.html#ad6d8679bd17afb3841f61f06bea2ad48',1,'lspserver::operator<<(llvm::raw_ostream &O, const DocumentSymbol &S)'],['../namespacelspserver.html#a0c0e9e785930fd894ed01de59aaaa5c6',1,'lspserver::operator<<(llvm::raw_ostream &, const SymbolInformation &)'],['../namespacelspserver.html#a47870fa00ca63a4a22c08382a6c28350',1,'lspserver::operator<<(llvm::raw_ostream &, const CompletionItem &)'],['../namespacelspserver.html#ae5223bdbdb7232826917b34ece1f1148',1,'lspserver::operator<<(llvm::raw_ostream &, const SignatureInformation &)'],['../namespacelspserver.html#a2bf761823fd42192b375b55a1ae753b4',1,'lspserver::operator<<(llvm::raw_ostream &, const DocumentHighlight &)'],['../namespacelspserver.html#a2a68832e7bf0b8e970bdf61fe6f50a7f',1,'lspserver::operator<<(llvm::raw_ostream &, const TypeHierarchyItem &)'],['../namespacelspserver.html#a3dab27053560fd98422b72721b2ee372',1,'lspserver::operator<<(llvm::raw_ostream &, InlayHintKind)'],['../namespacelspserver.html#a42884cdb16a297cc9122dc5141ce493a',1,'lspserver::operator<<(llvm::raw_ostream &, const ASTNode &)'],['../namespacelspserver.html#a76b6b4325d9ba45cd614079936f5b095',1,'lspserver::operator<<(llvm::raw_ostream &OS, const URIForFile &U)']]], + ['operator_3c_3d_34',['operator<=',['../classnixf_1_1Position.html#a54b0ad2f50769bba67879e8c77352e1f',1,'nixf::Position::operator<='],['../structlspserver_1_1Position.html#a54b0ad2f50769bba67879e8c77352e1f',1,'lspserver::Position::operator<=']]], + ['operator_3d_35',['operator=',['../classnixf_1_1LexerCursor.html#a5869b2a93a9e36ffe3c7ee3eed14a5e3',1,'nixf::LexerCursor::operator=()'],['../classlspserver_1_1Event_1_1Subscription.html#a92b29e673af0753144ba1711fa5309b7',1,'lspserver::Event::Subscription::operator=()'],['../classlspserver_1_1LoggingSession.html#a03c930bf89c9b4afc6ec807077fe18bb',1,'lspserver::LoggingSession::operator=(LoggingSession &&)=delete'],['../classlspserver_1_1LoggingSession.html#a29a477bcc5e7ec5b6e91db6e31c2edcc',1,'lspserver::LoggingSession::operator=(LoggingSession const &)=delete'],['../classlspserver_1_1Key.html#a705095870b1a7732f79b79bf6e181a28',1,'lspserver::Key::operator=(Key const &)=delete'],['../classlspserver_1_1Key.html#af0edae2ef4d1b024d6e1129eb771dbf6',1,'lspserver::Key::operator=(Key &&)=delete']]], + ['operator_3d_3d_36',['operator==',['../classnixf_1_1Position.html#a311be51fb576cc7564947bb22e10b0c2',1,'nixf::Position::operator=='],['../classnixf_1_1LexerCursor.html#a282cc9d9025fa6ddfc1fe9e3988d335a',1,'nixf::LexerCursor::operator=='],['../structlspserver_1_1URIForFile.html#a708ad23040ad4f62ef35e6c546f15e13',1,'lspserver::URIForFile::operator=='],['../structlspserver_1_1Position.html#a311be51fb576cc7564947bb22e10b0c2',1,'lspserver::Position::operator=='],['../structlspserver_1_1Range.html#a750acd5d885c30d6f3d18d3b45b11ff2',1,'lspserver::Range::operator=='],['../structlspserver_1_1Location.html#a1d45a791f6265ecb2691c429fa78af48',1,'lspserver::Location::operator=='],['../structlspserver_1_1DocumentHighlight.html#aa439527289c89fe620bd20e28b8dbe7b',1,'lspserver::DocumentHighlight::operator=='],['../structlspserver_1_1DocumentLink.html#a84f541457c2560705fc7bc763854c7d1',1,'lspserver::DocumentLink::operator=='],['../classlspserver_1_1URI.html#acf72f74ff4f92d40281007fcd1a5f622',1,'lspserver::URI::operator=='],['../namespacelspserver.html#ac4cb2549b4e34853078b635fdfbddb2c',1,'lspserver::operator==(const TextEdit &L, const TextEdit &R)'],['../namespacelspserver.html#a287a8dfb9088ebaa644ab185a68b2167',1,'lspserver::operator==(const InlayHint &, const InlayHint &)'],['../namespacelspserver.html#a2fca1b6bb0e2b31eb377933f70e34cf2',1,'lspserver::operator==(const SemanticToken &, const SemanticToken &)']]], + ['options_37',['Options',['../md_nixd_2docs_2user-guide.html#autotoc_md38',1,'']]], + ['origin_38',['Origin',['../classnixbc_1_1Origin.html',1,'nixbc::Origin'],['../structnixt_1_1DeserializeContext.html#a06f635eb80414a22eb143a016f488457',1,'nixt::DeserializeContext::Origin'],['../classnixbc_1_1Origin.html#a905a248c7e05deaef380ad705e17fdb6',1,'nixbc::Origin::Origin()']]], + ['origin_2ecpp_39',['Origin.cpp',['../Origin_8cpp.html',1,'']]], + ['origin_2eh_40',['Origin.h',['../Origin_8h.html',1,'']]], + ['originkind_41',['OriginKind',['../classnixbc_1_1Origin.html#ac48aab2b76b7be9129c325b1c0852cc8',1,'nixbc::Origin']]], + ['originpath_42',['OriginPath',['../classnixbc_1_1OriginPath.html',1,'nixbc::OriginPath'],['../classnixbc_1_1OriginPath.html#a2314ac10efa7c44610746813cecb61ac',1,'nixbc::OriginPath::OriginPath()']]], + ['outboundport_43',['OutboundPort',['../classlspserver_1_1OutboundPort.html',1,'lspserver::OutboundPort'],['../classlspserver_1_1OutboundPort.html#aeaaf4f6f8b8b2b1be89775c4ba1a106c',1,'lspserver::OutboundPort::OutboundPort(bool Pretty=false)'],['../classlspserver_1_1OutboundPort.html#a56a2eaf94834eb67bf83f2ff44a714f5',1,'lspserver::OutboundPort::OutboundPort(llvm::raw_ostream &Outs, bool Pretty=false)']]], + ['overlap_44',['overlap',['../structlspserver_1_1Range.html#a8709855b72791ff29f5878623159d233',1,'lspserver::Range']]], + ['ownedevalclient_45',['OwnedEvalClient',['../classnixd_1_1OwnedEvalClient.html',1,'nixd::OwnedEvalClient'],['../classnixd_1_1OwnedEvalClient.html#ab2d5d31e904b5ae56306451cd80ae289',1,'nixd::OwnedEvalClient::OwnedEvalClient()']]], + ['ownedregion_46',['OwnedRegion',['../structnixd_1_1util_1_1OwnedRegion.html',1,'nixd::util']]], + ['ownedregion_2eh_47',['OwnedRegion.h',['../OwnedRegion_8h.html',1,'']]] +]; diff --git a/search/all_f.js b/search/all_f.js new file mode 100644 index 000000000..8bddcf2ec --- /dev/null +++ b/search/all_f.js @@ -0,0 +1,96 @@ +var searchData= +[ + ['p_0',['P',['../structnixt_1_1detail_1_1R.html#af3318a9e3c548176681a26cd4ee4819d',1,'nixt::detail::R']]], + ['package_1',['Package',['../namespacelspserver.html#a2c2f610d4b7f64335e8d68b47e18ea6fa209802fb858e2c83205027dbbb5d9e6c',1,'lspserver']]], + ['paddingleft_2',['paddingLeft',['../structlspserver_1_1InlayHint.html#a7e7e829b8fe37ab0f02b4c3ac6b2dcea',1,'lspserver::InlayHint']]], + ['paddingright_3',['paddingRight',['../structlspserver_1_1InlayHint.html#a58fd65c5fae54dfa924623ee26b00e86',1,'lspserver::InlayHint']]], + ['parameter_4',['Parameter',['../namespacelspserver.html#ad0e04d3cce4fb889bbf88064199247f8a83f499a540b1323009c200d6f8cc9396',1,'lspserver']]], + ['parameterinformation_5',['ParameterInformation',['../structlspserver_1_1ParameterInformation.html',1,'lspserver']]], + ['parameters_6',['parameters',['../structlspserver_1_1SignatureInformation.html#a615ed9f390c8425328ba3f6814123d06',1,'lspserver::SignatureInformation']]], + ['parent_7',['parent',['../structlspserver_1_1SelectionRange.html#ae07fba493e904faee16a6ccbdf9874bd',1,'lspserver::SelectionRange']]], + ['parentmap_8',['ParentMap',['../namespacenixt.html#a6822f16d1a7eb771261ee65e0282bda2',1,'nixt']]], + ['parentmap_9',['parentMap',['../namespacenixt.html#a9e1281b1eeb0c0f744522d8b6f72d356',1,'nixt']]], + ['parentmap_2ecpp_10',['ParentMap.cpp',['../ParentMap_8cpp.html',1,'']]], + ['parentmap_2eh_11',['ParentMap.h',['../ParentMap_8h.html',1,'']]], + ['parents_12',['parents',['../structlspserver_1_1TypeHierarchyItem_1_1ResolveParams.html#a9c538155e27359aa7b33c3d93b6a1474',1,'lspserver::TypeHierarchyItem::ResolveParams::parents'],['../structlspserver_1_1TypeHierarchyItem.html#a67f08bc3f00abb223ce0ec32728b9171',1,'lspserver::TypeHierarchyItem::parents']]], + ['parents_13',['Parents',['../namespacelspserver.html#a7d97020df0f5bac6de94854de72d22eba9dafe3747e06aa15af0bfba521f66346',1,'lspserver']]], + ['parse_14',['parse',['../classnixf_1_1Parser.html#a32590db27c2afce7995fd0ee076cdd94',1,'nixf::Parser::parse()'],['../classlspserver_1_1URI.html#a3288d887bf623932dab44e40a026cf35',1,'lspserver::URI::parse()'],['../namespacenixf.html#a791e54f6c10d0a4d86742d8f6e37f352',1,'nixf::parse()']]], + ['parseattrname_15',['parseAttrName',['../classnixf_1_1Parser.html#ab9fb6e24bf33648cc8de9dab605eceb3',1,'nixf::Parser']]], + ['parseattrpath_16',['parseAttrPath',['../classnixf_1_1Parser.html#acf7be91f4b3575a477fde0634a4bae57',1,'nixf::Parser']]], + ['parseattrs_2ecpp_17',['ParseAttrs.cpp',['../ParseAttrs_8cpp.html',1,'']]], + ['parsebinding_18',['parseBinding',['../classnixf_1_1Parser.html#adcc6b4dcf597dc89573952eccda33853',1,'nixf::Parser']]], + ['parsebinds_19',['parseBinds',['../classnixf_1_1Parser.html#ab23df83de8bbf9d1cbc47b3b27ae5d8f',1,'nixf::Parser']]], + ['parsecachef_20',['ParseCacheF',['../structnixt_1_1detail_1_1ParseCacheF.html',1,'nixt::detail']]], + ['parseerror_21',['ParseError',['../namespacelspserver.html#a748780c668b7e2d2e3700f6e7075b078ae41199faa7290c167f70f314c5e6c165',1,'lspserver']]], + ['parseexpr_22',['parseExpr',['../classnixf_1_1Parser.html#a37f2852bd0b6a563166c35f91414fc10',1,'nixf::Parser']]], + ['parseexpr_2ecpp_23',['ParseExpr.cpp',['../ParseExpr_8cpp.html',1,'']]], + ['parseexprapp_24',['parseExprApp',['../classnixf_1_1Parser.html#a8d1d90e35cbca2792cd735d383af700c',1,'nixf::Parser']]], + ['parseexprassert_25',['parseExprAssert',['../classnixf_1_1Parser.html#aa19ddffccd732e2fe31863c9396e881b',1,'nixf::Parser']]], + ['parseexprattrs_26',['parseExprAttrs',['../classnixf_1_1Parser.html#aa801a500199fe0412a406462c4c1f369',1,'nixf::Parser']]], + ['parseexprif_27',['parseExprIf',['../classnixf_1_1Parser.html#a48b45a3c6d5e2b82a3b8bf543e86e941',1,'nixf::Parser']]], + ['parseexprlambda_28',['parseExprLambda',['../classnixf_1_1Parser.html#af18b178dc14116cdc1b5f7032b8db59a',1,'nixf::Parser']]], + ['parseexprlet_29',['parseExprLet',['../classnixf_1_1Parser.html#ad62d7400c629d350d38efb4ec202326f',1,'nixf::Parser']]], + ['parseexprlist_30',['parseExprList',['../classnixf_1_1Parser.html#ad7a75222e2e47e494603490c1e2d2ed6',1,'nixf::Parser']]], + ['parseexprop_31',['parseExprOp',['../classnixf_1_1Parser.html#a58041cfb84546bdf130e3fb519ff822c',1,'nixf::Parser']]], + ['parseexprparen_32',['parseExprParen',['../classnixf_1_1Parser.html#ac360d281a1ecfa784b9e8189dcc1456f',1,'nixf::Parser']]], + ['parseexprpath_33',['parseExprPath',['../classnixf_1_1Parser.html#a7186d610bf1f73f684081bdb7134e699',1,'nixf::Parser']]], + ['parseexprselect_34',['parseExprSelect',['../classnixf_1_1Parser.html#a7517d9df6260f29fec1556b5cad9d91d',1,'nixf::Parser']]], + ['parseexprsimple_35',['parseExprSimple',['../classnixf_1_1Parser.html#a22fac22c62d67faeaebd3f4181e7f40c',1,'nixf::Parser']]], + ['parseexprwith_36',['parseExprWith',['../classnixf_1_1Parser.html#ad0a9309eb4c5352c0b6c057a1aa3924f',1,'nixf::Parser']]], + ['parseformal_37',['parseFormal',['../classnixf_1_1Parser.html#a2dc56f89293f28c8ecf21f12cbb86da9',1,'nixf::Parser']]], + ['parseformals_38',['parseFormals',['../classnixf_1_1Parser.html#a67be73b63f22e19a69a0739e33adb86e',1,'nixf::Parser']]], + ['parseinherit_39',['parseInherit',['../classnixf_1_1Parser.html#ad6e3b44614c28b1b0bc0151ca9846f8a',1,'nixf::Parser']]], + ['parseinterpolation_40',['parseInterpolation',['../classnixf_1_1Parser.html#ac6af2c9b07cfdf59963812736726f2df',1,'nixf::Parser']]], + ['parselambda_2ecpp_41',['ParseLambda.cpp',['../ParseLambda_8cpp.html',1,'']]], + ['parselambdaarg_42',['parseLambdaArg',['../classnixf_1_1Parser.html#aad7484ca0a0afdc6e5ca7181db8953f1',1,'nixf::Parser']]], + ['parseop_2ecpp_43',['ParseOp.cpp',['../ParseOp_8cpp.html',1,'']]], + ['parseparam_44',['parseParam',['../namespacelspserver.html#ae01da68d5c2816184de367777772572b',1,'lspserver']]], + ['parseparamwithdefault_45',['parseParamWithDefault',['../namespacelspserver.html#aa450939b488488611602f963cd20bef8',1,'lspserver']]], + ['parseparamwithoptionaldefault_46',['parseParamWithOptionalDefault',['../namespacelspserver_1_1detail.html#a19c03a79056c1356f5ff4c360cc8ed90',1,'lspserver::detail']]], + ['parser_47',['Parser',['../classnixf_1_1Parser.html',1,'nixf::Parser'],['../classnixf_1_1Parser.html#a6f2c6921c2e8d5a98566c0bc4d6e0a4d',1,'nixf::Parser::Parser(std::string_view Src, std::vector< Diagnostic > &Diags)']]], + ['parserstate_48',['ParserState',['../classnixf_1_1Parser.html#a7223a2cf217acfdedaa4e053c6777d88',1,'nixf::Parser']]], + ['parsesimple_2ecpp_49',['ParseSimple.cpp',['../ParseSimple_8cpp.html',1,'']]], + ['parsestring_50',['parseString',['../classnixf_1_1Parser.html#acacf1d4e57f831bb473f647b7ce4935d',1,'nixf::Parser']]], + ['parsestringparts_51',['parseStringParts',['../classnixf_1_1Parser.html#ab6ba07a4124b7ab1cca87842223bde03',1,'nixf::Parser']]], + ['parsestrings_2ecpp_52',['ParseStrings.cpp',['../ParseStrings_8cpp.html',1,'']]], + ['parsesupport_2ecpp_53',['ParseSupport.cpp',['../ParseSupport_8cpp.html',1,'']]], + ['parsing_20file_20by_20itself_54',['Why does nix evaluator see your data structure, instead of parsing file by itself?',['../md_nixd_2docs_2dev.html#autotoc_md9',1,'']]], + ['partialdiagnostic_55',['PartialDiagnostic',['../classnixf_1_1PartialDiagnostic.html',1,'nixf::PartialDiagnostic'],['../classnixf_1_1PartialDiagnostic.html#a22d72e7f3855985ca7deaace2e2ba8c3',1,'nixf::PartialDiagnostic::PartialDiagnostic()=default'],['../classnixf_1_1PartialDiagnostic.html#a27f1ac8be8f074375a97672341420878',1,'nixf::PartialDiagnostic::PartialDiagnostic(LexerCursorRange Range)']]], + ['parts_56',['parts',['../classnixf_1_1ExprString.html#adbf204757a9eefdb3b04234ddacb6288',1,'nixf::ExprString::parts()'],['../classnixf_1_1ExprPath.html#ad472e577ac0c80d7cda738ca8a711509',1,'nixf::ExprPath::parts()']]], + ['path_57',['path',['../classnixbc_1_1OriginPath.html#a7d8b1bdb6322be8ba10a60f4020ce6e0',1,'nixbc::OriginPath::path()'],['../classnixbc_1_1OriginPath.html#aed7bff348de26eaf99bef3230ef495d1',1,'nixbc::OriginPath::path() const'],['../classnixf_1_1Binding.html#a3c053a2774353025ebeb784f6ea6e8be',1,'nixf::Binding::path()'],['../classnixf_1_1ExprSelect.html#acaf24533f8ba9dfe4e43ba4a88fdb4b7',1,'nixf::ExprSelect::path()']]], + ['path_58',['Path',['../namespacelspserver.html#a06c075a08ebb57bbbdc359b65510e158',1,'lspserver']]], + ['path_2eh_59',['Path.h',['../Path_8h.html',1,'']]], + ['pathequal_60',['pathEqual',['../namespacelspserver.html#a64f08c900dbfd60a48d456ca9eb746ad',1,'lspserver']]], + ['pathref_61',['PathRef',['../namespacelspserver.html#ac9728323076db16b94f616596851b344',1,'lspserver']]], + ['pathstartswith_62',['pathStartsWith',['../namespacelspserver.html#ae9c525c95cbbba2eeb3e87072a085db9',1,'lspserver']]], + ['percentage_63',['percentage',['../structlspserver_1_1WorkDoneProgressBegin.html#a7da90f0815a0bdd72734e913333e2c57',1,'lspserver::WorkDoneProgressBegin::percentage'],['../structlspserver_1_1WorkDoneProgressReport.html#ae430ee7ba4445405f89ad0163fdc72ef',1,'lspserver::WorkDoneProgressReport::percentage']]], + ['pid_64',['PID',['../structnixd_1_1util_1_1PipedProc.html#a54c99438739be5407e2b0f4bfadf7ec2',1,'nixd::util::PipedProc']]], + ['pipedproc_65',['PipedProc',['../structnixd_1_1util_1_1PipedProc.html',1,'nixd::util']]], + ['pipedproc_2eh_66',['PipedProc.h',['../PipedProc_8h.html',1,'']]], + ['plaintext_67',['PlainText',['../namespacelspserver.html#a6d13302ad950c821ee002913c8387a00ab7ebbf7f254ef646928dd58f62383a85',1,'lspserver::PlainText'],['../namespacelspserver.html#ac7ba537910cf2ac19f50ecf4bf062c00ab7ebbf7f254ef646928dd58f62383a85',1,'lspserver::PlainText']]], + ['playing_20with_20tt_20nix_3a_3aexpr_20tt_20expressions_68',['libnixt, Playing with <tt>nix::Expr</tt> expressions.',['../md_libnixt_2README.html',1,'']]], + ['posint_69',['PosInt',['../namespacenixbc.html#a6e593d11da3298b2714e800dbc8761f5',1,'nixbc']]], + ['position_70',['Position',['../structlspserver_1_1Position.html',1,'lspserver::Position'],['../classnixf_1_1Position.html',1,'nixf::Position']]], + ['position_71',['position',['../structlspserver_1_1DocumentOnTypeFormattingParams.html#a5af0b7c4f1a1dc3244fe24e35a0adfe0',1,'lspserver::DocumentOnTypeFormattingParams::position'],['../structlspserver_1_1TextDocumentPositionParams.html#a38c6b8d6613387f4ca3d6f98432fd0a1',1,'lspserver::TextDocumentPositionParams::position'],['../structlspserver_1_1RenameParams.html#a60833e9cc128c48e3abb297329d5cfa6',1,'lspserver::RenameParams::position'],['../structlspserver_1_1InlayHint.html#ad7d822a822d0be408bfb4897eed84128',1,'lspserver::InlayHint::position'],['../classnixf_1_1LexerCursor.html#acecacc84f3db35e01501a85d6400f839',1,'nixf::LexerCursor::position()']]], + ['position_72',['Position',['../classnixf_1_1Position.html#a756ab226e937e61b42d8bea9e6dc0b6b',1,'nixf::Position::Position()=default'],['../classnixf_1_1Position.html#af6c84ed2e0f97b1b44c0319c846dcc05',1,'nixf::Position::Position(int64_t Line, int64_t Column)']]], + ['positionrange_73',['PositionRange',['../classnixf_1_1PositionRange.html',1,'nixf::PositionRange'],['../classnixf_1_1PositionRange.html#afd37d1f5730ab2af25c8303ec368c508',1,'nixf::PositionRange::PositionRange()=default'],['../classnixf_1_1PositionRange.html#acf4f289983d5befb4598558c04be2ddd',1,'nixf::PositionRange::PositionRange(Position Begin, Position End)'],['../classnixf_1_1PositionRange.html#ae3881f5adb879ee613f22f7455524c0d',1,'nixf::PositionRange::PositionRange(Position Pos)']]], + ['positionrange_74',['positionRange',['../classnixf_1_1Node.html#aabfbecfd26d2a3feac1dd2f86404ecba',1,'nixf::Node']]], + ['positions_75',['positions',['../structlspserver_1_1SelectionRangeParams.html#ac7f61f0fad2a2a4bd330c2e01ccbf999',1,'lspserver::SelectionRangeParams']]], + ['positiontooffset_76',['positionToOffset',['../namespacelspserver.html#adc670be77dee1777c3e8bbd1e8e50b90',1,'lspserver']]], + ['preview_77',['Features Preview',['../md_README.html#autotoc_md44',1,'']]], + ['previousresultid_78',['previousResultId',['../structlspserver_1_1SemanticTokensDeltaParams.html#ab387a9b38a50f33a1a209d5aa4fd008c',1,'lspserver::SemanticTokensDeltaParams']]], + ['proc_79',['proc',['../classnixd_1_1OwnedEvalClient.html#acb524844a610498efc42a113c2672f55',1,'nixd::OwnedEvalClient']]], + ['processid_80',['processId',['../structlspserver_1_1InitializeParams.html#aa6b69abd76a63349f650f2eab5315dc1',1,'lspserver::InitializeParams']]], + ['progressparams_81',['ProgressParams',['../structlspserver_1_1ProgressParams.html',1,'lspserver']]], + ['project_20from_20source_82',['Build the project from source',['../md_nixd_2docs_2user-guide.html#autotoc_md29',1,'']]], + ['property_83',['Property',['../namespacelspserver.html#aaa34ea3819069fbee52018467e9586e0a5ad234cb2cde4266195252a23ca7d84e',1,'lspserver::Property'],['../namespacelspserver.html#a2c2f610d4b7f64335e8d68b47e18ea6fa5ad234cb2cde4266195252a23ca7d84e',1,'lspserver::Property']]], + ['ps_5fexpr_84',['PS_Expr',['../classnixf_1_1Parser.html#a7223a2cf217acfdedaa4e053c6777d88a878d15cf66f15137182468c1cb6e7b3d',1,'nixf::Parser']]], + ['ps_5findstring_85',['PS_IndString',['../classnixf_1_1Parser.html#a7223a2cf217acfdedaa4e053c6777d88a3ce52f13dc3bc9869a5fb8d707ccb493',1,'nixf::Parser']]], + ['ps_5fpath_86',['PS_Path',['../classnixf_1_1Parser.html#a7223a2cf217acfdedaa4e053c6777d88ac08fdc99ed7907f318cda66a585d6751',1,'nixf::Parser']]], + ['ps_5fstring_87',['PS_String',['../classnixf_1_1Parser.html#a7223a2cf217acfdedaa4e053c6777d88a2d59fead25ba266455ffddcdd943ce0d',1,'nixf::Parser']]], + ['ptable_88',['PTable',['../structnixt_1_1DeserializeContext.html#a9e6e738b82a819985113dcfb8450158c',1,'nixt::DeserializeContext']]], + ['ptrpool_89',['PtrPool',['../structnixt_1_1PtrPool.html',1,'nixt']]], + ['ptrpool_2eh_90',['PtrPool.h',['../PtrPool_8h.html',1,'']]], + ['ptrpool_3c_20nix_3a_3aexpr_20_3e_91',['PtrPool< nix::Expr >',['../structnixt_1_1PtrPool.html',1,'nixt']]], + ['publishdiagnosticsparams_92',['PublishDiagnosticsParams',['../structlspserver_1_1PublishDiagnosticsParams.html',1,'lspserver']]] +]; diff --git a/search/classes_0.js b/search/classes_0.js new file mode 100644 index 000000000..c37d8a808 --- /dev/null +++ b/search/classes_0.js @@ -0,0 +1,16 @@ +var searchData= +[ + ['applyworkspaceeditparams_0',['ApplyWorkspaceEditParams',['../structlspserver_1_1ApplyWorkspaceEditParams.html',1,'lspserver']]], + ['applyworkspaceeditresponse_1',['ApplyWorkspaceEditResponse',['../structlspserver_1_1ApplyWorkspaceEditResponse.html',1,'lspserver']]], + ['arrayref_2',['ArrayRef',['../structnixt_1_1ArrayRef.html',1,'nixt']]], + ['astdeserializer_3',['ASTDeserializer',['../classnixt_1_1ASTDeserializer.html',1,'nixt']]], + ['astheader_4',['ASTHeader',['../structnixt_1_1ASTHeader.html',1,'nixt']]], + ['astnode_5',['ASTNode',['../structlspserver_1_1ASTNode.html',1,'lspserver']]], + ['astparams_6',['ASTParams',['../structlspserver_1_1ASTParams.html',1,'lspserver']]], + ['attribute_7',['Attribute',['../classnixf_1_1Attribute.html',1,'nixf']]], + ['attrname_8',['AttrName',['../classnixf_1_1AttrName.html',1,'nixf']]], + ['attrpath_9',['AttrPath',['../classnixf_1_1AttrPath.html',1,'nixf']]], + ['autoclosefd_10',['AutoCloseFD',['../classnixd_1_1util_1_1AutoCloseFD.html',1,'nixd::util']]], + ['autohuppid_11',['AutoHUPPID',['../classnixd_1_1util_1_1AutoHUPPID.html',1,'nixd::util']]], + ['autoremoveshm_12',['AutoRemoveShm',['../classnixd_1_1util_1_1AutoRemoveShm.html',1,'nixd::util']]] +]; diff --git a/search/classes_1.js b/search/classes_1.js new file mode 100644 index 000000000..2c07e4793 --- /dev/null +++ b/search/classes_1.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['binding_0',['Binding',['../classnixf_1_1Binding.html',1,'nixf']]], + ['binds_1',['Binds',['../classnixf_1_1Binds.html',1,'nixf']]] +]; diff --git a/search/classes_10.js b/search/classes_10.js new file mode 100644 index 000000000..19ba37ff3 --- /dev/null +++ b/search/classes_10.js @@ -0,0 +1,13 @@ +var searchData= +[ + ['textdocumentcontentchangeevent_0',['TextDocumentContentChangeEvent',['../structlspserver_1_1TextDocumentContentChangeEvent.html',1,'lspserver']]], + ['textdocumentedit_1',['TextDocumentEdit',['../structlspserver_1_1TextDocumentEdit.html',1,'lspserver']]], + ['textdocumentidentifier_2',['TextDocumentIdentifier',['../structlspserver_1_1TextDocumentIdentifier.html',1,'lspserver']]], + ['textdocumentitem_3',['TextDocumentItem',['../structlspserver_1_1TextDocumentItem.html',1,'lspserver']]], + ['textdocumentpositionparams_4',['TextDocumentPositionParams',['../structlspserver_1_1TextDocumentPositionParams.html',1,'lspserver']]], + ['textedit_5',['TextEdit',['../structlspserver_1_1TextEdit.html',1,'lspserver::TextEdit'],['../classnixf_1_1TextEdit.html',1,'nixf::TextEdit']]], + ['token_6',['Token',['../classnixf_1_1Token.html',1,'nixf']]], + ['tweakargs_7',['TweakArgs',['../structlspserver_1_1TweakArgs.html',1,'lspserver']]], + ['typehierarchyitem_8',['TypeHierarchyItem',['../structlspserver_1_1TypeHierarchyItem.html',1,'lspserver']]], + ['typehierarchyprepareparams_9',['TypeHierarchyPrepareParams',['../structlspserver_1_1TypeHierarchyPrepareParams.html',1,'lspserver']]] +]; diff --git a/search/classes_11.js b/search/classes_11.js new file mode 100644 index 000000000..5b81e90d1 --- /dev/null +++ b/search/classes_11.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['uri_0',['URI',['../classlspserver_1_1URI.html',1,'lspserver']]], + ['uriforfile_1',['URIForFile',['../structlspserver_1_1URIForFile.html',1,'lspserver']]], + ['urischeme_2',['URIScheme',['../classlspserver_1_1URIScheme.html',1,'lspserver']]] +]; diff --git a/search/classes_12.js b/search/classes_12.js new file mode 100644 index 000000000..bc1e876de --- /dev/null +++ b/search/classes_12.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['versionedtextdocumentidentifier_0',['VersionedTextDocumentIdentifier',['../structlspserver_1_1VersionedTextDocumentIdentifier.html',1,'lspserver']]] +]; diff --git a/search/classes_13.js b/search/classes_13.js new file mode 100644 index 000000000..d045f227f --- /dev/null +++ b/search/classes_13.js @@ -0,0 +1,9 @@ +var searchData= +[ + ['workdoneprogressbegin_0',['WorkDoneProgressBegin',['../structlspserver_1_1WorkDoneProgressBegin.html',1,'lspserver']]], + ['workdoneprogresscreateparams_1',['WorkDoneProgressCreateParams',['../structlspserver_1_1WorkDoneProgressCreateParams.html',1,'lspserver']]], + ['workdoneprogressend_2',['WorkDoneProgressEnd',['../structlspserver_1_1WorkDoneProgressEnd.html',1,'lspserver']]], + ['workdoneprogressreport_3',['WorkDoneProgressReport',['../structlspserver_1_1WorkDoneProgressReport.html',1,'lspserver']]], + ['workspaceedit_4',['WorkspaceEdit',['../structlspserver_1_1WorkspaceEdit.html',1,'lspserver']]], + ['workspacesymbolparams_5',['WorkspaceSymbolParams',['../structlspserver_1_1WorkspaceSymbolParams.html',1,'lspserver']]] +]; diff --git a/search/classes_2.js b/search/classes_2.js new file mode 100644 index 000000000..780b580cf --- /dev/null +++ b/search/classes_2.js @@ -0,0 +1,25 @@ +var searchData= +[ + ['callhierarchyincomingcall_0',['CallHierarchyIncomingCall',['../structlspserver_1_1CallHierarchyIncomingCall.html',1,'lspserver']]], + ['callhierarchyincomingcallsparams_1',['CallHierarchyIncomingCallsParams',['../structlspserver_1_1CallHierarchyIncomingCallsParams.html',1,'lspserver']]], + ['callhierarchyitem_2',['CallHierarchyItem',['../structlspserver_1_1CallHierarchyItem.html',1,'lspserver']]], + ['callhierarchyoutgoingcall_3',['CallHierarchyOutgoingCall',['../structlspserver_1_1CallHierarchyOutgoingCall.html',1,'lspserver']]], + ['callhierarchyoutgoingcallsparams_4',['CallHierarchyOutgoingCallsParams',['../structlspserver_1_1CallHierarchyOutgoingCallsParams.html',1,'lspserver']]], + ['callhierarchyprepareparams_5',['CallHierarchyPrepareParams',['../structlspserver_1_1CallHierarchyPrepareParams.html',1,'lspserver']]], + ['changeannotation_6',['ChangeAnnotation',['../structlspserver_1_1ChangeAnnotation.html',1,'lspserver']]], + ['clangdcompilecommand_7',['ClangdCompileCommand',['../structlspserver_1_1ClangdCompileCommand.html',1,'lspserver']]], + ['clientcapabilities_8',['ClientCapabilities',['../structlspserver_1_1ClientCapabilities.html',1,'lspserver']]], + ['codeaction_9',['CodeAction',['../structlspserver_1_1CodeAction.html',1,'lspserver']]], + ['codeactioncontext_10',['CodeActionContext',['../structlspserver_1_1CodeActionContext.html',1,'lspserver']]], + ['codeactionparams_11',['CodeActionParams',['../structlspserver_1_1CodeActionParams.html',1,'lspserver']]], + ['codedescription_12',['CodeDescription',['../structlspserver_1_1CodeDescription.html',1,'lspserver']]], + ['command_13',['Command',['../structlspserver_1_1Command.html',1,'lspserver']]], + ['completioncontext_14',['CompletionContext',['../structlspserver_1_1CompletionContext.html',1,'lspserver']]], + ['completionitem_15',['CompletionItem',['../structlspserver_1_1CompletionItem.html',1,'lspserver']]], + ['completionlist_16',['CompletionList',['../structlspserver_1_1CompletionList.html',1,'lspserver']]], + ['completionparams_17',['CompletionParams',['../structlspserver_1_1CompletionParams.html',1,'lspserver']]], + ['configurationitem_18',['ConfigurationItem',['../structlspserver_1_1ConfigurationItem.html',1,'lspserver']]], + ['configurationparams_19',['ConfigurationParams',['../structlspserver_1_1ConfigurationParams.html',1,'lspserver']]], + ['configurationsettings_20',['ConfigurationSettings',['../structlspserver_1_1ConfigurationSettings.html',1,'lspserver']]], + ['controller_21',['Controller',['../classnixd_1_1Controller.html',1,'nixd']]] +]; diff --git a/search/classes_3.js b/search/classes_3.js new file mode 100644 index 000000000..2df9d2fd5 --- /dev/null +++ b/search/classes_3.js @@ -0,0 +1,22 @@ +var searchData= +[ + ['deserializecontext_0',['DeserializeContext',['../structnixt_1_1DeserializeContext.html',1,'nixt']]], + ['diagnostic_1',['Diagnostic',['../structlspserver_1_1Diagnostic.html',1,'lspserver::Diagnostic'],['../classnixf_1_1Diagnostic.html',1,'nixf::Diagnostic']]], + ['diagnosticrelatedinformation_2',['DiagnosticRelatedInformation',['../structlspserver_1_1DiagnosticRelatedInformation.html',1,'lspserver']]], + ['didchangeconfigurationparams_3',['DidChangeConfigurationParams',['../structlspserver_1_1DidChangeConfigurationParams.html',1,'lspserver']]], + ['didchangetextdocumentparams_4',['DidChangeTextDocumentParams',['../structlspserver_1_1DidChangeTextDocumentParams.html',1,'lspserver']]], + ['didchangewatchedfilesparams_5',['DidChangeWatchedFilesParams',['../structlspserver_1_1DidChangeWatchedFilesParams.html',1,'lspserver']]], + ['didclosetextdocumentparams_6',['DidCloseTextDocumentParams',['../structlspserver_1_1DidCloseTextDocumentParams.html',1,'lspserver']]], + ['didopentextdocumentparams_7',['DidOpenTextDocumentParams',['../structlspserver_1_1DidOpenTextDocumentParams.html',1,'lspserver']]], + ['didsavetextdocumentparams_8',['DidSaveTextDocumentParams',['../structlspserver_1_1DidSaveTextDocumentParams.html',1,'lspserver']]], + ['documentformattingparams_9',['DocumentFormattingParams',['../structlspserver_1_1DocumentFormattingParams.html',1,'lspserver']]], + ['documenthighlight_10',['DocumentHighlight',['../structlspserver_1_1DocumentHighlight.html',1,'lspserver']]], + ['documentlink_11',['DocumentLink',['../structlspserver_1_1DocumentLink.html',1,'lspserver']]], + ['documentlinkparams_12',['DocumentLinkParams',['../structlspserver_1_1DocumentLinkParams.html',1,'lspserver']]], + ['documentontypeformattingparams_13',['DocumentOnTypeFormattingParams',['../structlspserver_1_1DocumentOnTypeFormattingParams.html',1,'lspserver']]], + ['documentrangeformattingparams_14',['DocumentRangeFormattingParams',['../structlspserver_1_1DocumentRangeFormattingParams.html',1,'lspserver']]], + ['documentsymbol_15',['DocumentSymbol',['../structlspserver_1_1DocumentSymbol.html',1,'lspserver']]], + ['documentsymbolparams_16',['DocumentSymbolParams',['../structlspserver_1_1DocumentSymbolParams.html',1,'lspserver']]], + ['draft_17',['Draft',['../structlspserver_1_1DraftStore_1_1Draft.html',1,'lspserver::DraftStore']]], + ['draftstore_18',['DraftStore',['../classlspserver_1_1DraftStore.html',1,'lspserver']]] +]; diff --git a/search/classes_4.js b/search/classes_4.js new file mode 100644 index 000000000..688a4c585 --- /dev/null +++ b/search/classes_4.js @@ -0,0 +1,29 @@ +var searchData= +[ + ['evalclient_0',['EvalClient',['../classnixd_1_1EvalClient.html',1,'nixd']]], + ['evalprovider_1',['EvalProvider',['../classnixd_1_1EvalProvider.html',1,'nixd']]], + ['event_2',['Event',['../classlspserver_1_1Event.html',1,'lspserver']]], + ['executecommandparams_3',['ExecuteCommandParams',['../structlspserver_1_1ExecuteCommandParams.html',1,'lspserver']]], + ['expr_4',['Expr',['../classnixf_1_1Expr.html',1,'nixf']]], + ['exprassert_5',['ExprAssert',['../classnixf_1_1ExprAssert.html',1,'nixf']]], + ['exprattrs_6',['ExprAttrs',['../classnixf_1_1ExprAttrs.html',1,'nixf']]], + ['exprbinop_7',['ExprBinOp',['../classnixf_1_1ExprBinOp.html',1,'nixf']]], + ['exprcall_8',['ExprCall',['../classnixf_1_1ExprCall.html',1,'nixf']]], + ['exprfloat_9',['ExprFloat',['../classnixf_1_1ExprFloat.html',1,'nixf']]], + ['exprif_10',['ExprIf',['../classnixf_1_1ExprIf.html',1,'nixf']]], + ['exprint_11',['ExprInt',['../classnixf_1_1ExprInt.html',1,'nixf']]], + ['exprlambda_12',['ExprLambda',['../classnixf_1_1ExprLambda.html',1,'nixf']]], + ['exprlet_13',['ExprLet',['../classnixf_1_1ExprLet.html',1,'nixf']]], + ['exprlist_14',['ExprList',['../classnixf_1_1ExprList.html',1,'nixf']]], + ['exprop_15',['ExprOp',['../classnixf_1_1ExprOp.html',1,'nixf']]], + ['exprophasattr_16',['ExprOpHasAttr',['../classnixf_1_1ExprOpHasAttr.html',1,'nixf']]], + ['exprparen_17',['ExprParen',['../classnixf_1_1ExprParen.html',1,'nixf']]], + ['exprpath_18',['ExprPath',['../classnixf_1_1ExprPath.html',1,'nixf']]], + ['exprselect_19',['ExprSelect',['../classnixf_1_1ExprSelect.html',1,'nixf']]], + ['exprstring_20',['ExprString',['../classnixf_1_1ExprString.html',1,'nixf']]], + ['exprunaryop_21',['ExprUnaryOp',['../classnixf_1_1ExprUnaryOp.html',1,'nixf']]], + ['exprvalueparams_22',['ExprValueParams',['../structnixd_1_1rpc_1_1ExprValueParams.html',1,'nixd::rpc']]], + ['exprvalueresponse_23',['ExprValueResponse',['../structnixd_1_1rpc_1_1ExprValueResponse.html',1,'nixd::rpc']]], + ['exprvar_24',['ExprVar',['../classnixf_1_1ExprVar.html',1,'nixf']]], + ['exprwith_25',['ExprWith',['../classnixf_1_1ExprWith.html',1,'nixf']]] +]; diff --git a/search/classes_5.js b/search/classes_5.js new file mode 100644 index 000000000..c2b093293 --- /dev/null +++ b/search/classes_5.js @@ -0,0 +1,13 @@ +var searchData= +[ + ['f_0',['F',['../structnixt_1_1detail_1_1RB_1_1F.html',1,'nixt::detail::RB']]], + ['fileevent_1',['FileEvent',['../structlspserver_1_1FileEvent.html',1,'lspserver']]], + ['fileheader_2',['FileHeader',['../structnixbc_1_1FileHeader.html',1,'nixbc']]], + ['filestatus_3',['FileStatus',['../structlspserver_1_1FileStatus.html',1,'lspserver']]], + ['fix_4',['Fix',['../classnixf_1_1Fix.html',1,'nixf']]], + ['foldingrange_5',['FoldingRange',['../structlspserver_1_1FoldingRange.html',1,'lspserver']]], + ['foldingrangeparams_6',['FoldingRangeParams',['../structlspserver_1_1FoldingRangeParams.html',1,'lspserver']]], + ['formal_7',['Formal',['../classnixf_1_1Formal.html',1,'nixf']]], + ['formals_8',['Formals',['../classnixf_1_1Formals.html',1,'nixf']]], + ['format_5fprovider_3c_20lspserver_3a_3aposition_20_3e_9',['format_provider< lspserver::Position >',['../structllvm_1_1format__provider_3_01lspserver_1_1Position_01_4.html',1,'llvm']]] +]; diff --git a/search/classes_6.js b/search/classes_6.js new file mode 100644 index 000000000..1f5f6ae88 --- /dev/null +++ b/search/classes_6.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['handlerregistry_0',['HandlerRegistry',['../structlspserver_1_1HandlerRegistry.html',1,'lspserver']]], + ['hover_1',['Hover',['../structlspserver_1_1Hover.html',1,'lspserver']]] +]; diff --git a/search/classes_7.js b/search/classes_7.js new file mode 100644 index 000000000..58780d0f6 --- /dev/null +++ b/search/classes_7.js @@ -0,0 +1,14 @@ +var searchData= +[ + ['identifier_0',['Identifier',['../classnixf_1_1Identifier.html',1,'nixf']]], + ['inactiveregionsparams_1',['InactiveRegionsParams',['../structlspserver_1_1InactiveRegionsParams.html',1,'lspserver']]], + ['inboundport_2',['InboundPort',['../classlspserver_1_1InboundPort.html',1,'lspserver']]], + ['inherit_3',['Inherit',['../classnixf_1_1Inherit.html',1,'nixf']]], + ['initializationoptions_4',['InitializationOptions',['../structlspserver_1_1InitializationOptions.html',1,'lspserver']]], + ['initializeparams_5',['InitializeParams',['../structlspserver_1_1InitializeParams.html',1,'lspserver']]], + ['inlayhint_6',['InlayHint',['../structlspserver_1_1InlayHint.html',1,'lspserver']]], + ['inlayhintsparams_7',['InlayHintsParams',['../structlspserver_1_1InlayHintsParams.html',1,'lspserver']]], + ['interpolablepart_8',['InterpolablePart',['../classnixf_1_1InterpolablePart.html',1,'nixf']]], + ['interpolatedparts_9',['InterpolatedParts',['../classnixf_1_1InterpolatedParts.html',1,'nixf']]], + ['interpolation_10',['Interpolation',['../classnixf_1_1Interpolation.html',1,'nixf']]] +]; diff --git a/search/classes_8.js b/search/classes_8.js new file mode 100644 index 000000000..c7ae868d7 --- /dev/null +++ b/search/classes_8.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['key_0',['Key',['../classlspserver_1_1Key.html',1,'lspserver']]] +]; diff --git a/search/classes_9.js b/search/classes_9.js new file mode 100644 index 000000000..6ca85b3cf --- /dev/null +++ b/search/classes_9.js @@ -0,0 +1,13 @@ +var searchData= +[ + ['lambdaarg_0',['LambdaArg',['../classnixf_1_1LambdaArg.html',1,'nixf']]], + ['lexer_1',['Lexer',['../classnixf_1_1Lexer.html',1,'nixf']]], + ['lexercursor_2',['LexerCursor',['../classnixf_1_1LexerCursor.html',1,'nixf']]], + ['lexercursorrange_3',['LexerCursorRange',['../classnixf_1_1LexerCursorRange.html',1,'nixf']]], + ['location_4',['Location',['../structlspserver_1_1Location.html',1,'lspserver']]], + ['logger_5',['Logger',['../classlspserver_1_1Logger.html',1,'lspserver']]], + ['loggingsession_6',['LoggingSession',['../classlspserver_1_1LoggingSession.html',1,'lspserver']]], + ['lspdiagnosticcompare_7',['LSPDiagnosticCompare',['../structlspserver_1_1LSPDiagnosticCompare.html',1,'lspserver']]], + ['lsperror_8',['LSPError',['../classlspserver_1_1LSPError.html',1,'lspserver']]], + ['lspserver_9',['LSPServer',['../classlspserver_1_1LSPServer.html',1,'lspserver']]] +]; diff --git a/search/classes_a.js b/search/classes_a.js new file mode 100644 index 000000000..b0432ad01 --- /dev/null +++ b/search/classes_a.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['markupcontent_0',['MarkupContent',['../structlspserver_1_1MarkupContent.html',1,'lspserver']]], + ['messagehandler_1',['MessageHandler',['../classlspserver_1_1MessageHandler.html',1,'lspserver']]], + ['misc_2',['Misc',['../classnixf_1_1Misc.html',1,'nixf']]] +]; diff --git a/search/classes_b.js b/search/classes_b.js new file mode 100644 index 000000000..eaaf22ce3 --- /dev/null +++ b/search/classes_b.js @@ -0,0 +1,8 @@ +var searchData= +[ + ['nixtu_0',['NixTU',['../classnixd_1_1NixTU.html',1,'nixd']]], + ['node_1',['Node',['../classnixf_1_1Node.html',1,'nixf']]], + ['nodeheader_2',['NodeHeader',['../structnixbc_1_1NodeHeader.html',1,'nixbc']]], + ['noparams_3',['NoParams',['../structlspserver_1_1NoParams.html',1,'lspserver']]], + ['note_4',['Note',['../classnixf_1_1Note.html',1,'nixf']]] +]; diff --git a/search/classes_c.js b/search/classes_c.js new file mode 100644 index 000000000..1479ab960 --- /dev/null +++ b/search/classes_c.js @@ -0,0 +1,9 @@ +var searchData= +[ + ['op_0',['Op',['../classnixf_1_1Op.html',1,'nixf']]], + ['origin_1',['Origin',['../classnixbc_1_1Origin.html',1,'nixbc']]], + ['originpath_2',['OriginPath',['../classnixbc_1_1OriginPath.html',1,'nixbc']]], + ['outboundport_3',['OutboundPort',['../classlspserver_1_1OutboundPort.html',1,'lspserver']]], + ['ownedevalclient_4',['OwnedEvalClient',['../classnixd_1_1OwnedEvalClient.html',1,'nixd']]], + ['ownedregion_5',['OwnedRegion',['../structnixd_1_1util_1_1OwnedRegion.html',1,'nixd::util']]] +]; diff --git a/search/classes_d.js b/search/classes_d.js new file mode 100644 index 000000000..6be5429de --- /dev/null +++ b/search/classes_d.js @@ -0,0 +1,14 @@ +var searchData= +[ + ['parameterinformation_0',['ParameterInformation',['../structlspserver_1_1ParameterInformation.html',1,'lspserver']]], + ['parsecachef_1',['ParseCacheF',['../structnixt_1_1detail_1_1ParseCacheF.html',1,'nixt::detail']]], + ['parser_2',['Parser',['../classnixf_1_1Parser.html',1,'nixf']]], + ['partialdiagnostic_3',['PartialDiagnostic',['../classnixf_1_1PartialDiagnostic.html',1,'nixf']]], + ['pipedproc_4',['PipedProc',['../structnixd_1_1util_1_1PipedProc.html',1,'nixd::util']]], + ['position_5',['Position',['../structlspserver_1_1Position.html',1,'lspserver::Position'],['../classnixf_1_1Position.html',1,'nixf::Position']]], + ['positionrange_6',['PositionRange',['../classnixf_1_1PositionRange.html',1,'nixf']]], + ['progressparams_7',['ProgressParams',['../structlspserver_1_1ProgressParams.html',1,'lspserver']]], + ['ptrpool_8',['PtrPool',['../structnixt_1_1PtrPool.html',1,'nixt']]], + ['ptrpool_3c_20nix_3a_3aexpr_20_3e_9',['PtrPool< nix::Expr >',['../structnixt_1_1PtrPool.html',1,'nixt']]], + ['publishdiagnosticsparams_10',['PublishDiagnosticsParams',['../structlspserver_1_1PublishDiagnosticsParams.html',1,'lspserver']]] +]; diff --git a/search/classes_e.js b/search/classes_e.js new file mode 100644 index 000000000..dc906b882 --- /dev/null +++ b/search/classes_e.js @@ -0,0 +1,14 @@ +var searchData= +[ + ['r_0',['R',['../structnixt_1_1detail_1_1R.html',1,'nixt::detail']]], + ['range_1',['Range',['../structlspserver_1_1Range.html',1,'lspserver']]], + ['rb_2',['RB',['../structnixt_1_1detail_1_1RB.html',1,'nixt::detail']]], + ['recursiveastvisitor_3',['RecursiveASTVisitor',['../structnixt_1_1RecursiveASTVisitor.html',1,'nixt']]], + ['referencecontext_4',['ReferenceContext',['../structlspserver_1_1ReferenceContext.html',1,'lspserver']]], + ['referencelocation_5',['ReferenceLocation',['../structlspserver_1_1ReferenceLocation.html',1,'lspserver']]], + ['referenceparams_6',['ReferenceParams',['../structlspserver_1_1ReferenceParams.html',1,'lspserver']]], + ['registerbcparams_7',['RegisterBCParams',['../structnixd_1_1rpc_1_1RegisterBCParams.html',1,'nixd::rpc']]], + ['renameparams_8',['RenameParams',['../structlspserver_1_1RenameParams.html',1,'lspserver']]], + ['resolveparams_9',['ResolveParams',['../structlspserver_1_1TypeHierarchyItem_1_1ResolveParams.html',1,'lspserver::TypeHierarchyItem']]], + ['resolvetypehierarchyitemparams_10',['ResolveTypeHierarchyItemParams',['../structlspserver_1_1ResolveTypeHierarchyItemParams.html',1,'lspserver']]] +]; diff --git a/search/classes_f.js b/search/classes_f.js new file mode 100644 index 000000000..03555ea0b --- /dev/null +++ b/search/classes_f.js @@ -0,0 +1,19 @@ +var searchData= +[ + ['selectionrange_0',['SelectionRange',['../structlspserver_1_1SelectionRange.html',1,'lspserver']]], + ['selectionrangeparams_1',['SelectionRangeParams',['../structlspserver_1_1SelectionRangeParams.html',1,'lspserver']]], + ['sema_2',['Sema',['../classnixf_1_1Sema.html',1,'nixf']]], + ['semaattrs_3',['SemaAttrs',['../classnixf_1_1SemaAttrs.html',1,'nixf']]], + ['semantictoken_4',['SemanticToken',['../structlspserver_1_1SemanticToken.html',1,'lspserver']]], + ['semantictokens_5',['SemanticTokens',['../structlspserver_1_1SemanticTokens.html',1,'lspserver']]], + ['semantictokensdeltaparams_6',['SemanticTokensDeltaParams',['../structlspserver_1_1SemanticTokensDeltaParams.html',1,'lspserver']]], + ['semantictokensedit_7',['SemanticTokensEdit',['../structlspserver_1_1SemanticTokensEdit.html',1,'lspserver']]], + ['semantictokensordelta_8',['SemanticTokensOrDelta',['../structlspserver_1_1SemanticTokensOrDelta.html',1,'lspserver']]], + ['semantictokensparams_9',['SemanticTokensParams',['../structlspserver_1_1SemanticTokensParams.html',1,'lspserver']]], + ['showmessageparams_10',['ShowMessageParams',['../structlspserver_1_1ShowMessageParams.html',1,'lspserver']]], + ['signaturehelp_11',['SignatureHelp',['../structlspserver_1_1SignatureHelp.html',1,'lspserver']]], + ['signatureinformation_12',['SignatureInformation',['../structlspserver_1_1SignatureInformation.html',1,'lspserver']]], + ['streamlogger_13',['StreamLogger',['../classlspserver_1_1StreamLogger.html',1,'lspserver']]], + ['subscription_14',['Subscription',['../classlspserver_1_1Event_1_1Subscription.html',1,'lspserver::Event']]], + ['symbolinformation_15',['SymbolInformation',['../structlspserver_1_1SymbolInformation.html',1,'lspserver']]] +]; diff --git a/search/close.svg b/search/close.svg new file mode 100644 index 000000000..337d6cc13 --- /dev/null +++ b/search/close.svg @@ -0,0 +1,18 @@ + + + + + + diff --git a/search/defines_0.js b/search/defines_0.js new file mode 100644 index 000000000..1b7d0439c --- /dev/null +++ b/search/defines_0.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['def_5ftraverse_5ftype_0',['DEF_TRAVERSE_TYPE',['../Visitor_8h.html#a44f20d102cc60a863f99cfcf913adb73',1,'Visitor.h']]], + ['diag_1',['DIAG',['../Diagnostic_8h.html#a535a3b0a477dc9a5ad95a97c6b1245e9',1,'DIAG: Diagnostic.h'],['../Diagnostic_8cpp.html#a535a3b0a477dc9a5ad95a97c6b1245e9',1,'DIAG: Diagnostic.cpp'],['../Diagnostic_8cpp.html#a535a3b0a477dc9a5ad95a97c6b1245e9',1,'DIAG: Diagnostic.cpp'],['../Diagnostic_8cpp.html#a535a3b0a477dc9a5ad95a97c6b1245e9',1,'DIAG: Diagnostic.cpp']]], + ['diag_5fnote_2',['DIAG_NOTE',['../Diagnostic_8h.html#afe3736072b3caadd3e0b53b53f114401',1,'DIAG_NOTE: Diagnostic.h'],['../Diagnostic_8cpp.html#afe3736072b3caadd3e0b53b53f114401',1,'DIAG_NOTE: Diagnostic.cpp'],['../Diagnostic_8cpp.html#afe3736072b3caadd3e0b53b53f114401',1,'DIAG_NOTE: Diagnostic.cpp']]] +]; diff --git a/search/defines_1.js b/search/defines_1.js new file mode 100644 index 000000000..57d988bed --- /dev/null +++ b/search/defines_1.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['expr_0',['EXPR',['../Basic_8h.html#a66c4fd18ac8f9e2f0a4a7e6ea5a3a7b7',1,'EXPR: Basic.h'],['../Nodes_8cpp.html#a66c4fd18ac8f9e2f0a4a7e6ea5a3a7b7',1,'EXPR: Nodes.cpp']]] +]; diff --git a/search/defines_2.js b/search/defines_2.js new file mode 100644 index 000000000..01565f9e5 --- /dev/null +++ b/search/defines_2.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['nix_5fexpr_0',['NIX_EXPR',['../HookExpr_8h.html#a1e5ff931d487013b06f582d1b9e38c1c',1,'NIX_EXPR: HookExpr.h'],['../Serialize_8h.html#a1e5ff931d487013b06f582d1b9e38c1c',1,'NIX_EXPR: Serialize.h'],['../Visitor_8h.html#a1e5ff931d487013b06f582d1b9e38c1c',1,'NIX_EXPR: Visitor.h'],['../Visitor_8h.html#a1e5ff931d487013b06f582d1b9e38c1c',1,'NIX_EXPR: Visitor.h'],['../Visitor_8h.html#a1e5ff931d487013b06f582d1b9e38c1c',1,'NIX_EXPR: Visitor.h'],['../HookExpr_8cpp.html#a1e5ff931d487013b06f582d1b9e38c1c',1,'NIX_EXPR: HookExpr.cpp'],['../Kinds_8cpp.html#a1e5ff931d487013b06f582d1b9e38c1c',1,'NIX_EXPR: Kinds.cpp'],['../Kinds_8cpp.html#a1e5ff931d487013b06f582d1b9e38c1c',1,'NIX_EXPR: Kinds.cpp']]], + ['node_1',['NODE',['../Basic_8h.html#ae51fb3910ef81fe9a8d43fe6f0c8fbd8',1,'NODE: Basic.h'],['../Nodes_8cpp.html#ae51fb3910ef81fe9a8d43fe6f0c8fbd8',1,'NODE: Nodes.cpp']]] +]; diff --git a/search/defines_3.js b/search/defines_3.js new file mode 100644 index 000000000..6edf06e7f --- /dev/null +++ b/search/defines_3.js @@ -0,0 +1,8 @@ +var searchData= +[ + ['tok_0',['TOK',['../TokenKinds_8h.html#a945154b9ce5490ab4a1da02b8f3de998',1,'TokenKinds.h']]], + ['tok_5fbin_5fop_1',['TOK_BIN_OP',['../ParseOp_8cpp.html#a052cfda61e4253302a7782f4507def5c',1,'ParseOp.cpp']]], + ['tok_5fkeyword_2',['TOK_KEYWORD',['../Lexer_8cpp.html#a55ecb387580ba22c6a8bd4fef5aa5919',1,'TOK_KEYWORD: Lexer.cpp'],['../Token_8h.html#a55ecb387580ba22c6a8bd4fef5aa5919',1,'TOK_KEYWORD: Token.h']]], + ['try_5fto_3',['TRY_TO',['../Visitor_8h.html#ae878ccdb81d0f1de95a6d98b83a64e58',1,'Visitor.h']]], + ['try_5fto_5ftraverse_4',['TRY_TO_TRAVERSE',['../Visitor_8h.html#a7b0e21ce7f2491ebf87b82f627181121',1,'Visitor.h']]] +]; diff --git a/search/enums_0.js b/search/enums_0.js new file mode 100644 index 000000000..c741350d7 --- /dev/null +++ b/search/enums_0.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['attrnamekind_0',['AttrNameKind',['../classnixf_1_1AttrName.html#ae921c55d9c7cdbb7780359b0478d33ab',1,'nixf::AttrName']]] +]; diff --git a/search/enums_1.js b/search/enums_1.js new file mode 100644 index 000000000..bc809604a --- /dev/null +++ b/search/enums_1.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['completionitemkind_0',['CompletionItemKind',['../namespacelspserver.html#aaa34ea3819069fbee52018467e9586e0',1,'lspserver']]], + ['completiontriggerkind_1',['CompletionTriggerKind',['../namespacelspserver.html#a509e18127b3bb638d67ba0aaf019afbe',1,'lspserver']]] +]; diff --git a/search/enums_2.js b/search/enums_2.js new file mode 100644 index 000000000..574e89df0 --- /dev/null +++ b/search/enums_2.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['diagnostickind_0',['DiagnosticKind',['../classnixf_1_1Diagnostic.html#aa2fa4a9efdd2d50f4773a2e35001ec51',1,'nixf::Diagnostic']]], + ['diagnostictag_1',['DiagnosticTag',['../namespacenixf.html#a107eebaa5e9ba959f752e4ac049cf078',1,'nixf::DiagnosticTag'],['../namespacelspserver.html#af6f9096acddc880ee3694315f62d1be2',1,'lspserver::DiagnosticTag']]], + ['documenthighlightkind_2',['DocumentHighlightKind',['../namespacelspserver.html#a63ffb3d295b12032400790fb555de2e9',1,'lspserver']]] +]; diff --git a/search/enums_3.js b/search/enums_3.js new file mode 100644 index 000000000..1d3415a9d --- /dev/null +++ b/search/enums_3.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['encodekind_0',['EncodeKind',['../namespacenixt.html#a5bcdc1a90b949f11bc1a7147ce48c50d',1,'nixt']]], + ['errorcode_1',['ErrorCode',['../namespacelspserver.html#a748780c668b7e2d2e3700f6e7075b078',1,'lspserver']]], + ['exprkind_2',['ExprKind',['../namespacenixbc.html#a0612133b6c5a4bca6d5c1e4c063759ce',1,'nixbc::ExprKind'],['../namespacenixt_1_1ek.html#a92936c4da989def360778fc59ea9dc8b',1,'nixt::ek::ExprKind']]] +]; diff --git a/search/enums_4.js b/search/enums_4.js new file mode 100644 index 000000000..a69636812 --- /dev/null +++ b/search/enums_4.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['filechangetype_0',['FileChangeType',['../namespacelspserver.html#a1acdb8484c09865d22820cdd7e4242ab',1,'lspserver']]] +]; diff --git a/search/enums_5.js b/search/enums_5.js new file mode 100644 index 000000000..1616f507d --- /dev/null +++ b/search/enums_5.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['inlayhintkind_0',['InlayHintKind',['../namespacelspserver.html#ad0e04d3cce4fb889bbf88064199247f8',1,'lspserver']]], + ['inserttextformat_1',['InsertTextFormat',['../namespacelspserver.html#ac7ba537910cf2ac19f50ecf4bf062c00',1,'lspserver']]], + ['interpolablepartkind_2',['InterpolablePartKind',['../classnixf_1_1InterpolablePart.html#a7454ab26e6f93fe207838d0388a70a12',1,'nixf::InterpolablePart']]] +]; diff --git a/search/enums_6.js b/search/enums_6.js new file mode 100644 index 000000000..12bf6154e --- /dev/null +++ b/search/enums_6.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['jsonstreamstyle_0',['JSONStreamStyle',['../namespacelspserver.html#a452c423a64856fd113d0303affd5a1b8',1,'lspserver']]] +]; diff --git a/search/enums_7.js b/search/enums_7.js new file mode 100644 index 000000000..18f7a8fb4 --- /dev/null +++ b/search/enums_7.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['level_0',['Level',['../classlspserver_1_1Logger.html#a96543597ca6f5377381ee5a4dba571fa',1,'lspserver::Logger']]], + ['loglevel_1',['LogLevel',['../namespacenixd_1_1rpc.html#adb82fac4db5997115883b375252dd765',1,'nixd::rpc']]] +]; diff --git a/search/enums_8.js b/search/enums_8.js new file mode 100644 index 000000000..7ad4ec125 --- /dev/null +++ b/search/enums_8.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['markupkind_0',['MarkupKind',['../namespacelspserver.html#a6d13302ad950c821ee002913c8387a00',1,'lspserver']]], + ['messagetype_1',['MessageType',['../namespacelspserver.html#a200604f8ba85e73cda84aa47933d8fcb',1,'lspserver']]] +]; diff --git a/search/enums_9.js b/search/enums_9.js new file mode 100644 index 000000000..9810d7340 --- /dev/null +++ b/search/enums_9.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['nodekind_0',['NodeKind',['../classnixf_1_1Node.html#a33f84590ebf2cafe57a2ae525a3cb24f',1,'nixf::Node']]], + ['notekind_1',['NoteKind',['../classnixf_1_1Note.html#afd0b733e88a64c9f06305eacfbc49592',1,'nixf::Note']]] +]; diff --git a/search/enums_a.js b/search/enums_a.js new file mode 100644 index 000000000..4c6af8836 --- /dev/null +++ b/search/enums_a.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['offsetencoding_0',['OffsetEncoding',['../namespacelspserver.html#a2ea2a228752a8a5289ef9ed3c27bbc88',1,'lspserver']]], + ['originkind_1',['OriginKind',['../classnixbc_1_1Origin.html#ac48aab2b76b7be9129c325b1c0852cc8',1,'nixbc::Origin']]] +]; diff --git a/search/enums_b.js b/search/enums_b.js new file mode 100644 index 000000000..5376aeb0e --- /dev/null +++ b/search/enums_b.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['parserstate_0',['ParserState',['../classnixf_1_1Parser.html#a7223a2cf217acfdedaa4e053c6777d88',1,'nixf::Parser']]] +]; diff --git a/search/enums_c.js b/search/enums_c.js new file mode 100644 index 000000000..e5fcf2fba --- /dev/null +++ b/search/enums_c.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['resultkinds_0',['ResultKinds',['../structnixd_1_1rpc_1_1ExprValueResponse.html#aae25daf6dbf5578afc233532331a5b40',1,'nixd::rpc::ExprValueResponse']]] +]; diff --git a/search/enums_d.js b/search/enums_d.js new file mode 100644 index 000000000..ef8579b13 --- /dev/null +++ b/search/enums_d.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['severity_0',['Severity',['../classnixf_1_1Diagnostic.html#a1ae78a8db740ce789f2dc8b4603f9d7b',1,'nixf::Diagnostic']]], + ['symbolkind_1',['SymbolKind',['../namespacelspserver.html#a2c2f610d4b7f64335e8d68b47e18ea6f',1,'lspserver']]], + ['symboltag_2',['SymbolTag',['../namespacelspserver.html#a0ab41ec28e07b679bf3d6de08c39b4bf',1,'lspserver']]] +]; diff --git a/search/enums_e.js b/search/enums_e.js new file mode 100644 index 000000000..20b58e2ec --- /dev/null +++ b/search/enums_e.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['textdocumentsynckind_0',['TextDocumentSyncKind',['../namespacelspserver.html#a96d435eb7c5ff25b80532d96bbedef3e',1,'lspserver']]], + ['tokenkind_1',['TokenKind',['../namespacenixf_1_1tok.html#ac48889fb889670cdfa47e8ec6b2006b2',1,'nixf::tok']]], + ['tracelevel_2',['TraceLevel',['../namespacelspserver.html#a84ff90cc9ec54bbbee73d83bdf8c6928',1,'lspserver']]], + ['typehierarchydirection_3',['TypeHierarchyDirection',['../namespacelspserver.html#a7d97020df0f5bac6de94854de72d22eb',1,'lspserver']]] +]; diff --git a/search/enums_f.js b/search/enums_f.js new file mode 100644 index 000000000..9fa629d4a --- /dev/null +++ b/search/enums_f.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['valuekinds_0',['ValueKinds',['../structnixd_1_1rpc_1_1ExprValueResponse.html#a788097e9ca88ca57b0059f5805570f21',1,'nixd::rpc::ExprValueResponse']]] +]; diff --git a/search/enumvalues_0.js b/search/enumvalues_0.js new file mode 100644 index 000000000..4c13e37c3 --- /dev/null +++ b/search/enumvalues_0.js @@ -0,0 +1,8 @@ +var searchData= +[ + ['ank_5fid_0',['ANK_ID',['../classnixf_1_1AttrName.html#ae921c55d9c7cdbb7780359b0478d33aba5f10fa5c4c1335c687e0e520ee7dcef3',1,'nixf::AttrName']]], + ['ank_5finterpolation_1',['ANK_Interpolation',['../classnixf_1_1AttrName.html#ae921c55d9c7cdbb7780359b0478d33aba5b993216745a1a20ab102f759fbdefbf',1,'nixf::AttrName']]], + ['ank_5fstring_2',['ANK_String',['../classnixf_1_1AttrName.html#ae921c55d9c7cdbb7780359b0478d33abaa46fa6637544de51c837f78c3dd6cad2',1,'nixf::AttrName']]], + ['array_3',['Array',['../namespacelspserver.html#a2c2f610d4b7f64335e8d68b47e18ea6fa4410ec34d9e6c1a68100ca0ce033fb17',1,'lspserver']]], + ['attrnamesymbol_4',['AttrNameSymbol',['../namespacenixt.html#a5bcdc1a90b949f11bc1a7147ce48c50da1a95272f8e9e810d04d1a418a1178dd8',1,'nixt']]] +]; diff --git a/search/enumvalues_1.js b/search/enumvalues_1.js new file mode 100644 index 000000000..78a611c77 --- /dev/null +++ b/search/enumvalues_1.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['boolean_0',['Boolean',['../namespacelspserver.html#a2c2f610d4b7f64335e8d68b47e18ea6fa27226c864bac7454a8504f8edb15d95b',1,'lspserver']]], + ['both_1',['Both',['../namespacelspserver.html#a7d97020df0f5bac6de94854de72d22eba130c5b3473c57faa76e2a1c54e26f88e',1,'lspserver']]] +]; diff --git a/search/enumvalues_10.js b/search/enumvalues_10.js new file mode 100644 index 000000000..b63b7975d --- /dev/null +++ b/search/enumvalues_10.js @@ -0,0 +1,10 @@ +var searchData= +[ + ['unit_0',['Unit',['../namespacelspserver.html#aaa34ea3819069fbee52018467e9586e0a19c562a36aeb455d09534f93b4f5236f',1,'lspserver']]], + ['unknownerrorcode_1',['UnknownErrorCode',['../namespacelspserver.html#a748780c668b7e2d2e3700f6e7075b078a6987ecdaa445fee7770c8ee77c1c0551',1,'lspserver']]], + ['unnecessary_2',['Unnecessary',['../namespacelspserver.html#af6f9096acddc880ee3694315f62d1be2aa53a0e56e8caae20491695a36a74b59c',1,'lspserver']]], + ['unsupportedencoding_3',['UnsupportedEncoding',['../namespacelspserver.html#a2ea2a228752a8a5289ef9ed3c27bbc88aa3f2a49bd188837ebb624a98293899a6',1,'lspserver']]], + ['utf16_4',['UTF16',['../namespacelspserver.html#a2ea2a228752a8a5289ef9ed3c27bbc88af023832671d1cf95ebe4934d58722a14',1,'lspserver']]], + ['utf32_5',['UTF32',['../namespacelspserver.html#a2ea2a228752a8a5289ef9ed3c27bbc88a92dca193c750fb95044806ff8f00db6c',1,'lspserver']]], + ['utf8_6',['UTF8',['../namespacelspserver.html#a2ea2a228752a8a5289ef9ed3c27bbc88aeb7ee0fb585e2ac64fdc086466c474b1',1,'lspserver']]] +]; diff --git a/search/enumvalues_11.js b/search/enumvalues_11.js new file mode 100644 index 000000000..06f53a436 --- /dev/null +++ b/search/enumvalues_11.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['value_0',['Value',['../namespacelspserver.html#aaa34ea3819069fbee52018467e9586e0a689202409e48743b914713f96d93947c',1,'lspserver']]], + ['variable_1',['Variable',['../namespacelspserver.html#aaa34ea3819069fbee52018467e9586e0a47c14840d8e15331fa420b9b2f757cd9',1,'lspserver::Variable'],['../namespacelspserver.html#a2c2f610d4b7f64335e8d68b47e18ea6fa47c14840d8e15331fa420b9b2f757cd9',1,'lspserver::Variable']]], + ['verbose_2',['Verbose',['../classlspserver_1_1Logger.html#a96543597ca6f5377381ee5a4dba571faa2aede9106ebc0fdf12422f0613a6988a',1,'lspserver::Logger::Verbose'],['../namespacelspserver.html#a84ff90cc9ec54bbbee73d83bdf8c6928ad4a9fa383ab700c5bdd6f31cf7df0faf',1,'lspserver::Verbose']]] +]; diff --git a/search/enumvalues_12.js b/search/enumvalues_12.js new file mode 100644 index 000000000..d532c9565 --- /dev/null +++ b/search/enumvalues_12.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['warning_0',['Warning',['../namespacelspserver.html#a200604f8ba85e73cda84aa47933d8fcba0eaadb4fcb48a0a0ed7bc9868be9fbaa',1,'lspserver::Warning'],['../namespacenixd_1_1rpc.html#adb82fac4db5997115883b375252dd765a0eaadb4fcb48a0a0ed7bc9868be9fbaa',1,'nixd::rpc::Warning']]], + ['write_1',['Write',['../namespacelspserver.html#a63ffb3d295b12032400790fb555de2e9a1129c0e4d43f2d121652a7302712cff6',1,'lspserver']]] +]; diff --git a/search/enumvalues_2.js b/search/enumvalues_2.js new file mode 100644 index 000000000..87eae84c2 --- /dev/null +++ b/search/enumvalues_2.js @@ -0,0 +1,11 @@ +var searchData= +[ + ['changed_0',['Changed',['../namespacelspserver.html#a1acdb8484c09865d22820cdd7e4242aba820dbd2b8f606aff866c0bbfb6b737c1',1,'lspserver']]], + ['children_1',['Children',['../namespacelspserver.html#a7d97020df0f5bac6de94854de72d22eba64e4aca4297806247f62a7b5f8cbd3df',1,'lspserver']]], + ['class_2',['Class',['../namespacelspserver.html#aaa34ea3819069fbee52018467e9586e0a9bd81329febf6efe22788e03ddeaf0af',1,'lspserver::Class'],['../namespacelspserver.html#a2c2f610d4b7f64335e8d68b47e18ea6fa9bd81329febf6efe22788e03ddeaf0af',1,'lspserver::Class']]], + ['color_3',['Color',['../namespacelspserver.html#aaa34ea3819069fbee52018467e9586e0acb5feb1b7314637725a2e73bdc9f7295',1,'lspserver']]], + ['constant_4',['Constant',['../namespacelspserver.html#aaa34ea3819069fbee52018467e9586e0acb17869fe51048b5a5c4c6106551a255',1,'lspserver::Constant'],['../namespacelspserver.html#a2c2f610d4b7f64335e8d68b47e18ea6facb17869fe51048b5a5c4c6106551a255',1,'lspserver::Constant']]], + ['constructor_5',['Constructor',['../namespacelspserver.html#aaa34ea3819069fbee52018467e9586e0a678d0a4421b60dc59999ac02837496a6',1,'lspserver::Constructor'],['../namespacelspserver.html#a2c2f610d4b7f64335e8d68b47e18ea6fa678d0a4421b60dc59999ac02837496a6',1,'lspserver::Constructor']]], + ['contentmodified_6',['ContentModified',['../namespacelspserver.html#a748780c668b7e2d2e3700f6e7075b078a9b94414188b105cb3bbefa5449c4b15e',1,'lspserver']]], + ['created_7',['Created',['../namespacelspserver.html#a1acdb8484c09865d22820cdd7e4242aba0eceeb45861f9585dd7a97a3e36f85c6',1,'lspserver']]] +]; diff --git a/search/enumvalues_3.js b/search/enumvalues_3.js new file mode 100644 index 000000000..b39e00d94 --- /dev/null +++ b/search/enumvalues_3.js @@ -0,0 +1,11 @@ +var searchData= +[ + ['debug_0',['Debug',['../classlspserver_1_1Logger.html#a96543597ca6f5377381ee5a4dba571faa4b6c6efd37089c0ad40995881daf45c0',1,'lspserver::Logger::Debug'],['../namespacenixd_1_1rpc.html#adb82fac4db5997115883b375252dd765aa603905470e2a5b8c13e96b579ef0dba',1,'nixd::rpc::Debug']]], + ['deleted_1',['Deleted',['../namespacelspserver.html#a1acdb8484c09865d22820cdd7e4242aba5fe6005bf6e415c950c011fb65f12b8f',1,'lspserver']]], + ['delimited_2',['Delimited',['../namespacelspserver.html#a452c423a64856fd113d0303affd5a1b8af6a6c0fefcadb1df90205a0b9a7fb8b7',1,'lspserver']]], + ['deprecated_3',['Deprecated',['../namespacelspserver.html#af6f9096acddc880ee3694315f62d1be2a106522b707d7ea2d4eb122d313c919c0',1,'lspserver::Deprecated'],['../namespacelspserver.html#a0ab41ec28e07b679bf3d6de08c39b4bfa0ac54cb10e7494cff1949826e8e32f7b',1,'lspserver::Deprecated']]], + ['designator_4',['Designator',['../namespacelspserver.html#ad0e04d3cce4fb889bbf88064199247f8abd5f348ef116c03d1c6e165aee01d7c6',1,'lspserver']]], + ['ds_5ferror_5',['DS_Error',['../classnixf_1_1Diagnostic.html#a1ae78a8db740ce789f2dc8b4603f9d7baf587c7a518dcf415b845382645a6c9f7',1,'nixf::Diagnostic']]], + ['ds_5ffatal_6',['DS_Fatal',['../classnixf_1_1Diagnostic.html#a1ae78a8db740ce789f2dc8b4603f9d7ba704830342f52172a4615ed988b4dffb8',1,'nixf::Diagnostic']]], + ['ds_5fwarning_7',['DS_Warning',['../classnixf_1_1Diagnostic.html#a1ae78a8db740ce789f2dc8b4603f9d7ba324f60c858794ca923640da68fef4f59',1,'nixf::Diagnostic']]] +]; diff --git a/search/enumvalues_4.js b/search/enumvalues_4.js new file mode 100644 index 000000000..f9aab0f4e --- /dev/null +++ b/search/enumvalues_4.js @@ -0,0 +1,33 @@ +var searchData= +[ + ['ek_5fassert_0',['EK_Assert',['../namespacenixbc.html#a0612133b6c5a4bca6d5c1e4c063759cea951ec1aff99c40b530658f58617b3d9e',1,'nixbc']]], + ['ek_5fattrs_1',['EK_Attrs',['../namespacenixbc.html#a0612133b6c5a4bca6d5c1e4c063759cea2347dc083167bdc28accb5bebdc91a73',1,'nixbc']]], + ['ek_5fcall_2',['EK_Call',['../namespacenixbc.html#a0612133b6c5a4bca6d5c1e4c063759cea4ddab866a02834da77061bc6e5d588f1',1,'nixbc']]], + ['ek_5fconcatstrings_3',['EK_ConcatStrings',['../namespacenixbc.html#a0612133b6c5a4bca6d5c1e4c063759ceacc43b997170b1875541f7033c02aa313',1,'nixbc']]], + ['ek_5ffloat_4',['EK_Float',['../namespacenixbc.html#a0612133b6c5a4bca6d5c1e4c063759cea12dc35524646eee9aafb55bdd635767e',1,'nixbc']]], + ['ek_5fif_5',['EK_If',['../namespacenixbc.html#a0612133b6c5a4bca6d5c1e4c063759cea0d764a572bb99af20bd96d5c5b305e86',1,'nixbc']]], + ['ek_5fint_6',['EK_Int',['../namespacenixbc.html#a0612133b6c5a4bca6d5c1e4c063759ceab9ec6960cd2bd93ad36f60b2b11fc00f',1,'nixbc']]], + ['ek_5flambda_7',['EK_Lambda',['../namespacenixbc.html#a0612133b6c5a4bca6d5c1e4c063759cea644cf442b3ff8bde39c3ab702e92a373',1,'nixbc']]], + ['ek_5flet_8',['EK_Let',['../namespacenixbc.html#a0612133b6c5a4bca6d5c1e4c063759ceaea0b11f0d28f554935d04e58163e600d',1,'nixbc']]], + ['ek_5flist_9',['EK_List',['../namespacenixbc.html#a0612133b6c5a4bca6d5c1e4c063759cea830eb468ec0d3fc71d4b96a1137f2131',1,'nixbc']]], + ['ek_5fopand_10',['EK_OpAnd',['../namespacenixbc.html#a0612133b6c5a4bca6d5c1e4c063759ceae7bf520fea250351dd5b607f9f327e89',1,'nixbc']]], + ['ek_5fopconcatlists_11',['EK_OpConcatLists',['../namespacenixbc.html#a0612133b6c5a4bca6d5c1e4c063759ceab861ec5678576f952cebe266ade31b56',1,'nixbc']]], + ['ek_5fopeq_12',['EK_OpEq',['../namespacenixbc.html#a0612133b6c5a4bca6d5c1e4c063759ceacff272eaa2d5be52add5965684a0a27c',1,'nixbc']]], + ['ek_5fophasattr_13',['EK_OpHasAttr',['../namespacenixbc.html#a0612133b6c5a4bca6d5c1e4c063759cea6c830dd96a68a986539b8f6a109dcf61',1,'nixbc']]], + ['ek_5fopimpl_14',['EK_OpImpl',['../namespacenixbc.html#a0612133b6c5a4bca6d5c1e4c063759cea942d7d6dd927ca27dea3ae5866b1d825',1,'nixbc']]], + ['ek_5fopneq_15',['EK_OpNEq',['../namespacenixbc.html#a0612133b6c5a4bca6d5c1e4c063759ceae9dc3341b3976cdf6784a104db06ea2f',1,'nixbc']]], + ['ek_5fopnot_16',['EK_OpNot',['../namespacenixbc.html#a0612133b6c5a4bca6d5c1e4c063759ceaa9c2339438a773181795ae42a9f7040d',1,'nixbc']]], + ['ek_5fopor_17',['EK_OpOr',['../namespacenixbc.html#a0612133b6c5a4bca6d5c1e4c063759cea0ea53925d95782dcb8b7b7ef1c2c7a26',1,'nixbc']]], + ['ek_5fopupdate_18',['EK_OpUpdate',['../namespacenixbc.html#a0612133b6c5a4bca6d5c1e4c063759cea89d6ea7d4e92b01688259d70b37a6a06',1,'nixbc']]], + ['ek_5fpath_19',['EK_Path',['../namespacenixbc.html#a0612133b6c5a4bca6d5c1e4c063759cea2612d0c527a150a44bcbe4a599d89376',1,'nixbc']]], + ['ek_5fpos_20',['EK_Pos',['../namespacenixbc.html#a0612133b6c5a4bca6d5c1e4c063759ceab6996a1edd0a84ef0222a1e6cbb03af9',1,'nixbc']]], + ['ek_5fselect_21',['EK_Select',['../namespacenixbc.html#a0612133b6c5a4bca6d5c1e4c063759cea2df01e393103038d3e5be97cd5683892',1,'nixbc']]], + ['ek_5fstring_22',['EK_String',['../namespacenixbc.html#a0612133b6c5a4bca6d5c1e4c063759cea1574bec6e6e6ac78864e1808952dde62',1,'nixbc']]], + ['ek_5fvar_23',['EK_Var',['../namespacenixbc.html#a0612133b6c5a4bca6d5c1e4c063759cea75d3ce32ccd58f65dac53db7b0f63d90',1,'nixbc']]], + ['ek_5fwith_24',['EK_With',['../namespacenixbc.html#a0612133b6c5a4bca6d5c1e4c063759cea3d0e377f8141719409f135696d6080cc',1,'nixbc']]], + ['enum_25',['Enum',['../namespacelspserver.html#aaa34ea3819069fbee52018467e9586e0acf20423ed48998082c20099488a0917c',1,'lspserver::Enum'],['../namespacelspserver.html#a2c2f610d4b7f64335e8d68b47e18ea6facf20423ed48998082c20099488a0917c',1,'lspserver::Enum']]], + ['enummember_26',['EnumMember',['../namespacelspserver.html#aaa34ea3819069fbee52018467e9586e0a692ec2aadc30b3b8cc45b63c507e48a1',1,'lspserver::EnumMember'],['../namespacelspserver.html#a2c2f610d4b7f64335e8d68b47e18ea6fa692ec2aadc30b3b8cc45b63c507e48a1',1,'lspserver::EnumMember']]], + ['error_27',['Error',['../classlspserver_1_1Logger.html#a96543597ca6f5377381ee5a4dba571faa1aec2f15e5029084120d37988813df8c',1,'lspserver::Logger::Error'],['../namespacelspserver.html#a200604f8ba85e73cda84aa47933d8fcba902b0d55fddef6f8d651fe1035b7d4bd',1,'lspserver::Error'],['../namespacenixd_1_1rpc.html#adb82fac4db5997115883b375252dd765a902b0d55fddef6f8d651fe1035b7d4bd',1,'nixd::rpc::Error']]], + ['evalerror_28',['EvalError',['../structnixd_1_1rpc_1_1ExprValueResponse.html#aae25daf6dbf5578afc233532331a5b40a1bfdf5db46eaf547236d7d33010c09ce',1,'nixd::rpc::ExprValueResponse']]], + ['event_29',['Event',['../namespacelspserver.html#aaa34ea3819069fbee52018467e9586e0aa4ecfc70574394990cf17bd83df499f7',1,'lspserver::Event'],['../namespacelspserver.html#a2c2f610d4b7f64335e8d68b47e18ea6faa4ecfc70574394990cf17bd83df499f7',1,'lspserver::Event']]] +]; diff --git a/search/enumvalues_5.js b/search/enumvalues_5.js new file mode 100644 index 000000000..cf3d94ab5 --- /dev/null +++ b/search/enumvalues_5.js @@ -0,0 +1,10 @@ +var searchData= +[ + ['faded_0',['Faded',['../namespacenixf.html#a107eebaa5e9ba959f752e4ac049cf078a2716c1e477a70de6b2508c5ccd8c2588',1,'nixf']]], + ['field_1',['Field',['../namespacelspserver.html#aaa34ea3819069fbee52018467e9586e0a6f16a5f8ff5d75ab84c018adacdfcbb7',1,'lspserver::Field'],['../namespacelspserver.html#a2c2f610d4b7f64335e8d68b47e18ea6fa6f16a5f8ff5d75ab84c018adacdfcbb7',1,'lspserver::Field']]], + ['file_2',['File',['../namespacelspserver.html#aaa34ea3819069fbee52018467e9586e0a0b27918290ff5323bea1e3b78a9cf04e',1,'lspserver::File'],['../namespacelspserver.html#a2c2f610d4b7f64335e8d68b47e18ea6fa0b27918290ff5323bea1e3b78a9cf04e',1,'lspserver::File']]], + ['float_3',['Float',['../structnixd_1_1rpc_1_1ExprValueResponse.html#a788097e9ca88ca57b0059f5805570f21aa02c440dad0e0a2352f4de261fa2ffa3',1,'nixd::rpc::ExprValueResponse']]], + ['folder_4',['Folder',['../namespacelspserver.html#aaa34ea3819069fbee52018467e9586e0ab0f2b97dc5d2b76b26e040408bb1d8af',1,'lspserver']]], + ['full_5',['Full',['../namespacelspserver.html#a96d435eb7c5ff25b80532d96bbedef3eabbd47109890259c0127154db1af26c75',1,'lspserver']]], + ['function_6',['Function',['../namespacelspserver.html#aaa34ea3819069fbee52018467e9586e0a86408593c34af77fdd90df932f8b5261',1,'lspserver::Function'],['../namespacelspserver.html#a2c2f610d4b7f64335e8d68b47e18ea6fa86408593c34af77fdd90df932f8b5261',1,'lspserver::Function']]] +]; diff --git a/search/enumvalues_6.js b/search/enumvalues_6.js new file mode 100644 index 000000000..db31a162a --- /dev/null +++ b/search/enumvalues_6.js @@ -0,0 +1,11 @@ +var searchData= +[ + ['incremental_0',['Incremental',['../namespacelspserver.html#a96d435eb7c5ff25b80532d96bbedef3ea482be0da5798aaaecbf7416714e6607f',1,'lspserver']]], + ['info_1',['Info',['../classlspserver_1_1Logger.html#a96543597ca6f5377381ee5a4dba571faa1b5b28822814a65fcd846e8d0c48a81e',1,'lspserver::Logger::Info'],['../namespacelspserver.html#a200604f8ba85e73cda84aa47933d8fcba4059b0251f66a18cb56f544728796875',1,'lspserver::Info'],['../namespacenixd_1_1rpc.html#adb82fac4db5997115883b375252dd765a4059b0251f66a18cb56f544728796875',1,'nixd::rpc::Info']]], + ['int_2',['Int',['../structnixd_1_1rpc_1_1ExprValueResponse.html#a788097e9ca88ca57b0059f5805570f21a66a0fcd7eb462355b3befc43311a7352',1,'nixd::rpc::ExprValueResponse']]], + ['interface_3',['Interface',['../namespacelspserver.html#aaa34ea3819069fbee52018467e9586e0a3c1aac82863ed9e5a9aca8ce687f711d',1,'lspserver::Interface'],['../namespacelspserver.html#a2c2f610d4b7f64335e8d68b47e18ea6fa3c1aac82863ed9e5a9aca8ce687f711d',1,'lspserver::Interface']]], + ['internalerror_4',['InternalError',['../namespacelspserver.html#a748780c668b7e2d2e3700f6e7075b078a8462b58246e70e5c83e5b939a9332cb5',1,'lspserver']]], + ['invalidparams_5',['InvalidParams',['../namespacelspserver.html#a748780c668b7e2d2e3700f6e7075b078ad4c4700b7580ce00c94ddf7b363de696',1,'lspserver']]], + ['invalidrequest_6',['InvalidRequest',['../namespacelspserver.html#a748780c668b7e2d2e3700f6e7075b078ad544eb3da2f68d24cf92a8519ed53a31',1,'lspserver']]], + ['invoked_7',['Invoked',['../namespacelspserver.html#a509e18127b3bb638d67ba0aaf019afbea78ebb05ef299168efe905bfffed49fc1',1,'lspserver']]] +]; diff --git a/search/enumvalues_7.js b/search/enumvalues_7.js new file mode 100644 index 000000000..e88b9d7fa --- /dev/null +++ b/search/enumvalues_7.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['key_0',['Key',['../namespacelspserver.html#a2c2f610d4b7f64335e8d68b47e18ea6fa897356954c2cd3d41b221e3f24f99bba',1,'lspserver']]], + ['keyword_1',['Keyword',['../namespacelspserver.html#aaa34ea3819069fbee52018467e9586e0a220f3d3750583b9db48568a0b5b9a5f1',1,'lspserver']]] +]; diff --git a/search/enumvalues_8.js b/search/enumvalues_8.js new file mode 100644 index 000000000..ed00300b6 --- /dev/null +++ b/search/enumvalues_8.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['lastexprkind_0',['LastExprKind',['../namespacenixt_1_1ek.html#a92936c4da989def360778fc59ea9dc8bab81cdfe0226cefa918385e7000ffd49f',1,'nixt::ek']]], + ['log_1',['Log',['../namespacelspserver.html#a200604f8ba85e73cda84aa47933d8fcbace0be71e33226e4c1db2bcea5959f16b',1,'lspserver']]] +]; diff --git a/search/enumvalues_9.js b/search/enumvalues_9.js new file mode 100644 index 000000000..b9d21bb3c --- /dev/null +++ b/search/enumvalues_9.js @@ -0,0 +1,9 @@ +var searchData= +[ + ['markdown_0',['Markdown',['../namespacelspserver.html#a6d13302ad950c821ee002913c8387a00a2182a74bab7188d959e795d9301e87ff',1,'lspserver']]], + ['messages_1',['Messages',['../namespacelspserver.html#a84ff90cc9ec54bbbee73d83bdf8c6928a41de6d6cfb8953c021bbe4ba0701c8a1',1,'lspserver']]], + ['method_2',['Method',['../namespacelspserver.html#aaa34ea3819069fbee52018467e9586e0a4c3880bb027f159e801041b1021e88e8',1,'lspserver::Method'],['../namespacelspserver.html#a2c2f610d4b7f64335e8d68b47e18ea6fa4c3880bb027f159e801041b1021e88e8',1,'lspserver::Method']]], + ['methodnotfound_3',['MethodNotFound',['../namespacelspserver.html#a748780c668b7e2d2e3700f6e7075b078a011fb1f694f7b928964b898fc5d0ca5c',1,'lspserver']]], + ['missing_4',['Missing',['../namespacelspserver.html#aaa34ea3819069fbee52018467e9586e0a2aee0be2678ee90fd327cc186826438e',1,'lspserver::Missing'],['../namespacelspserver.html#ac7ba537910cf2ac19f50ecf4bf062c00a2aee0be2678ee90fd327cc186826438e',1,'lspserver::Missing']]], + ['module_5',['Module',['../namespacelspserver.html#aaa34ea3819069fbee52018467e9586e0ae55f75a29310d7b60f7ac1d390c8ae42',1,'lspserver::Module'],['../namespacelspserver.html#a2c2f610d4b7f64335e8d68b47e18ea6fae55f75a29310d7b60f7ac1d390c8ae42',1,'lspserver::Module']]] +]; diff --git a/search/enumvalues_a.js b/search/enumvalues_a.js new file mode 100644 index 000000000..3acaaf96a --- /dev/null +++ b/search/enumvalues_a.js @@ -0,0 +1,12 @@ +var searchData= +[ + ['namespace_0',['Namespace',['../namespacelspserver.html#a2c2f610d4b7f64335e8d68b47e18ea6fab3ba0fe968ce39dcfc6fe8cc0f1b02da',1,'lspserver']]], + ['nix_5fexpr_1',['NIX_EXPR',['../namespacenixt.html#a5bcdc1a90b949f11bc1a7147ce48c50da672449eef17923093e3cfce967572e94',1,'nixt']]], + ['nk_5fbeginexpr_2',['NK_BeginExpr',['../classnixf_1_1Node.html#a33f84590ebf2cafe57a2ae525a3cb24fa82c7c6773a7d7fe65e1dc2f99d2337cc',1,'nixf::Node']]], + ['nk_5fendexpr_3',['NK_EndExpr',['../classnixf_1_1Node.html#a33f84590ebf2cafe57a2ae525a3cb24fa449d58d691e0f457b4c0469348897ee9',1,'nixf::Node']]], + ['none_4',['None',['../namespacelspserver.html#a96d435eb7c5ff25b80532d96bbedef3ea6adf97f83acf6453d4a6a4b1070f3754',1,'lspserver']]], + ['notevaluated_5',['NotEvaluated',['../structnixd_1_1rpc_1_1ExprValueResponse.html#aae25daf6dbf5578afc233532331a5b40ac8edcaf2b7b454d5c55bdb0042611af1',1,'nixd::rpc::ExprValueResponse']]], + ['notfound_6',['NotFound',['../structnixd_1_1rpc_1_1ExprValueResponse.html#aae25daf6dbf5578afc233532331a5b40aa345680532bc76323e45d8888784b25a',1,'nixd::rpc::ExprValueResponse']]], + ['null_7',['Null',['../namespacelspserver.html#a2c2f610d4b7f64335e8d68b47e18ea6fabbb93ef26e3c101ff11cdd21cab08a94',1,'lspserver']]], + ['number_8',['Number',['../namespacelspserver.html#a2c2f610d4b7f64335e8d68b47e18ea6fab2ee912b91d69b435159c7c3f6df7f5f',1,'lspserver']]] +]; diff --git a/search/enumvalues_b.js b/search/enumvalues_b.js new file mode 100644 index 000000000..ac13f1ea8 --- /dev/null +++ b/search/enumvalues_b.js @@ -0,0 +1,11 @@ +var searchData= +[ + ['object_0',['Object',['../namespacelspserver.html#a2c2f610d4b7f64335e8d68b47e18ea6fa497031794414a552435f90151ac3b54b',1,'lspserver']]], + ['off_1',['Off',['../namespacelspserver.html#a84ff90cc9ec54bbbee73d83bdf8c6928ad15305d7a4e34e02489c74a5ef542f36',1,'lspserver']]], + ['ok_2',['OK',['../structnixd_1_1rpc_1_1ExprValueResponse.html#aae25daf6dbf5578afc233532331a5b40a3ad59822e2b500a77642fbcabd240713',1,'nixd::rpc::ExprValueResponse']]], + ['ok_5fnone_3',['OK_None',['../classnixbc_1_1Origin.html#ac48aab2b76b7be9129c325b1c0852cc8adf623447b9b9023ea1327f9f315392e2',1,'nixbc::Origin']]], + ['ok_5fpath_4',['OK_Path',['../classnixbc_1_1Origin.html#ac48aab2b76b7be9129c325b1c0852cc8a61588cc557502568ee2d784c0dd1d45b',1,'nixbc::Origin']]], + ['ok_5fstdin_5',['OK_Stdin',['../classnixbc_1_1Origin.html#ac48aab2b76b7be9129c325b1c0852cc8aa73b2f62acbd91f07628e3adc1a5898a',1,'nixbc::Origin']]], + ['ok_5fstring_6',['OK_String',['../classnixbc_1_1Origin.html#ac48aab2b76b7be9129c325b1c0852cc8ac319048a9e464d7d924c33a0e315467b',1,'nixbc::Origin']]], + ['operator_7',['Operator',['../namespacelspserver.html#aaa34ea3819069fbee52018467e9586e0ae1b3ec89ead7f83a9245ed5c9cacfdbf',1,'lspserver::Operator'],['../namespacelspserver.html#a2c2f610d4b7f64335e8d68b47e18ea6fae1b3ec89ead7f83a9245ed5c9cacfdbf',1,'lspserver::Operator']]] +]; diff --git a/search/enumvalues_c.js b/search/enumvalues_c.js new file mode 100644 index 000000000..052ff60fc --- /dev/null +++ b/search/enumvalues_c.js @@ -0,0 +1,13 @@ +var searchData= +[ + ['package_0',['Package',['../namespacelspserver.html#a2c2f610d4b7f64335e8d68b47e18ea6fa209802fb858e2c83205027dbbb5d9e6c',1,'lspserver']]], + ['parameter_1',['Parameter',['../namespacelspserver.html#ad0e04d3cce4fb889bbf88064199247f8a83f499a540b1323009c200d6f8cc9396',1,'lspserver']]], + ['parents_2',['Parents',['../namespacelspserver.html#a7d97020df0f5bac6de94854de72d22eba9dafe3747e06aa15af0bfba521f66346',1,'lspserver']]], + ['parseerror_3',['ParseError',['../namespacelspserver.html#a748780c668b7e2d2e3700f6e7075b078ae41199faa7290c167f70f314c5e6c165',1,'lspserver']]], + ['plaintext_4',['PlainText',['../namespacelspserver.html#a6d13302ad950c821ee002913c8387a00ab7ebbf7f254ef646928dd58f62383a85',1,'lspserver::PlainText'],['../namespacelspserver.html#ac7ba537910cf2ac19f50ecf4bf062c00ab7ebbf7f254ef646928dd58f62383a85',1,'lspserver::PlainText']]], + ['property_5',['Property',['../namespacelspserver.html#aaa34ea3819069fbee52018467e9586e0a5ad234cb2cde4266195252a23ca7d84e',1,'lspserver::Property'],['../namespacelspserver.html#a2c2f610d4b7f64335e8d68b47e18ea6fa5ad234cb2cde4266195252a23ca7d84e',1,'lspserver::Property']]], + ['ps_5fexpr_6',['PS_Expr',['../classnixf_1_1Parser.html#a7223a2cf217acfdedaa4e053c6777d88a878d15cf66f15137182468c1cb6e7b3d',1,'nixf::Parser']]], + ['ps_5findstring_7',['PS_IndString',['../classnixf_1_1Parser.html#a7223a2cf217acfdedaa4e053c6777d88a3ce52f13dc3bc9869a5fb8d707ccb493',1,'nixf::Parser']]], + ['ps_5fpath_8',['PS_Path',['../classnixf_1_1Parser.html#a7223a2cf217acfdedaa4e053c6777d88ac08fdc99ed7907f318cda66a585d6751',1,'nixf::Parser']]], + ['ps_5fstring_9',['PS_String',['../classnixf_1_1Parser.html#a7223a2cf217acfdedaa4e053c6777d88a2d59fead25ba266455ffddcdd943ce0d',1,'nixf::Parser']]] +]; diff --git a/search/enumvalues_d.js b/search/enumvalues_d.js new file mode 100644 index 000000000..47f87d2ab --- /dev/null +++ b/search/enumvalues_d.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['read_0',['Read',['../namespacelspserver.html#a63ffb3d295b12032400790fb555de2e9a7a1a5f3e79fdc91edf2f5ead9d66abb4',1,'lspserver']]], + ['reference_1',['Reference',['../namespacelspserver.html#aaa34ea3819069fbee52018467e9586e0a63d5049791d9d79d86e9a108b0a999ca',1,'lspserver']]], + ['requestcancelled_2',['RequestCancelled',['../namespacelspserver.html#a748780c668b7e2d2e3700f6e7075b078a40f07a96a26ddc298439934bd214e540',1,'lspserver']]] +]; diff --git a/search/enumvalues_e.js b/search/enumvalues_e.js new file mode 100644 index 000000000..1e2dae4c0 --- /dev/null +++ b/search/enumvalues_e.js @@ -0,0 +1,11 @@ +var searchData= +[ + ['servernotinitialized_0',['ServerNotInitialized',['../namespacelspserver.html#a748780c668b7e2d2e3700f6e7075b078a65b820c7dc7106af8ac1292df8f7119f',1,'lspserver']]], + ['snippet_1',['Snippet',['../namespacelspserver.html#aaa34ea3819069fbee52018467e9586e0ac437bb5adb99c55aa0754151c5a61e3d',1,'lspserver::Snippet'],['../namespacelspserver.html#ac7ba537910cf2ac19f50ecf4bf062c00ac437bb5adb99c55aa0754151c5a61e3d',1,'lspserver::Snippet']]], + ['spk_5fescaped_2',['SPK_Escaped',['../classnixf_1_1InterpolablePart.html#a7454ab26e6f93fe207838d0388a70a12a63721b8bb75f7221f6ddfeef51cf3754',1,'nixf::InterpolablePart']]], + ['spk_5finterpolation_3',['SPK_Interpolation',['../classnixf_1_1InterpolablePart.html#a7454ab26e6f93fe207838d0388a70a12a1fb110f8e219a5c2803a7608ca3e2747',1,'nixf::InterpolablePart']]], + ['standard_4',['Standard',['../namespacelspserver.html#a452c423a64856fd113d0303affd5a1b8aeb6d8ae6f20283755b339c0dc273988b',1,'lspserver']]], + ['striked_5',['Striked',['../namespacenixf.html#a107eebaa5e9ba959f752e4ac049cf078aefb65517f08dab1e15d017d64de22b96',1,'nixf']]], + ['string_6',['String',['../namespacelspserver.html#a2c2f610d4b7f64335e8d68b47e18ea6fa27118326006d3829667a400ad23d5d98',1,'lspserver']]], + ['struct_7',['Struct',['../namespacelspserver.html#aaa34ea3819069fbee52018467e9586e0a886ef5dbd655a6c97726d7091c6b173e',1,'lspserver::Struct'],['../namespacelspserver.html#a2c2f610d4b7f64335e8d68b47e18ea6fa886ef5dbd655a6c97726d7091c6b173e',1,'lspserver::Struct']]] +]; diff --git a/search/enumvalues_f.js b/search/enumvalues_f.js new file mode 100644 index 000000000..64971533d --- /dev/null +++ b/search/enumvalues_f.js @@ -0,0 +1,8 @@ +var searchData= +[ + ['text_0',['Text',['../namespacelspserver.html#aaa34ea3819069fbee52018467e9586e0a9dffbf69ffba8bc38bc4e01abf4b1675',1,'lspserver::Text'],['../namespacelspserver.html#a63ffb3d295b12032400790fb555de2e9a9dffbf69ffba8bc38bc4e01abf4b1675',1,'lspserver::Text']]], + ['triggercharacter_1',['TriggerCharacter',['../namespacelspserver.html#a509e18127b3bb638d67ba0aaf019afbeac883aed3fc5d1f53a248a4eff2fb63b0',1,'lspserver']]], + ['triggertriggerforincompletecompletions_2',['TriggerTriggerForIncompleteCompletions',['../namespacelspserver.html#a509e18127b3bb638d67ba0aaf019afbea9073e5ba1ac00bb9c0b728f3c3d9db5f',1,'lspserver']]], + ['type_3',['Type',['../namespacelspserver.html#ad0e04d3cce4fb889bbf88064199247f8aa1fa27779242b4902f7ae3bdd5c6d508',1,'lspserver']]], + ['typeparameter_4',['TypeParameter',['../namespacelspserver.html#aaa34ea3819069fbee52018467e9586e0abacdd231dc91b0d271df56df65d1eab3',1,'lspserver::TypeParameter'],['../namespacelspserver.html#a2c2f610d4b7f64335e8d68b47e18ea6fabacdd231dc91b0d271df56df65d1eab3',1,'lspserver::TypeParameter']]] +]; diff --git a/search/files_0.js b/search/files_0.js new file mode 100644 index 000000000..5ea72d37e --- /dev/null +++ b/search/files_0.js @@ -0,0 +1,12 @@ +var searchData= +[ + ['arrayref_2eh_0',['ArrayRef.h',['../ArrayRef_8h.html',1,'']]], + ['astreader_2ecpp_1',['ASTReader.cpp',['../ASTReader_8cpp.html',1,'']]], + ['astreader_2eh_2',['ASTReader.h',['../ASTReader_8h.html',1,'']]], + ['attrs_2eh_3',['Attrs.h',['../Attrs_8h.html',1,'']]], + ['autoclosefd_2ecpp_4',['AutoCloseFD.cpp',['../AutoCloseFD_8cpp.html',1,'']]], + ['autoclosefd_2eh_5',['AutoCloseFD.h',['../AutoCloseFD_8h.html',1,'']]], + ['autohuppid_2eh_6',['AutoHUPPID.h',['../AutoHUPPID_8h.html',1,'']]], + ['autoremoveshm_2ecpp_7',['AutoRemoveShm.cpp',['../AutoRemoveShm_8cpp.html',1,'']]], + ['autoremoveshm_2eh_8',['AutoRemoveShm.h',['../AutoRemoveShm_8h.html',1,'']]] +]; diff --git a/search/files_1.js b/search/files_1.js new file mode 100644 index 000000000..ddf222fb3 --- /dev/null +++ b/search/files_1.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['basic_2eh_0',['Basic.h',['../Basic_8h.html',1,'']]] +]; diff --git a/search/files_10.js b/search/files_10.js new file mode 100644 index 000000000..e2ce6768e --- /dev/null +++ b/search/files_10.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['uri_2ecpp_0',['URI.cpp',['../URI_8cpp.html',1,'']]], + ['uri_2eh_1',['URI.h',['../URI_8h.html',1,'']]], + ['user_2dguide_2emd_2',['user-guide.md',['../user-guide_8md.html',1,'']]] +]; diff --git a/search/files_11.js b/search/files_11.js new file mode 100644 index 000000000..3c212901c --- /dev/null +++ b/search/files_11.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['visitor_2eh_0',['Visitor.h',['../Visitor_8h.html',1,'']]] +]; diff --git a/search/files_2.js b/search/files_2.js new file mode 100644 index 000000000..8210e8634 --- /dev/null +++ b/search/files_2.js @@ -0,0 +1,9 @@ +var searchData= +[ + ['codeaction_2ecpp_0',['CodeAction.cpp',['../CodeAction_8cpp.html',1,'']]], + ['connection_2ecpp_1',['Connection.cpp',['../Connection_8cpp.html',1,'']]], + ['connection_2eh_2',['Connection.h',['../Connection_8h.html',1,'']]], + ['controller_2eh_3',['Controller.h',['../Controller_8h.html',1,'']]], + ['convert_2ecpp_4',['Convert.cpp',['../Convert_8cpp.html',1,'']]], + ['convert_2eh_5',['Convert.h',['../Convert_8h.html',1,'']]] +]; diff --git a/search/files_3.js b/search/files_3.js new file mode 100644 index 000000000..46ee3580f --- /dev/null +++ b/search/files_3.js @@ -0,0 +1,13 @@ +var searchData= +[ + ['deserialize_2eh_0',['Deserialize.h',['../Deserialize_8h.html',1,'']]], + ['dev_2emd_1',['dev.md',['../dev_8md.html',1,'']]], + ['diagnostic_2ecpp_2',['Diagnostic.cpp',['../Diagnostic_8cpp.html',1,'']]], + ['diagnostic_2eh_3',['Diagnostic.h',['../Diagnostic_8h.html',1,'']]], + ['diagnostickinds_2einc_4',['DiagnosticKinds.inc',['../DiagnosticKinds_8inc.html',1,'']]], + ['diagnostics_2ecpp_5',['Diagnostics.cpp',['../Diagnostics_8cpp.html',1,'']]], + ['displacement_2ecpp_6',['Displacement.cpp',['../Displacement_8cpp.html',1,'']]], + ['displacement_2eh_7',['Displacement.h',['../Displacement_8h.html',1,'']]], + ['draftstore_2ecpp_8',['DraftStore.cpp',['../DraftStore_8cpp.html',1,'']]], + ['draftstore_2eh_9',['DraftStore.h',['../DraftStore_8h.html',1,'']]] +]; diff --git a/search/files_4.js b/search/files_4.js new file mode 100644 index 000000000..d313ede81 --- /dev/null +++ b/search/files_4.js @@ -0,0 +1,10 @@ +var searchData= +[ + ['editor_2dsetup_2emd_0',['editor-setup.md',['../editor-setup_8md.html',1,'']]], + ['editors_2emd_1',['editors.md',['../editors_8md.html',1,'']]], + ['evalclient_2ecpp_2',['EvalClient.cpp',['../EvalClient_8cpp.html',1,'']]], + ['evalclient_2eh_3',['EvalClient.h',['../EvalClient_8h.html',1,'']]], + ['evalprovider_2ecpp_4',['EvalProvider.cpp',['../EvalProvider_8cpp.html',1,'']]], + ['evalprovider_2eh_5',['EvalProvider.h',['../EvalProvider_8h.html',1,'']]], + ['expr_2eh_6',['Expr.h',['../Expr_8h.html',1,'']]] +]; diff --git a/search/files_5.js b/search/files_5.js new file mode 100644 index 000000000..8adf1c8ea --- /dev/null +++ b/search/files_5.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['fileheader_2eh_0',['FileHeader.h',['../FileHeader_8h.html',1,'']]], + ['forkpiped_2ecpp_1',['ForkPiped.cpp',['../ForkPiped_8cpp.html',1,'']]], + ['forkpiped_2eh_2',['ForkPiped.h',['../ForkPiped_8h.html',1,'']]], + ['function_2eh_3',['Function.h',['../Function_8h.html',1,'']]] +]; diff --git a/search/files_6.js b/search/files_6.js new file mode 100644 index 000000000..0772974ae --- /dev/null +++ b/search/files_6.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['hackcache_2eh_0',['HackCache.h',['../HackCache_8h.html',1,'']]], + ['hookexpr_2ecpp_1',['HookExpr.cpp',['../HookExpr_8cpp.html',1,'']]], + ['hookexpr_2eh_2',['HookExpr.h',['../HookExpr_8h.html',1,'']]], + ['hover_2ecpp_3',['Hover.cpp',['../Hover_8cpp.html',1,'']]] +]; diff --git a/search/files_7.js b/search/files_7.js new file mode 100644 index 000000000..a20a82db9 --- /dev/null +++ b/search/files_7.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['include_2fnixf_2fparse_2fparser_2eh_0',['Parser.h',['../include_2nixf_2Parse_2Parser_8h.html',1,'']]], + ['initeval_2eh_1',['InitEval.h',['../InitEval_8h.html',1,'']]] +]; diff --git a/search/files_8.js b/search/files_8.js new file mode 100644 index 000000000..d8a799f0d --- /dev/null +++ b/search/files_8.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['kinds_2ecpp_0',['Kinds.cpp',['../Kinds_8cpp.html',1,'']]], + ['kinds_2eh_1',['Kinds.h',['../Kinds_8h.html',1,'']]] +]; diff --git a/search/files_9.js b/search/files_9.js new file mode 100644 index 000000000..82a8c6021 --- /dev/null +++ b/search/files_9.js @@ -0,0 +1,24 @@ +var searchData= +[ + ['lambda_2eh_0',['Lambda.h',['../Lambda_8h.html',1,'']]], + ['lexer_2ecpp_1',['Lexer.cpp',['../Lexer_8cpp.html',1,'']]], + ['lexer_2eh_2',['Lexer.h',['../Lexer_8h.html',1,'']]], + ['libbc_2finclude_2fbc_2fwrite_2eh_3',['Write.h',['../libbc_2include_2bc_2Write_8h.html',1,'']]], + ['libbc_2fsrc_2fwrite_2ecpp_4',['Write.cpp',['../libbc_2src_2Write_8cpp.html',1,'']]], + ['libnixbc_2finclude_2fnixbc_2fnodes_2eh_5',['Nodes.h',['../libnixbc_2include_2nixbc_2Nodes_8h.html',1,'']]], + ['libnixbc_2freadme_2emd_6',['README.md',['../libnixbc_2README_8md.html',1,'']]], + ['libnixf_2finclude_2fnixf_2fbasic_2fnodes_2eh_7',['Nodes.h',['../libnixf_2include_2nixf_2Basic_2Nodes_8h.html',1,'']]], + ['libnixf_2finclude_2fnixf_2fbytecode_2fwrite_2eh_8',['Write.h',['../libnixf_2include_2nixf_2Bytecode_2Write_8h.html',1,'']]], + ['libnixf_2fsrc_2fbytecode_2fwrite_2ecpp_9',['Write.cpp',['../libnixf_2src_2Bytecode_2Write_8cpp.html',1,'']]], + ['libnixf_2fsrc_2fbytecode_2fwrite_2eh_10',['Write.h',['../libnixf_2src_2Bytecode_2Write_8h.html',1,'']]], + ['libnixt_2freadme_2emd_11',['README.md',['../libnixt_2README_8md.html',1,'']]], + ['lifetime_2ecpp_12',['LifeTime.cpp',['../LifeTime_8cpp.html',1,'']]], + ['logger_2ecpp_13',['Logger.cpp',['../Logger_8cpp.html',1,'']]], + ['logger_2eh_14',['Logger.h',['../Logger_8h.html',1,'']]], + ['lspbinder_2eh_15',['LSPBinder.h',['../LSPBinder_8h.html',1,'']]], + ['lspserver_2ecpp_16',['LSPServer.cpp',['../LSPServer_8cpp.html',1,'']]], + ['lspserver_2eh_17',['LSPServer.h',['../LSPServer_8h.html',1,'']]], + ['lspserver_2finclude_2flspserver_2fprotocol_2eh_18',['Protocol.h',['../lspserver_2include_2lspserver_2Protocol_8h.html',1,'']]], + ['lspserver_2freadme_2emd_19',['README.md',['../lspserver_2README_8md.html',1,'']]], + ['lspserver_2fsrc_2fprotocol_2ecpp_20',['Protocol.cpp',['../lspserver_2src_2Protocol_8cpp.html',1,'']]] +]; diff --git a/search/files_a.js b/search/files_a.js new file mode 100644 index 000000000..88391e8ae --- /dev/null +++ b/search/files_a.js @@ -0,0 +1,13 @@ +var searchData= +[ + ['nix_2dnode_2deval_2fsrc_2fmain_2ecpp_0',['Main.cpp',['../nix-node-eval_2src_2Main_8cpp.html',1,'']]], + ['nixd_2fdocs_2fexamples_2freadme_2emd_1',['README.md',['../nixd_2docs_2examples_2README_8md.html',1,'']]], + ['nixd_2flibrpc_2finclude_2fnixd_2frpc_2fprotocol_2eh_2',['Protocol.h',['../nixd_2librpc_2include_2nixd_2rpc_2Protocol_8h.html',1,'']]], + ['nixd_2flibrpc_2fsrc_2fprotocol_2ecpp_3',['Protocol.cpp',['../nixd_2librpc_2src_2Protocol_8cpp.html',1,'']]], + ['nixd_2fnix_2dnode_2deval_2freadme_2emd_4',['README.md',['../nixd_2nix-node-eval_2README_8md.html',1,'']]], + ['nixtu_2eh_5',['NixTU.h',['../NixTU_8h.html',1,'']]], + ['nodekinds_2einc_6',['NodeKinds.inc',['../NodeKinds_8inc.html',1,'']]], + ['nodes_2ecpp_7',['Nodes.cpp',['../Nodes_8cpp.html',1,'']]], + ['nodes_2einc_8',['Nodes.inc',['../Nodes_8inc.html',1,'']]], + ['notekinds_2einc_9',['NoteKinds.inc',['../NoteKinds_8inc.html',1,'']]] +]; diff --git a/search/files_b.js b/search/files_b.js new file mode 100644 index 000000000..9ff8c3a3d --- /dev/null +++ b/search/files_b.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['op_2eh_0',['Op.h',['../Op_8h.html',1,'']]], + ['origin_2ecpp_1',['Origin.cpp',['../Origin_8cpp.html',1,'']]], + ['origin_2eh_2',['Origin.h',['../Origin_8h.html',1,'']]], + ['ownedregion_2eh_3',['OwnedRegion.h',['../OwnedRegion_8h.html',1,'']]] +]; diff --git a/search/files_c.js b/search/files_c.js new file mode 100644 index 000000000..096dc5fab --- /dev/null +++ b/search/files_c.js @@ -0,0 +1,15 @@ +var searchData= +[ + ['parentmap_2ecpp_0',['ParentMap.cpp',['../ParentMap_8cpp.html',1,'']]], + ['parentmap_2eh_1',['ParentMap.h',['../ParentMap_8h.html',1,'']]], + ['parseattrs_2ecpp_2',['ParseAttrs.cpp',['../ParseAttrs_8cpp.html',1,'']]], + ['parseexpr_2ecpp_3',['ParseExpr.cpp',['../ParseExpr_8cpp.html',1,'']]], + ['parselambda_2ecpp_4',['ParseLambda.cpp',['../ParseLambda_8cpp.html',1,'']]], + ['parseop_2ecpp_5',['ParseOp.cpp',['../ParseOp_8cpp.html',1,'']]], + ['parsesimple_2ecpp_6',['ParseSimple.cpp',['../ParseSimple_8cpp.html',1,'']]], + ['parsestrings_2ecpp_7',['ParseStrings.cpp',['../ParseStrings_8cpp.html',1,'']]], + ['parsesupport_2ecpp_8',['ParseSupport.cpp',['../ParseSupport_8cpp.html',1,'']]], + ['path_2eh_9',['Path.h',['../Path_8h.html',1,'']]], + ['pipedproc_2eh_10',['PipedProc.h',['../PipedProc_8h.html',1,'']]], + ['ptrpool_2eh_11',['PtrPool.h',['../PtrPool_8h.html',1,'']]] +]; diff --git a/search/files_d.js b/search/files_d.js new file mode 100644 index 000000000..a9d19b722 --- /dev/null +++ b/search/files_d.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['range_2eh_0',['Range.h',['../Range_8h.html',1,'']]], + ['read_2ecpp_1',['Read.cpp',['../Read_8cpp.html',1,'']]], + ['read_2eh_2',['Read.h',['../Read_8h.html',1,'']]], + ['readme_2emd_3',['README.md',['../README_8md.html',1,'']]] +]; diff --git a/search/files_e.js b/search/files_e.js new file mode 100644 index 000000000..600223985 --- /dev/null +++ b/search/files_e.js @@ -0,0 +1,12 @@ +var searchData= +[ + ['semaactions_2ecpp_0',['SemaActions.cpp',['../SemaActions_8cpp.html',1,'']]], + ['semaactions_2eh_1',['SemaActions.h',['../SemaActions_8h.html',1,'']]], + ['serialize_2eh_2',['Serialize.h',['../Serialize_8h.html',1,'']]], + ['simple_2eh_3',['Simple.h',['../Simple_8h.html',1,'']]], + ['sourcecode_2ecpp_4',['SourceCode.cpp',['../SourceCode_8cpp.html',1,'']]], + ['sourcecode_2eh_5',['SourceCode.h',['../SourceCode_8h.html',1,'']]], + ['src_2fparse_2fparser_2eh_6',['Parser.h',['../src_2Parse_2Parser_8h.html',1,'']]], + ['support_2ecpp_7',['Support.cpp',['../Support_8cpp.html',1,'']]], + ['syntaxkinds_2einc_8',['SyntaxKinds.inc',['../SyntaxKinds_8inc.html',1,'']]] +]; diff --git a/search/files_f.js b/search/files_f.js new file mode 100644 index 000000000..69e8f6d84 --- /dev/null +++ b/search/files_f.js @@ -0,0 +1,11 @@ +var searchData= +[ + ['textdocumentsync_2ecpp_0',['TextDocumentSync.cpp',['../TextDocumentSync_8cpp.html',1,'']]], + ['token_2eh_1',['Token.h',['../Token_8h.html',1,'']]], + ['tokenkinds_2eh_2',['TokenKinds.h',['../TokenKinds_8h.html',1,'']]], + ['tokenkinds_2einc_3',['TokenKinds.inc',['../TokenKinds_8inc.html',1,'']]], + ['tokens_2einc_4',['Tokens.inc',['../Tokens_8inc.html',1,'']]], + ['tools_2fnixd_2fsrc_2fmain_2ecpp_5',['Main.cpp',['../tools_2nixd_2src_2Main_8cpp.html',1,'']]], + ['traverse_2einc_6',['Traverse.inc',['../Traverse_8inc.html',1,'']]], + ['type_2eh_7',['Type.h',['../Type_8h.html',1,'']]] +]; diff --git a/search/functions_0.js b/search/functions_0.js new file mode 100644 index 000000000..83a69f86f --- /dev/null +++ b/search/functions_0.js @@ -0,0 +1,26 @@ +var searchData= +[ + ['absoluteparent_0',['absoluteParent',['../namespacelspserver.html#a0c037fecc55edd0a237f55ac5d4475d2',1,'lspserver']]], + ['add_1',['add',['../structnixt_1_1PtrPool.html#a1bd9b12d2490d559c3f8ab8bf91a7312',1,'nixt::PtrPool']]], + ['addattr_2',['addAttr',['../classnixf_1_1Sema.html#a5dd911cfc40391bcbb8941910cc796c2',1,'nixf::Sema']]], + ['addcommand_3',['addCommand',['../structlspserver_1_1HandlerRegistry.html#ac74dedf85400f27c36e0f976bd3cd24c',1,'lspserver::HandlerRegistry']]], + ['adddraft_4',['addDraft',['../classlspserver_1_1DraftStore.html#aa5ae55b3ef2dbc31a03152c97ae1c0dd',1,'lspserver::DraftStore']]], + ['addmethod_5',['addMethod',['../structlspserver_1_1HandlerRegistry.html#a66ec76a9ba0b79e7756852a3cb65bfc1',1,'lspserver::HandlerRegistry']]], + ['addnotification_6',['addNotification',['../structlspserver_1_1HandlerRegistry.html#a473db8004c5218906f77c42f0c77c35a',1,'lspserver::HandlerRegistry']]], + ['adjustkindtocapability_7',['adjustKindToCapability',['../namespacelspserver.html#ab0e770699b02793e166217a093e40d3b',1,'lspserver::adjustKindToCapability(CompletionItemKind Kind, CompletionItemKindBitset &SupportedCompletionItemKinds)'],['../namespacelspserver.html#a28a6ef11b276c533a13d45d1734a96d2',1,'lspserver::adjustKindToCapability(SymbolKind Kind, SymbolKindBitset &supportedSymbolKinds)']]], + ['advance_8',['advance',['../namespacenixt.html#a61ea964414bcfe5a03516c85590da63f',1,'nixt']]], + ['applychange_9',['applyChange',['../namespacelspserver.html#a24b9d4c2890d751945884bae008da2aa',1,'lspserver']]], + ['arg_10',['arg',['../classnixf_1_1ExprLambda.html#a94a3cb9683d8b10490a6fe359cb84a46',1,'nixf::ExprLambda']]], + ['args_11',['args',['../classnixf_1_1PartialDiagnostic.html#a4cee5ad9adf731abe152e21916a3b27f',1,'nixf::PartialDiagnostic::args() const'],['../classnixf_1_1PartialDiagnostic.html#a2adc626af34105342467367b72d4d7ed',1,'nixf::PartialDiagnostic::args()'],['../classnixf_1_1ExprCall.html#a69ea1ca91c8eb5ae33d2cb0dd1caeb7b',1,'nixf::ExprCall::args()'],['../classnixf_1_1ExprCall.html#a754c12f0dc17ce69ba81d6493378d7b8',1,'nixf::ExprCall::args() const']]], + ['ast_12',['ast',['../classnixd_1_1NixTU.html#af84c5eb174e0059336cab9f802f2e59a',1,'nixd::NixTU']]], + ['astdeserializer_13',['ASTDeserializer',['../classnixt_1_1ASTDeserializer.html#a2423ed4de2c7a79ba4f2dbe6bdf03540',1,'nixt::ASTDeserializer']]], + ['asvfs_14',['asVFS',['../classlspserver_1_1DraftStore.html#aec81eb3be70461578bb820090958147d',1,'lspserver::DraftStore']]], + ['attribute_15',['Attribute',['../classnixf_1_1Attribute.html#a8be05a74b77a5f0f6c28c397dec8a305',1,'nixf::Attribute::Attribute()=default'],['../classnixf_1_1Attribute.html#ab8bdd58f83e8ae48fff2185e73a460f3',1,'nixf::Attribute::Attribute(std::shared_ptr< Node > Key, std::shared_ptr< Expr > Value, bool FromInherit)']]], + ['attrname_16',['AttrName',['../classnixf_1_1AttrName.html#af6ad9a31b3150005a6f51ea6f1a97f38',1,'nixf::AttrName::AttrName(std::shared_ptr< Identifier > ID, LexerCursorRange Range)'],['../classnixf_1_1AttrName.html#a7ae6223957d18cb7561d130e12c2ad1a',1,'nixf::AttrName::AttrName(std::shared_ptr< ExprString > String)'],['../classnixf_1_1AttrName.html#a2e68f74f7e758fdb7ac5bd1c6dcb42c3',1,'nixf::AttrName::AttrName(std::shared_ptr< Interpolation > Interp)']]], + ['attrpath_17',['AttrPath',['../classnixf_1_1AttrPath.html#a9e434f7d68ca28f8f9fca19e85048038',1,'nixf::AttrPath']]], + ['attrpath_18',['attrpath',['../classnixf_1_1ExprOpHasAttr.html#aab50a5158a7e291d1487f67db56214ad',1,'nixf::ExprOpHasAttr']]], + ['authority_19',['authority',['../classlspserver_1_1URI.html#a91512c203ca0302ae7760037b550c1af',1,'lspserver::URI']]], + ['autoclosefd_20',['AutoCloseFD',['../classnixd_1_1util_1_1AutoCloseFD.html#a4dd8fe6c67d4b920f4868bc4a4efd93f',1,'nixd::util::AutoCloseFD::AutoCloseFD(FDTy FD)'],['../classnixd_1_1util_1_1AutoCloseFD.html#a7f6710413f3f9cb1ad282f5c7ff87145',1,'nixd::util::AutoCloseFD::AutoCloseFD(const AutoCloseFD &)=delete'],['../classnixd_1_1util_1_1AutoCloseFD.html#a42415ae875dce069c99af6d545fc1269',1,'nixd::util::AutoCloseFD::AutoCloseFD(AutoCloseFD &&That) noexcept']]], + ['autohuppid_21',['AutoHUPPID',['../classnixd_1_1util_1_1AutoHUPPID.html#a7cb09e2c7c22b43d36ac1b9db7a5722c',1,'nixd::util::AutoHUPPID']]], + ['autoremoveshm_22',['AutoRemoveShm',['../classnixd_1_1util_1_1AutoRemoveShm.html#a4de910c79a7fd561cad1c9bed456d13d',1,'nixd::util::AutoRemoveShm']]] +]; diff --git a/search/functions_1.js b/search/functions_1.js new file mode 100644 index 000000000..9a2b46de0 --- /dev/null +++ b/search/functions_1.js @@ -0,0 +1,10 @@ +var searchData= +[ + ['begin_0',['begin',['../classnixf_1_1PositionRange.html#a3acf7afdf0226f2f24b00e77db17ecfd',1,'nixf::PositionRange::begin()'],['../namespacenixt.html#a373e5cbe21a0f73243e8b912e418ba86',1,'nixt::begin()']]], + ['binding_1',['Binding',['../classnixf_1_1Binding.html#a48c7605bb210f2f7c62185aa5255ded9',1,'nixf::Binding']]], + ['bindings_2',['bindings',['../classnixf_1_1Binds.html#abf296edeca19f4e0ba3c644f5bbc263c',1,'nixf::Binds']]], + ['binds_3',['binds',['../classnixf_1_1ExprAttrs.html#ad78576f46894599609db94783ca21ebb',1,'nixf::ExprAttrs::binds()'],['../classnixf_1_1ExprLet.html#a51481261bb8028954e4b55d3eb6a8990',1,'nixf::ExprLet::binds()']]], + ['binds_4',['Binds',['../classnixf_1_1Binds.html#a6d2badff19ff4592eff48465a4f741a8',1,'nixf::Binds']]], + ['body_5',['body',['../classnixf_1_1ExprLambda.html#a64b0fd5c85d37d736da859892fc0b67b',1,'nixf::ExprLambda::body()'],['../classlspserver_1_1URI.html#aac7d80bf1c74cabcf10143735261dba2',1,'lspserver::URI::body()']]], + ['broadcast_6',['broadcast',['../classlspserver_1_1Event.html#a29b5c5938637f186fe4bd5f7999b161c',1,'lspserver::Event']]] +]; diff --git a/search/functions_10.js b/search/functions_10.js new file mode 100644 index 000000000..664a736f4 --- /dev/null +++ b/search/functions_10.js @@ -0,0 +1,22 @@ +var searchData= +[ + ['scheme_0',['scheme',['../classlspserver_1_1URI.html#ab97804c060c2e322f07ab7c882ad3319',1,'lspserver::URI']]], + ['selectorcreate_1',['selectOrCreate',['../classnixf_1_1Sema.html#a0b137b12fbec016d52ef7fd8bae0ff10',1,'nixf::Sema']]], + ['sema_2',['Sema',['../classnixf_1_1Sema.html#ae2d3c9846532adba88cf4d746cdb9e67',1,'nixf::Sema']]], + ['sema_3',['sema',['../classnixf_1_1ExprAttrs.html#a552568476b135321dbbc77080d965baf',1,'nixf::ExprAttrs']]], + ['semaattrs_4',['SemaAttrs',['../classnixf_1_1SemaAttrs.html#a6fbf876a47b325281ca39196ca3b80bc',1,'nixf::SemaAttrs::SemaAttrs(Misc *Recursive)'],['../classnixf_1_1SemaAttrs.html#a213ee7465c9d56ccde6be97868a7b16c',1,'nixf::SemaAttrs::SemaAttrs(std::map< std::string, Attribute > Static, std::vector< Attribute > Dynamic, Misc *Recursive)']]], + ['sendmessage_5',['sendMessage',['../classlspserver_1_1OutboundPort.html#a66baca8ef340b385c4852c522c1d4a42',1,'lspserver::OutboundPort']]], + ['setcur_6',['setCur',['../classnixf_1_1Lexer.html#aa1da76c67db3bcd5d9bcf89c8f9052c2',1,'nixf::Lexer']]], + ['severity_7',['severity',['../classnixf_1_1Diagnostic.html#af2604208de6c52c85e4827bd54243d66',1,'nixf::Diagnostic']]], + ['shmname_8',['shmName',['../classnixd_1_1util_1_1AutoRemoveShm.html#ae5742ac205976bb5d6ced9b2732003a9',1,'nixd::util::AutoRemoveShm']]], + ['shouldtraversepostorder_9',['shouldTraversePostOrder',['../structnixt_1_1RecursiveASTVisitor.html#aeae26a42e443af02877fe52456b5d9a3',1,'nixt::RecursiveASTVisitor']]], + ['sname_10',['sname',['../classnixf_1_1Note.html#a6c2401307d74cbbab60176b1812b76e7',1,'nixf::Note::sname(NoteKind Kind)'],['../classnixf_1_1Note.html#aa07e5eedd7be333ad6cad27450fea8a2',1,'nixf::Note::sname() const'],['../classnixf_1_1Diagnostic.html#aa0e7c95d756d7af0e07ec8cb104d22f0',1,'nixf::Diagnostic::sname(DiagnosticKind Kind)'],['../classnixf_1_1Diagnostic.html#a5f3fa89c21696fb6221bd32cd4d8767b',1,'nixf::Diagnostic::sname() const']]], + ['spelling_11',['spelling',['../namespacenixf_1_1tok.html#a22303bfd9cb56f2263925fb456d35877',1,'nixf::tok']]], + ['src_12',['src',['../classnixf_1_1Node.html#a8aecdb38ea3becaa4c3486e9a22bac04',1,'nixf::Node']]], + ['staticattrs_13',['staticAttrs',['../classnixf_1_1SemaAttrs.html#adb4cd398a017d36cdf5b2b581fcdf78b',1,'nixf::SemaAttrs']]], + ['staticname_14',['staticName',['../classnixf_1_1AttrName.html#a26f8f0850b88fa1ab24494cb8c969b06',1,'nixf::AttrName']]], + ['streamlogger_15',['StreamLogger',['../classlspserver_1_1StreamLogger.html#a49ddb7eeb5f140e6f79aed6c51e05491',1,'lspserver::StreamLogger']]], + ['string_16',['string',['../classnixf_1_1AttrName.html#aa606d39021e67e8f858ac3ecdf298133',1,'nixf::AttrName']]], + ['subscription_17',['Subscription',['../classlspserver_1_1Event_1_1Subscription.html#a98f9174cc6d1cf01d4159abb5151199f',1,'lspserver::Event::Subscription::Subscription()'],['../classlspserver_1_1Event_1_1Subscription.html#a010c842beec38ef18ff5ca4011f23696',1,'lspserver::Event::Subscription::Subscription(Subscription &&Other)']]], + ['switchstreamstyle_18',['switchStreamStyle',['../classlspserver_1_1LSPServer.html#ae32986041af5973c958e01718641fccb',1,'lspserver::LSPServer']]] +]; diff --git a/search/functions_11.js b/search/functions_11.js new file mode 100644 index 000000000..33a90a45f --- /dev/null +++ b/search/functions_11.js @@ -0,0 +1,15 @@ +var searchData= +[ + ['tag_0',['tag',['../classnixf_1_1PartialDiagnostic.html#a1856976da05c5e0f0be1ceff38b1848e',1,'nixf::PartialDiagnostic']]], + ['tags_1',['tags',['../classnixf_1_1PartialDiagnostic.html#a6a980e9e70615655cb9b7d02787f0521',1,'nixf::PartialDiagnostic']]], + ['textedit_2',['TextEdit',['../classnixf_1_1TextEdit.html#ad5d1fdcac6cbfeed63a12b115e13e532',1,'nixf::TextEdit']]], + ['then_3',['then',['../classnixf_1_1ExprIf.html#a2f80b0835b006680c5e764d2673c41a0',1,'nixf::ExprIf']]], + ['tobytecode_4',['toBytecode',['../namespacebc.html#aebd4151947c89d10a41ca97231dd84ff',1,'bc']]], + ['tojson_5',['toJSON',['../namespacelspserver.html#a8ec3d7cc35dfdf896f97ac1137ad4fb7',1,'lspserver::toJSON(const URIForFile &U)'],['../namespacelspserver.html#a7ef50f0f528f46a211f9579b24c7fab5',1,'lspserver::toJSON(const TextDocumentIdentifier &)'],['../namespacelspserver.html#afc09ee3e99f6c4ffa41435a97798578a',1,'lspserver::toJSON(const VersionedTextDocumentIdentifier &)'],['../namespacelspserver.html#aff0d63e9c2ba89776e662b27809d6f47',1,'lspserver::toJSON(const Position &)'],['../namespacelspserver.html#a743d12950ae5e3619d6c8bfbfe1fe8ee',1,'lspserver::toJSON(const Range &)'],['../namespacelspserver.html#a4c0a06c37062e11e275644d049ce3095',1,'lspserver::toJSON(const Location &)'],['../namespacelspserver.html#aa1e3f4338effc86d5f6bc7816299b588',1,'lspserver::toJSON(const ReferenceLocation &)'],['../namespacelspserver.html#a2b1144c0f8dc0213e157b8ee23fdd9f0',1,'lspserver::toJSON(const TextEdit &)'],['../namespacelspserver.html#acfe2aa5558bd5ab24a4022acfb6a163f',1,'lspserver::toJSON(const ChangeAnnotation &)'],['../namespacelspserver.html#a6f499d92f409550bf795a5a99fe1601e',1,'lspserver::toJSON(const TextDocumentEdit &)'],['../namespacelspserver.html#a9b8346d48148fd7240b65c991ca59688',1,'lspserver::toJSON(const NoParams &)'],['../namespacelspserver.html#a266c3dccc3b6cac8cf3becf855b79961',1,'lspserver::toJSON(const OffsetEncoding &)'],['../namespacelspserver.html#abc3bf2f561a4a0a27c171a1aa3f1b2c5',1,'lspserver::toJSON(const WorkDoneProgressCreateParams &P)'],['../namespacelspserver.html#ac515834273eb5a72ffc7ffbad86875b1',1,'lspserver::toJSON(const ProgressParams< T > &P)'],['../namespacelspserver.html#a0333faeb60947f54cf3bb430a5240875',1,'lspserver::toJSON(const WorkDoneProgressBegin &)'],['../namespacelspserver.html#af03c5454237edc9456422d7813bcd23d',1,'lspserver::toJSON(const WorkDoneProgressReport &)'],['../namespacelspserver.html#af181f3d13d5c99655cbb48e4182ec1b0',1,'lspserver::toJSON(const WorkDoneProgressEnd &)'],['../namespacelspserver.html#a1c54b1f33452a80e971cb14a680317e1',1,'lspserver::toJSON(const MessageType &)'],['../namespacelspserver.html#a915ac9f4b1eff0869899f6e1c7fbb303',1,'lspserver::toJSON(const ShowMessageParams &)'],['../namespacelspserver.html#a50bc4b5f57a326c73d7ea3d832fa0ae4',1,'lspserver::toJSON(const DiagnosticRelatedInformation &)'],['../namespacelspserver.html#a19a76321cf25bdd9ee5eac17fd0bdc9b',1,'lspserver::toJSON(DiagnosticTag Tag)'],['../namespacelspserver.html#afcd244f8d722e628d754846ab2798a6b',1,'lspserver::toJSON(const CodeDescription &)'],['../namespacelspserver.html#a55107875f33ec2df36fdd9d3db2e942e',1,'lspserver::toJSON(const Diagnostic &)'],['../namespacelspserver.html#aab1a6d429da27e494b56a517c239d041',1,'lspserver::toJSON(const PublishDiagnosticsParams &)'],['../namespacelspserver.html#ae01765eaa57d8d7e9510df4a31306cef',1,'lspserver::toJSON(const WorkspaceEdit &WE)'],['../namespacelspserver.html#a8a8564b4a7d9e799a2822927bc198eb3',1,'lspserver::toJSON(const TweakArgs &A)'],['../namespacelspserver.html#aad93856653302a66381078cc9e0ed57f',1,'lspserver::toJSON(const Command &C)'],['../namespacelspserver.html#af0cab4afa9e7fe2f800e5fae089a4fbc',1,'lspserver::toJSON(const CodeAction &)'],['../namespacelspserver.html#a077831ab6babe38051e9eec8146b9596',1,'lspserver::toJSON(const DocumentSymbol &S)'],['../namespacelspserver.html#a9dc694ba4171d6ff4ef3e2dbaee1e8b3',1,'lspserver::toJSON(const SymbolInformation &)'],['../namespacelspserver.html#a2c14cbc0e60f9adc35083d9f4dee132e',1,'lspserver::toJSON(const ApplyWorkspaceEditParams &)'],['../namespacelspserver.html#abea183efe985f4dfec4ab16655deea54',1,'lspserver::toJSON(const MarkupContent &MC)'],['../namespacelspserver.html#a03def96b0eb14408415ec9c378ac3d09',1,'lspserver::toJSON(const Hover &H)'],['../namespacelspserver.html#a0bb2d4b539636697b99dfbd1a1e440de',1,'lspserver::toJSON(const CompletionItem &)'],['../namespacelspserver.html#a7779a282f6576aaf3e89578df913a32d',1,'lspserver::toJSON(const CompletionList &)'],['../namespacelspserver.html#a6442d656d64b69c6990a05b1c7387a10',1,'lspserver::toJSON(const ParameterInformation &)'],['../namespacelspserver.html#af49bb5bdd40bdcb5456f902e9fcf13b6',1,'lspserver::toJSON(const SignatureInformation &)'],['../namespacelspserver.html#a99e3e58bd976961597908fc5fc8aa4eb',1,'lspserver::toJSON(const SignatureHelp &)'],['../namespacelspserver.html#a1b3224105d68ca659eec1bbd290a5480',1,'lspserver::toJSON(const DocumentHighlight &DH)'],['../namespacelspserver.html#a8384a6194e742180725e59405783e7f8',1,'lspserver::toJSON(const TypeHierarchyItem::ResolveParams &)'],['../namespacelspserver.html#ad76a1825fb207d5a9ef9e530920df3e5',1,'lspserver::toJSON(const TypeHierarchyItem &)'],['../namespacelspserver.html#a069f2663df40b5bbd9057f1f50f30585',1,'lspserver::toJSON(SymbolTag)'],['../namespacelspserver.html#aa6210a13efd342b5894099a986125d53',1,'lspserver::toJSON(const CallHierarchyItem &)'],['../namespacelspserver.html#a6e2b4bb0fde0db4e8f4423c8e0cdc0fd',1,'lspserver::toJSON(const CallHierarchyIncomingCall &)'],['../namespacelspserver.html#a2234f5a821031979139f8b76510cc8fd',1,'lspserver::toJSON(const CallHierarchyOutgoingCall &)'],['../namespacelspserver.html#a0f72ff63f0167a058f9614c664bfafad',1,'lspserver::toJSON(const InlayHintKind &)'],['../namespacelspserver.html#a1386bb909903f463693a885d3c622324',1,'lspserver::toJSON(const InlayHint &)'],['../namespacelspserver.html#a75642d616554642b3c818f86519da2db',1,'lspserver::toJSON(const FileStatus &)'],['../namespacelspserver.html#aea20a7d3ba0da82c20c7957cf565bbc0',1,'lspserver::toJSON(const SemanticTokens &)'],['../namespacelspserver.html#a4d9d9a52efe369f6713350e6e57cbfb9',1,'lspserver::toJSON(const SemanticTokensEdit &)'],['../namespacelspserver.html#a2ce4e83c2ac4bf8bac380b0ea9f0ce7a',1,'lspserver::toJSON(const SemanticTokensOrDelta &)'],['../namespacelspserver.html#aac20d81d02fc2bbd12c0db99318fd235',1,'lspserver::toJSON(const InactiveRegionsParams &InactiveRegions)'],['../namespacelspserver.html#a2135e3d34ceee187063d5e7ebca04705',1,'lspserver::toJSON(const SelectionRange &)'],['../namespacelspserver.html#a5197340962b2a1e17e3fcfd598ee15a8',1,'lspserver::toJSON(const DocumentLink &DocumentLink)'],['../namespacelspserver.html#abf241954cc23ea0eae5043cb62983089',1,'lspserver::toJSON(const FoldingRange &Range)'],['../namespacelspserver.html#a1c70b23820e26f80a4c191d1e70af1c5',1,'lspserver::toJSON(const ASTNode &)'],['../namespacelspserver.html#a24c704fa58f8e4f4ca72c16cde83ed93',1,'lspserver::toJSON(const ConfigurationItem &)'],['../namespacelspserver.html#ab7dab7f38a08901a492500acc11342d6',1,'lspserver::toJSON(const ConfigurationParams &)'],['../namespacenixd_1_1rpc.html#ac0ad0807274222922b752a449d058240',1,'nixd::rpc::toJSON(const RegisterBCParams &Params)'],['../namespacenixd_1_1rpc.html#a1058076ae944696dda1bc1c71203eca5',1,'nixd::rpc::toJSON(const ExprValueParams &Params)'],['../namespacenixd_1_1rpc.html#a1f7e90ff89a46609c740a2c642efa8e6',1,'nixd::rpc::toJSON(const ExprValueResponse &Params)']]], + ['token_6',['Token',['../classnixf_1_1Token.html#a663c3e1dc061f2adb6fa4587d1c86cad',1,'nixf::Token']]], + ['tolspposition_7',['toLSPPosition',['../namespacenixd.html#a5944cdc272c8a49dba2fd206b62b2697',1,'nixd']]], + ['tolsprange_8',['toLSPRange',['../namespacenixd.html#ad73c292905db61216135e7982e4681a3',1,'nixd']]], + ['tolsptags_9',['toLSPTags',['../namespacenixd.html#aed677a632cad0aba844def114336270a',1,'nixd']]], + ['tostring_10',['toString',['../classlspserver_1_1URI.html#abbcf9d8d5d654fad7720b188781de90c',1,'lspserver::URI']]], + ['traverseexpr_11',['traverseExpr',['../structnixt_1_1RecursiveASTVisitor.html#a57603dce28547d1f8d08bab24eb765c6',1,'nixt::RecursiveASTVisitor']]] +]; diff --git a/search/functions_12.js b/search/functions_12.js new file mode 100644 index 000000000..3e0836ce0 --- /dev/null +++ b/search/functions_12.js @@ -0,0 +1,9 @@ +var searchData= +[ + ['unionranges_0',['unionRanges',['../namespacelspserver.html#a1d543d73f88565b59621538d51fb34df',1,'lspserver']]], + ['unsafecreate_1',['unsafeCreate',['../classnixf_1_1LexerCursor.html#a5e9b05e14a69c5c6b6ef8eda7b0af416',1,'nixf::LexerCursor']]], + ['uri_2',['URI',['../classlspserver_1_1URI.html#af4b7b70de82110b7dc3238a1a7f61364',1,'lspserver::URI']]], + ['uri_3',['uri',['../structlspserver_1_1URIForFile.html#aed55ac711769bce7d879c2eb17b657cd',1,'lspserver::URIForFile']]], + ['uriforfile_4',['URIForFile',['../structlspserver_1_1URIForFile.html#a656ca164a73f3b520aab8db1711f9b4e',1,'lspserver::URIForFile']]], + ['urifromabsolutepath_5',['uriFromAbsolutePath',['../classlspserver_1_1URIScheme.html#aad975c1e77d1061f170ee8dd21e06ea5',1,'lspserver::URIScheme']]] +]; diff --git a/search/functions_13.js b/search/functions_13.js new file mode 100644 index 000000000..59afd03bf --- /dev/null +++ b/search/functions_13.js @@ -0,0 +1,9 @@ +var searchData= +[ + ['value_0',['value',['../classnixf_1_1Binding.html#ab831cd6b8ab83de1ec78fcfb2fd537e9',1,'nixf::Binding::value() const'],['../classnixf_1_1Binding.html#a190359de365d1b78c3c09a2adc08857a',1,'nixf::Binding::value()'],['../classnixf_1_1Attribute.html#a0641e58219d03f9fad54aa54fa8d02df',1,'nixf::Attribute::value()'],['../classnixf_1_1Attribute.html#a041ada543f74f51a4b070740f225e92b',1,'nixf::Attribute::value() const'],['../classnixf_1_1ExprAssert.html#aa35731ffb5b6c7b557be9353774b143c',1,'nixf::ExprAssert::value()'],['../classnixf_1_1ExprInt.html#a6f22cf0b8b17bec24945d4e2610c58fd',1,'nixf::ExprInt::value()'],['../classnixf_1_1ExprFloat.html#abd18c0d953cb278ca3ec96889c40aa2a',1,'nixf::ExprFloat::value()']]], + ['valueordefault_1',['valueOrDefault',['../namespacelspserver_1_1detail.html#a14409fe3d1765ee7719a582537265d14',1,'lspserver::detail']]], + ['valueoruninitialized_2',['valueOrUninitialized',['../namespacelspserver_1_1detail.html#a2464e7c3b029cd7ae905705912a81680',1,'lspserver::detail']]], + ['view_3',['view',['../classnixf_1_1Token.html#af94bb88ab40927bd69a5911deb92e341',1,'nixf::Token::view()'],['../namespacenixt.html#a3fc7850857c2f3926fd23e418dd73a0d',1,'nixt::view()']]], + ['visitexpr_4',['visitExpr',['../structnixt_1_1RecursiveASTVisitor.html#ac5f669c0e627795c6afaac79704a4bac',1,'nixt::RecursiveASTVisitor']]], + ['vlog_5',['vlog',['../namespacelspserver.html#af758a20d871350d59fd5d1fc530acc73',1,'lspserver']]] +]; diff --git a/search/functions_14.js b/search/functions_14.js new file mode 100644 index 000000000..9039adaff --- /dev/null +++ b/search/functions_14.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['with_0',['with',['../classnixf_1_1ExprWith.html#a29f83259744bc8dfb316e7d2485799fc',1,'nixf::ExprWith']]], + ['wrap_1',['wrap',['../namespacelspserver_1_1detail.html#aa2ddd906ab8a11c9d4651a83c5b0cb26',1,'lspserver::detail::wrap(T &&V)'],['../namespacelspserver_1_1detail.html#a02ac1f849f3e0284a3f4a4e74d01af0f',1,'lspserver::detail::wrap(llvm::Error &&V)']]], + ['writebytecode_2',['writeBytecode',['../namespacebc.html#aff42b0d34d0356cd30561ff540e8c614',1,'bc::writeBytecode(std::ostream &OS, const T &Data)'],['../namespacebc.html#a998001cae289a6568cdc93196c2368d1',1,'bc::writeBytecode(std::ostream &OS, const std::string_view &Data)'],['../namespacebc.html#a1dc2dd0ab00903723d7265eefc58cd84',1,'bc::writeBytecode(std::ostream &OS, const std::string &Data)'],['../namespacenixbc.html#ae575627b076ef1eb2e959d369f8aa90c',1,'nixbc::writeBytecode(std::ostream &OS, const Origin &O)'],['../namespacenixbc.html#a436fcb9df8affdf562ed866a0334ddea',1,'nixbc::writeBytecode(std::ostream &OS, const OriginPath &O)'],['../namespacenixf.html#aaa9148c6cf48d05a4cef1bf5a1572987',1,'nixf::writeBytecode(std::ostream &OS, const Node &N)'],['../namespacenixf.html#a8cc16c18c2da07afb4b79cac865e195f',1,'nixf::writeBytecode(std::ostream &OS, const ExprInt &N)'],['../namespacenixf.html#a943705f057fe107d8ca421fce438be49',1,'nixf::writeBytecode(std::ostream &OS, const ExprBinOp &N)']]] +]; diff --git a/search/functions_15.js b/search/functions_15.js new file mode 100644 index 000000000..f7557441e --- /dev/null +++ b/search/functions_15.js @@ -0,0 +1,16 @@ +var searchData= +[ + ['_7eautoclosefd_0',['~AutoCloseFD',['../classnixd_1_1util_1_1AutoCloseFD.html#a847af93bb4d9cb5339edc9fbf785c226',1,'nixd::util::AutoCloseFD']]], + ['_7eautohuppid_1',['~AutoHUPPID',['../classnixd_1_1util_1_1AutoHUPPID.html#a1765f56e4ef6be4629498757def6bb51',1,'nixd::util::AutoHUPPID']]], + ['_7eautoremoveshm_2',['~AutoRemoveShm',['../classnixd_1_1util_1_1AutoRemoveShm.html#a317a460aa901b745e1d51f5bc94f3210',1,'nixd::util::AutoRemoveShm']]], + ['_7eevalclient_3',['~EvalClient',['../classnixd_1_1EvalClient.html#ae1ee626d0a230caa0192acd71de69907',1,'nixd::EvalClient']]], + ['_7eevent_4',['~Event',['../classlspserver_1_1Event.html#add2067f7673f6529988fa00c4403e01d',1,'lspserver::Event']]], + ['_7elogger_5',['~Logger',['../classlspserver_1_1Logger.html#a42147a0c148e79580855df3e197f401d',1,'lspserver::Logger']]], + ['_7eloggingsession_6',['~LoggingSession',['../classlspserver_1_1LoggingSession.html#a7b09ffaf678fdba9052b8dca2e106d44',1,'lspserver::LoggingSession']]], + ['_7emessagehandler_7',['~MessageHandler',['../classlspserver_1_1MessageHandler.html#ae0bf7e59e9f77c9d130b790c088cf35a',1,'lspserver::MessageHandler']]], + ['_7enode_8',['~Node',['../classnixf_1_1Node.html#aa73de0be9c141d65bc069da9dbab3ce6',1,'nixf::Node']]], + ['_7eownedevalclient_9',['~OwnedEvalClient',['../classnixd_1_1OwnedEvalClient.html#a4b1928c43348bb2b1e781eef7265edd1',1,'nixd::OwnedEvalClient']]], + ['_7epartialdiagnostic_10',['~PartialDiagnostic',['../classnixf_1_1PartialDiagnostic.html#a37245d15a330a0cb32bd4016e8278f21',1,'nixf::PartialDiagnostic']]], + ['_7esubscription_11',['~Subscription',['../classlspserver_1_1Event_1_1Subscription.html#a45cd4986ad61bb72c8bf5dca01da0b65',1,'lspserver::Event::Subscription']]], + ['_7eurischeme_12',['~URIScheme',['../classlspserver_1_1URIScheme.html#a71d6a13d7eb3f4dba25ec3bff4a9165d',1,'lspserver::URIScheme']]] +]; diff --git a/search/functions_2.js b/search/functions_2.js new file mode 100644 index 000000000..e50a6ebee --- /dev/null +++ b/search/functions_2.js @@ -0,0 +1,25 @@ +var searchData= +[ + ['call_0',['call',['../classlspserver_1_1OutboundPort.html#acece6b5fd08945aee7805777718f036d',1,'lspserver::OutboundPort']]], + ['canonicalize_1',['canonicalize',['../structlspserver_1_1URIForFile.html#a25f1325018685a980fb43903e1b84646',1,'lspserver::URIForFile']]], + ['checkattrrecursiveformerge_2',['checkAttrRecursiveForMerge',['../classnixf_1_1Sema.html#aa2f40eead33f88c01564da59dd86ded1',1,'nixf::Sema']]], + ['checkformalellipsis_3',['checkFormalEllipsis',['../classnixf_1_1Sema.html#a4f62354c3a63d6084ff05210b935a71e',1,'nixf::Sema']]], + ['checkformalempty_4',['checkFormalEmpty',['../classnixf_1_1Sema.html#aa930ffbbda48a74dd8e1dc819b92d5da',1,'nixf::Sema']]], + ['checkformalsep_5',['checkFormalSep',['../classnixf_1_1Sema.html#a739f2a57c39e588659a6a8487e35e747',1,'nixf::Sema']]], + ['children_6',['children',['../classnixf_1_1AttrName.html#ae029f123ded28b4065fe54939e31785c',1,'nixf::AttrName::children()'],['../classnixf_1_1AttrPath.html#a86de6e9e93f51ae3b0abb03e76d59dc9',1,'nixf::AttrPath::children()'],['../classnixf_1_1Binding.html#a9606604d309cef68da836da80d17cea4',1,'nixf::Binding::children()'],['../classnixf_1_1Inherit.html#a2c33f5a3d9c76cc26fc3c32c6f519370',1,'nixf::Inherit::children()'],['../classnixf_1_1Binds.html#a36fd2327c008e98b591d75aee7e4c64d',1,'nixf::Binds::children()'],['../classnixf_1_1ExprAttrs.html#a44f2879914b8f6c0f6cba34551536aa1',1,'nixf::ExprAttrs::children()'],['../classnixf_1_1Node.html#af2ec762fa5da05d4a831e6f1ef8157c1',1,'nixf::Node::children()'],['../classnixf_1_1Misc.html#a978fd51448ad1963e31f0758008ed434',1,'nixf::Misc::children()'],['../classnixf_1_1Identifier.html#ac4c5e079b9d55aba824906eb4a0a247f',1,'nixf::Identifier::children()'],['../classnixf_1_1ExprSelect.html#a1bd60f3e4d93326745660bacac642ba9',1,'nixf::ExprSelect::children()'],['../classnixf_1_1ExprCall.html#a73ce3949eba5dd5b6d95abcfdd31e075',1,'nixf::ExprCall::children()'],['../classnixf_1_1ExprList.html#a6b14f39e7f8e2857c3e3001557957aab',1,'nixf::ExprList::children()'],['../classnixf_1_1ExprIf.html#ab3577d7742ac7a8df19805736afa94ed',1,'nixf::ExprIf::children()'],['../classnixf_1_1ExprAssert.html#aa9dd3d95979387bb1fab7a5db9df3dc2',1,'nixf::ExprAssert::children()'],['../classnixf_1_1ExprLet.html#ae584f7768f6b94f3ee1493fa11927e49',1,'nixf::ExprLet::children()'],['../classnixf_1_1ExprWith.html#ae676076dbd2597dfc47739fa0f159291',1,'nixf::ExprWith::children()'],['../classnixf_1_1Formal.html#a226a4a6a0784d9527675ce54e6471f8e',1,'nixf::Formal::children()'],['../classnixf_1_1Formals.html#a8b5ee2f6b210ee0e5d24fcc3c8ca0533',1,'nixf::Formals::children()'],['../classnixf_1_1LambdaArg.html#a9109135b1344f787008054d851450336',1,'nixf::LambdaArg::children()'],['../classnixf_1_1ExprLambda.html#aef46fafcd18babeff6005b3570eb28ce',1,'nixf::ExprLambda::children()'],['../classnixf_1_1Op.html#a464d2c0b40f61196802cc72f5b11ef28',1,'nixf::Op::children()'],['../classnixf_1_1ExprOp.html#a24c225e3e7dab57728bd19dca2e73230',1,'nixf::ExprOp::children()'],['../classnixf_1_1ExprBinOp.html#ac99b5619a3fa9faff9768cf5916eeb0f',1,'nixf::ExprBinOp::children()'],['../classnixf_1_1ExprOpHasAttr.html#a5cde75187c6f96d3e6490c6d291e1b36',1,'nixf::ExprOpHasAttr::children()'],['../classnixf_1_1ExprUnaryOp.html#abc9193cfc8328e3a79a5789e9611152e',1,'nixf::ExprUnaryOp::children()'],['../classnixf_1_1ExprInt.html#a06a97f8a92d086ba4a95e4b53f2ee3c9',1,'nixf::ExprInt::children()'],['../classnixf_1_1ExprFloat.html#aeae38043d47ed419d620673251087bff',1,'nixf::ExprFloat::children()'],['../classnixf_1_1Interpolation.html#a2b2745c8722e3c723679c60d339fc8b6',1,'nixf::Interpolation::children()'],['../classnixf_1_1InterpolatedParts.html#a5e8860be66750ed3e56f5fd9cb89b80f',1,'nixf::InterpolatedParts::children()'],['../classnixf_1_1ExprString.html#a85c9e50826682924d4eb3a12a6a929b4',1,'nixf::ExprString::children()'],['../classnixf_1_1ExprPath.html#a1830a9806ce0cce419ce8adbcddeee84',1,'nixf::ExprPath::children()'],['../classnixf_1_1ExprParen.html#ad71fe3e184e003f26577f5c287047274',1,'nixf::ExprParen::children()'],['../classnixf_1_1ExprVar.html#a0f51f49ecb68e3f24bd658ad6dffadfa',1,'nixf::ExprVar::children()']]], + ['classof_7',['classof',['../classnixf_1_1Expr.html#a4575b972c2e7c4ce8389ac397ea3a70b',1,'nixf::Expr']]], + ['close_8',['close',['../classlspserver_1_1InboundPort.html#a654e594cba394792fb01c94a5a916680',1,'lspserver::InboundPort']]], + ['closeinbound_9',['closeInbound',['../classlspserver_1_1LSPServer.html#aaaabca1d9e626068a602488d24f3d8fb',1,'lspserver::LSPServer']]], + ['collectwords_10',['collectWords',['../namespacelspserver.html#a917da274f676099780efde7f1b02e430',1,'lspserver']]], + ['column_11',['column',['../classnixf_1_1Position.html#a3b7fb2514b10014af595c4f87fdd8f4a',1,'nixf::Position::column()'],['../classnixf_1_1LexerCursor.html#a3c2bf1a27e8a99fd838c6097bee01d42',1,'nixf::LexerCursor::column()']]], + ['comma_12',['comma',['../classnixf_1_1Formal.html#a222e180ec769ee04c991a5a1864ce0fa',1,'nixf::Formal']]], + ['cond_13',['cond',['../classnixf_1_1ExprIf.html#a302c8b1f948b23a39be23444479a9063',1,'nixf::ExprIf::cond()'],['../classnixf_1_1ExprAssert.html#ac7cdada7b3231ab9f552a4eaa5d8220d',1,'nixf::ExprAssert::cond()']]], + ['consume_14',['consume',['../namespacenixt.html#ae82ebf3f2e7224da9f53ead9c2017036',1,'nixt']]], + ['consumeast_15',['consumeAST',['../namespacenixt.html#af5af0dc80196f5f6a76e98c8edc1c694',1,'nixt']]], + ['contains_16',['contains',['../classnixf_1_1PositionRange.html#a0e2d86927188043a8dd88aa708c9f4ad',1,'nixf::PositionRange::contains()'],['../classnixf_1_1LexerCursorRange.html#adc8195c88763f05c43fec65345eb7c4e',1,'nixf::LexerCursorRange::contains()'],['../structlspserver_1_1Range.html#ab0192ecf2af5d514b1ceca78daf3421e',1,'lspserver::Range::contains(Position Pos) const'],['../structlspserver_1_1Range.html#a5a0283a277498865dd7ec4753a8fa19e',1,'lspserver::Range::contains(Range Rng) const']]], + ['controller_17',['Controller',['../classnixd_1_1Controller.html#ace32259e4ecfbbc5549b600b40b683c0',1,'nixd::Controller']]], + ['converttoerrorcode_18',['convertToErrorCode',['../classlspserver_1_1LSPError.html#ade86cbededef0f4f201c595a4c40dbdb',1,'lspserver::LSPError']]], + ['create_19',['create',['../classlspserver_1_1URI.html#a541845ccb3fb53de56a807bcf5b1aae8',1,'lspserver::URI::create(llvm::StringRef AbsolutePath, llvm::StringRef Scheme)'],['../classlspserver_1_1URI.html#a1f02851a56015bf32ec78c43e2709fb0',1,'lspserver::URI::create(llvm::StringRef AbsolutePath)'],['../classnixd_1_1OwnedEvalClient.html#adc702181c2f2ace5ed344dba21426e82',1,'nixd::OwnedEvalClient::create()']]], + ['createfile_20',['createFile',['../classlspserver_1_1URI.html#ae7df5b5cae4a6cfaa1174107ce74d6a3',1,'lspserver::URI']]], + ['cur_21',['cur',['../classnixf_1_1Lexer.html#ae4da43a46013f7d9b8cecb2ffb662cdf',1,'nixf::Lexer']]] +]; diff --git a/search/functions_3.js b/search/functions_3.js new file mode 100644 index 000000000..67262e875 --- /dev/null +++ b/search/functions_3.js @@ -0,0 +1,20 @@ +var searchData= +[ + ['debugtype_0',['debugType',['../namespacelspserver_1_1detail.html#aa58647f2c78be0d58df77d03cc501cf8',1,'lspserver::detail']]], + ['decode_1',['decode',['../namespacenixt.html#a3e9badd6587388fb0247cd40e5335a63',1,'nixt::decode(BytesRef Data, T &Obj)'],['../namespacenixt.html#a99aaf0249869fabd17693eab71fcabf5',1,'nixt::decode(BytesRef Data, std::string &Str)']]], + ['decodeerror_2',['decodeError',['../namespacelspserver.html#a4bd833d210de2459a2ea02ddac4463a1',1,'lspserver']]], + ['decodeversion_3',['decodeVersion',['../classlspserver_1_1DraftStore.html#af294781b087a6eb64a503f26639eef10',1,'lspserver::DraftStore']]], + ['dedup_4',['dedup',['../classnixf_1_1Formals.html#afe1883021bac934d8b4dedb0fe92f7d1',1,'nixf::Formals::dedup()'],['../classnixf_1_1Formals.html#aa3d973073065cfd31ba82349e415038d',1,'nixf::Formals::dedup() const']]], + ['dedupformal_5',['dedupFormal',['../classnixf_1_1Sema.html#a2c0ad66c6c7875dca78c25e9e1557567',1,'nixf::Sema']]], + ['defaultexpr_6',['defaultExpr',['../classnixf_1_1ExprSelect.html#a847186cf4a50ecde3b3980ce3434d9eb',1,'nixf::ExprSelect::defaultExpr()'],['../classnixf_1_1Formal.html#aee28832c5fbd3bd02591bfc6491734f2',1,'nixf::Formal::defaultExpr()']]], + ['descend_7',['descend',['../classnixf_1_1Node.html#a0baddb708b003d7fccc90d3f09f94515',1,'nixf::Node']]], + ['deserializehookable_8',['deserializeHookable',['../namespacenixt.html#ab0d028a74390873ec4872a7745e0ed44',1,'nixt']]], + ['desugarinheritexpr_9',['desugarInheritExpr',['../classnixf_1_1Sema.html#a6d9f0a65a0eee43ac6bae2644976a76f',1,'nixf::Sema']]], + ['diagnostic_10',['Diagnostic',['../classnixf_1_1Diagnostic.html#a309a5829099380594fd612938d81d186',1,'nixf::Diagnostic']]], + ['diagnostics_11',['diagnostics',['../classnixd_1_1NixTU.html#a10b00e84fe21b6248f95f7f6513ece26',1,'nixd::NixTU']]], + ['diagnullexpr_12',['diagNullExpr',['../namespacenixf_1_1detail.html#af9e82df3ce22230174d929f2746563df',1,'nixf::detail']]], + ['dispatch_13',['dispatch',['../classlspserver_1_1InboundPort.html#ace26b7918381acdad51daf4aa4d7cef1',1,'lspserver::InboundPort']]], + ['displof_14',['displOf',['../namespacenixt.html#a012fca8e00357e49fa030b70292c91b8',1,'nixt::displOf(const nix::Expr *E, nix::Displacement Displ)'],['../namespacenixt.html#a775e5f296dc6823d6c1fa9fca4ad8f03',1,'nixt::displOf(const nix::ExprAttrs *E, nix::Displacement Displ)'],['../namespacenixt.html#a0c15d5cbd147cf52ed52a6cf86d6fb15',1,'nixt::displOf(const nix::ExprLet *E, nix::Displacement Displ)'],['../namespacenixt.html#a8a7031e69c6edade7adde78112e2fe8d',1,'nixt::displOf(const nix::ExprLambda *E, nix::Displacement Displ)']]], + ['dupattr_15',['dupAttr',['../classnixf_1_1Sema.html#a813c4f1c697dc1b0874fff49008750b6',1,'nixf::Sema']]], + ['dynamicattrs_16',['dynamicAttrs',['../classnixf_1_1SemaAttrs.html#ac41612aaaa0284c7aaa104eec65871ca',1,'nixf::SemaAttrs']]] +]; diff --git a/search/functions_4.js b/search/functions_4.js new file mode 100644 index 000000000..6916d4b40 --- /dev/null +++ b/search/functions_4.js @@ -0,0 +1,42 @@ +var searchData= +[ + ['eat_0',['eat',['../namespacebc.html#ac849924be2bbae45f91ea69a98b6d050',1,'bc']]], + ['eatexprint_1',['eatExprInt',['../classnixt_1_1ASTDeserializer.html#a4f2a3c9eeef53c3f0342412670b726d6',1,'nixt::ASTDeserializer']]], + ['eathookable_2',['eatHookable',['../classnixt_1_1ASTDeserializer.html#a137a2672aba8eda7ddb87c5a49011705',1,'nixt::ASTDeserializer']]], + ['eatsymbol_3',['eatSymbol',['../classnixt_1_1ASTDeserializer.html#aa5c396ef46e8e3a65c61c75c16aa466f',1,'nixt::ASTDeserializer']]], + ['edit_4',['edit',['../classnixf_1_1Fix.html#a99a48f92d2c5fcc520bc4d33776a41c2',1,'nixf::Fix']]], + ['edits_5',['edits',['../classnixf_1_1Fix.html#a62f8f141759b0b3b0f09f77970f25643',1,'nixf::Fix']]], + ['elements_6',['elements',['../classnixf_1_1ExprList.html#a0193022985b2c580b53ba51819eae41a',1,'nixf::ExprList::elements() const'],['../classnixf_1_1ExprList.html#a07f838b05b78cc79fd1142a895ac9d20',1,'nixf::ExprList::elements()']]], + ['ellipsis_7',['ellipsis',['../classnixf_1_1Formal.html#a09e0332f1a7e1614b54c7704d32964d1',1,'nixf::Formal']]], + ['elog_8',['elog',['../namespacelspserver.html#a82488367b9fb79e2aa29e871e264730d',1,'lspserver']]], + ['elseexpr_9',['elseExpr',['../classnixf_1_1ExprIf.html#a6b2a181f583874616ee43d78e348fbe3',1,'nixf::ExprIf']]], + ['encode_10',['encode',['../namespacenixt.html#a25061c67368e1c6c24d35f1c399854e9',1,'nixt::encode(std::ostream &OS, const T &Data)'],['../namespacenixt.html#a273741249be52b8b1cd0b4e9f3e68610',1,'nixt::encode(std::ostream &OS, const std::string &Data)'],['../namespacenixt.html#a36bedb0bafa77f89b2d471b1550b786c',1,'nixt::encode(std::ostream &OS, const nix::Pos::Origin &Origin)']]], + ['encodeast_11',['encodeAST',['../namespacenixt.html#a94c6760741573011c38cf19c30130f70',1,'nixt']]], + ['encodeversion_12',['encodeVersion',['../classlspserver_1_1DraftStore.html#a03755988045ecc0881cc22ed9f4494d1',1,'lspserver::DraftStore']]], + ['end_13',['end',['../classnixf_1_1PositionRange.html#add684fcec94fdd8448adc660428af795',1,'nixf::PositionRange::end()'],['../namespacenixt.html#a96f6acc6d2d5c11eb3189af95897e5d6',1,'nixt::end()']]], + ['error_14',['error',['../namespacelspserver_1_1detail.html#aeee993448ede36ac82279260d982a71e',1,'lspserver::detail::error()'],['../namespacelspserver.html#a142f6b9e1eae57c5e8f3fe77fa563de3',1,'lspserver::error(std::error_code EC, const char *Fmt, Ts &&...Vals)'],['../namespacelspserver.html#a3ff33b89685987c09e4e06e48423945d',1,'lspserver::error(const char *Fmt, Ts &&...Vals)'],['../namespacelspserver.html#ad3e284b3f43df7cebf215ea80b69d698',1,'lspserver::error(std::error_code EC, std::string Msg)'],['../namespacelspserver.html#a39f650b9146227ca6a052c20eddd88e7',1,'lspserver::error(std::string Msg)']]], + ['escaped_15',['escaped',['../classnixf_1_1InterpolablePart.html#a479152105d80ebf36b0a866258c1bbdf',1,'nixf::InterpolablePart']]], + ['evalclient_16',['EvalClient',['../classnixd_1_1EvalClient.html#a267f0cf23af6529f52b4c74ae50dfc31',1,'nixd::EvalClient']]], + ['evalprovider_17',['EvalProvider',['../classnixd_1_1EvalProvider.html#a3afed826bb93d1a565511affcc6a29db',1,'nixd::EvalProvider']]], + ['expr_18',['Expr',['../classnixf_1_1Expr.html#a12e87d1fab1d766cf93bbb0ac38b708d',1,'nixf::Expr']]], + ['expr_19',['expr',['../classnixf_1_1Inherit.html#a06da124f4e3b808c2c3db8d44d0b5060',1,'nixf::Inherit::expr()'],['../classnixf_1_1Inherit.html#a238e6d06460e441d5d72e5f5145f4b86',1,'nixf::Inherit::expr() const'],['../classnixf_1_1ExprSelect.html#ac1a75c9a89efbfe87a6771837a0272f9',1,'nixf::ExprSelect::expr()'],['../classnixf_1_1ExprLet.html#a34753fee6c3375560cbc411d4da0a24f',1,'nixf::ExprLet::expr()'],['../classnixf_1_1ExprWith.html#ae93be186317e3b8e115e7d72519245f2',1,'nixf::ExprWith::expr()'],['../classnixf_1_1ExprOpHasAttr.html#a3c1826e34a63ce9cc456b55c485f1d57',1,'nixf::ExprOpHasAttr::expr()'],['../classnixf_1_1ExprUnaryOp.html#acec1b568597d9f91a66e1d68176656a3',1,'nixf::ExprUnaryOp::expr()'],['../classnixf_1_1Interpolation.html#a86402f604f4773b6f39ea22b32c86e05',1,'nixf::Interpolation::expr()'],['../classnixf_1_1ExprParen.html#a60501e082aea530cd0909f0e587c92ce',1,'nixf::ExprParen::expr()']]], + ['exprassert_20',['ExprAssert',['../classnixf_1_1ExprAssert.html#a40edbca00d2dd57b3e67ebb2f8267cab',1,'nixf::ExprAssert']]], + ['exprattrs_21',['ExprAttrs',['../classnixf_1_1ExprAttrs.html#abe45b2e9a18aa38182550c2bc72b94fd',1,'nixf::ExprAttrs']]], + ['exprbinop_22',['ExprBinOp',['../classnixf_1_1ExprBinOp.html#a0fe6f745400078a7ce6e54e074751e99',1,'nixf::ExprBinOp']]], + ['exprcall_23',['ExprCall',['../classnixf_1_1ExprCall.html#a6f60faa211da6f3beb69f2aee03e05e2',1,'nixf::ExprCall']]], + ['exprfloat_24',['ExprFloat',['../classnixf_1_1ExprFloat.html#ab8b80abe8c5ecc5a111d4c690f35011a',1,'nixf::ExprFloat']]], + ['exprif_25',['ExprIf',['../classnixf_1_1ExprIf.html#a88ddfa784fec625a2c090ad3dc745f1d',1,'nixf::ExprIf']]], + ['exprint_26',['ExprInt',['../classnixf_1_1ExprInt.html#a98d404e1e836df102e5b05a8b11d2bbd',1,'nixf::ExprInt']]], + ['exprlambda_27',['ExprLambda',['../classnixf_1_1ExprLambda.html#adee27f61cd0fac29864b6467e480d492',1,'nixf::ExprLambda']]], + ['exprlet_28',['ExprLet',['../classnixf_1_1ExprLet.html#af2ec56c4c2a650cf68f531a8f597d58d',1,'nixf::ExprLet']]], + ['exprlist_29',['ExprList',['../classnixf_1_1ExprList.html#af61bba618b32855be81cac21b9c0c864',1,'nixf::ExprList']]], + ['exprop_30',['ExprOp',['../classnixf_1_1ExprOp.html#a8b3e7ca3bf69983264ea305b05c30298',1,'nixf::ExprOp']]], + ['exprophasattr_31',['ExprOpHasAttr',['../classnixf_1_1ExprOpHasAttr.html#af8b54ae89510f8b2e203912c37daaa19',1,'nixf::ExprOpHasAttr']]], + ['exprparen_32',['ExprParen',['../classnixf_1_1ExprParen.html#ae2a39d10e0a66c70342a90b6f25dfd55',1,'nixf::ExprParen']]], + ['exprpath_33',['ExprPath',['../classnixf_1_1ExprPath.html#ac85244257515173f2becda4f8c59c8c7',1,'nixf::ExprPath']]], + ['exprselect_34',['ExprSelect',['../classnixf_1_1ExprSelect.html#a65a9fdfe883d6985aa76ebb5da6c85bb',1,'nixf::ExprSelect']]], + ['exprstring_35',['ExprString',['../classnixf_1_1ExprString.html#aeaa71e49de7f779867cbc487a7b3e6e7',1,'nixf::ExprString']]], + ['exprunaryop_36',['ExprUnaryOp',['../classnixf_1_1ExprUnaryOp.html#a3397dc4d0cc34d6b6f58cc4464e4b559',1,'nixf::ExprUnaryOp']]], + ['exprvar_37',['ExprVar',['../classnixf_1_1ExprVar.html#a3636e3f329b3cd8bce706860206db46c',1,'nixf::ExprVar']]], + ['exprwith_38',['ExprWith',['../classnixf_1_1ExprWith.html#a4cd0a4d7fba87e4d13ff602ed10789c4',1,'nixf::ExprWith']]] +]; diff --git a/search/functions_5.js b/search/functions_5.js new file mode 100644 index 000000000..d802d27e2 --- /dev/null +++ b/search/functions_5.js @@ -0,0 +1,18 @@ +var searchData= +[ + ['f_0',['F',['../structnixt_1_1detail_1_1RB_1_1F.html#ae924dab413321fa6dd1604e5d5dd33e8',1,'nixt::detail::RB::F']]], + ['file_1',['file',['../structlspserver_1_1URIForFile.html#af4471722f38b155208c4ca6bfc9fcb0b',1,'lspserver::URIForFile']]], + ['fix_2',['Fix',['../classnixf_1_1Fix.html#a0f2933f83e52d667c2479681c7259ea5',1,'nixf::Fix']]], + ['fix_3',['fix',['../classnixf_1_1Diagnostic.html#a92366a85a2893ba31c22a8a31914e4a6',1,'nixf::Diagnostic']]], + ['fixes_4',['fixes',['../classnixf_1_1Diagnostic.html#ab084f13cf3992140004e98a6d5561796',1,'nixf::Diagnostic']]], + ['fn_5',['fn',['../classnixf_1_1ExprCall.html#a34a3a144a95f7f94e1b28f12c7b286b1',1,'nixf::ExprCall']]], + ['forkpiped_6',['forkPiped',['../namespacenixd_1_1util.html#a2aea2c36f0418823b63557798439b6ed',1,'nixd::util']]], + ['formal_7',['Formal',['../classnixf_1_1Formal.html#a72ef1da648eb9630f88dbfe5577aaaca',1,'nixf::Formal::Formal(LexerCursorRange Range, std::shared_ptr< Misc > Comma, std::shared_ptr< Identifier > ID, std::shared_ptr< Expr > Default)'],['../classnixf_1_1Formal.html#ad75c9e36167ba5ecd5dd9e7d92b74f01',1,'nixf::Formal::Formal(LexerCursorRange Range, std::shared_ptr< Misc > Comma, std::shared_ptr< Misc > Ellipsis)']]], + ['formals_8',['formals',['../classnixf_1_1LambdaArg.html#a126e8da96e3c9097fdd69d4a6586d583',1,'nixf::LambdaArg']]], + ['formals_9',['Formals',['../classnixf_1_1Formals.html#a2e970bd6237d5078f30a023e58fd217f',1,'nixf::Formals']]], + ['format_10',['format',['../classnixf_1_1PartialDiagnostic.html#af16755c1a019103494ccec3ba0f14c73',1,'nixf::PartialDiagnostic::format()'],['../structllvm_1_1format__provider_3_01lspserver_1_1Position_01_4.html#a99df5b81ac711fc620a4768358755e65',1,'llvm::format_provider< lspserver::Position >::format()']]], + ['fragments_11',['fragments',['../classnixf_1_1InterpolatedParts.html#ac21ab247218d873f571e114379a9eeaa',1,'nixf::InterpolatedParts']]], + ['frominherit_12',['fromInherit',['../classnixf_1_1Attribute.html#a661bbe72351e06a44a04795476fb7a45',1,'nixf::Attribute']]], + ['fromjson_13',['fromJSON',['../namespacelspserver.html#a2e94d9cf18dddd2e69fbcc9f2908ed1b',1,'lspserver::fromJSON(const llvm::json::Value &, URIForFile &, llvm::json::Path)'],['../namespacelspserver.html#a7fad476113fe92547c57cc2f5a00602d',1,'lspserver::fromJSON(const llvm::json::Value &, TextDocumentIdentifier &, llvm::json::Path)'],['../namespacelspserver.html#ab5827b6bdd7a6bcad59880963c8d6fc6',1,'lspserver::fromJSON(const llvm::json::Value &, VersionedTextDocumentIdentifier &, llvm::json::Path)'],['../namespacelspserver.html#af403b1e72675121d402697bc51e078f5',1,'lspserver::fromJSON(const llvm::json::Value &, Position &, llvm::json::Path)'],['../namespacelspserver.html#aa7d39723137e4742100ab791106c75dc',1,'lspserver::fromJSON(const llvm::json::Value &, Range &, llvm::json::Path)'],['../namespacelspserver.html#a41a12262d70c180b780ea9a473c47305',1,'lspserver::fromJSON(const llvm::json::Value &, TextEdit &, llvm::json::Path)'],['../namespacelspserver.html#a502b9ca7eae21e185a394bc31b0585c4',1,'lspserver::fromJSON(const llvm::json::Value &, ChangeAnnotation &, llvm::json::Path)'],['../namespacelspserver.html#aeb69c472e76f6a68dd3d3e3d01c12676',1,'lspserver::fromJSON(const llvm::json::Value &, TextDocumentEdit &, llvm::json::Path)'],['../namespacelspserver.html#ab94a7c9c0305bafd41be1310eff01a52',1,'lspserver::fromJSON(const llvm::json::Value &, TextDocumentItem &, llvm::json::Path)'],['../namespacelspserver.html#a34e3afd23503aa6cb76167f27800d32e',1,'lspserver::fromJSON(const llvm::json::Value &E, TraceLevel &Out, llvm::json::Path)'],['../namespacelspserver.html#a2c65e902f9bdf76aa7297b7f248dc40f',1,'lspserver::fromJSON(const llvm::json::Value &, NoParams &, llvm::json::Path)'],['../namespacelspserver.html#a121bba22651da3e31a165cffb96525eb',1,'lspserver::fromJSON(const llvm::json::Value &, CompletionItemKind &, llvm::json::Path)'],['../namespacelspserver.html#a1fc438c428d9f91494ddd44101fe284a',1,'lspserver::fromJSON(const llvm::json::Value &, CompletionItemKindBitset &, llvm::json::Path)'],['../namespacelspserver.html#af096d62ca9aa0fb347f3a0d55e336951',1,'lspserver::fromJSON(const llvm::json::Value &, SymbolKind &, llvm::json::Path)'],['../namespacelspserver.html#a705aa2c5122d2bc0b6c59b0bab0fdb39',1,'lspserver::fromJSON(const llvm::json::Value &, SymbolKindBitset &, llvm::json::Path)'],['../namespacelspserver.html#abfc15924e6b9c0087d286ad4c0804b55',1,'lspserver::fromJSON(const llvm::json::Value &, OffsetEncoding &, llvm::json::Path)'],['../namespacelspserver.html#a7f83ba5eb183d9f4339b46f7e786c893',1,'lspserver::fromJSON(const llvm::json::Value &, MarkupKind &, llvm::json::Path)'],['../namespacelspserver.html#a60add771d2eccc85c043345706e84020',1,'lspserver::fromJSON(const llvm::json::Value &, ClientCapabilities &, llvm::json::Path)'],['../namespacelspserver.html#a1875251bbf63a30562fedb64004024e5',1,'lspserver::fromJSON(const llvm::json::Value &, ClangdCompileCommand &, llvm::json::Path)'],['../namespacelspserver.html#a61fb070e1837cd7c0ea7fc4a07722dc4',1,'lspserver::fromJSON(const llvm::json::Value &, ConfigurationSettings &, llvm::json::Path)'],['../namespacelspserver.html#afbd634b14f3b141276f564e2923a0ebf',1,'lspserver::fromJSON(const llvm::json::Value &, InitializationOptions &, llvm::json::Path)'],['../namespacelspserver.html#a5ba974c126b6ab67da2fa46629e59b65',1,'lspserver::fromJSON(const llvm::json::Value &, InitializeParams &, llvm::json::Path)'],['../namespacelspserver.html#a34689e5d7eefe39a19104a650a91a3e1',1,'lspserver::fromJSON(const llvm::json::Value &, DidOpenTextDocumentParams &, llvm::json::Path)'],['../namespacelspserver.html#a22f957891f81b1490f6f6be6de57ef08',1,'lspserver::fromJSON(const llvm::json::Value &, DidCloseTextDocumentParams &, llvm::json::Path)'],['../namespacelspserver.html#abb3ef72d709652624305f297b4efab46',1,'lspserver::fromJSON(const llvm::json::Value &, DidSaveTextDocumentParams &, llvm::json::Path)'],['../namespacelspserver.html#ad0406ffcd64ec54eaa2756276d40e5c2',1,'lspserver::fromJSON(const llvm::json::Value &, TextDocumentContentChangeEvent &, llvm::json::Path)'],['../namespacelspserver.html#a5ec03b23ae72f888c12eba3f682a818b',1,'lspserver::fromJSON(const llvm::json::Value &, DidChangeTextDocumentParams &, llvm::json::Path)'],['../namespacelspserver.html#ac9b1deabad2029b21b90804b33862846',1,'lspserver::fromJSON(const llvm::json::Value &E, FileChangeType &Out, llvm::json::Path)'],['../namespacelspserver.html#a6c0eea913b3b16db2b9b1d46a7c38bf6',1,'lspserver::fromJSON(const llvm::json::Value &, FileEvent &, llvm::json::Path)'],['../namespacelspserver.html#a599d703dc3e1ae81f86e524734fc114c',1,'lspserver::fromJSON(const llvm::json::Value &, DidChangeWatchedFilesParams &, llvm::json::Path)'],['../namespacelspserver.html#a37390fc2fb1cbf8055642333351a1920',1,'lspserver::fromJSON(const llvm::json::Value &, DidChangeConfigurationParams &, llvm::json::Path)'],['../namespacelspserver.html#a8affe97d4537c173c3cf10e0848680b0',1,'lspserver::fromJSON(const llvm::json::Value &, DocumentRangeFormattingParams &, llvm::json::Path)'],['../namespacelspserver.html#a6868eae48e05b27f436a92fec057f3e5',1,'lspserver::fromJSON(const llvm::json::Value &, DocumentOnTypeFormattingParams &, llvm::json::Path)'],['../namespacelspserver.html#abd104f9100d1776a3bfe5dd072f41364',1,'lspserver::fromJSON(const llvm::json::Value &, DocumentFormattingParams &, llvm::json::Path)'],['../namespacelspserver.html#a7253a4ea5e1ee8ab02d24e8203783fe3',1,'lspserver::fromJSON(const llvm::json::Value &, DocumentSymbolParams &, llvm::json::Path)'],['../namespacelspserver.html#aa12b544964b076906914b9368cecfd88',1,'lspserver::fromJSON(const llvm::json::Value &, Diagnostic &, llvm::json::Path)'],['../namespacelspserver.html#a837c1a4c3e2aea8ce232c4ccd4e1e28d',1,'lspserver::fromJSON(const llvm::json::Value &, CodeActionContext &, llvm::json::Path)'],['../namespacelspserver.html#aa02a74d34bd0e046d35009af6918460c',1,'lspserver::fromJSON(const llvm::json::Value &, CodeActionParams &, llvm::json::Path)'],['../namespacelspserver.html#a62c0575c140b285f34227325056c9f37',1,'lspserver::fromJSON(const llvm::json::Value &, WorkspaceEdit &, llvm::json::Path)'],['../namespacelspserver.html#a7b8fa9f2528d90c7735590facf80aa43',1,'lspserver::fromJSON(const llvm::json::Value &, TweakArgs &, llvm::json::Path)'],['../namespacelspserver.html#aaa292d6a5e424c48bc9d9d098cd20051',1,'lspserver::fromJSON(const llvm::json::Value &, ExecuteCommandParams &, llvm::json::Path)'],['../namespacelspserver.html#a9032b11173989a509ca134e33b5709d9',1,'lspserver::fromJSON(const llvm::json::Value &, WorkspaceSymbolParams &, llvm::json::Path)'],['../namespacelspserver.html#a54369ee35d1e834fab44031c2ebec64e',1,'lspserver::fromJSON(const llvm::json::Value &, ApplyWorkspaceEditResponse &, llvm::json::Path)'],['../namespacelspserver.html#ac0eb106dba5abc8f0fde139f38945d90',1,'lspserver::fromJSON(const llvm::json::Value &, TextDocumentPositionParams &, llvm::json::Path)'],['../namespacelspserver.html#afc6bbd27c09bdb469d28e7fbf0daa087',1,'lspserver::fromJSON(const llvm::json::Value &, CompletionContext &, llvm::json::Path)'],['../namespacelspserver.html#abcd0aebac9d4f5476d4e96899ad3e2a6',1,'lspserver::fromJSON(const llvm::json::Value &, CompletionParams &, llvm::json::Path)'],['../namespacelspserver.html#ac3bce0a075486b80c08cb22413d9e44b',1,'lspserver::fromJSON(const llvm::json::Value &, RenameParams &, llvm::json::Path)'],['../namespacelspserver.html#af6b280672cd5b8e9c06173a7e25a64ef',1,'lspserver::fromJSON(const llvm::json::Value &E, TypeHierarchyDirection &Out, llvm::json::Path)'],['../namespacelspserver.html#ad48b56046456581c50049ebc301e6da2',1,'lspserver::fromJSON(const llvm::json::Value &, TypeHierarchyPrepareParams &, llvm::json::Path)'],['../namespacelspserver.html#a85107b5e57f9b925669a027190fb6ccc',1,'lspserver::fromJSON(const TypeHierarchyItem::ResolveParams &)'],['../namespacelspserver.html#af6a2f5985bf2aa043faa8db32ea7022e',1,'lspserver::fromJSON(const llvm::json::Value &, TypeHierarchyItem &, llvm::json::Path)'],['../namespacelspserver.html#a967e3d2e163e04bf220f4de90ca39a5b',1,'lspserver::fromJSON(const llvm::json::Value &, ResolveTypeHierarchyItemParams &, llvm::json::Path)'],['../namespacelspserver.html#afc856c4e08754ad17b0db303b02ef648',1,'lspserver::fromJSON(const llvm::json::Value &, CallHierarchyItem &, llvm::json::Path)'],['../namespacelspserver.html#a3f755a0549cbfa93de7dce9f3166a87d',1,'lspserver::fromJSON(const llvm::json::Value &, CallHierarchyIncomingCallsParams &, llvm::json::Path)'],['../namespacelspserver.html#af9c964df9e226bb62a3d2a8bb8e49a76',1,'lspserver::fromJSON(const llvm::json::Value &, CallHierarchyOutgoingCallsParams &, llvm::json::Path)'],['../namespacelspserver.html#a777032061a1b9d6ed47879ced6e2ef4f',1,'lspserver::fromJSON(const llvm::json::Value &, InlayHintsParams &, llvm::json::Path)'],['../namespacelspserver.html#a37327dd47c864fbfb707c3844e054a30',1,'lspserver::fromJSON(const llvm::json::Value &, ReferenceParams &, llvm::json::Path)'],['../namespacelspserver.html#a633bf4f1d8592c7ed8d5000ff6f224bb',1,'lspserver::fromJSON(const llvm::json::Value &, SemanticTokensParams &, llvm::json::Path)'],['../namespacelspserver.html#a7ec7316fba7383e95ebe2cfc43426971',1,'lspserver::fromJSON(const llvm::json::Value &Params, SemanticTokensDeltaParams &R, llvm::json::Path)'],['../namespacelspserver.html#a3fbd8504dd0126c5852d8fc119deeec6',1,'lspserver::fromJSON(const llvm::json::Value &, SelectionRangeParams &, llvm::json::Path)'],['../namespacelspserver.html#ad00055d046160a6bd9a259cd65136246',1,'lspserver::fromJSON(const llvm::json::Value &, DocumentLinkParams &, llvm::json::Path)'],['../namespacelspserver.html#a61eb86e4b804eb3887db00746036cf9a',1,'lspserver::fromJSON(const llvm::json::Value &, FoldingRangeParams &, llvm::json::Path)'],['../namespacelspserver.html#a1297472893fc4cd85abe5e816e4f734c',1,'lspserver::fromJSON(const llvm::json::Value &, ASTParams &, llvm::json::Path)'],['../namespacelspserver.html#ae6ec3c26620f68aacdd0b4b9ce294aa5',1,'lspserver::fromJSON(const llvm::json::Value &Params, TypeHierarchyItem::ResolveParams &RP, llvm::json::Path P)'],['../namespacelspserver.html#a0ec0e1ac85519aca0249bcfe3f4f01bd',1,'lspserver::fromJSON(const llvm::json::Value &Params, ReferenceContext &R, llvm::json::Path P)'],['../namespacenixd_1_1rpc.html#a6ec9419a8c35071b5a8b996c25791dc1',1,'nixd::rpc::fromJSON(const llvm::json::Value &Params, RegisterBCParams &R, llvm::json::Path P)'],['../namespacenixd_1_1rpc.html#a8835d346b947edf11c8e3aea90c6e52f',1,'nixd::rpc::fromJSON(const llvm::json::Value &Params, ExprValueParams &R, llvm::json::Path P)'],['../namespacenixd_1_1rpc.html#a47f3e63aca9996905d999d9d27d2d919',1,'nixd::rpc::fromJSON(const llvm::json::Value &Params, ExprValueResponse &R, llvm::json::Path P)'],['../namespacenixd_1_1rpc.html#a5525b8f51e1c44cdd903c096935cf9b0',1,'nixd::rpc::fromJSON(const Value &Params, RegisterBCParams &R, Path P)'],['../namespacenixd_1_1rpc.html#a7cd3f9be52a205e2a671a5933ca37983',1,'nixd::rpc::fromJSON(const Value &Params, ExprValueParams &R, Path P)'],['../namespacenixd_1_1rpc.html#a084a94e7139a74ee93b3d098c43aa14f',1,'nixd::rpc::fromJSON(const Value &Params, ExprValueResponse &R, Path P)']]], + ['fromuri_14',['fromURI',['../structlspserver_1_1URIForFile.html#ae0d57afc543eca5ccf3479333d12c404',1,'lspserver::URIForFile']]] +]; diff --git a/search/functions_6.js b/search/functions_6.js new file mode 100644 index 000000000..0af60f1f4 --- /dev/null +++ b/search/functions_6.js @@ -0,0 +1,12 @@ +var searchData= +[ + ['get_0',['get',['../classnixd_1_1util_1_1AutoCloseFD.html#a98d2d4f9c35c73cd55707113ff67c6b0',1,'nixd::util::AutoCloseFD::get()'],['../classnixd_1_1util_1_1AutoRemoveShm.html#a1fb1fc7eecc419e3d2d3c5b2fe9e37cb',1,'nixd::util::AutoRemoveShm::get()']]], + ['getabsolutepath_1',['getAbsolutePath',['../classlspserver_1_1URIScheme.html#a810c252a7793f73c7831a8d11ff6bfd6',1,'lspserver::URIScheme']]], + ['getactivefiles_2',['getActiveFiles',['../classlspserver_1_1DraftStore.html#a6754dd30b75c1972fd4e460aebad76cb',1,'lspserver::DraftStore']]], + ['getderived_3',['getDerived',['../structnixt_1_1RecursiveASTVisitor.html#ae836d176fbd00e3e9b409d2b926cc63c',1,'nixt::RecursiveASTVisitor']]], + ['getdeserializecontext_4',['getDeserializeContext',['../namespacenixt.html#a8a2e7f8d733597ab4be7010d14bac9e4',1,'nixt']]], + ['getdraft_5',['getDraft',['../classlspserver_1_1DraftStore.html#a6a7a5c47213af923989e6473efb021c2',1,'lspserver::DraftStore']]], + ['getfileparsecache_6',['getFileParseCache',['../namespacenixt.html#a2477f5778bb79d7e1d041cd52b9951df',1,'nixt']]], + ['getincludespelling_7',['getIncludeSpelling',['../classlspserver_1_1URIScheme.html#ab5be826dad7367a46a9a44c170267f94',1,'lspserver::URIScheme']]], + ['getlspseverity_8',['getLSPSeverity',['../namespacenixd.html#a19133b596a33f6f08ca6d857194ac8c4',1,'nixd']]] +]; diff --git a/search/functions_7.js b/search/functions_7.js new file mode 100644 index 000000000..fec99953a --- /dev/null +++ b/search/functions_7.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['hasexpr_0',['hasExpr',['../classnixf_1_1Inherit.html#a8ca85be69eb7816dce6f535b7b419c4f',1,'nixf::Inherit']]] +]; diff --git a/search/functions_8.js b/search/functions_8.js new file mode 100644 index 000000000..5ad3d4dab --- /dev/null +++ b/search/functions_8.js @@ -0,0 +1,26 @@ +var searchData= +[ + ['id_0',['id',['../classnixf_1_1AttrName.html#a37eea7dfc9412f77f58150a2b1d307af',1,'nixf::AttrName::id() const'],['../classnixf_1_1AttrName.html#a1332acacbcb232c335e12e688b9522c6',1,'nixf::AttrName::id()'],['../classnixf_1_1Formal.html#aab8695fb13ff49a84040916aeedaacde',1,'nixf::Formal::id()'],['../classnixf_1_1LambdaArg.html#a0450b03f0836a74285553ceeb2a74693',1,'nixf::LambdaArg::id()'],['../classnixf_1_1ExprVar.html#a2f1e22696283f87b7a15387fe8672f23',1,'nixf::ExprVar::id()']]], + ['identifier_1',['Identifier',['../classnixf_1_1Identifier.html#aa4b6888bb5acf1d22a88720e0764668c',1,'nixf::Identifier']]], + ['in_2',['in',['../classnixf_1_1ExprLet.html#a00c00f7add4f1ed0c9ba28f2d89c8872',1,'nixf::ExprLet']]], + ['inboundport_3',['InboundPort',['../classlspserver_1_1InboundPort.html#a419e5af57e0cca6ccfe6978b35675bbe',1,'lspserver::InboundPort']]], + ['includespelling_4',['includeSpelling',['../classlspserver_1_1URI.html#aca4cec72a895ac2b26e28f814d2f1624',1,'lspserver::URI']]], + ['indicator_5',['indicator',['../classlspserver_1_1Logger.html#ac118beec87dfcd4a03ed63148a64d8c1',1,'lspserver::Logger']]], + ['inherit_6',['Inherit',['../classnixf_1_1Inherit.html#aa02b90d3a483e460c71b0bad76a02391',1,'nixf::Inherit']]], + ['initeval_7',['initEval',['../namespacenixt.html#abfdf7b34660dfb0339b1a8d432258d64',1,'nixt']]], + ['insertattr_8',['insertAttr',['../classnixf_1_1Sema.html#a8933229f3c2b172d106ea94790742b5a',1,'nixf::Sema']]], + ['interpolablepart_9',['InterpolablePart',['../classnixf_1_1InterpolablePart.html#a29e1b59d28906887cdcd93fb6b16007b',1,'nixf::InterpolablePart::InterpolablePart(std::string Escaped)'],['../classnixf_1_1InterpolablePart.html#a92efe8156388f5e7c8868478257ed504',1,'nixf::InterpolablePart::InterpolablePart(std::shared_ptr< Interpolation > Interp)']]], + ['interpolatedparts_10',['InterpolatedParts',['../classnixf_1_1InterpolatedParts.html#ad192bdf50ff8fe023cd057c2a0c8eeea',1,'nixf::InterpolatedParts']]], + ['interpolation_11',['Interpolation',['../classnixf_1_1Interpolation.html#a55aceae8cdb93625335d3d7cde838db1',1,'nixf::Interpolation']]], + ['interpolation_12',['interpolation',['../classnixf_1_1AttrName.html#ac2732ba9cdfb0b82133f240aadd06af3',1,'nixf::AttrName::interpolation()'],['../classnixf_1_1InterpolablePart.html#ac67030946a216a5de81f566dccb6a857',1,'nixf::InterpolablePart::interpolation()']]], + ['isat_13',['isAt',['../classnixf_1_1LexerCursor.html#a7f6e007a3d39a02b99f6930e9d02bce4',1,'nixf::LexerCursor']]], + ['isellipsis_14',['isEllipsis',['../classnixf_1_1Formal.html#a8343c279f0396f74167e646bfda90b0f',1,'nixf::Formal']]], + ['isexpr_15',['isExpr',['../classnixf_1_1Expr.html#a6f85bfc7d96a73d8d8d3714df0758d74',1,'nixf::Expr']]], + ['isinsertion_16',['isInsertion',['../classnixf_1_1TextEdit.html#a422a39a4961490c3451e5f3fc18fbb25',1,'nixf::TextEdit']]], + ['isliteral_17',['isLiteral',['../classnixf_1_1InterpolatedParts.html#a7e1d40e5c9a19eaa027ac861a56ce8d3',1,'nixf::InterpolatedParts::isLiteral()'],['../classnixf_1_1ExprString.html#a42d86124c5beb4bdd871b1df5c1d2def',1,'nixf::ExprString::isLiteral()']]], + ['isrecursive_18',['isRecursive',['../classnixf_1_1SemaAttrs.html#ab7a4d35f7742538bc3cd2d5c3646d9fe',1,'nixf::SemaAttrs::isRecursive()'],['../classnixf_1_1ExprAttrs.html#a2c881c1d2eda371913c523fc9506b45a',1,'nixf::ExprAttrs::isRecursive()']]], + ['isreleased_19',['isReleased',['../classnixd_1_1util_1_1AutoCloseFD.html#afa07891874d05328b8884768257d1311',1,'nixd::util::AutoCloseFD::isReleased() const'],['../classnixd_1_1util_1_1AutoCloseFD.html#acce7733c899b3f1434012851f13010f1',1,'nixd::util::AutoCloseFD::isReleased(FDTy FD)']]], + ['isremoval_20',['isRemoval',['../classnixf_1_1TextEdit.html#acfe595455ec070184a8228d482cf0405',1,'nixf::TextEdit']]], + ['isreplace_21',['isReplace',['../classnixf_1_1TextEdit.html#ac1716784158c0b6d6d1d92c6a0def933',1,'nixf::TextEdit']]], + ['isstatic_22',['isStatic',['../classnixf_1_1AttrName.html#ab7eef836b1c3fafccf262271653d428e',1,'nixf::AttrName']]] +]; diff --git a/search/functions_9.js b/search/functions_9.js new file mode 100644 index 000000000..92a8df182 --- /dev/null +++ b/search/functions_9.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['key_0',['Key',['../classlspserver_1_1Key.html#a1128de7250ff5aff4cf85716b1ae1db4',1,'lspserver::Key::Key()=default'],['../classlspserver_1_1Key.html#a74024df00906949e35743df130f03c52',1,'lspserver::Key::Key(Key const &)=delete'],['../classlspserver_1_1Key.html#a4347488a94627de0c978e0db958a19ed',1,'lspserver::Key::Key(Key &&)=delete']]], + ['key_1',['key',['../classnixf_1_1Attribute.html#aa9ec98cff6e42880aad7e7bb56e19593',1,'nixf::Attribute::key()'],['../classnixf_1_1Attribute.html#ad1811131ee58bd7e7bca6641afd52ec8',1,'nixf::Attribute::key() const']]], + ['kind_2',['kind',['../classnixbc_1_1Origin.html#a78a5dde3233f3c24c7cd020272b77cc5',1,'nixbc::Origin::kind()'],['../classnixf_1_1Note.html#a67c9e66efdc40efa3d1ec95fc2a5e81c',1,'nixf::Note::kind()'],['../classnixf_1_1Diagnostic.html#a82b4e924a249fcd27a642ef2cb113236',1,'nixf::Diagnostic::kind()'],['../classnixf_1_1AttrName.html#a7e9d45fecc667902a9a967c3b0805ff0',1,'nixf::AttrName::kind()'],['../classnixf_1_1Node.html#a70bc1e77075106ab48230fdf1c16131e',1,'nixf::Node::kind()'],['../classnixf_1_1InterpolablePart.html#a40069ab5439fba5746b11aaa135c64e3',1,'nixf::InterpolablePart::kind()'],['../classnixf_1_1Token.html#a2cc4fcd85973b767d39d1f17e7f5b84d',1,'nixf::Token::kind()']]], + ['kindof_3',['kindOf',['../namespacenixt.html#a14f947c6785ceea1112a3e2f729d6e99',1,'nixt']]] +]; diff --git a/search/functions_a.js b/search/functions_a.js new file mode 100644 index 000000000..a3f9c13e6 --- /dev/null +++ b/search/functions_a.js @@ -0,0 +1,28 @@ +var searchData= +[ + ['lambdaarg_0',['LambdaArg',['../classnixf_1_1LambdaArg.html#a5daa70fdfe636545f6e08de072622fbb',1,'nixf::LambdaArg']]], + ['lcur_1',['lCur',['../classnixf_1_1Node.html#a25b0a58045d86dc758c21bc933f02456',1,'nixf::Node::lCur()'],['../classnixf_1_1LexerCursorRange.html#a6d409425a5fefdcb0282602534ee8c70',1,'nixf::LexerCursorRange::lCur()'],['../classnixf_1_1Token.html#a0efa72d27b3ba322cb51d54052f199ce',1,'nixf::Token::lCur()']]], + ['lengthof_2',['lengthof',['../namespacenixt.html#ac6b4f9213d65373445ab2fff33c850b9',1,'nixt']]], + ['let_3',['let',['../classnixf_1_1ExprLet.html#a80858dce8da7d509ceae5b17bc79e522',1,'nixf::ExprLet']]], + ['lex_4',['lex',['../classnixf_1_1Lexer.html#a4f4fc8d7768663267c1e39b5f2ff473d',1,'nixf::Lexer']]], + ['lexer_5',['Lexer',['../classnixf_1_1Lexer.html#a3f1f523e443a3b243d2c1758e7828d91',1,'nixf::Lexer']]], + ['lexercursor_6',['LexerCursor',['../classnixf_1_1LexerCursor.html#af101842967183f023921408dd434e768',1,'nixf::LexerCursor::LexerCursor()=default'],['../classnixf_1_1LexerCursor.html#aea1928ea78580e14214c1471f2e4812d',1,'nixf::LexerCursor::LexerCursor(const LexerCursor &)=default'],['../classnixf_1_1LexerCursor.html#a637eea5fb280770e8c0f821d649e4f67',1,'nixf::LexerCursor::LexerCursor(LexerCursor &&)=default']]], + ['lexercursorrange_7',['LexerCursorRange',['../classnixf_1_1LexerCursorRange.html#a064373ae78ac5771b1c01c80433d7434',1,'nixf::LexerCursorRange::LexerCursorRange()=default'],['../classnixf_1_1LexerCursorRange.html#a4ed6bd6f67387ea4aae1d0112464bd1f',1,'nixf::LexerCursorRange::LexerCursorRange(LexerCursor LCur, LexerCursor RCur)'],['../classnixf_1_1LexerCursorRange.html#a4004f4c78722d5964c5ac962e20e4b88',1,'nixf::LexerCursorRange::LexerCursorRange(LexerCursor Pos)']]], + ['lexindstring_8',['lexIndString',['../classnixf_1_1Lexer.html#ab8e3b964411abeaa9f96f54be59903e7',1,'nixf::Lexer']]], + ['lexpath_9',['lexPath',['../classnixf_1_1Lexer.html#a522bd5e08f77a9186c67d4438385783e',1,'nixf::Lexer']]], + ['lexstring_10',['lexString',['../classnixf_1_1Lexer.html#a73fcd4898b57fb9acdb57e3c5ae728c1',1,'nixf::Lexer']]], + ['lhs_11',['lhs',['../classnixf_1_1ExprBinOp.html#ac9191de6305a5bfec16ad76962b7d7af',1,'nixf::ExprBinOp']]], + ['line_12',['line',['../classnixf_1_1Position.html#aa33d8d0993b776cf943cf0e63dff97d7',1,'nixf::Position::line()'],['../classnixf_1_1LexerCursor.html#ae3caa5e5aaed9a784ef34bfa021d9f60',1,'nixf::LexerCursor::line()']]], + ['literal_13',['literal',['../classnixf_1_1InterpolatedParts.html#a6d6b71a8c7089c5b349646b4cce7ee3e',1,'nixf::InterpolatedParts::literal()'],['../classnixf_1_1ExprString.html#a89d896ae4e5c288cba3ad3a3a7116eae',1,'nixf::ExprString::literal()']]], + ['log_14',['log',['../classlspserver_1_1Logger.html#ac88d64e08af769eb4c15e7de281d06b4',1,'lspserver::Logger::log()'],['../classlspserver_1_1StreamLogger.html#a3d17ea78233af01acabccff562a3b885',1,'lspserver::StreamLogger::log()'],['../classlspserver_1_1LSPError.html#add23014bce7d7a956d1417bccb464235',1,'lspserver::LSPError::log()'],['../namespacelspserver_1_1detail.html#ab18e4b39063f9a81348d6b149f4abcba',1,'lspserver::detail::log()'],['../namespacelspserver.html#af88cb3e1cf91f1aa2aaa14c3b418ffe9',1,'lspserver::log()']]], + ['loggingsession_15',['LoggingSession',['../classlspserver_1_1LoggingSession.html#a79cf73b21da45c292f6741b752f7b4d3',1,'lspserver::LoggingSession::LoggingSession(Logger &Instance)'],['../classlspserver_1_1LoggingSession.html#a1ab7e0b95f4dad6aad166576ae709ecd',1,'lspserver::LoggingSession::LoggingSession(LoggingSession &&)=delete'],['../classlspserver_1_1LoggingSession.html#a1b51406b6587dd03d239ecaec34f080e',1,'lspserver::LoggingSession::LoggingSession(LoggingSession const &)=delete']]], + ['logimpl_16',['logImpl',['../namespacelspserver_1_1detail.html#a8905d8683dee5d9b3492afb380e5d947',1,'lspserver::detail']]], + ['loop_17',['loop',['../classlspserver_1_1InboundPort.html#ac7e0915cb005ecd6fe77b609801aae6a',1,'lspserver::InboundPort']]], + ['lowerbinds_18',['lowerBinds',['../classnixf_1_1Sema.html#a5cb52f2d7a5742bd3ae8b873223a202c',1,'nixf::Sema']]], + ['lowerinherit_19',['lowerInherit',['../classnixf_1_1Sema.html#a194dcd5cf7aa2d89b47be498e085fec7',1,'nixf::Sema']]], + ['lowerinheritname_20',['lowerInheritName',['../classnixf_1_1Sema.html#aadbaa995cab207f7048b31801faee081',1,'nixf::Sema']]], + ['lparen_21',['lparen',['../classnixf_1_1ExprParen.html#af95065f247843154ae0e342e2c303032',1,'nixf::ExprParen']]], + ['lsperror_22',['LSPError',['../classlspserver_1_1LSPError.html#a6c652f24319d875f2324ccf4d2b44221',1,'lspserver::LSPError']]], + ['lsplength_23',['lspLength',['../namespacelspserver.html#a33cf5ae9ff1beb1ed5da6be44131c538',1,'lspserver']]], + ['lspserver_24',['LSPServer',['../classlspserver_1_1LSPServer.html#a53836f18f56886fc4726d1c691aa5967',1,'lspserver::LSPServer']]] +]; diff --git a/search/functions_b.js b/search/functions_b.js new file mode 100644 index 000000000..bbb8f7f6a --- /dev/null +++ b/search/functions_b.js @@ -0,0 +1,12 @@ +var searchData= +[ + ['main_0',['main',['../nix-node-eval_2src_2Main_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4',1,'main(): Main.cpp'],['../tools_2nixd_2src_2Main_8cpp.html#a0ddf1224851353fc92bfbff6f499fa97',1,'main(int argc, char *argv[]): Main.cpp']]], + ['maybecasefoldpath_1',['maybeCaseFoldPath',['../namespacelspserver.html#ab49fa9797f103735094684a9efd58ee3',1,'lspserver']]], + ['maybelambda_2',['maybeLambda',['../classnixf_1_1Expr.html#adc0538410c715aa8fb0beb6c60363241',1,'nixf::Expr::maybeLambda(NodeKind Kind)'],['../classnixf_1_1Expr.html#a60eaf12f6f5c7a77f0a88b9e3e1b9ead',1,'nixf::Expr::maybeLambda() const']]], + ['members_3',['members',['../classnixf_1_1Formals.html#ace5c19dfe52d31c30b9b85ea90561ae9',1,'nixf::Formals']]], + ['mergeattrsets_4',['mergeAttrSets',['../classnixf_1_1Sema.html#a476c6746dd40eb1f78311701f232897b',1,'nixf::Sema']]], + ['message_5',['message',['../classnixf_1_1Fix.html#a6d2eadc2231d2c77c6e587829e8384b7',1,'nixf::Fix::message()'],['../classnixf_1_1PartialDiagnostic.html#a339b3422ba3e25587abb99320f6efd60',1,'nixf::PartialDiagnostic::message()'],['../classnixf_1_1Note.html#abfaf81d8e924ea75f0396a4d750ca395',1,'nixf::Note::message(NoteKind Kind)'],['../classnixf_1_1Note.html#a028caf358af448d776080236109de247',1,'nixf::Note::message() const override'],['../classnixf_1_1Diagnostic.html#ab0d1aa3bd471eed314bce15c46b2f629',1,'nixf::Diagnostic::message(DiagnosticKind Kind)'],['../classnixf_1_1Diagnostic.html#a94204abe6167a2f27f13e66e8bde04a0',1,'nixf::Diagnostic::message() const override']]], + ['misc_6',['Misc',['../classnixf_1_1Misc.html#a5a46e9d50e77fa519e426571882b4440',1,'nixf::Misc']]], + ['mkinsertion_7',['mkInsertion',['../classnixf_1_1TextEdit.html#aa01de417f0748dd4f29fe8dae17ca601',1,'nixf::TextEdit']]], + ['mkremoval_8',['mkRemoval',['../classnixf_1_1TextEdit.html#a8b915421713ff5dc17b1c8d51babaebb',1,'nixf::TextEdit']]] +]; diff --git a/search/functions_c.js b/search/functions_c.js new file mode 100644 index 000000000..98ed22806 --- /dev/null +++ b/search/functions_c.js @@ -0,0 +1,13 @@ +var searchData= +[ + ['name_0',['name',['../classnixf_1_1Node.html#a8684d3e35bf7a384a4c9dace285c6dff',1,'nixf::Node::name(NodeKind Kind)'],['../classnixf_1_1Node.html#a23fa13c81bea085160151ccdf45602b8',1,'nixf::Node::name() const'],['../classnixf_1_1Identifier.html#a47c41be126861fa080bfba0584c56a64',1,'nixf::Identifier::name()']]], + ['nameof_1',['nameOf',['../namespacenixt.html#a3efffc7408dd31f34dec03f721c1fda7',1,'nixt::nameOf(ek::ExprKind Kind)'],['../namespacenixt.html#a14859ce0482047eae16356d494e8f402',1,'nixt::nameOf(ExprKind Kind)']]], + ['names_2',['names',['../classnixf_1_1AttrPath.html#ae0143958c2795a68fb6254a583c1c00f',1,'nixf::AttrPath::names()'],['../classnixf_1_1Inherit.html#a26fed72a675db2c13c7f0f89199bdc94',1,'nixf::Inherit::names()']]], + ['newtext_3',['newText',['../classnixf_1_1TextEdit.html#a0782f25df320f1b76c84f457d9a0d366',1,'nixf::TextEdit']]], + ['nixtu_4',['NixTU',['../classnixd_1_1NixTU.html#a175eb5c09159572b4d0b46d9220a7993',1,'nixd::NixTU::NixTU()=default'],['../classnixd_1_1NixTU.html#a52a6a507ba9f04b43955396e3daa0e49',1,'nixd::NixTU::NixTU(std::vector< nixf::Diagnostic > Diagnostics, std::shared_ptr< nixf::Node > AST, std::optional< util::OwnedRegion > ASTByteCode)']]], + ['node_5',['Node',['../classnixf_1_1Node.html#ad11d40789cd9815f1f5c11df610d501d',1,'nixf::Node']]], + ['note_6',['Note',['../classnixf_1_1Note.html#a9984578ffc34751c62a52a16c4621661',1,'nixf::Note']]], + ['note_7',['note',['../classnixf_1_1Diagnostic.html#a4f2b8ee8c6168580c085e03e0a01bffc',1,'nixf::Diagnostic']]], + ['notes_8',['notes',['../classnixf_1_1Diagnostic.html#adb5fbb6e886dd6ee6966ad8dc65a74fd',1,'nixf::Diagnostic']]], + ['notify_9',['notify',['../classlspserver_1_1OutboundPort.html#a85ec6be072ff927259769f5961ad9e79',1,'lspserver::OutboundPort']]] +]; diff --git a/search/functions_d.js b/search/functions_d.js new file mode 100644 index 000000000..b74722875 --- /dev/null +++ b/search/functions_d.js @@ -0,0 +1,29 @@ +var searchData= +[ + ['observe_0',['observe',['../classlspserver_1_1Event.html#a371a83f606c7b98af3a0c55d2e9b8d0c',1,'lspserver::Event']]], + ['offset_1',['offset',['../classnixf_1_1LexerCursor.html#a5dc0fd53d1ef98feab10e6d7c9d319ad',1,'nixf::LexerCursor']]], + ['offsettoposition_2',['offsetToPosition',['../namespacelspserver.html#ac71023b148ed02879e34fd46bf7f6781',1,'lspserver']]], + ['oldrange_3',['oldRange',['../classnixf_1_1TextEdit.html#a7cfa20b90917da966cba7bb51e9e90f7',1,'nixf::TextEdit']]], + ['oncall_4',['onCall',['../classlspserver_1_1MessageHandler.html#ab203a403bb6038c38cb38cb42add8170',1,'lspserver::MessageHandler']]], + ['onexprattrs_5',['onExprAttrs',['../classnixf_1_1Sema.html#a2551dfd3d1b94d27905cc8a467726f6b',1,'nixf::Sema']]], + ['onexprvalue_6',['onExprValue',['../classnixd_1_1EvalProvider.html#ab3e68d91b47eff7a255de39d1e085923',1,'nixd::EvalProvider']]], + ['onformals_7',['onFormals',['../classnixf_1_1Sema.html#ab8c50241f63d575ff8bc9a3e76b933d1',1,'nixf::Sema']]], + ['onnotify_8',['onNotify',['../classlspserver_1_1MessageHandler.html#aac19f27657fcbf0d9608ad190d71ddef',1,'lspserver::MessageHandler']]], + ['onregisterbc_9',['onRegisterBC',['../classnixd_1_1EvalProvider.html#a792da053ce2f95446d56eec2d306fd02',1,'nixd::EvalProvider']]], + ['onreply_10',['onReply',['../classlspserver_1_1MessageHandler.html#aa54175b940483903b3c4c3bd093c3435',1,'lspserver::MessageHandler']]], + ['op_11',['Op',['../classnixf_1_1Op.html#aff59913eecd7f9cafc80bbb29daccd18',1,'nixf::Op']]], + ['op_12',['op',['../classnixf_1_1Op.html#a5f0bf93da42657f12d0ac0985201efc5',1,'nixf::Op::op()'],['../classnixf_1_1ExprOp.html#a864b79b1a9f2ab90e9a8582723198118',1,'nixf::ExprOp::op()']]], + ['operator_20bool_13',['operator bool',['../structlspserver_1_1URIForFile.html#a3b6bf195656afd19a7bdf79957c3dc91',1,'lspserver::URIForFile']]], + ['operator_20pid_5ft_14',['operator pid_t',['../classnixd_1_1util_1_1AutoHUPPID.html#a48ab5415b1d7b30b0181c0d70a700ea3',1,'nixd::util::AutoHUPPID']]], + ['operator_28_29_15',['operator()',['../structlspserver_1_1LSPDiagnosticCompare.html#a7d5b98919a787f50e772137eec45acc6',1,'lspserver::LSPDiagnosticCompare']]], + ['operator_2f_16',['operator/',['../structlspserver_1_1Range.html#ae615d88095508e29aca124832441f933',1,'lspserver::Range']]], + ['operator_3c_17',['operator<',['../namespacelspserver.html#af54fb741a74716d8b626474d31e4cdcc',1,'lspserver::operator<(const CompletionItem &, const CompletionItem &)'],['../namespacelspserver.html#a27358b21dd4a6de2eed0bf9f7bdddb63',1,'lspserver::operator<(const InlayHint &, const InlayHint &)']]], + ['operator_3c_3c_18',['operator<<',['../classnixf_1_1PartialDiagnostic.html#a9c402e1854b242672fbbf6caf058d93b',1,'nixf::PartialDiagnostic::operator<<()'],['../classnixf_1_1Note.html#a7cc5d6bfeb152212674af2be149778cc',1,'nixf::Note::operator<<()'],['../namespacelspserver.html#a9f39bf8c9dba1cf56d78c259094fa8bf',1,'lspserver::operator<<(llvm::raw_ostream &, const Position &)'],['../namespacelspserver.html#a7559a2dea9e668c6571c978391f8e820',1,'lspserver::operator<<(llvm::raw_ostream &, const Range &)'],['../namespacelspserver.html#ae6e842eb510d19ce54d604a79e30a5a4',1,'lspserver::operator<<(llvm::raw_ostream &, const Location &)'],['../namespacelspserver.html#adc0bebfc72dcd4049a5a6faab870c031',1,'lspserver::operator<<(llvm::raw_ostream &, const ReferenceLocation &)'],['../namespacelspserver.html#a78470dccbdd51688e42cf32812a40b66',1,'lspserver::operator<<(llvm::raw_ostream &, const TextEdit &)'],['../namespacelspserver.html#ac1e2fb1ca4b1c408ed1799593012880c',1,'lspserver::operator<<(llvm::raw_ostream &, OffsetEncoding)'],['../namespacelspserver.html#a3e89840017236e939a9172d7c57a8760',1,'lspserver::operator<<(llvm::raw_ostream &OS, MarkupKind)'],['../namespacelspserver.html#a4338c746112e7177aaf28ab0f31c5a7b',1,'lspserver::operator<<(llvm::raw_ostream &, const Diagnostic &)'],['../namespacelspserver.html#ad6d8679bd17afb3841f61f06bea2ad48',1,'lspserver::operator<<(llvm::raw_ostream &O, const DocumentSymbol &S)'],['../namespacelspserver.html#a0c0e9e785930fd894ed01de59aaaa5c6',1,'lspserver::operator<<(llvm::raw_ostream &, const SymbolInformation &)'],['../namespacelspserver.html#a47870fa00ca63a4a22c08382a6c28350',1,'lspserver::operator<<(llvm::raw_ostream &, const CompletionItem &)'],['../namespacelspserver.html#ae5223bdbdb7232826917b34ece1f1148',1,'lspserver::operator<<(llvm::raw_ostream &, const SignatureInformation &)'],['../namespacelspserver.html#a2bf761823fd42192b375b55a1ae753b4',1,'lspserver::operator<<(llvm::raw_ostream &, const DocumentHighlight &)'],['../namespacelspserver.html#a2a68832e7bf0b8e970bdf61fe6f50a7f',1,'lspserver::operator<<(llvm::raw_ostream &, const TypeHierarchyItem &)'],['../namespacelspserver.html#a3dab27053560fd98422b72721b2ee372',1,'lspserver::operator<<(llvm::raw_ostream &, InlayHintKind)'],['../namespacelspserver.html#a42884cdb16a297cc9122dc5141ce493a',1,'lspserver::operator<<(llvm::raw_ostream &, const ASTNode &)'],['../namespacelspserver.html#a76b6b4325d9ba45cd614079936f5b095',1,'lspserver::operator<<(llvm::raw_ostream &OS, const URIForFile &U)']]], + ['operator_3d_19',['operator=',['../classnixf_1_1LexerCursor.html#a5869b2a93a9e36ffe3c7ee3eed14a5e3',1,'nixf::LexerCursor::operator=()'],['../classlspserver_1_1Event_1_1Subscription.html#a92b29e673af0753144ba1711fa5309b7',1,'lspserver::Event::Subscription::operator=()'],['../classlspserver_1_1LoggingSession.html#a03c930bf89c9b4afc6ec807077fe18bb',1,'lspserver::LoggingSession::operator=(LoggingSession &&)=delete'],['../classlspserver_1_1LoggingSession.html#a29a477bcc5e7ec5b6e91db6e31c2edcc',1,'lspserver::LoggingSession::operator=(LoggingSession const &)=delete'],['../classlspserver_1_1Key.html#a705095870b1a7732f79b79bf6e181a28',1,'lspserver::Key::operator=(Key const &)=delete'],['../classlspserver_1_1Key.html#af0edae2ef4d1b024d6e1129eb771dbf6',1,'lspserver::Key::operator=(Key &&)=delete']]], + ['operator_3d_3d_20',['operator==',['../namespacelspserver.html#ac4cb2549b4e34853078b635fdfbddb2c',1,'lspserver::operator==(const TextEdit &L, const TextEdit &R)'],['../namespacelspserver.html#a287a8dfb9088ebaa644ab185a68b2167',1,'lspserver::operator==(const InlayHint &, const InlayHint &)'],['../namespacelspserver.html#a2fca1b6bb0e2b31eb377933f70e34cf2',1,'lspserver::operator==(const SemanticToken &, const SemanticToken &)']]], + ['origin_21',['Origin',['../classnixbc_1_1Origin.html#a905a248c7e05deaef380ad705e17fdb6',1,'nixbc::Origin']]], + ['originpath_22',['OriginPath',['../classnixbc_1_1OriginPath.html#a2314ac10efa7c44610746813cecb61ac',1,'nixbc::OriginPath']]], + ['outboundport_23',['OutboundPort',['../classlspserver_1_1OutboundPort.html#aeaaf4f6f8b8b2b1be89775c4ba1a106c',1,'lspserver::OutboundPort::OutboundPort(bool Pretty=false)'],['../classlspserver_1_1OutboundPort.html#a56a2eaf94834eb67bf83f2ff44a714f5',1,'lspserver::OutboundPort::OutboundPort(llvm::raw_ostream &Outs, bool Pretty=false)']]], + ['overlap_24',['overlap',['../structlspserver_1_1Range.html#a8709855b72791ff29f5878623159d233',1,'lspserver::Range']]], + ['ownedevalclient_25',['OwnedEvalClient',['../classnixd_1_1OwnedEvalClient.html#ab2d5d31e904b5ae56306451cd80ae289',1,'nixd::OwnedEvalClient']]] +]; diff --git a/search/functions_e.js b/search/functions_e.js new file mode 100644 index 000000000..52b47e4e6 --- /dev/null +++ b/search/functions_e.js @@ -0,0 +1,45 @@ +var searchData= +[ + ['parentmap_0',['parentMap',['../namespacenixt.html#a9e1281b1eeb0c0f744522d8b6f72d356',1,'nixt']]], + ['parse_1',['parse',['../classnixf_1_1Parser.html#a32590db27c2afce7995fd0ee076cdd94',1,'nixf::Parser::parse()'],['../classlspserver_1_1URI.html#a3288d887bf623932dab44e40a026cf35',1,'lspserver::URI::parse()'],['../namespacenixf.html#a791e54f6c10d0a4d86742d8f6e37f352',1,'nixf::parse()']]], + ['parseattrname_2',['parseAttrName',['../classnixf_1_1Parser.html#ab9fb6e24bf33648cc8de9dab605eceb3',1,'nixf::Parser']]], + ['parseattrpath_3',['parseAttrPath',['../classnixf_1_1Parser.html#acf7be91f4b3575a477fde0634a4bae57',1,'nixf::Parser']]], + ['parsebinding_4',['parseBinding',['../classnixf_1_1Parser.html#adcc6b4dcf597dc89573952eccda33853',1,'nixf::Parser']]], + ['parsebinds_5',['parseBinds',['../classnixf_1_1Parser.html#ab23df83de8bbf9d1cbc47b3b27ae5d8f',1,'nixf::Parser']]], + ['parseexpr_6',['parseExpr',['../classnixf_1_1Parser.html#a37f2852bd0b6a563166c35f91414fc10',1,'nixf::Parser']]], + ['parseexprapp_7',['parseExprApp',['../classnixf_1_1Parser.html#a8d1d90e35cbca2792cd735d383af700c',1,'nixf::Parser']]], + ['parseexprassert_8',['parseExprAssert',['../classnixf_1_1Parser.html#aa19ddffccd732e2fe31863c9396e881b',1,'nixf::Parser']]], + ['parseexprattrs_9',['parseExprAttrs',['../classnixf_1_1Parser.html#aa801a500199fe0412a406462c4c1f369',1,'nixf::Parser']]], + ['parseexprif_10',['parseExprIf',['../classnixf_1_1Parser.html#a48b45a3c6d5e2b82a3b8bf543e86e941',1,'nixf::Parser']]], + ['parseexprlambda_11',['parseExprLambda',['../classnixf_1_1Parser.html#af18b178dc14116cdc1b5f7032b8db59a',1,'nixf::Parser']]], + ['parseexprlet_12',['parseExprLet',['../classnixf_1_1Parser.html#ad62d7400c629d350d38efb4ec202326f',1,'nixf::Parser']]], + ['parseexprlist_13',['parseExprList',['../classnixf_1_1Parser.html#ad7a75222e2e47e494603490c1e2d2ed6',1,'nixf::Parser']]], + ['parseexprop_14',['parseExprOp',['../classnixf_1_1Parser.html#a58041cfb84546bdf130e3fb519ff822c',1,'nixf::Parser']]], + ['parseexprparen_15',['parseExprParen',['../classnixf_1_1Parser.html#ac360d281a1ecfa784b9e8189dcc1456f',1,'nixf::Parser']]], + ['parseexprpath_16',['parseExprPath',['../classnixf_1_1Parser.html#a7186d610bf1f73f684081bdb7134e699',1,'nixf::Parser']]], + ['parseexprselect_17',['parseExprSelect',['../classnixf_1_1Parser.html#a7517d9df6260f29fec1556b5cad9d91d',1,'nixf::Parser']]], + ['parseexprsimple_18',['parseExprSimple',['../classnixf_1_1Parser.html#a22fac22c62d67faeaebd3f4181e7f40c',1,'nixf::Parser']]], + ['parseexprwith_19',['parseExprWith',['../classnixf_1_1Parser.html#ad0a9309eb4c5352c0b6c057a1aa3924f',1,'nixf::Parser']]], + ['parseformal_20',['parseFormal',['../classnixf_1_1Parser.html#a2dc56f89293f28c8ecf21f12cbb86da9',1,'nixf::Parser']]], + ['parseformals_21',['parseFormals',['../classnixf_1_1Parser.html#a67be73b63f22e19a69a0739e33adb86e',1,'nixf::Parser']]], + ['parseinherit_22',['parseInherit',['../classnixf_1_1Parser.html#ad6e3b44614c28b1b0bc0151ca9846f8a',1,'nixf::Parser']]], + ['parseinterpolation_23',['parseInterpolation',['../classnixf_1_1Parser.html#ac6af2c9b07cfdf59963812736726f2df',1,'nixf::Parser']]], + ['parselambdaarg_24',['parseLambdaArg',['../classnixf_1_1Parser.html#aad7484ca0a0afdc6e5ca7181db8953f1',1,'nixf::Parser']]], + ['parseparam_25',['parseParam',['../namespacelspserver.html#ae01da68d5c2816184de367777772572b',1,'lspserver']]], + ['parseparamwithdefault_26',['parseParamWithDefault',['../namespacelspserver.html#aa450939b488488611602f963cd20bef8',1,'lspserver']]], + ['parseparamwithoptionaldefault_27',['parseParamWithOptionalDefault',['../namespacelspserver_1_1detail.html#a19c03a79056c1356f5ff4c360cc8ed90',1,'lspserver::detail']]], + ['parser_28',['Parser',['../classnixf_1_1Parser.html#a6f2c6921c2e8d5a98566c0bc4d6e0a4d',1,'nixf::Parser']]], + ['parsestring_29',['parseString',['../classnixf_1_1Parser.html#acacf1d4e57f831bb473f647b7ce4935d',1,'nixf::Parser']]], + ['parsestringparts_30',['parseStringParts',['../classnixf_1_1Parser.html#ab6ba07a4124b7ab1cca87842223bde03',1,'nixf::Parser']]], + ['partialdiagnostic_31',['PartialDiagnostic',['../classnixf_1_1PartialDiagnostic.html#a22d72e7f3855985ca7deaace2e2ba8c3',1,'nixf::PartialDiagnostic::PartialDiagnostic()=default'],['../classnixf_1_1PartialDiagnostic.html#a27f1ac8be8f074375a97672341420878',1,'nixf::PartialDiagnostic::PartialDiagnostic(LexerCursorRange Range)']]], + ['parts_32',['parts',['../classnixf_1_1ExprString.html#adbf204757a9eefdb3b04234ddacb6288',1,'nixf::ExprString::parts()'],['../classnixf_1_1ExprPath.html#ad472e577ac0c80d7cda738ca8a711509',1,'nixf::ExprPath::parts()']]], + ['path_33',['path',['../classnixbc_1_1OriginPath.html#a7d8b1bdb6322be8ba10a60f4020ce6e0',1,'nixbc::OriginPath::path()'],['../classnixbc_1_1OriginPath.html#aed7bff348de26eaf99bef3230ef495d1',1,'nixbc::OriginPath::path() const'],['../classnixf_1_1Binding.html#a3c053a2774353025ebeb784f6ea6e8be',1,'nixf::Binding::path()'],['../classnixf_1_1ExprSelect.html#acaf24533f8ba9dfe4e43ba4a88fdb4b7',1,'nixf::ExprSelect::path()']]], + ['pathequal_34',['pathEqual',['../namespacelspserver.html#a64f08c900dbfd60a48d456ca9eb746ad',1,'lspserver']]], + ['pathstartswith_35',['pathStartsWith',['../namespacelspserver.html#ae9c525c95cbbba2eeb3e87072a085db9',1,'lspserver']]], + ['position_36',['position',['../classnixf_1_1LexerCursor.html#acecacc84f3db35e01501a85d6400f839',1,'nixf::LexerCursor']]], + ['position_37',['Position',['../classnixf_1_1Position.html#a756ab226e937e61b42d8bea9e6dc0b6b',1,'nixf::Position::Position()=default'],['../classnixf_1_1Position.html#af6c84ed2e0f97b1b44c0319c846dcc05',1,'nixf::Position::Position(int64_t Line, int64_t Column)']]], + ['positionrange_38',['PositionRange',['../classnixf_1_1PositionRange.html#afd37d1f5730ab2af25c8303ec368c508',1,'nixf::PositionRange::PositionRange()=default'],['../classnixf_1_1PositionRange.html#acf4f289983d5befb4598558c04be2ddd',1,'nixf::PositionRange::PositionRange(Position Begin, Position End)'],['../classnixf_1_1PositionRange.html#ae3881f5adb879ee613f22f7455524c0d',1,'nixf::PositionRange::PositionRange(Position Pos)']]], + ['positionrange_39',['positionRange',['../classnixf_1_1Node.html#aabfbecfd26d2a3feac1dd2f86404ecba',1,'nixf::Node']]], + ['positiontooffset_40',['positionToOffset',['../namespacelspserver.html#adc670be77dee1777c3e8bbd1e8e50b90',1,'lspserver']]], + ['proc_41',['proc',['../classnixd_1_1OwnedEvalClient.html#acb524844a610498efc42a113c2672f55',1,'nixd::OwnedEvalClient']]] +]; diff --git a/search/functions_f.js b/search/functions_f.js new file mode 100644 index 000000000..bc90f5561 --- /dev/null +++ b/search/functions_f.js @@ -0,0 +1,22 @@ +var searchData= +[ + ['range_0',['range',['../classnixf_1_1PartialDiagnostic.html#ad41d9da5072ab9953e85346ea8b13572',1,'nixf::PartialDiagnostic::range()'],['../classnixf_1_1Node.html#ac41eab257d538cf9a1625d8edc9f6cba',1,'nixf::Node::range()'],['../classnixf_1_1LexerCursorRange.html#a6ad684b278e832317fc1d0ac6b3d3b27',1,'nixf::LexerCursorRange::range()'],['../classnixf_1_1Token.html#a3447796262343771d90266110cfafd4a',1,'nixf::Token::range()']]], + ['rcur_1',['rCur',['../classnixf_1_1Node.html#aa4b694a2f3970bd3e641377ffd340ce9',1,'nixf::Node::rCur()'],['../classnixf_1_1LexerCursorRange.html#ac49a2e69ddf5fd5fa01ec691c540c060',1,'nixf::LexerCursorRange::rCur()'],['../classnixf_1_1Token.html#a7a8de8a2ef5b3a0f89cca42a946a5082',1,'nixf::Token::rCur()']]], + ['readbytecode_2',['readBytecode',['../namespacebc.html#a264910f00af41013c3e16a9129f3dff8',1,'bc::readBytecode(std::string_view &Data, T &Obj)'],['../namespacebc.html#aa122c3976610146d6a05dc9f48a3bea9',1,'bc::readBytecode(std::string_view &Data, T &Obj)'],['../namespacebc.html#a34afc9ac145f3655fda9a11aeeaba794',1,'bc::readBytecode(std::string_view &Data, std::vector< T > &Obj)'],['../namespacenixbc.html#aae017e22bb2a1ca63af80532095cb936',1,'nixbc::readBytecode(std::string_view &Data, Origin &Obj)'],['../namespacenixbc.html#a2afda84bce744a76a93acdbb3802492a',1,'nixbc::readBytecode(std::string_view &Data, OriginPath &Obj)']]], + ['readbytecode_3c_20std_3a_3astring_20_3e_3',['readBytecode< std::string >',['../namespacebc.html#a6bf2a852588bc882069769c4f830bd49',1,'bc::readBytecode< std::string >(std::string_view &Data, std::string &Obj)'],['../namespacebc.html#a6bf2a852588bc882069769c4f830bd49',1,'bc::readBytecode< std::string >(std::string_view &Data, std::string &Obj)']]], + ['readdelimitedmessage_4',['readDelimitedMessage',['../classlspserver_1_1InboundPort.html#ac130e7a1daffba4a6a5a70b4649bd18e',1,'lspserver::InboundPort']]], + ['readline_5',['readLine',['../namespacelspserver.html#afbe5d31d367546d2d2bd41949e6ac3a8',1,'lspserver']]], + ['readmessage_6',['readMessage',['../classlspserver_1_1InboundPort.html#aa781da274df2375c0c9f648ccc4ca393',1,'lspserver::InboundPort']]], + ['readstandardmessage_7',['readStandardMessage',['../classlspserver_1_1InboundPort.html#a75f1031eb93fc44b3a0f2649545b1a56',1,'lspserver::InboundPort']]], + ['rec_8',['rec',['../classnixf_1_1ExprAttrs.html#ab2e72b19f5e98455f60d0cf34a98f11d',1,'nixf::ExprAttrs']]], + ['record_9',['record',['../structnixt_1_1PtrPool.html#a9d6e70d8db772764426b6a60f0634d48',1,'nixt::PtrPool']]], + ['release_10',['release',['../classnixd_1_1util_1_1AutoCloseFD.html#ab69ba32fd428e832dbc04e877bdfdba9',1,'nixd::util::AutoCloseFD']]], + ['removedraft_11',['removeDraft',['../classlspserver_1_1DraftStore.html#a9432c04dbf56358e7967b9cefc096131',1,'lspserver::DraftStore']]], + ['removeformal_12',['removeFormal',['../classnixf_1_1Sema.html#abb324d1b4655fc7ca0863cd9fc2b52f8',1,'nixf::Sema']]], + ['reply_13',['reply',['../classlspserver_1_1OutboundPort.html#ac1da9934b3ab8851b33551dc27dd40be',1,'lspserver::OutboundPort']]], + ['resolve_14',['resolve',['../classlspserver_1_1URI.html#a320b8ee0a87dcb9785283a0a061de112',1,'lspserver::URI::resolve(const URI &U, llvm::StringRef HintPath="")'],['../classlspserver_1_1URI.html#afa1f3a0f44369e6853de808d877f27ad',1,'lspserver::URI::resolve(llvm::StringRef FileURI, llvm::StringRef HintPath="")']]], + ['resolvepath_15',['resolvePath',['../classlspserver_1_1URI.html#af74e7671fefbbbd61db978ac8d7c35fa',1,'lspserver::URI']]], + ['rhs_16',['rhs',['../classnixf_1_1ExprBinOp.html#a3f13d7e7779ecbe960a77e9a3e4529e6',1,'nixf::ExprBinOp']]], + ['rparen_17',['rparen',['../classnixf_1_1ExprParen.html#a833d9e2d5780c480d4105b1bfa325b05',1,'nixf::ExprParen']]], + ['run_18',['run',['../classlspserver_1_1LSPServer.html#af88fc336cbc2b4513a0461e4b30bb2d6',1,'lspserver::LSPServer']]] +]; diff --git a/search/mag.svg b/search/mag.svg new file mode 100644 index 000000000..ffb6cf0d0 --- /dev/null +++ b/search/mag.svg @@ -0,0 +1,24 @@ + + + + + + + diff --git a/search/mag_d.svg b/search/mag_d.svg new file mode 100644 index 000000000..4122773f9 --- /dev/null +++ b/search/mag_d.svg @@ -0,0 +1,24 @@ + + + + + + + diff --git a/search/mag_sel.svg b/search/mag_sel.svg new file mode 100644 index 000000000..553dba877 --- /dev/null +++ b/search/mag_sel.svg @@ -0,0 +1,31 @@ + + + + + + + + + diff --git a/search/mag_seld.svg b/search/mag_seld.svg new file mode 100644 index 000000000..c906f84c8 --- /dev/null +++ b/search/mag_seld.svg @@ -0,0 +1,31 @@ + + + + + + + + + diff --git a/search/namespaces_0.js b/search/namespaces_0.js new file mode 100644 index 000000000..3bd087177 --- /dev/null +++ b/search/namespaces_0.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['bc_0',['bc',['../namespacebc.html',1,'']]] +]; diff --git a/search/namespaces_1.js b/search/namespaces_1.js new file mode 100644 index 000000000..d040cd1be --- /dev/null +++ b/search/namespaces_1.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['llvm_0',['llvm',['../namespacellvm.html',1,'']]], + ['lspserver_1',['lspserver',['../namespacelspserver.html',1,'']]], + ['lspserver_3a_3adetail_2',['detail',['../namespacelspserver_1_1detail.html',1,'lspserver']]] +]; diff --git a/search/namespaces_2.js b/search/namespaces_2.js new file mode 100644 index 000000000..d70610455 --- /dev/null +++ b/search/namespaces_2.js @@ -0,0 +1,14 @@ +var searchData= +[ + ['nix_0',['nix',['../namespacenix.html',1,'']]], + ['nixbc_1',['nixbc',['../namespacenixbc.html',1,'']]], + ['nixd_2',['nixd',['../namespacenixd.html',1,'']]], + ['nixd_3a_3arpc_3',['rpc',['../namespacenixd_1_1rpc.html',1,'nixd']]], + ['nixd_3a_3autil_4',['util',['../namespacenixd_1_1util.html',1,'nixd']]], + ['nixf_5',['nixf',['../namespacenixf.html',1,'']]], + ['nixf_3a_3adetail_6',['detail',['../namespacenixf_1_1detail.html',1,'nixf']]], + ['nixf_3a_3atok_7',['tok',['../namespacenixf_1_1tok.html',1,'nixf']]], + ['nixt_8',['nixt',['../namespacenixt.html',1,'']]], + ['nixt_3a_3adetail_9',['detail',['../namespacenixt_1_1detail.html',1,'nixt']]], + ['nixt_3a_3aek_10',['ek',['../namespacenixt_1_1ek.html',1,'nixt']]] +]; diff --git a/search/pages_0.js b/search/pages_0.js new file mode 100644 index 000000000..df187ea8d --- /dev/null +++ b/search/pages_0.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['configuration_20examples_0',['Configuration Examples',['../md_nixd_2docs_2examples_2README.html',1,'']]], + ['contributions_1',['We ❤️ Contributions!',['../md_nixd_2docs_2editor-setup.html',1,'']]] +]; diff --git a/search/pages_1.js b/search/pages_1.js new file mode 100644 index 000000000..f48ee17d1 --- /dev/null +++ b/search/pages_1.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['developers_20manual_0',['Developers' Manual',['../md_nixd_2docs_2dev.html',1,'']]] +]; diff --git a/search/pages_2.js b/search/pages_2.js new file mode 100644 index 000000000..ebc068aef --- /dev/null +++ b/search/pages_2.js @@ -0,0 +1,8 @@ +var searchData= +[ + ['editors_20environment_0',['Reproducible Editors Environment',['../md_nixd_2docs_2editors_2editors.html',1,'']]], + ['environment_1',['Reproducible Editors Environment',['../md_nixd_2docs_2editors_2editors.html',1,'']]], + ['eval_2',['nix-node-eval',['../md_nixd_2nix-node-eval_2README.html',1,'']]], + ['examples_3',['Configuration Examples',['../md_nixd_2docs_2examples_2README.html',1,'']]], + ['expressions_4',['libnixt, Playing with <tt>nix::Expr</tt> expressions.',['../md_libnixt_2README.html',1,'']]] +]; diff --git a/search/pages_3.js b/search/pages_3.js new file mode 100644 index 000000000..69adf3ff8 --- /dev/null +++ b/search/pages_3.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['guide_0',['User Guide',['../md_nixd_2docs_2user-guide.html',1,'']]] +]; diff --git a/search/pages_4.js b/search/pages_4.js new file mode 100644 index 000000000..23e57b991 --- /dev/null +++ b/search/pages_4.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['libnixbc_0',['libnixbc',['../md_libnixbc_2README.html',1,'']]], + ['libnixt_20playing_20with_20tt_20nix_3a_3aexpr_20tt_20expressions_1',['libnixt, Playing with <tt>nix::Expr</tt> expressions.',['../md_libnixt_2README.html',1,'']]], + ['lspserver_2',['lspserver',['../md_lspserver_2README.html',1,'']]] +]; diff --git a/search/pages_5.js b/search/pages_5.js new file mode 100644 index 000000000..89aa184be --- /dev/null +++ b/search/pages_5.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['manual_0',['Developers' Manual',['../md_nixd_2docs_2dev.html',1,'']]] +]; diff --git a/search/pages_6.js b/search/pages_6.js new file mode 100644 index 000000000..d4cd232a0 --- /dev/null +++ b/search/pages_6.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['nix_20node_20eval_0',['nix-node-eval',['../md_nixd_2nix-node-eval_2README.html',1,'']]], + ['nix_3a_3aexpr_20tt_20expressions_1',['libnixt, Playing with <tt>nix::Expr</tt> expressions.',['../md_libnixt_2README.html',1,'']]], + ['node_20eval_2',['nix-node-eval',['../md_nixd_2nix-node-eval_2README.html',1,'']]] +]; diff --git a/search/pages_7.js b/search/pages_7.js new file mode 100644 index 000000000..7f66122af --- /dev/null +++ b/search/pages_7.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['playing_20with_20tt_20nix_3a_3aexpr_20tt_20expressions_0',['libnixt, Playing with <tt>nix::Expr</tt> expressions.',['../md_libnixt_2README.html',1,'']]] +]; diff --git a/search/pages_8.js b/search/pages_8.js new file mode 100644 index 000000000..b8e4cf924 --- /dev/null +++ b/search/pages_8.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['readme_0',['README',['../md_README.html',1,'']]], + ['reproducible_20editors_20environment_1',['Reproducible Editors Environment',['../md_nixd_2docs_2editors_2editors.html',1,'']]] +]; diff --git a/search/pages_9.js b/search/pages_9.js new file mode 100644 index 000000000..94cbac2ca --- /dev/null +++ b/search/pages_9.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['tt_20nix_3a_3aexpr_20tt_20expressions_0',['libnixt, Playing with <tt>nix::Expr</tt> expressions.',['../md_libnixt_2README.html',1,'']]] +]; diff --git a/search/pages_a.js b/search/pages_a.js new file mode 100644 index 000000000..26445197f --- /dev/null +++ b/search/pages_a.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['user_20guide_0',['User Guide',['../md_nixd_2docs_2user-guide.html',1,'']]] +]; diff --git a/search/pages_b.js b/search/pages_b.js new file mode 100644 index 000000000..1172de69f --- /dev/null +++ b/search/pages_b.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['we_20❤️_20contributions_0',['We ❤️ Contributions!',['../md_nixd_2docs_2editor-setup.html',1,'']]], + ['with_20tt_20nix_3a_3aexpr_20tt_20expressions_1',['libnixt, Playing with <tt>nix::Expr</tt> expressions.',['../md_libnixt_2README.html',1,'']]] +]; diff --git a/search/pages_c.js b/search/pages_c.js new file mode 100644 index 000000000..b0cdd6e4f --- /dev/null +++ b/search/pages_c.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['❤️_20contributions_0',['We ❤️ Contributions!',['../md_nixd_2docs_2editor-setup.html',1,'']]] +]; diff --git a/search/related_0.js b/search/related_0.js new file mode 100644 index 000000000..debfc17ba --- /dev/null +++ b/search/related_0.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['lexer_0',['Lexer',['../classnixf_1_1LexerCursor.html#a2e54c4809acbcd06c4bd4f186ad91584',1,'nixf::LexerCursor']]] +]; diff --git a/search/related_1.js b/search/related_1.js new file mode 100644 index 000000000..993458bd5 --- /dev/null +++ b/search/related_1.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['operator_21_3d_0',['operator!=',['../structlspserver_1_1URIForFile.html#a31ee6d24ac4bc5c80a58678fdd21bffa',1,'lspserver::URIForFile::operator!='],['../structlspserver_1_1Position.html#a491d63c3bca4605a8573835a3b36429c',1,'lspserver::Position::operator!='],['../structlspserver_1_1Range.html#afc5f4e389bda427e5dd2d4516ae18b67',1,'lspserver::Range::operator!='],['../structlspserver_1_1Location.html#a591ba82fef403e0139adeeeae13f311b',1,'lspserver::Location::operator!='],['../structlspserver_1_1DocumentLink.html#a6c2692eba60f1e2b2e84dda79cc6d0a8',1,'lspserver::DocumentLink::operator!=']]], + ['operator_3c_1',['operator<',['../classnixf_1_1Position.html#ae5fe888cc801224c1ea37f008ed4bc58',1,'nixf::Position::operator<'],['../structlspserver_1_1URIForFile.html#a23a7a0602a363c9806cae6aa97038d76',1,'lspserver::URIForFile::operator<'],['../structlspserver_1_1Position.html#ae5fe888cc801224c1ea37f008ed4bc58',1,'lspserver::Position::operator<'],['../structlspserver_1_1Range.html#a8b5d0821f3aa8f7084772a9813241f8d',1,'lspserver::Range::operator<'],['../structlspserver_1_1Location.html#a56d4b7dd8734b3ff2d9280d63ff0ad31',1,'lspserver::Location::operator<'],['../structlspserver_1_1DocumentHighlight.html#a6abdc62c99a3eafca2ff94633fe7c97c',1,'lspserver::DocumentHighlight::operator<'],['../classlspserver_1_1URI.html#a2b5e86ec6405a83854ad439e312f6361',1,'lspserver::URI::operator<']]], + ['operator_3c_3d_2',['operator<=',['../classnixf_1_1Position.html#a54b0ad2f50769bba67879e8c77352e1f',1,'nixf::Position::operator<='],['../structlspserver_1_1Position.html#a54b0ad2f50769bba67879e8c77352e1f',1,'lspserver::Position::operator<=']]], + ['operator_3d_3d_3',['operator==',['../classnixf_1_1Position.html#a311be51fb576cc7564947bb22e10b0c2',1,'nixf::Position::operator=='],['../classnixf_1_1LexerCursor.html#a282cc9d9025fa6ddfc1fe9e3988d335a',1,'nixf::LexerCursor::operator=='],['../structlspserver_1_1URIForFile.html#a708ad23040ad4f62ef35e6c546f15e13',1,'lspserver::URIForFile::operator=='],['../structlspserver_1_1Position.html#a311be51fb576cc7564947bb22e10b0c2',1,'lspserver::Position::operator=='],['../structlspserver_1_1Range.html#a750acd5d885c30d6f3d18d3b45b11ff2',1,'lspserver::Range::operator=='],['../structlspserver_1_1Location.html#a1d45a791f6265ecb2691c429fa78af48',1,'lspserver::Location::operator=='],['../structlspserver_1_1DocumentHighlight.html#aa439527289c89fe620bd20e28b8dbe7b',1,'lspserver::DocumentHighlight::operator=='],['../structlspserver_1_1DocumentLink.html#a84f541457c2560705fc7bc763854c7d1',1,'lspserver::DocumentLink::operator=='],['../classlspserver_1_1URI.html#acf72f74ff4f92d40281007fcd1a5f622',1,'lspserver::URI::operator==']]] +]; diff --git a/search/related_2.js b/search/related_2.js new file mode 100644 index 000000000..17a725c46 --- /dev/null +++ b/search/related_2.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['sema_0',['Sema',['../classnixf_1_1SemaAttrs.html#a4b2d8fa9accf6f1bd3f8768eacbe31a6',1,'nixf::SemaAttrs::Sema'],['../classnixf_1_1ExprAttrs.html#a4b2d8fa9accf6f1bd3f8768eacbe31a6',1,'nixf::ExprAttrs::Sema']]] +]; diff --git a/search/search.css b/search/search.css new file mode 100644 index 000000000..19f76f9d5 --- /dev/null +++ b/search/search.css @@ -0,0 +1,291 @@ +/*---------------- Search Box positioning */ + +#main-menu > li:last-child { + /* This
  • object is the parent of the search bar */ + display: flex; + justify-content: center; + align-items: center; + height: 36px; + margin-right: 1em; +} + +/*---------------- Search box styling */ + +.SRPage * { + font-weight: normal; + line-height: normal; +} + +dark-mode-toggle { + margin-left: 5px; + display: flex; + float: right; +} + +#MSearchBox { + display: inline-block; + white-space : nowrap; + background: var(--search-background-color); + border-radius: 0.65em; + box-shadow: var(--search-box-shadow); + z-index: 102; +} + +#MSearchBox .left { + display: inline-block; + vertical-align: middle; + height: 1.4em; +} + +#MSearchSelect { + display: inline-block; + vertical-align: middle; + width: 20px; + height: 19px; + background-image: var(--search-magnification-select-image); + margin: 0 0 0 0.3em; + padding: 0; +} + +#MSearchSelectExt { + display: inline-block; + vertical-align: middle; + width: 10px; + height: 19px; + background-image: var(--search-magnification-image); + margin: 0 0 0 0.5em; + padding: 0; +} + + +#MSearchField { + display: inline-block; + vertical-align: middle; + width: 7.5em; + height: 19px; + margin: 0 0.15em; + padding: 0; + line-height: 1em; + border:none; + color: var(--search-foreground-color); + outline: none; + font-family: var(--font-family-search); + -webkit-border-radius: 0px; + border-radius: 0px; + background: none; +} + +@media(hover: none) { + /* to avoid zooming on iOS */ + #MSearchField { + font-size: 16px; + } +} + +#MSearchBox .right { + display: inline-block; + vertical-align: middle; + width: 1.4em; + height: 1.4em; +} + +#MSearchClose { + display: none; + font-size: inherit; + background : none; + border: none; + margin: 0; + padding: 0; + outline: none; + +} + +#MSearchCloseImg { + padding: 0.3em; + margin: 0; +} + +.MSearchBoxActive #MSearchField { + color: var(--search-active-color); +} + + + +/*---------------- Search filter selection */ + +#MSearchSelectWindow { + display: none; + position: absolute; + left: 0; top: 0; + border: 1px solid var(--search-filter-border-color); + background-color: var(--search-filter-background-color); + z-index: 10001; + padding-top: 4px; + padding-bottom: 4px; + -moz-border-radius: 4px; + -webkit-border-top-left-radius: 4px; + -webkit-border-top-right-radius: 4px; + -webkit-border-bottom-left-radius: 4px; + -webkit-border-bottom-right-radius: 4px; + -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); +} + +.SelectItem { + font: 8pt var(--font-family-search); + padding-left: 2px; + padding-right: 12px; + border: 0px; +} + +span.SelectionMark { + margin-right: 4px; + font-family: var(--font-family-monospace); + outline-style: none; + text-decoration: none; +} + +a.SelectItem { + display: block; + outline-style: none; + color: var(--search-filter-foreground-color); + text-decoration: none; + padding-left: 6px; + padding-right: 12px; +} + +a.SelectItem:focus, +a.SelectItem:active { + color: var(--search-filter-foreground-color); + outline-style: none; + text-decoration: none; +} + +a.SelectItem:hover { + color: var(--search-filter-highlight-text-color); + background-color: var(--search-filter-highlight-bg-color); + outline-style: none; + text-decoration: none; + cursor: pointer; + display: block; +} + +/*---------------- Search results window */ + +iframe#MSearchResults { + /*width: 60ex;*/ + height: 15em; +} + +#MSearchResultsWindow { + display: none; + position: absolute; + left: 0; top: 0; + border: 1px solid var(--search-results-border-color); + background-color: var(--search-results-background-color); + z-index:10000; + width: 300px; + height: 400px; + overflow: auto; +} + +/* ----------------------------------- */ + + +#SRIndex { + clear:both; +} + +.SREntry { + font-size: 10pt; + padding-left: 1ex; +} + +.SRPage .SREntry { + font-size: 8pt; + padding: 1px 5px; +} + +div.SRPage { + margin: 5px 2px; + background-color: var(--search-results-background-color); +} + +.SRChildren { + padding-left: 3ex; padding-bottom: .5em +} + +.SRPage .SRChildren { + display: none; +} + +.SRSymbol { + font-weight: bold; + color: var(--search-results-foreground-color); + font-family: var(--font-family-search); + text-decoration: none; + outline: none; +} + +a.SRScope { + display: block; + color: var(--search-results-foreground-color); + font-family: var(--font-family-search); + font-size: 8pt; + text-decoration: none; + outline: none; +} + +a.SRSymbol:focus, a.SRSymbol:active, +a.SRScope:focus, a.SRScope:active { + text-decoration: underline; +} + +span.SRScope { + padding-left: 4px; + font-family: var(--font-family-search); +} + +.SRPage .SRStatus { + padding: 2px 5px; + font-size: 8pt; + font-style: italic; + font-family: var(--font-family-search); +} + +.SRResult { + display: none; +} + +div.searchresults { + margin-left: 10px; + margin-right: 10px; +} + +/*---------------- External search page results */ + +.pages b { + color: white; + padding: 5px 5px 3px 5px; + background-image: var(--nav-gradient-active-image-parent); + background-repeat: repeat-x; + text-shadow: 0 1px 1px #000000; +} + +.pages { + line-height: 17px; + margin-left: 4px; + text-decoration: none; +} + +.hl { + font-weight: bold; +} + +#searchresults { + margin-bottom: 20px; +} + +.searchpages { + margin-top: 10px; +} + diff --git a/search/search.js b/search/search.js new file mode 100644 index 000000000..666af01e5 --- /dev/null +++ b/search/search.js @@ -0,0 +1,694 @@ +/* + @licstart The following is the entire license notice for the JavaScript code in this file. + + The MIT License (MIT) + + Copyright (C) 1997-2020 by Dimitri van Heesch + + Permission is hereby granted, free of charge, to any person obtaining a copy of this software + and associated documentation files (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, publish, distribute, + sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all copies or + substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING + BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, + DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + @licend The above is the entire license notice for the JavaScript code in this file + */ +const SEARCH_COOKIE_NAME = ''+'search_grp'; + +const searchResults = new SearchResults(); + +/* A class handling everything associated with the search panel. + + Parameters: + name - The name of the global variable that will be + storing this instance. Is needed to be able to set timeouts. + resultPath - path to use for external files +*/ +function SearchBox(name, resultsPath, extension) { + if (!name || !resultsPath) { alert("Missing parameters to SearchBox."); } + if (!extension || extension == "") { extension = ".html"; } + + function getXPos(item) { + let x = 0; + if (item.offsetWidth) { + while (item && item!=document.body) { + x += item.offsetLeft; + item = item.offsetParent; + } + } + return x; + } + + function getYPos(item) { + let y = 0; + if (item.offsetWidth) { + while (item && item!=document.body) { + y += item.offsetTop; + item = item.offsetParent; + } + } + return y; + } + + // ---------- Instance variables + this.name = name; + this.resultsPath = resultsPath; + this.keyTimeout = 0; + this.keyTimeoutLength = 500; + this.closeSelectionTimeout = 300; + this.lastSearchValue = ""; + this.lastResultsPage = ""; + this.hideTimeout = 0; + this.searchIndex = 0; + this.searchActive = false; + this.extension = extension; + + // ----------- DOM Elements + + this.DOMSearchField = () => document.getElementById("MSearchField"); + this.DOMSearchSelect = () => document.getElementById("MSearchSelect"); + this.DOMSearchSelectWindow = () => document.getElementById("MSearchSelectWindow"); + this.DOMPopupSearchResults = () => document.getElementById("MSearchResults"); + this.DOMPopupSearchResultsWindow = () => document.getElementById("MSearchResultsWindow"); + this.DOMSearchClose = () => document.getElementById("MSearchClose"); + this.DOMSearchBox = () => document.getElementById("MSearchBox"); + + // ------------ Event Handlers + + // Called when focus is added or removed from the search field. + this.OnSearchFieldFocus = function(isActive) { + this.Activate(isActive); + } + + this.OnSearchSelectShow = function() { + const searchSelectWindow = this.DOMSearchSelectWindow(); + const searchField = this.DOMSearchSelect(); + + const left = getXPos(searchField); + const top = getYPos(searchField) + searchField.offsetHeight; + + // show search selection popup + searchSelectWindow.style.display='block'; + searchSelectWindow.style.left = left + 'px'; + searchSelectWindow.style.top = top + 'px'; + + // stop selection hide timer + if (this.hideTimeout) { + clearTimeout(this.hideTimeout); + this.hideTimeout=0; + } + return false; // to avoid "image drag" default event + } + + this.OnSearchSelectHide = function() { + this.hideTimeout = setTimeout(this.CloseSelectionWindow.bind(this), + this.closeSelectionTimeout); + } + + // Called when the content of the search field is changed. + this.OnSearchFieldChange = function(evt) { + if (this.keyTimeout) { // kill running timer + clearTimeout(this.keyTimeout); + this.keyTimeout = 0; + } + + const e = evt ? evt : window.event; // for IE + if (e.keyCode==40 || e.keyCode==13) { + if (e.shiftKey==1) { + this.OnSearchSelectShow(); + const win=this.DOMSearchSelectWindow(); + for (let i=0;i do a search + this.Search(); + } + } + + this.OnSearchSelectKey = function(evt) { + const e = (evt) ? evt : window.event; // for IE + if (e.keyCode==40 && this.searchIndex0) { // Up + this.searchIndex--; + this.OnSelectItem(this.searchIndex); + } else if (e.keyCode==13 || e.keyCode==27) { + e.stopPropagation(); + this.OnSelectItem(this.searchIndex); + this.CloseSelectionWindow(); + this.DOMSearchField().focus(); + } + return false; + } + + // --------- Actions + + // Closes the results window. + this.CloseResultsWindow = function() { + this.DOMPopupSearchResultsWindow().style.display = 'none'; + this.DOMSearchClose().style.display = 'none'; + this.Activate(false); + } + + this.CloseSelectionWindow = function() { + this.DOMSearchSelectWindow().style.display = 'none'; + } + + // Performs a search. + this.Search = function() { + this.keyTimeout = 0; + + // strip leading whitespace + const searchValue = this.DOMSearchField().value.replace(/^ +/, ""); + + const code = searchValue.toLowerCase().charCodeAt(0); + let idxChar = searchValue.substr(0, 1).toLowerCase(); + if ( 0xD800 <= code && code <= 0xDBFF && searchValue > 1) { // surrogate pair + idxChar = searchValue.substr(0, 2); + } + + let jsFile; + let idx = indexSectionsWithContent[this.searchIndex].indexOf(idxChar); + if (idx!=-1) { + const hexCode=idx.toString(16); + jsFile = this.resultsPath + indexSectionNames[this.searchIndex] + '_' + hexCode + '.js'; + } + + const loadJS = function(url, impl, loc) { + const scriptTag = document.createElement('script'); + scriptTag.src = url; + scriptTag.onload = impl; + scriptTag.onreadystatechange = impl; + loc.appendChild(scriptTag); + } + + const domPopupSearchResultsWindow = this.DOMPopupSearchResultsWindow(); + const domSearchBox = this.DOMSearchBox(); + const domPopupSearchResults = this.DOMPopupSearchResults(); + const domSearchClose = this.DOMSearchClose(); + const resultsPath = this.resultsPath; + + const handleResults = function() { + document.getElementById("Loading").style.display="none"; + if (typeof searchData !== 'undefined') { + createResults(resultsPath); + document.getElementById("NoMatches").style.display="none"; + } + + if (idx!=-1) { + searchResults.Search(searchValue); + } else { // no file with search results => force empty search results + searchResults.Search('===='); + } + + if (domPopupSearchResultsWindow.style.display!='block') { + domSearchClose.style.display = 'inline-block'; + let left = getXPos(domSearchBox) + 150; + let top = getYPos(domSearchBox) + 20; + domPopupSearchResultsWindow.style.display = 'block'; + left -= domPopupSearchResults.offsetWidth; + const maxWidth = document.body.clientWidth; + const maxHeight = document.body.clientHeight; + let width = 300; + if (left<10) left=10; + if (width+left+8>maxWidth) width=maxWidth-left-8; + let height = 400; + if (height+top+8>maxHeight) height=maxHeight-top-8; + domPopupSearchResultsWindow.style.top = top + 'px'; + domPopupSearchResultsWindow.style.left = left + 'px'; + domPopupSearchResultsWindow.style.width = width + 'px'; + domPopupSearchResultsWindow.style.height = height + 'px'; + } + } + + if (jsFile) { + loadJS(jsFile, handleResults, this.DOMPopupSearchResultsWindow()); + } else { + handleResults(); + } + + this.lastSearchValue = searchValue; + } + + // -------- Activation Functions + + // Activates or deactivates the search panel, resetting things to + // their default values if necessary. + this.Activate = function(isActive) { + if (isActive || // open it + this.DOMPopupSearchResultsWindow().style.display == 'block' + ) { + this.DOMSearchBox().className = 'MSearchBoxActive'; + this.searchActive = true; + } else if (!isActive) { // directly remove the panel + this.DOMSearchBox().className = 'MSearchBoxInactive'; + this.searchActive = false; + this.lastSearchValue = '' + this.lastResultsPage = ''; + this.DOMSearchField().value = ''; + } + } +} + +// ----------------------------------------------------------------------- + +// The class that handles everything on the search results page. +function SearchResults() { + + function convertToId(search) { + let result = ''; + for (let i=0;i. + this.lastMatchCount = 0; + this.lastKey = 0; + this.repeatOn = false; + + // Toggles the visibility of the passed element ID. + this.FindChildElement = function(id) { + const parentElement = document.getElementById(id); + let element = parentElement.firstChild; + + while (element && element!=parentElement) { + if (element.nodeName.toLowerCase() == 'div' && element.className == 'SRChildren') { + return element; + } + + if (element.nodeName.toLowerCase() == 'div' && element.hasChildNodes()) { + element = element.firstChild; + } else if (element.nextSibling) { + element = element.nextSibling; + } else { + do { + element = element.parentNode; + } + while (element && element!=parentElement && !element.nextSibling); + + if (element && element!=parentElement) { + element = element.nextSibling; + } + } + } + } + + this.Toggle = function(id) { + const element = this.FindChildElement(id); + if (element) { + if (element.style.display == 'block') { + element.style.display = 'none'; + } else { + element.style.display = 'block'; + } + } + } + + // Searches for the passed string. If there is no parameter, + // it takes it from the URL query. + // + // Always returns true, since other documents may try to call it + // and that may or may not be possible. + this.Search = function(search) { + if (!search) { // get search word from URL + search = window.location.search; + search = search.substring(1); // Remove the leading '?' + search = unescape(search); + } + + search = search.replace(/^ +/, ""); // strip leading spaces + search = search.replace(/ +$/, ""); // strip trailing spaces + search = search.toLowerCase(); + search = convertToId(search); + + const resultRows = document.getElementsByTagName("div"); + let matches = 0; + + let i = 0; + while (i < resultRows.length) { + const row = resultRows.item(i); + if (row.className == "SRResult") { + let rowMatchName = row.id.toLowerCase(); + rowMatchName = rowMatchName.replace(/^sr\d*_/, ''); // strip 'sr123_' + + if (search.length<=rowMatchName.length && + rowMatchName.substr(0, search.length)==search) { + row.style.display = 'block'; + matches++; + } else { + row.style.display = 'none'; + } + } + i++; + } + document.getElementById("Searching").style.display='none'; + if (matches == 0) { // no results + document.getElementById("NoMatches").style.display='block'; + } else { // at least one result + document.getElementById("NoMatches").style.display='none'; + } + this.lastMatchCount = matches; + return true; + } + + // return the first item with index index or higher that is visible + this.NavNext = function(index) { + let focusItem; + for (;;) { + const focusName = 'Item'+index; + focusItem = document.getElementById(focusName); + if (focusItem && focusItem.parentNode.parentNode.style.display=='block') { + break; + } else if (!focusItem) { // last element + break; + } + focusItem=null; + index++; + } + return focusItem; + } + + this.NavPrev = function(index) { + let focusItem; + for (;;) { + const focusName = 'Item'+index; + focusItem = document.getElementById(focusName); + if (focusItem && focusItem.parentNode.parentNode.style.display=='block') { + break; + } else if (!focusItem) { // last element + break; + } + focusItem=null; + index--; + } + return focusItem; + } + + this.ProcessKeys = function(e) { + if (e.type == "keydown") { + this.repeatOn = false; + this.lastKey = e.keyCode; + } else if (e.type == "keypress") { + if (!this.repeatOn) { + if (this.lastKey) this.repeatOn = true; + return false; // ignore first keypress after keydown + } + } else if (e.type == "keyup") { + this.lastKey = 0; + this.repeatOn = false; + } + return this.lastKey!=0; + } + + this.Nav = function(evt,itemIndex) { + const e = (evt) ? evt : window.event; // for IE + if (e.keyCode==13) return true; + if (!this.ProcessKeys(e)) return false; + + if (this.lastKey==38) { // Up + const newIndex = itemIndex-1; + let focusItem = this.NavPrev(newIndex); + if (focusItem) { + let child = this.FindChildElement(focusItem.parentNode.parentNode.id); + if (child && child.style.display == 'block') { // children visible + let n=0; + let tmpElem; + for (;;) { // search for last child + tmpElem = document.getElementById('Item'+newIndex+'_c'+n); + if (tmpElem) { + focusItem = tmpElem; + } else { // found it! + break; + } + n++; + } + } + } + if (focusItem) { + focusItem.focus(); + } else { // return focus to search field + document.getElementById("MSearchField").focus(); + } + } else if (this.lastKey==40) { // Down + const newIndex = itemIndex+1; + let focusItem; + const item = document.getElementById('Item'+itemIndex); + const elem = this.FindChildElement(item.parentNode.parentNode.id); + if (elem && elem.style.display == 'block') { // children visible + focusItem = document.getElementById('Item'+itemIndex+'_c0'); + } + if (!focusItem) focusItem = this.NavNext(newIndex); + if (focusItem) focusItem.focus(); + } else if (this.lastKey==39) { // Right + const item = document.getElementById('Item'+itemIndex); + const elem = this.FindChildElement(item.parentNode.parentNode.id); + if (elem) elem.style.display = 'block'; + } else if (this.lastKey==37) { // Left + const item = document.getElementById('Item'+itemIndex); + const elem = this.FindChildElement(item.parentNode.parentNode.id); + if (elem) elem.style.display = 'none'; + } else if (this.lastKey==27) { // Escape + e.stopPropagation(); + searchBox.CloseResultsWindow(); + document.getElementById("MSearchField").focus(); + } else if (this.lastKey==13) { // Enter + return true; + } + return false; + } + + this.NavChild = function(evt,itemIndex,childIndex) { + const e = (evt) ? evt : window.event; // for IE + if (e.keyCode==13) return true; + if (!this.ProcessKeys(e)) return false; + + if (this.lastKey==38) { // Up + if (childIndex>0) { + const newIndex = childIndex-1; + document.getElementById('Item'+itemIndex+'_c'+newIndex).focus(); + } else { // already at first child, jump to parent + document.getElementById('Item'+itemIndex).focus(); + } + } else if (this.lastKey==40) { // Down + const newIndex = childIndex+1; + let elem = document.getElementById('Item'+itemIndex+'_c'+newIndex); + if (!elem) { // last child, jump to parent next parent + elem = this.NavNext(itemIndex+1); + } + if (elem) { + elem.focus(); + } + } else if (this.lastKey==27) { // Escape + e.stopPropagation(); + searchBox.CloseResultsWindow(); + document.getElementById("MSearchField").focus(); + } else if (this.lastKey==13) { // Enter + return true; + } + return false; + } +} + +function createResults(resultsPath) { + + function setKeyActions(elem,action) { + elem.setAttribute('onkeydown',action); + elem.setAttribute('onkeypress',action); + elem.setAttribute('onkeyup',action); + } + + function setClassAttr(elem,attr) { + elem.setAttribute('class',attr); + elem.setAttribute('className',attr); + } + + const results = document.getElementById("SRResults"); + results.innerHTML = ''; + searchData.forEach((elem,index) => { + const id = elem[0]; + const srResult = document.createElement('div'); + srResult.setAttribute('id','SR_'+id); + setClassAttr(srResult,'SRResult'); + const srEntry = document.createElement('div'); + setClassAttr(srEntry,'SREntry'); + const srLink = document.createElement('a'); + srLink.setAttribute('id','Item'+index); + setKeyActions(srLink,'return searchResults.Nav(event,'+index+')'); + setClassAttr(srLink,'SRSymbol'); + srLink.innerHTML = elem[1][0]; + srEntry.appendChild(srLink); + if (elem[1].length==2) { // single result + srLink.setAttribute('href',resultsPath+elem[1][1][0]); + srLink.setAttribute('onclick','searchBox.CloseResultsWindow()'); + if (elem[1][1][1]) { + srLink.setAttribute('target','_parent'); + } else { + srLink.setAttribute('target','_blank'); + } + const srScope = document.createElement('span'); + setClassAttr(srScope,'SRScope'); + srScope.innerHTML = elem[1][1][2]; + srEntry.appendChild(srScope); + } else { // multiple results + srLink.setAttribute('href','javascript:searchResults.Toggle("SR_'+id+'")'); + const srChildren = document.createElement('div'); + setClassAttr(srChildren,'SRChildren'); + for (let c=0; c-{AmhX=Jf(#6djGiuzAr*{o?=JLmPLyc> z_*`QK&+BH@jWrYJ7>r6%keRM@)Qyv8R=enp0jiI>aWlGyB58O zFVR20d+y`K7vDw(hJF3;>dD*3-?v=<8M)@x|EEGLnJsniYK!2U1 Y!`|5biEc?d1`HDhPgg&ebxsLQ02F6;9RL6T literal 0 HcmV?d00001 diff --git a/splitbard.png b/splitbard.png new file mode 100644 index 0000000000000000000000000000000000000000..8367416d757fd7b6dc4272b6432dc75a75abd068 GIT binary patch literal 282 zcmeAS@N?(olHy`uVBq!ia0vp^Yzz!63>-{AmhX=Jf@VhhFKy35^fiT zT~&lUj3=cDh^%3HDY9k5CEku}PHXNoNC(_$U3XPb&Q*ME25pT;2(*BOgAf<+R$lzakPG`kF31()Fx{L5Wrac|GQzjeE= zueY1`Ze{#x<8=S|`~MgGetGce)#vN&|J{Cd^tS%;tBYTo?+^d68<#n_Y_xx`J||4O V@QB{^CqU0Kc)I$ztaD0e0svEzbJzd? literal 0 HcmV?d00001 diff --git a/src_2Parse_2Parser_8h.html b/src_2Parse_2Parser_8h.html new file mode 100644 index 000000000..3651b5ffd --- /dev/null +++ b/src_2Parse_2Parser_8h.html @@ -0,0 +1,130 @@ + + + + + + + +nixd: Parser.h File Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    Parser.h File Reference
    +
    +
    + +

    Parser for the Nix expression language. +More...

    +
    #include "Lexer.h"
    +#include "nixf/Basic/Nodes/Attrs.h"
    +#include "nixf/Basic/Nodes/Basic.h"
    +#include "nixf/Basic/Nodes/Expr.h"
    +#include "nixf/Basic/Nodes/Lambda.h"
    +#include "nixf/Basic/Nodes/Simple.h"
    +#include "nixf/Basic/Range.h"
    +#include "nixf/Sema/SemaActions.h"
    +#include <climits>
    +#include <deque>
    +#include <set>
    +#include <stack>
    +
    +

    Go to the source code of this file.

    + + + + +

    +Classes

    class  nixf::Parser
     
    + + + + + +

    +Namespaces

    namespace  nixf
     
    namespace  nixf::detail
     
    + + + +

    +Functions

    Diagnosticnixf::detail::diagNullExpr (std::vector< Diagnostic > &Diags, LexerCursor Loc, std::string As)
     
    +

    Detailed Description

    +

    Parser for the Nix expression language.

    + +

    Definition in file src/Parse/Parser.h.

    +
    + + + + diff --git a/src_2Parse_2Parser_8h_source.html b/src_2Parse_2Parser_8h_source.html new file mode 100644 index 000000000..90b0d8785 --- /dev/null +++ b/src_2Parse_2Parser_8h_source.html @@ -0,0 +1,495 @@ + + + + + + + +nixd: Parser.h Source File + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    src/Parse/Parser.h
    +
    +
    +Go to the documentation of this file.
    1/// \file
    +
    2/// \brief Parser for the Nix expression language.
    +
    3#pragma once
    +
    4
    +
    5#include "Lexer.h"
    +
    6
    + + + + + +
    12#include "nixf/Basic/Range.h"
    + +
    14
    +
    15#include <climits>
    +
    16#include <deque>
    +
    17#include <set>
    +
    18#include <stack>
    +
    19
    +
    20namespace nixf {
    +
    21
    +
    +
    22namespace detail {
    +
    23
    +
    24Diagnostic &diagNullExpr(std::vector<Diagnostic> &Diags, LexerCursor Loc,
    +
    25 std::string As);
    +
    26
    +
    27} // namespace detail
    +
    +
    28
    +
    29using namespace nixf::tok;
    +
    30
    +
    +
    31class Parser {
    +
    32public:
    + +
    39
    +
    40private:
    +
    41 std::string_view Src;
    +
    42 Lexer Lex;
    +
    43 Sema Act;
    +
    44 std::vector<Diagnostic> &Diags;
    +
    45
    +
    46 std::deque<Token> LookAheadBuf;
    +
    47 std::optional<Token> LastToken;
    +
    48 std::stack<ParserState> State;
    +
    49
    +
    50 /// \brief Sync tokens for error recovery.
    +
    51 ///
    +
    52 /// These tokens will be considered as the end of "unknown" node.
    +
    53 /// We create "unknown" node for recover from "extra" token error.
    +
    54 /// (Also, this node is invisible in the AST)
    +
    55 ///
    +
    56 /// e.g. { foo....bar = ; }
    +
    57 /// ^~~ remove these tokens
    +
    58 ///
    +
    59 /// Sync tokens will not be consumed as "unknown".
    +
    60 std::multiset<TokenKind> SyncTokens;
    +
    61
    +
    62 class StateRAII {
    +
    63 Parser &P;
    +
    64
    +
    65 public:
    +
    66 StateRAII(Parser &P) : P(P) {}
    +
    67 ~StateRAII() { P.popState(); }
    +
    68 };
    +
    69
    +
    70 // Note: use `auto` for this type.
    +
    71 StateRAII withState(ParserState NewState);
    +
    72
    +
    73 /// \brief Reset the lexer cursor to the beginning of the first token.
    +
    74 ///
    +
    75 /// This is used for error recovery & context switching.
    +
    76 void resetLookAheadBuf();
    +
    77
    +
    78 void pushState(ParserState NewState);
    +
    79
    +
    80 void popState();
    +
    81
    +
    82 Token peek(std::size_t N = 0);
    +
    83
    +
    84 /// \brief Consume tokens until the next sync token.
    +
    85 /// \returns The consumed range. If no token is consumed, return nullopt.
    +
    86 std::optional<LexerCursorRange> consumeAsUnknown();
    +
    87
    +
    88 class SyncRAII {
    +
    89 Parser &P;
    +
    90 TokenKind Kind;
    +
    91
    +
    92 public:
    +
    93 SyncRAII(Parser &P, TokenKind Kind) : P(P), Kind(Kind) {
    +
    94 P.SyncTokens.emplace(Kind);
    +
    95 }
    +
    96 ~SyncRAII() { P.SyncTokens.erase(P.SyncTokens.find(Kind)); }
    +
    97 };
    +
    98
    +
    99 SyncRAII withSync(TokenKind Kind);
    +
    100
    +
    101 class ExpectResult {
    +
    102 bool Success;
    +
    103 std::optional<Token> Tok;
    +
    104 Diagnostic *DiagMissing;
    +
    105
    +
    106 public:
    +
    107 ExpectResult(Token Tok) : Success(true), Tok(Tok), DiagMissing(nullptr) {}
    +
    108 ExpectResult(Diagnostic *DiagMissing)
    +
    109 : Success(false), DiagMissing(DiagMissing) {}
    +
    110
    +
    111 [[nodiscard]] bool ok() const { return Success; }
    +
    112 [[nodiscard]] Token tok() const {
    +
    113 assert(Tok);
    +
    114 return *Tok;
    +
    115 }
    +
    116 [[nodiscard]] Diagnostic &diag() const {
    +
    117 assert(DiagMissing);
    +
    118 return *DiagMissing;
    +
    119 }
    +
    120 };
    +
    121
    +
    122 ExpectResult expect(TokenKind Kind);
    +
    123
    +
    124 void consume() {
    +
    125 if (LookAheadBuf.empty())
    +
    126 peek(0);
    +
    127 popBuf();
    +
    128 }
    +
    129
    +
    130 Token popBuf() {
    +
    131 LastToken = LookAheadBuf.front();
    +
    132 LookAheadBuf.pop_front();
    +
    133 return *LastToken;
    +
    134 }
    +
    135
    +
    136 bool removeUnexpected() {
    +
    137 if (std::optional<LexerCursorRange> UnknownRange = consumeAsUnknown()) {
    +
    138 Diagnostic &D =
    +
    139 Diags.emplace_back(Diagnostic::DK_UnexpectedText, *UnknownRange);
    +
    140 D.fix("remove unexpected text").edit(TextEdit::mkRemoval(*UnknownRange));
    + +
    142 return true;
    +
    143 }
    +
    144 return false;
    +
    145 }
    +
    146
    +
    147 LexerCursor lCur() { return peek().lCur(); }
    +
    148
    +
    149 /// Pratt parser for binary/unary operators.
    +
    150 std::shared_ptr<Expr> parseExprOpBP(unsigned BP);
    +
    151
    +
    152public:
    +
    +
    153 Parser(std::string_view Src, std::vector<Diagnostic> &Diags)
    +
    154 : Src(Src), Lex(Src, Diags), Act(Src, Diags), Diags(Diags) {
    +
    155 pushState(PS_Expr);
    +
    156 }
    +
    +
    157
    +
    158 /// \brief Parse interpolations.
    +
    159 ///
    +
    160 /// \code
    +
    161 /// interpolation : "${" expr "}"
    +
    162 /// \endcode
    +
    163 std::shared_ptr<Interpolation> parseInterpolation();
    +
    164
    +
    165 /// \brief Parse paths.
    +
    166 ///
    +
    167 /// \code
    +
    168 /// path : path_fragment (path_fragment)* path_end
    +
    169 /// Context PS_Expr PS_Path PS_Path
    +
    170 /// \endcode
    +
    171 ///
    +
    172 /// The first token, path_fragment is lexed in PS_Expr context, then switch in
    +
    173 /// "PS_Path" context. The ending token "path_end" shall be poped with context
    +
    174 /// switching.
    +
    175 std::shared_ptr<Expr> parseExprPath();
    +
    176
    +
    177 /// \code
    +
    178 /// string_part : interpolation
    +
    179 /// | STRING_PART
    +
    180 /// | STRING_ESCAPE
    +
    181 /// \endcode
    +
    182 std::shared_ptr<InterpolatedParts> parseStringParts();
    +
    183
    +
    184 /// \code
    +
    185 /// string : " string_part* "
    +
    186 /// | '' string_part* ''
    +
    187 /// \endcode
    +
    188 std::shared_ptr<ExprString> parseString(bool IsIndented);
    +
    189
    +
    190 /// \code
    +
    191 /// '(' expr ')'
    +
    192 /// \endcode
    +
    193 std::shared_ptr<ExprParen> parseExprParen();
    +
    194
    +
    195 /// \code
    +
    196 /// attrname : ID
    +
    197 /// | string
    +
    198 /// | interpolation
    +
    199 /// \endcode
    +
    200 std::shared_ptr<AttrName> parseAttrName();
    +
    201
    +
    202 /// \code
    +
    203 /// attrpath : attrname ('.' attrname)*
    +
    204 /// \endcode
    +
    205 std::shared_ptr<AttrPath> parseAttrPath();
    +
    206
    +
    207 /// \code
    +
    208 /// binding : attrpath '=' expr ';'
    +
    209 /// \endcode
    +
    210 std::shared_ptr<Binding> parseBinding();
    +
    211
    +
    212 /// \code
    +
    213 /// inherit : 'inherit' '(' expr ')' inherited_attrs ';'
    +
    214 /// | 'inherit' inherited_attrs ';'
    +
    215 /// inherited_attrs: attrname*
    +
    216 /// \endcode
    +
    217 std::shared_ptr<Inherit> parseInherit();
    +
    218
    +
    219 /// \code
    +
    220 /// binds : ( binding | inherit )*
    +
    221 /// \endcode
    +
    222 std::shared_ptr<Binds> parseBinds();
    +
    223
    +
    224 /// attrset_expr : REC? '{' binds '}'
    +
    225 ///
    +
    226 /// Note: peek `tok_kw_rec` or `tok_l_curly` before calling this function.
    +
    227 std::shared_ptr<ExprAttrs> parseExprAttrs();
    +
    228
    +
    229 /// \code
    +
    230 /// expr_simple : INT
    +
    231 /// | ID
    +
    232 /// | FLOAT
    +
    233 /// | string
    +
    234 /// | indented_string
    +
    235 /// | path
    +
    236 /// | hpath
    +
    237 /// | uri
    +
    238 /// | '(' expr ')'
    +
    239 /// | legacy_let
    +
    240 /// | attrset_expr
    +
    241 /// | list
    +
    242 /// \endcode
    +
    243 std::shared_ptr<Expr> parseExprSimple();
    +
    244
    +
    245 /// \code
    +
    246 /// expr_select : expr_simple '.' attrpath
    +
    247 /// | expr_simple '.' attrpath 'or' expr_select
    +
    248 /// | expr_simple 'or' <-- special "apply", 'or' is argument
    +
    249 /// | expr_simple
    +
    250 /// \endcode
    +
    251 std::shared_ptr<Expr> parseExprSelect();
    +
    252
    +
    253 /// \code
    +
    254 /// expr_app : expr_app expr_select
    +
    255 /// | expr_select
    +
    256 /// \endcode
    +
    257 ///
    +
    258 /// Consume at most \p Limit number of `expr_select` as arguments
    +
    259 /// e.g. `Fn A1 A2 A3` with Limit = 2 will be parsed as `((Fn A1 A2) A3)`
    +
    260 std::shared_ptr<Expr> parseExprApp(int Limit = INT_MAX);
    +
    261
    +
    262 /// \code
    +
    263 /// expr_list : '[' expr_select* ']'
    +
    264 /// \endcode
    +
    265 std::shared_ptr<ExprList> parseExprList();
    +
    266
    +
    267 /// \code
    +
    268 /// formal : ,? ID
    +
    269 /// | ,? ID '?' expr
    +
    270 /// | ,? ...
    +
    271 /// \endcode
    +
    272 std::shared_ptr<Formal> parseFormal();
    +
    273
    +
    274 /// \code
    +
    275 /// formals : '{' formal* '}'
    +
    276 /// \endcode
    +
    277 std::shared_ptr<Formals> parseFormals();
    +
    278
    +
    279 /// \code
    +
    280 /// lambda_arg : ID
    +
    281 /// | ID @ {' formals '}'
    +
    282 /// | '{' formals '}'
    +
    283 /// | '{' formals '}' @ ID
    +
    284 /// \endcode
    +
    285 std::shared_ptr<LambdaArg> parseLambdaArg();
    +
    286
    +
    287 /// \code
    +
    288 /// expr_lambda : lambda_arg ':' expr
    +
    289 /// \endcode
    +
    290 std::shared_ptr<ExprLambda> parseExprLambda();
    +
    291
    +
    292 std::shared_ptr<Expr> parseExpr();
    +
    293
    +
    294 /// \brief Parse binary/unary operators.
    +
    295 /// \code
    +
    296 /// expr_op : '!' expr_op
    +
    297 /// | '-' expr_op
    +
    298 /// | expr_op BINARY_OP expr_op
    +
    299 /// | expr_app
    +
    300 ///
    +
    301 /// %right ->
    +
    302 /// %left ||
    +
    303 /// %left &&
    +
    304 /// %nonassoc == !=
    +
    305 /// %nonassoc < > <= >=
    +
    306 /// %right //
    +
    307 /// %left NOT
    +
    308 /// %left + -
    +
    309 /// %left * /
    +
    310 /// %right ++
    +
    311 /// %nonassoc '?'
    +
    312 /// %nonassoc NEGATE
    +
    313 /// \endcode
    +
    314 std::shared_ptr<Expr> parseExprOp() { return parseExprOpBP(0); }
    +
    315
    +
    316 /// \code
    +
    317 /// expr_if : 'if' expr 'then' expr 'else' expr
    +
    318 /// \endcode
    +
    319 std::shared_ptr<ExprIf> parseExprIf();
    +
    320
    +
    321 /// \code
    +
    322 /// expr_assert : 'assert' expr ';' expr
    +
    323 /// \endcode
    +
    324 std::shared_ptr<ExprAssert> parseExprAssert();
    +
    325
    +
    326 /// \code
    +
    327 /// epxr_let : 'let' binds 'in' expr
    +
    328 /// \endcode
    +
    329 std::shared_ptr<ExprLet> parseExprLet();
    +
    330
    +
    331 /// \code
    +
    332 /// expr_with : 'with' expr ';' expr
    +
    333 /// \endcode
    +
    334 std::shared_ptr<ExprWith> parseExprWith();
    +
    335
    +
    336 std::shared_ptr<Expr> parse() { return parseExpr(); }
    +
    337};
    +
    +
    338
    +
    339} // namespace nixf
    + + + + +
    Lexer declaration. The lexer is a "stateful" lexer and highly tied to parser.
    + +
    Semantic Actions while building the AST.
    + + +
    Fix & fix(std::string Message)
    Definition Diagnostic.h:193
    +
    Fix & edit(TextEdit Edit)
    Definition Diagnostic.h:66
    +
    A point in the source file.
    Definition Range.h:57
    + + +
    std::shared_ptr< Expr > parseExprSimple()
    +
    std::shared_ptr< Formal > parseFormal()
    +
    std::shared_ptr< Expr > parse()
    +
    std::shared_ptr< Expr > parseExpr()
    Definition ParseExpr.cpp:74
    +
    std::shared_ptr< ExprIf > parseExprIf()
    +
    std::shared_ptr< Expr > parseExprOp()
    Parse binary/unary operators.
    +
    std::shared_ptr< Formals > parseFormals()
    +
    Parser(std::string_view Src, std::vector< Diagnostic > &Diags)
    +
    std::shared_ptr< Expr > parseExprPath()
    Parse paths.
    + + + + + +
    std::shared_ptr< Expr > parseExprSelect()
    Definition ParseExpr.cpp:7
    +
    std::shared_ptr< Expr > parseExprApp(int Limit=INT_MAX)
    Definition ParseExpr.cpp:53
    +
    std::shared_ptr< ExprAssert > parseExprAssert()
    +
    std::shared_ptr< ExprAttrs > parseExprAttrs()
    +
    std::shared_ptr< LambdaArg > parseLambdaArg()
    +
    std::shared_ptr< Binds > parseBinds()
    +
    std::shared_ptr< InterpolatedParts > parseStringParts()
    +
    std::shared_ptr< AttrName > parseAttrName()
    Definition ParseAttrs.cpp:7
    +
    std::shared_ptr< ExprParen > parseExprParen()
    +
    std::shared_ptr< Interpolation > parseInterpolation()
    Parse interpolations.
    +
    std::shared_ptr< ExprString > parseString(bool IsIndented)
    +
    std::shared_ptr< AttrPath > parseAttrPath()
    +
    std::shared_ptr< ExprWith > parseExprWith()
    +
    std::shared_ptr< ExprLet > parseExprLet()
    +
    std::shared_ptr< Inherit > parseInherit()
    +
    std::shared_ptr< ExprList > parseExprList()
    +
    std::shared_ptr< Binding > parseBinding()
    +
    std::shared_ptr< ExprLambda > parseExprLambda()
    +
    void tag(DiagnosticTag Tag)
    Definition Diagnostic.h:97
    + +
    static TextEdit mkRemoval(LexerCursorRange RemovingRange)
    Definition Diagnostic.h:40
    +
    A token. With it's kind, and the range in source code.
    Definition Token.h:56
    +
    LexerCursor lCur() const
    Definition Token.h:64
    +
    Diagnostic & diagNullExpr(std::vector< Diagnostic > &Diags, LexerCursor Loc, std::string As)
    + + + + +
    + + + + diff --git a/structllvm_1_1format__provider_3_01lspserver_1_1Position_01_4-members.html b/structllvm_1_1format__provider_3_01lspserver_1_1Position_01_4-members.html new file mode 100644 index 000000000..a9251cad5 --- /dev/null +++ b/structllvm_1_1format__provider_3_01lspserver_1_1Position_01_4-members.html @@ -0,0 +1,91 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    llvm::format_provider< lspserver::Position > Member List
    +
    +
    + +

    This is the complete list of members for llvm::format_provider< lspserver::Position >, including all inherited members.

    + + +
    format(const lspserver::Position &Pos, raw_ostream &OS, StringRef Style)llvm::format_provider< lspserver::Position >inlinestatic
    + + + + diff --git a/structllvm_1_1format__provider_3_01lspserver_1_1Position_01_4.html b/structllvm_1_1format__provider_3_01lspserver_1_1Position_01_4.html new file mode 100644 index 000000000..08b850ed3 --- /dev/null +++ b/structllvm_1_1format__provider_3_01lspserver_1_1Position_01_4.html @@ -0,0 +1,141 @@ + + + + + + + +nixd: llvm::format_provider< lspserver::Position > Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    llvm::format_provider< lspserver::Position > Struct Reference
    +
    +
    + +

    #include <Protocol.h>

    + + + + +

    +Static Public Member Functions

    static void format (const lspserver::Position &Pos, raw_ostream &OS, StringRef Style)
     
    +

    Detailed Description

    +
    +

    Definition at line 1913 of file lspserver/include/lspserver/Protocol.h.

    +

    Member Function Documentation

    + +

    ◆ format()

    + +
    +
    + + + + + +
    + + + + + + + + + + + + + + + + +
    static void llvm::format_provider< lspserver::Position >::format (const lspserver::Position & Pos,
    raw_ostream & OS,
    StringRef Style )
    +
    +inlinestatic
    +
    + +

    Definition at line 1914 of file lspserver/include/lspserver/Protocol.h.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structlspserver_1_1ASTNode-members.html b/structlspserver_1_1ASTNode-members.html new file mode 100644 index 000000000..8a5ec534e --- /dev/null +++ b/structlspserver_1_1ASTNode-members.html @@ -0,0 +1,96 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    lspserver::ASTNode Member List
    +
    + + + + + diff --git a/structlspserver_1_1ASTNode.html b/structlspserver_1_1ASTNode.html new file mode 100644 index 000000000..8c7886ad8 --- /dev/null +++ b/structlspserver_1_1ASTNode.html @@ -0,0 +1,232 @@ + + + + + + + +nixd: lspserver::ASTNode Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    lspserver::ASTNode Struct Reference
    +
    +
    + +

    #include <Protocol.h>

    + + + + + + + + + + + + + + + +

    +Public Attributes

    std::string role
     
    std::string kind
     
    std::string detail
     
    std::string arcana
     
    std::optional< Rangerange
     
    std::vector< ASTNodechildren
     Nodes nested within this one, such as the operands of a BinaryOperator.
     
    +

    Detailed Description

    +

    Simplified description of a clang AST node. This is clangd's internal representation of C++ code.

    + +

    Definition at line 1869 of file lspserver/include/lspserver/Protocol.h.

    +

    Member Data Documentation

    + +

    ◆ arcana

    + +
    +
    + + + + +
    std::string lspserver::ASTNode::arcana
    +
    +

    A one-line dump of detailed information about the node. This includes role/kind/description information, but is rather cryptic. It is similar to the output from clang -Xclang -ast-dump. May be empty for certain types of nodes.

    + +

    Definition at line 1884 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::toJSON().

    + +
    +
    + +

    ◆ children

    + +
    +
    + + + + +
    std::vector<ASTNode> lspserver::ASTNode::children
    +
    + +

    Nodes nested within this one, such as the operands of a BinaryOperator.

    + +

    Definition at line 1889 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::operator<<(), and lspserver::toJSON().

    + +
    +
    + +

    ◆ detail

    + +
    +
    + + + + +
    std::string lspserver::ASTNode::detail
    +
    +

    Brief additional information, such as "||" for the particular operator. The information included depends on the node kind, and may be empty.

    + +

    Definition at line 1879 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::operator<<(), and lspserver::toJSON().

    + +
    +
    + +

    ◆ kind

    + +
    +
    + + + + +
    std::string lspserver::ASTNode::kind
    +
    +

    The specific kind of node this is, such as "BinaryOperator". This is usually a concrete node class (with Expr etc suffix dropped). When there's no hierarchy (e.g. TemplateName), the variant (NameKind).

    + +

    Definition at line 1876 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::operator<<(), and lspserver::toJSON().

    + +
    +
    + +

    ◆ range

    + +
    +
    + + + + +
    std::optional<Range> lspserver::ASTNode::range
    +
    +

    The range of the original source file covered by this node. May be missing for implicit nodes, or those created by macro expansion.

    + +

    Definition at line 1887 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::toJSON().

    + +
    +
    + +

    ◆ role

    + +
    +
    + + + + +
    std::string lspserver::ASTNode::role
    +
    +

    The general kind of node, such as "expression" Corresponds to the base AST node type such as Expr.

    + +

    Definition at line 1872 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::operator<<(), and lspserver::toJSON().

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structlspserver_1_1ASTParams-members.html b/structlspserver_1_1ASTParams-members.html new file mode 100644 index 000000000..df91bb25d --- /dev/null +++ b/structlspserver_1_1ASTParams-members.html @@ -0,0 +1,92 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    lspserver::ASTParams Member List
    +
    +
    + +

    This is the complete list of members for lspserver::ASTParams, including all inherited members.

    + + + +
    rangelspserver::ASTParams
    textDocumentlspserver::ASTParams
    + + + + diff --git a/structlspserver_1_1ASTParams.html b/structlspserver_1_1ASTParams.html new file mode 100644 index 000000000..a94fc9e1b --- /dev/null +++ b/structlspserver_1_1ASTParams.html @@ -0,0 +1,153 @@ + + + + + + + +nixd: lspserver::ASTParams Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    lspserver::ASTParams Struct Reference
    +
    +
    + +

    #include <Protocol.h>

    +
    +Collaboration diagram for lspserver::ASTParams:
    +
    +
    +
    [legend]
    + + + + + + + +

    +Public Attributes

    TextDocumentIdentifier textDocument
     The text document.
     
    std::optional< Rangerange
     
    +

    Detailed Description

    +

    Keys starting with an underscore(_) represent leaves, e.g. _total or _self for memory usage of whole subtree or only that specific node in bytes. All other keys represents children. An example: { "_self": 0, "_total": 8, "child1": { "_self": 4, "_total": 4, } "child2": { "_self": 2, "_total": 4, "child_deep": { "_self": 2, "_total": 2, } } } Payload for textDocument/ast request. This request is a clangd extension.

    + +

    Definition at line 1856 of file lspserver/include/lspserver/Protocol.h.

    +

    Member Data Documentation

    + +

    ◆ range

    + +
    +
    + + + + +
    std::optional<Range> lspserver::ASTParams::range
    +
    +

    The position of the node to be dumped. The highest-level node that entirely contains the range will be returned. If no range is given, the root translation unit node will be returned.

    + +

    Definition at line 1863 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::fromJSON().

    + +
    +
    + +

    ◆ textDocument

    + +
    +
    + + + + +
    TextDocumentIdentifier lspserver::ASTParams::textDocument
    +
    + +

    The text document.

    + +

    Definition at line 1858 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::fromJSON().

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structlspserver_1_1ASTParams__coll__graph.map b/structlspserver_1_1ASTParams__coll__graph.map new file mode 100644 index 000000000..168a6e5c5 --- /dev/null +++ b/structlspserver_1_1ASTParams__coll__graph.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/structlspserver_1_1ASTParams__coll__graph.md5 b/structlspserver_1_1ASTParams__coll__graph.md5 new file mode 100644 index 000000000..144c6994c --- /dev/null +++ b/structlspserver_1_1ASTParams__coll__graph.md5 @@ -0,0 +1 @@ +a40f3a9315c5f7c243ff74e0795db6b3 \ No newline at end of file diff --git a/structlspserver_1_1ASTParams__coll__graph.svg b/structlspserver_1_1ASTParams__coll__graph.svg new file mode 100644 index 000000000..11fa35171 --- /dev/null +++ b/structlspserver_1_1ASTParams__coll__graph.svg @@ -0,0 +1,59 @@ + + + + + + +lspserver::ASTParams + + +Node1 + + +lspserver::ASTParams + + + + + +Node2 + + +lspserver::TextDocumentIdentifier + + + + + +Node2->Node1 + + + + + + textDocument + + + +Node3 + + +lspserver::URIForFile + + + + + +Node3->Node2 + + + + + + uri + + + diff --git a/structlspserver_1_1ApplyWorkspaceEditParams-members.html b/structlspserver_1_1ApplyWorkspaceEditParams-members.html new file mode 100644 index 000000000..9bb0af9ea --- /dev/null +++ b/structlspserver_1_1ApplyWorkspaceEditParams-members.html @@ -0,0 +1,91 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    lspserver::ApplyWorkspaceEditParams Member List
    +
    +
    + +

    This is the complete list of members for lspserver::ApplyWorkspaceEditParams, including all inherited members.

    + + +
    editlspserver::ApplyWorkspaceEditParams
    + + + + diff --git a/structlspserver_1_1ApplyWorkspaceEditParams.html b/structlspserver_1_1ApplyWorkspaceEditParams.html new file mode 100644 index 000000000..7a55b02fd --- /dev/null +++ b/structlspserver_1_1ApplyWorkspaceEditParams.html @@ -0,0 +1,128 @@ + + + + + + + +nixd: lspserver::ApplyWorkspaceEditParams Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    lspserver::ApplyWorkspaceEditParams Struct Reference
    +
    +
    + +

    #include <Protocol.h>

    +
    +Collaboration diagram for lspserver::ApplyWorkspaceEditParams:
    +
    +
    +
    [legend]
    + + + + +

    +Public Attributes

    WorkspaceEdit edit
     
    +

    Detailed Description

    +
    +

    Definition at line 1148 of file lspserver/include/lspserver/Protocol.h.

    +

    Member Data Documentation

    + +

    ◆ edit

    + +
    +
    + + + + +
    WorkspaceEdit lspserver::ApplyWorkspaceEditParams::edit
    +
    + +

    Definition at line 1149 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::toJSON().

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structlspserver_1_1ApplyWorkspaceEditParams__coll__graph.map b/structlspserver_1_1ApplyWorkspaceEditParams__coll__graph.map new file mode 100644 index 000000000..bb3f51efc --- /dev/null +++ b/structlspserver_1_1ApplyWorkspaceEditParams__coll__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/structlspserver_1_1ApplyWorkspaceEditParams__coll__graph.md5 b/structlspserver_1_1ApplyWorkspaceEditParams__coll__graph.md5 new file mode 100644 index 000000000..6d7a157e3 --- /dev/null +++ b/structlspserver_1_1ApplyWorkspaceEditParams__coll__graph.md5 @@ -0,0 +1 @@ +087ad0e47b0afc954d4a56d82b5a8a32 \ No newline at end of file diff --git a/structlspserver_1_1ApplyWorkspaceEditParams__coll__graph.svg b/structlspserver_1_1ApplyWorkspaceEditParams__coll__graph.svg new file mode 100644 index 000000000..c7e608551 --- /dev/null +++ b/structlspserver_1_1ApplyWorkspaceEditParams__coll__graph.svg @@ -0,0 +1,41 @@ + + + + + + +lspserver::ApplyWorkspaceEditParams + + +Node1 + + +lspserver::ApplyWorkspace +EditParams + + + + + +Node2 + + +lspserver::WorkspaceEdit + + + + + +Node2->Node1 + + + + + + edit + + + diff --git a/structlspserver_1_1ApplyWorkspaceEditResponse-members.html b/structlspserver_1_1ApplyWorkspaceEditResponse-members.html new file mode 100644 index 000000000..2fa82bc22 --- /dev/null +++ b/structlspserver_1_1ApplyWorkspaceEditResponse-members.html @@ -0,0 +1,92 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    lspserver::ApplyWorkspaceEditResponse Member List
    +
    + + + + + diff --git a/structlspserver_1_1ApplyWorkspaceEditResponse.html b/structlspserver_1_1ApplyWorkspaceEditResponse.html new file mode 100644 index 000000000..898296253 --- /dev/null +++ b/structlspserver_1_1ApplyWorkspaceEditResponse.html @@ -0,0 +1,143 @@ + + + + + + + +nixd: lspserver::ApplyWorkspaceEditResponse Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    lspserver::ApplyWorkspaceEditResponse Struct Reference
    +
    +
    + +

    #include <Protocol.h>

    + + + + + + +

    +Public Attributes

    bool applied = true
     
    std::optional< std::string > failureReason
     
    +

    Detailed Description

    +
    +

    Definition at line 1153 of file lspserver/include/lspserver/Protocol.h.

    +

    Member Data Documentation

    + +

    ◆ applied

    + +
    +
    + + + + +
    bool lspserver::ApplyWorkspaceEditResponse::applied = true
    +
    + +

    Definition at line 1154 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::fromJSON().

    + +
    +
    + +

    ◆ failureReason

    + +
    +
    + + + + +
    std::optional<std::string> lspserver::ApplyWorkspaceEditResponse::failureReason
    +
    + +

    Definition at line 1155 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::fromJSON().

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structlspserver_1_1CallHierarchyIncomingCall-members.html b/structlspserver_1_1CallHierarchyIncomingCall-members.html new file mode 100644 index 000000000..f21ac1258 --- /dev/null +++ b/structlspserver_1_1CallHierarchyIncomingCall-members.html @@ -0,0 +1,92 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    lspserver::CallHierarchyIncomingCall Member List
    +
    +
    + +

    This is the complete list of members for lspserver::CallHierarchyIncomingCall, including all inherited members.

    + + + +
    fromlspserver::CallHierarchyIncomingCall
    fromRangeslspserver::CallHierarchyIncomingCall
    + + + + diff --git a/structlspserver_1_1CallHierarchyIncomingCall.html b/structlspserver_1_1CallHierarchyIncomingCall.html new file mode 100644 index 000000000..38abef52f --- /dev/null +++ b/structlspserver_1_1CallHierarchyIncomingCall.html @@ -0,0 +1,156 @@ + + + + + + + +nixd: lspserver::CallHierarchyIncomingCall Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    lspserver::CallHierarchyIncomingCall Struct Reference
    +
    +
    + +

    Represents an incoming call, e.g. a caller of a method or constructor. + More...

    + +

    #include <Protocol.h>

    +
    +Collaboration diagram for lspserver::CallHierarchyIncomingCall:
    +
    +
    +
    [legend]
    + + + + + + + +

    +Public Attributes

    CallHierarchyItem from
     The item that makes the call.
     
    std::vector< RangefromRanges
     
    +

    Detailed Description

    +

    Represents an incoming call, e.g. a caller of a method or constructor.

    + +

    Definition at line 1537 of file lspserver/include/lspserver/Protocol.h.

    +

    Member Data Documentation

    + +

    ◆ from

    + +
    +
    + + + + +
    CallHierarchyItem lspserver::CallHierarchyIncomingCall::from
    +
    + +

    The item that makes the call.

    + +

    Definition at line 1539 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::toJSON().

    + +
    +
    + +

    ◆ fromRanges

    + +
    +
    + + + + +
    std::vector<Range> lspserver::CallHierarchyIncomingCall::fromRanges
    +
    +

    The range at which the calls appear. This is relative to the caller denoted by From.

    + +

    Definition at line 1543 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::toJSON().

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structlspserver_1_1CallHierarchyIncomingCall__coll__graph.map b/structlspserver_1_1CallHierarchyIncomingCall__coll__graph.map new file mode 100644 index 000000000..9314afd85 --- /dev/null +++ b/structlspserver_1_1CallHierarchyIncomingCall__coll__graph.map @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/structlspserver_1_1CallHierarchyIncomingCall__coll__graph.md5 b/structlspserver_1_1CallHierarchyIncomingCall__coll__graph.md5 new file mode 100644 index 000000000..d274d32c8 --- /dev/null +++ b/structlspserver_1_1CallHierarchyIncomingCall__coll__graph.md5 @@ -0,0 +1 @@ +f9866cf5f5167a0e81db515972cad2ef \ No newline at end of file diff --git a/structlspserver_1_1CallHierarchyIncomingCall__coll__graph.svg b/structlspserver_1_1CallHierarchyIncomingCall__coll__graph.svg new file mode 100644 index 000000000..127c5730a --- /dev/null +++ b/structlspserver_1_1CallHierarchyIncomingCall__coll__graph.svg @@ -0,0 +1,100 @@ + + + + + + +lspserver::CallHierarchyIncomingCall + + +Node1 + + +lspserver::CallHierarchy +IncomingCall + + + + + +Node2 + + +lspserver::CallHierarchyItem + + + + + +Node2->Node1 + + + + + + from + + + +Node3 + + +lspserver::URIForFile + + + + + +Node3->Node2 + + + + + + uri + + + +Node4 + + +lspserver::Range + + + + + +Node4->Node2 + + + + + + range +selectionRange + + + +Node5 + + +lspserver::Position + + + + + +Node5->Node4 + + + + + + end +start + + + diff --git a/structlspserver_1_1CallHierarchyIncomingCallsParams-members.html b/structlspserver_1_1CallHierarchyIncomingCallsParams-members.html new file mode 100644 index 000000000..44204c1d9 --- /dev/null +++ b/structlspserver_1_1CallHierarchyIncomingCallsParams-members.html @@ -0,0 +1,91 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    lspserver::CallHierarchyIncomingCallsParams Member List
    +
    +
    + +

    This is the complete list of members for lspserver::CallHierarchyIncomingCallsParams, including all inherited members.

    + + +
    itemlspserver::CallHierarchyIncomingCallsParams
    + + + + diff --git a/structlspserver_1_1CallHierarchyIncomingCallsParams.html b/structlspserver_1_1CallHierarchyIncomingCallsParams.html new file mode 100644 index 000000000..3822db97a --- /dev/null +++ b/structlspserver_1_1CallHierarchyIncomingCallsParams.html @@ -0,0 +1,132 @@ + + + + + + + +nixd: lspserver::CallHierarchyIncomingCallsParams Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    lspserver::CallHierarchyIncomingCallsParams Struct Reference
    +
    +
    + +

    The parameter of a callHierarchy/incomingCalls request. + More...

    + +

    #include <Protocol.h>

    +
    +Collaboration diagram for lspserver::CallHierarchyIncomingCallsParams:
    +
    +
    +
    [legend]
    + + + + +

    +Public Attributes

    CallHierarchyItem item
     
    +

    Detailed Description

    +

    The parameter of a callHierarchy/incomingCalls request.

    + +

    Definition at line 1530 of file lspserver/include/lspserver/Protocol.h.

    +

    Member Data Documentation

    + +

    ◆ item

    + +
    +
    + + + + +
    CallHierarchyItem lspserver::CallHierarchyIncomingCallsParams::item
    +
    + +

    Definition at line 1531 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::fromJSON().

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structlspserver_1_1CallHierarchyIncomingCallsParams__coll__graph.map b/structlspserver_1_1CallHierarchyIncomingCallsParams__coll__graph.map new file mode 100644 index 000000000..0c54e1988 --- /dev/null +++ b/structlspserver_1_1CallHierarchyIncomingCallsParams__coll__graph.map @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/structlspserver_1_1CallHierarchyIncomingCallsParams__coll__graph.md5 b/structlspserver_1_1CallHierarchyIncomingCallsParams__coll__graph.md5 new file mode 100644 index 000000000..b8135834a --- /dev/null +++ b/structlspserver_1_1CallHierarchyIncomingCallsParams__coll__graph.md5 @@ -0,0 +1 @@ +980ebb0cafc2828af93ea35f5884b8e1 \ No newline at end of file diff --git a/structlspserver_1_1CallHierarchyIncomingCallsParams__coll__graph.svg b/structlspserver_1_1CallHierarchyIncomingCallsParams__coll__graph.svg new file mode 100644 index 000000000..f93110a68 --- /dev/null +++ b/structlspserver_1_1CallHierarchyIncomingCallsParams__coll__graph.svg @@ -0,0 +1,100 @@ + + + + + + +lspserver::CallHierarchyIncomingCallsParams + + +Node1 + + +lspserver::CallHierarchy +IncomingCallsParams + + + + + +Node2 + + +lspserver::CallHierarchyItem + + + + + +Node2->Node1 + + + + + + item + + + +Node3 + + +lspserver::URIForFile + + + + + +Node3->Node2 + + + + + + uri + + + +Node4 + + +lspserver::Range + + + + + +Node4->Node2 + + + + + + range +selectionRange + + + +Node5 + + +lspserver::Position + + + + + +Node5->Node4 + + + + + + end +start + + + diff --git a/structlspserver_1_1CallHierarchyItem-members.html b/structlspserver_1_1CallHierarchyItem-members.html new file mode 100644 index 000000000..581ca61fb --- /dev/null +++ b/structlspserver_1_1CallHierarchyItem-members.html @@ -0,0 +1,98 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    lspserver::CallHierarchyItem Member List
    +
    + + + + + diff --git a/structlspserver_1_1CallHierarchyItem.html b/structlspserver_1_1CallHierarchyItem.html new file mode 100644 index 000000000..d5b7c433f --- /dev/null +++ b/structlspserver_1_1CallHierarchyItem.html @@ -0,0 +1,287 @@ + + + + + + + +nixd: lspserver::CallHierarchyItem Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    lspserver::CallHierarchyItem Struct Reference
    +
    +
    + +

    #include <Protocol.h>

    +
    +Collaboration diagram for lspserver::CallHierarchyItem:
    +
    +
    +
    [legend]
    + + + + + + + + + + + + + + + + + + + + + + + +

    +Public Attributes

    std::string name
     The name of this item.
     
    SymbolKind kind
     The kind of this item.
     
    std::vector< SymbolTagtags
     Tags for this item.
     
    std::string detail
     More detaill for this item, e.g. the signature of a function.
     
    URIForFile uri
     The resource identifier of this item.
     
    Range range
     
    Range selectionRange
     
    std::string data
     
    +

    Detailed Description

    +

    Represents programming constructs like functions or constructors in the context of call hierarchy.

    + +

    Definition at line 1497 of file lspserver/include/lspserver/Protocol.h.

    +

    Member Data Documentation

    + +

    ◆ data

    + +
    +
    + + + + +
    std::string lspserver::CallHierarchyItem::data
    +
    +

    An optional 'data' field, which can be used to identify a call hierarchy item in an incomingCalls or outgoingCalls request.

    + +

    Definition at line 1524 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::fromJSON(), and lspserver::toJSON().

    + +
    +
    + +

    ◆ detail

    + +
    +
    + + + + +
    std::string lspserver::CallHierarchyItem::detail
    +
    + +

    More detaill for this item, e.g. the signature of a function.

    + +

    Definition at line 1508 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::toJSON().

    + +
    +
    + +

    ◆ kind

    + +
    +
    + + + + +
    SymbolKind lspserver::CallHierarchyItem::kind
    +
    + +

    The kind of this item.

    + +

    Definition at line 1502 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::fromJSON(), and lspserver::toJSON().

    + +
    +
    + +

    ◆ name

    + +
    +
    + + + + +
    std::string lspserver::CallHierarchyItem::name
    +
    + +

    The name of this item.

    + +

    Definition at line 1499 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::fromJSON(), and lspserver::toJSON().

    + +
    +
    + +

    ◆ range

    + +
    +
    + + + + +
    Range lspserver::CallHierarchyItem::range
    +
    +

    The range enclosing this symbol not including leading / trailing whitespace but everything else, e.g. comments and code.

    + +

    Definition at line 1515 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::fromJSON(), and lspserver::toJSON().

    + +
    +
    + +

    ◆ selectionRange

    + +
    +
    + + + + +
    Range lspserver::CallHierarchyItem::selectionRange
    +
    +

    The range that should be selected and revealed when this symbol is being picked, e.g. the name of a function. Must be contained by Rng.

    + +

    Definition at line 1520 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::fromJSON(), and lspserver::toJSON().

    + +
    +
    + +

    ◆ tags

    + +
    +
    + + + + +
    std::vector<SymbolTag> lspserver::CallHierarchyItem::tags
    +
    + +

    Tags for this item.

    + +

    Definition at line 1505 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::toJSON().

    + +
    +
    + +

    ◆ uri

    + +
    +
    + + + + +
    URIForFile lspserver::CallHierarchyItem::uri
    +
    + +

    The resource identifier of this item.

    + +

    Definition at line 1511 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::fromJSON(), and lspserver::toJSON().

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structlspserver_1_1CallHierarchyItem__coll__graph.map b/structlspserver_1_1CallHierarchyItem__coll__graph.map new file mode 100644 index 000000000..92513d698 --- /dev/null +++ b/structlspserver_1_1CallHierarchyItem__coll__graph.map @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/structlspserver_1_1CallHierarchyItem__coll__graph.md5 b/structlspserver_1_1CallHierarchyItem__coll__graph.md5 new file mode 100644 index 000000000..e1a206e45 --- /dev/null +++ b/structlspserver_1_1CallHierarchyItem__coll__graph.md5 @@ -0,0 +1 @@ +d71129d200195284bf193fe6aec72e4e \ No newline at end of file diff --git a/structlspserver_1_1CallHierarchyItem__coll__graph.svg b/structlspserver_1_1CallHierarchyItem__coll__graph.svg new file mode 100644 index 000000000..8b420b67d --- /dev/null +++ b/structlspserver_1_1CallHierarchyItem__coll__graph.svg @@ -0,0 +1,80 @@ + + + + + + +lspserver::CallHierarchyItem + + +Node1 + + +lspserver::CallHierarchyItem + + + + + +Node2 + + +lspserver::URIForFile + + + + + +Node2->Node1 + + + + + + uri + + + +Node3 + + +lspserver::Range + + + + + +Node3->Node1 + + + + + + range +selectionRange + + + +Node4 + + +lspserver::Position + + + + + +Node4->Node3 + + + + + + end +start + + + diff --git a/structlspserver_1_1CallHierarchyOutgoingCall-members.html b/structlspserver_1_1CallHierarchyOutgoingCall-members.html new file mode 100644 index 000000000..73f7bfe49 --- /dev/null +++ b/structlspserver_1_1CallHierarchyOutgoingCall-members.html @@ -0,0 +1,92 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    lspserver::CallHierarchyOutgoingCall Member List
    +
    +
    + +

    This is the complete list of members for lspserver::CallHierarchyOutgoingCall, including all inherited members.

    + + + +
    fromRangeslspserver::CallHierarchyOutgoingCall
    tolspserver::CallHierarchyOutgoingCall
    + + + + diff --git a/structlspserver_1_1CallHierarchyOutgoingCall.html b/structlspserver_1_1CallHierarchyOutgoingCall.html new file mode 100644 index 000000000..3cd340152 --- /dev/null +++ b/structlspserver_1_1CallHierarchyOutgoingCall.html @@ -0,0 +1,153 @@ + + + + + + + +nixd: lspserver::CallHierarchyOutgoingCall Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    lspserver::CallHierarchyOutgoingCall Struct Reference
    +
    +
    + +

    #include <Protocol.h>

    +
    +Collaboration diagram for lspserver::CallHierarchyOutgoingCall:
    +
    +
    +
    [legend]
    + + + + + + + +

    +Public Attributes

    CallHierarchyItem to
     The item that is called.
     
    std::vector< RangefromRanges
     
    +

    Detailed Description

    +

    Represents an outgoing call, e.g. calling a getter from a method or a method from a constructor etc.

    + +

    Definition at line 1556 of file lspserver/include/lspserver/Protocol.h.

    +

    Member Data Documentation

    + +

    ◆ fromRanges

    + +
    +
    + + + + +
    std::vector<Range> lspserver::CallHierarchyOutgoingCall::fromRanges
    +
    +

    The range at which this item is called. This is the range relative to the caller, and not To.

    + +

    Definition at line 1562 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::toJSON().

    + +
    +
    + +

    ◆ to

    + +
    +
    + + + + +
    CallHierarchyItem lspserver::CallHierarchyOutgoingCall::to
    +
    + +

    The item that is called.

    + +

    Definition at line 1558 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::toJSON().

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structlspserver_1_1CallHierarchyOutgoingCall__coll__graph.map b/structlspserver_1_1CallHierarchyOutgoingCall__coll__graph.map new file mode 100644 index 000000000..1889365c6 --- /dev/null +++ b/structlspserver_1_1CallHierarchyOutgoingCall__coll__graph.map @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/structlspserver_1_1CallHierarchyOutgoingCall__coll__graph.md5 b/structlspserver_1_1CallHierarchyOutgoingCall__coll__graph.md5 new file mode 100644 index 000000000..c45cdf8f4 --- /dev/null +++ b/structlspserver_1_1CallHierarchyOutgoingCall__coll__graph.md5 @@ -0,0 +1 @@ +6e8726d31fb1d93fdd3f47e4012becaf \ No newline at end of file diff --git a/structlspserver_1_1CallHierarchyOutgoingCall__coll__graph.svg b/structlspserver_1_1CallHierarchyOutgoingCall__coll__graph.svg new file mode 100644 index 000000000..bc6c442f3 --- /dev/null +++ b/structlspserver_1_1CallHierarchyOutgoingCall__coll__graph.svg @@ -0,0 +1,100 @@ + + + + + + +lspserver::CallHierarchyOutgoingCall + + +Node1 + + +lspserver::CallHierarchy +OutgoingCall + + + + + +Node2 + + +lspserver::CallHierarchyItem + + + + + +Node2->Node1 + + + + + + to + + + +Node3 + + +lspserver::URIForFile + + + + + +Node3->Node2 + + + + + + uri + + + +Node4 + + +lspserver::Range + + + + + +Node4->Node2 + + + + + + range +selectionRange + + + +Node5 + + +lspserver::Position + + + + + +Node5->Node4 + + + + + + end +start + + + diff --git a/structlspserver_1_1CallHierarchyOutgoingCallsParams-members.html b/structlspserver_1_1CallHierarchyOutgoingCallsParams-members.html new file mode 100644 index 000000000..ed16455f1 --- /dev/null +++ b/structlspserver_1_1CallHierarchyOutgoingCallsParams-members.html @@ -0,0 +1,91 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    lspserver::CallHierarchyOutgoingCallsParams Member List
    +
    +
    + +

    This is the complete list of members for lspserver::CallHierarchyOutgoingCallsParams, including all inherited members.

    + + +
    itemlspserver::CallHierarchyOutgoingCallsParams
    + + + + diff --git a/structlspserver_1_1CallHierarchyOutgoingCallsParams.html b/structlspserver_1_1CallHierarchyOutgoingCallsParams.html new file mode 100644 index 000000000..bb0439d85 --- /dev/null +++ b/structlspserver_1_1CallHierarchyOutgoingCallsParams.html @@ -0,0 +1,132 @@ + + + + + + + +nixd: lspserver::CallHierarchyOutgoingCallsParams Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    lspserver::CallHierarchyOutgoingCallsParams Struct Reference
    +
    +
    + +

    The parameter of a callHierarchy/outgoingCalls request. + More...

    + +

    #include <Protocol.h>

    +
    +Collaboration diagram for lspserver::CallHierarchyOutgoingCallsParams:
    +
    +
    +
    [legend]
    + + + + +

    +Public Attributes

    CallHierarchyItem item
     
    +

    Detailed Description

    +

    The parameter of a callHierarchy/outgoingCalls request.

    + +

    Definition at line 1548 of file lspserver/include/lspserver/Protocol.h.

    +

    Member Data Documentation

    + +

    ◆ item

    + +
    +
    + + + + +
    CallHierarchyItem lspserver::CallHierarchyOutgoingCallsParams::item
    +
    + +

    Definition at line 1549 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::fromJSON().

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structlspserver_1_1CallHierarchyOutgoingCallsParams__coll__graph.map b/structlspserver_1_1CallHierarchyOutgoingCallsParams__coll__graph.map new file mode 100644 index 000000000..8c5f047cd --- /dev/null +++ b/structlspserver_1_1CallHierarchyOutgoingCallsParams__coll__graph.map @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/structlspserver_1_1CallHierarchyOutgoingCallsParams__coll__graph.md5 b/structlspserver_1_1CallHierarchyOutgoingCallsParams__coll__graph.md5 new file mode 100644 index 000000000..e2a8a5eb6 --- /dev/null +++ b/structlspserver_1_1CallHierarchyOutgoingCallsParams__coll__graph.md5 @@ -0,0 +1 @@ +05cc92f9020563003fca7baddf204371 \ No newline at end of file diff --git a/structlspserver_1_1CallHierarchyOutgoingCallsParams__coll__graph.svg b/structlspserver_1_1CallHierarchyOutgoingCallsParams__coll__graph.svg new file mode 100644 index 000000000..5aed21052 --- /dev/null +++ b/structlspserver_1_1CallHierarchyOutgoingCallsParams__coll__graph.svg @@ -0,0 +1,100 @@ + + + + + + +lspserver::CallHierarchyOutgoingCallsParams + + +Node1 + + +lspserver::CallHierarchy +OutgoingCallsParams + + + + + +Node2 + + +lspserver::CallHierarchyItem + + + + + +Node2->Node1 + + + + + + item + + + +Node3 + + +lspserver::URIForFile + + + + + +Node3->Node2 + + + + + + uri + + + +Node4 + + +lspserver::Range + + + + + +Node4->Node2 + + + + + + range +selectionRange + + + +Node5 + + +lspserver::Position + + + + + +Node5->Node4 + + + + + + end +start + + + diff --git a/structlspserver_1_1CallHierarchyPrepareParams-members.html b/structlspserver_1_1CallHierarchyPrepareParams-members.html new file mode 100644 index 000000000..2b7835bc2 --- /dev/null +++ b/structlspserver_1_1CallHierarchyPrepareParams-members.html @@ -0,0 +1,92 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    lspserver::CallHierarchyPrepareParams Member List
    +
    + + + + + diff --git a/structlspserver_1_1CallHierarchyPrepareParams.html b/structlspserver_1_1CallHierarchyPrepareParams.html new file mode 100644 index 000000000..c93141771 --- /dev/null +++ b/structlspserver_1_1CallHierarchyPrepareParams.html @@ -0,0 +1,122 @@ + + + + + + + +nixd: lspserver::CallHierarchyPrepareParams Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    lspserver::CallHierarchyPrepareParams Struct Reference
    +
    +
    + +

    The parameter of a textDocument/prepareCallHierarchy request. + More...

    + +

    #include <Protocol.h>

    +
    +Inheritance diagram for lspserver::CallHierarchyPrepareParams:
    +
    +
    +
    [legend]
    +
    +Collaboration diagram for lspserver::CallHierarchyPrepareParams:
    +
    +
    +
    [legend]
    + + + + + + + + + +

    +Additional Inherited Members

    - Public Attributes inherited from lspserver::TextDocumentPositionParams
    TextDocumentIdentifier textDocument
     The text document.
     
    Position position
     The position inside the text document.
     
    +

    Detailed Description

    +

    The parameter of a textDocument/prepareCallHierarchy request.

    + +

    Definition at line 1493 of file lspserver/include/lspserver/Protocol.h.

    +

    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structlspserver_1_1CallHierarchyPrepareParams__coll__graph.map b/structlspserver_1_1CallHierarchyPrepareParams__coll__graph.map new file mode 100644 index 000000000..b0b196fd6 --- /dev/null +++ b/structlspserver_1_1CallHierarchyPrepareParams__coll__graph.map @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/structlspserver_1_1CallHierarchyPrepareParams__coll__graph.md5 b/structlspserver_1_1CallHierarchyPrepareParams__coll__graph.md5 new file mode 100644 index 000000000..26acb3c42 --- /dev/null +++ b/structlspserver_1_1CallHierarchyPrepareParams__coll__graph.md5 @@ -0,0 +1 @@ +61a01b2b5f1225a3388eaa2dce238558 \ No newline at end of file diff --git a/structlspserver_1_1CallHierarchyPrepareParams__coll__graph.svg b/structlspserver_1_1CallHierarchyPrepareParams__coll__graph.svg new file mode 100644 index 000000000..6e388cca8 --- /dev/null +++ b/structlspserver_1_1CallHierarchyPrepareParams__coll__graph.svg @@ -0,0 +1,98 @@ + + + + + + +lspserver::CallHierarchyPrepareParams + + +Node1 + + +lspserver::CallHierarchy +PrepareParams + + + + + +Node2 + + +lspserver::TextDocumentPosition +Params + + + + + +Node2->Node1 + + + + + + + + +Node3 + + +lspserver::TextDocumentIdentifier + + + + + +Node3->Node2 + + + + + + textDocument + + + +Node4 + + +lspserver::URIForFile + + + + + +Node4->Node3 + + + + + + uri + + + +Node5 + + +lspserver::Position + + + + + +Node5->Node2 + + + + + + position + + + diff --git a/structlspserver_1_1CallHierarchyPrepareParams__inherit__graph.map b/structlspserver_1_1CallHierarchyPrepareParams__inherit__graph.map new file mode 100644 index 000000000..ea532972a --- /dev/null +++ b/structlspserver_1_1CallHierarchyPrepareParams__inherit__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/structlspserver_1_1CallHierarchyPrepareParams__inherit__graph.md5 b/structlspserver_1_1CallHierarchyPrepareParams__inherit__graph.md5 new file mode 100644 index 000000000..9e2a17227 --- /dev/null +++ b/structlspserver_1_1CallHierarchyPrepareParams__inherit__graph.md5 @@ -0,0 +1 @@ +5ce8dcdccf77dec7a0fc8b5571b6054d \ No newline at end of file diff --git a/structlspserver_1_1CallHierarchyPrepareParams__inherit__graph.svg b/structlspserver_1_1CallHierarchyPrepareParams__inherit__graph.svg new file mode 100644 index 000000000..71c403e3b --- /dev/null +++ b/structlspserver_1_1CallHierarchyPrepareParams__inherit__graph.svg @@ -0,0 +1,41 @@ + + + + + + +lspserver::CallHierarchyPrepareParams + + +Node1 + + +lspserver::CallHierarchy +PrepareParams + + + + + +Node2 + + +lspserver::TextDocumentPosition +Params + + + + + +Node2->Node1 + + + + + + + + diff --git a/structlspserver_1_1ChangeAnnotation-members.html b/structlspserver_1_1ChangeAnnotation-members.html new file mode 100644 index 000000000..de9c89214 --- /dev/null +++ b/structlspserver_1_1ChangeAnnotation-members.html @@ -0,0 +1,93 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    lspserver::ChangeAnnotation Member List
    +
    + + + + + diff --git a/structlspserver_1_1ChangeAnnotation.html b/structlspserver_1_1ChangeAnnotation.html new file mode 100644 index 000000000..edb8ca56e --- /dev/null +++ b/structlspserver_1_1ChangeAnnotation.html @@ -0,0 +1,166 @@ + + + + + + + +nixd: lspserver::ChangeAnnotation Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    lspserver::ChangeAnnotation Struct Reference
    +
    +
    + +

    #include <Protocol.h>

    + + + + + + + + +

    +Public Attributes

    std::string label
     
    std::optional< bool > needsConfirmation
     
    std::string description
     
    +

    Detailed Description

    +
    +

    Definition at line 245 of file lspserver/include/lspserver/Protocol.h.

    +

    Member Data Documentation

    + +

    ◆ description

    + +
    +
    + + + + +
    std::string lspserver::ChangeAnnotation::description
    +
    +

    A human-readable string which is rendered less prominent in the user interface.

    + +

    Definition at line 256 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::fromJSON(), and lspserver::toJSON().

    + +
    +
    + +

    ◆ label

    + +
    +
    + + + + +
    std::string lspserver::ChangeAnnotation::label
    +
    +

    A human-readable string describing the actual change. The string is rendered prominent in the user interface.

    + +

    Definition at line 248 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::fromJSON(), and lspserver::toJSON().

    + +
    +
    + +

    ◆ needsConfirmation

    + +
    +
    + + + + +
    std::optional<bool> lspserver::ChangeAnnotation::needsConfirmation
    +
    +

    A flag which indicates that user confirmation is needed before applying the change.

    + +

    Definition at line 252 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::fromJSON(), and lspserver::toJSON().

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structlspserver_1_1ClangdCompileCommand-members.html b/structlspserver_1_1ClangdCompileCommand-members.html new file mode 100644 index 000000000..6a7531db1 --- /dev/null +++ b/structlspserver_1_1ClangdCompileCommand-members.html @@ -0,0 +1,92 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    lspserver::ClangdCompileCommand Member List
    +
    +
    + +

    This is the complete list of members for lspserver::ClangdCompileCommand, including all inherited members.

    + + + +
    compilationCommandlspserver::ClangdCompileCommand
    workingDirectorylspserver::ClangdCompileCommand
    + + + + diff --git a/structlspserver_1_1ClangdCompileCommand.html b/structlspserver_1_1ClangdCompileCommand.html new file mode 100644 index 000000000..eda8f0511 --- /dev/null +++ b/structlspserver_1_1ClangdCompileCommand.html @@ -0,0 +1,144 @@ + + + + + + + +nixd: lspserver::ClangdCompileCommand Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    lspserver::ClangdCompileCommand Struct Reference
    +
    +
    + +

    #include <Protocol.h>

    + + + + + + +

    +Public Attributes

    std::string workingDirectory
     
    std::vector< std::string > compilationCommand
     
    +

    Detailed Description

    +

    Clangd extension that's used in the 'compilationDatabaseChanges' in workspace/didChangeConfiguration to record updates to the in-memory compilation database.

    + +

    Definition at line 547 of file lspserver/include/lspserver/Protocol.h.

    +

    Member Data Documentation

    + +

    ◆ compilationCommand

    + +
    +
    + + + + +
    std::vector<std::string> lspserver::ClangdCompileCommand::compilationCommand
    +
    + +

    Definition at line 549 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::fromJSON().

    + +
    +
    + +

    ◆ workingDirectory

    + +
    +
    + + + + +
    std::string lspserver::ClangdCompileCommand::workingDirectory
    +
    + +

    Definition at line 548 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::fromJSON().

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structlspserver_1_1ClientCapabilities-members.html b/structlspserver_1_1ClientCapabilities-members.html new file mode 100644 index 000000000..975230087 --- /dev/null +++ b/structlspserver_1_1ClientCapabilities-members.html @@ -0,0 +1,118 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    lspserver::ClientCapabilities Member List
    +
    +
    + +

    This is the complete list of members for lspserver::ClientCapabilities, including all inherited members.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    CancelsStaleRequestslspserver::ClientCapabilities
    ChangeAnnotationlspserver::ClientCapabilities
    CodeActionStructurelspserver::ClientCapabilities
    CompletionDocumentationFormatlspserver::ClientCapabilities
    CompletionFixeslspserver::ClientCapabilities
    CompletionItemKindslspserver::ClientCapabilities
    CompletionSnippetslspserver::ClientCapabilities
    DiagnosticCategorylspserver::ClientCapabilities
    DiagnosticFixeslspserver::ClientCapabilities
    DiagnosticRelatedInformationlspserver::ClientCapabilities
    DocumentChangeslspserver::ClientCapabilities
    HasSignatureHelplspserver::ClientCapabilities
    HierarchicalDocumentSymbollspserver::ClientCapabilities
    HoverContentFormatlspserver::ClientCapabilities
    ImplicitProgressCreationlspserver::ClientCapabilities
    InactiveRegionslspserver::ClientCapabilities
    LineFoldingOnlylspserver::ClientCapabilities
    offsetEncodinglspserver::ClientCapabilities
    OffsetsInSignatureHelplspserver::ClientCapabilities
    ReferenceContainerlspserver::ClientCapabilities
    RenamePrepareSupportlspserver::ClientCapabilities
    SemanticTokenRefreshSupportlspserver::ClientCapabilities
    SemanticTokenslspserver::ClientCapabilities
    SignatureHelpDocumentationFormatlspserver::ClientCapabilities
    TheiaSemanticHighlightinglspserver::ClientCapabilities
    WorkDoneProgresslspserver::ClientCapabilities
    WorkspaceConfigurationlspserver::ClientCapabilities
    WorkspaceSymbolKindslspserver::ClientCapabilities
    + + + + diff --git a/structlspserver_1_1ClientCapabilities.html b/structlspserver_1_1ClientCapabilities.html new file mode 100644 index 000000000..b56d1cd60 --- /dev/null +++ b/structlspserver_1_1ClientCapabilities.html @@ -0,0 +1,696 @@ + + + + + + + +nixd: lspserver::ClientCapabilities Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    lspserver::ClientCapabilities Struct Reference
    +
    +
    + +

    #include <Protocol.h>

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Public Attributes

    std::optional< SymbolKindBitsetWorkspaceSymbolKinds
     
    bool DiagnosticFixes = false
     
    bool DiagnosticRelatedInformation = false
     
    bool DiagnosticCategory = false
     
    bool CompletionSnippets = false
     
    bool CompletionFixes = false
     
    bool ReferenceContainer = false
     
    bool HierarchicalDocumentSymbol = false
     
    bool HasSignatureHelp = false
     
    bool LineFoldingOnly = false
     
    bool OffsetsInSignatureHelp = false
     
    MarkupKind SignatureHelpDocumentationFormat = MarkupKind::PlainText
     
    std::optional< CompletionItemKindBitsetCompletionItemKinds
     
    MarkupKind CompletionDocumentationFormat = MarkupKind::PlainText
     
    bool CodeActionStructure = false
     
    bool SemanticTokens = false
     
    bool TheiaSemanticHighlighting = false
     
    std::optional< std::vector< OffsetEncoding > > offsetEncoding
     Supported encodings for LSP character offsets. (clangd extension).
     
    MarkupKind HoverContentFormat = MarkupKind::PlainText
     
    bool RenamePrepareSupport = false
     
    bool WorkDoneProgress = false
     
    bool ImplicitProgressCreation = false
     
    bool CancelsStaleRequests = false
     
    bool SemanticTokenRefreshSupport = false
     
    bool DocumentChanges = false
     The client supports versioned document changes for WorkspaceEdit.
     
    bool ChangeAnnotation = false
     The client supports change annotations on text edits,.
     
    bool InactiveRegions = false
     
    bool WorkspaceConfiguration = false
     
    +

    Detailed Description

    +
    +

    Definition at line 424 of file lspserver/include/lspserver/Protocol.h.

    +

    Member Data Documentation

    + +

    ◆ CancelsStaleRequests

    + +
    +
    + + + + +
    bool lspserver::ClientCapabilities::CancelsStaleRequests = false
    +
    +

    Whether the client claims to cancel stale requests. general.staleRequestSupport.cancel

    + +

    Definition at line 523 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::fromJSON().

    + +
    +
    + +

    ◆ ChangeAnnotation

    + +
    +
    + + + + +
    bool lspserver::ClientCapabilities::ChangeAnnotation = false
    +
    + +

    The client supports change annotations on text edits,.

    + +

    Definition at line 533 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::fromJSON().

    + +
    +
    + +

    ◆ CodeActionStructure

    + +
    +
    + + + + +
    bool lspserver::ClientCapabilities::CodeActionStructure = false
    +
    +

    Client supports CodeAction return value for textDocument/codeAction. textDocument.codeAction.codeActionLiteralSupport.

    + +

    Definition at line 488 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::fromJSON().

    + +
    +
    + +

    ◆ CompletionDocumentationFormat

    + +
    +
    + + + + +
    MarkupKind lspserver::ClientCapabilities::CompletionDocumentationFormat = MarkupKind::PlainText
    +
    +

    The documentation format that should be used for textDocument/completion. textDocument.completion.completionItem.documentationFormat

    + +

    Definition at line 484 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::fromJSON().

    + +
    +
    + +

    ◆ CompletionFixes

    + +
    +
    + + + + +
    bool lspserver::ClientCapabilities::CompletionFixes = false
    +
    +

    Client supports completions with additionalTextEdit near the cursor. This is a clangd extension. (LSP says this is for unrelated text only). textDocument.completion.editsNearCursor

    + +

    Definition at line 449 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::fromJSON().

    + +
    +
    + +

    ◆ CompletionItemKinds

    + +
    +
    + + + + +
    std::optional<CompletionItemKindBitset> lspserver::ClientCapabilities::CompletionItemKinds
    +
    +

    The supported set of CompletionItemKinds for textDocument/completion. textDocument.completion.completionItemKind.valueSet

    + +

    Definition at line 480 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::fromJSON().

    + +
    +
    + +

    ◆ CompletionSnippets

    + +
    +
    + + + + +
    bool lspserver::ClientCapabilities::CompletionSnippets = false
    +
    +

    Client supports snippets as insert text. textDocument.completion.completionItem.snippetSupport

    + +

    Definition at line 444 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::fromJSON().

    + +
    +
    + +

    ◆ DiagnosticCategory

    + +
    +
    + + + + +
    bool lspserver::ClientCapabilities::DiagnosticCategory = false
    +
    +

    Whether the client accepts diagnostics with category attached to it using the "category" extension. textDocument.publishDiagnostics.categorySupport

    + +

    Definition at line 440 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::fromJSON().

    + +
    +
    + +

    ◆ DiagnosticFixes

    + +
    +
    + + + + +
    bool lspserver::ClientCapabilities::DiagnosticFixes = false
    +
    +

    Whether the client accepts diagnostics with codeActions attached inline. textDocument.publishDiagnostics.codeActionsInline.

    + +

    Definition at line 431 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::fromJSON().

    + +
    +
    + +

    ◆ DiagnosticRelatedInformation

    + +
    +
    + + + + +
    bool lspserver::ClientCapabilities::DiagnosticRelatedInformation = false
    +
    +

    Whether the client accepts diagnostics with related locations. textDocument.publishDiagnostics.relatedInformation.

    + +

    Definition at line 435 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::fromJSON().

    + +
    +
    + +

    ◆ DocumentChanges

    + +
    +
    + + + + +
    bool lspserver::ClientCapabilities::DocumentChanges = false
    +
    + +

    The client supports versioned document changes for WorkspaceEdit.

    + +

    Definition at line 530 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::fromJSON().

    + +
    +
    + +

    ◆ HasSignatureHelp

    + +
    +
    + + + + +
    bool lspserver::ClientCapabilities::HasSignatureHelp = false
    +
    +

    Client supports signature help. textDocument.signatureHelp

    + +

    Definition at line 461 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::fromJSON().

    + +
    +
    + +

    ◆ HierarchicalDocumentSymbol

    + +
    +
    + + + + +
    bool lspserver::ClientCapabilities::HierarchicalDocumentSymbol = false
    +
    +

    Client supports hierarchical document symbols. textDocument.documentSymbol.hierarchicalDocumentSymbolSupport

    + +

    Definition at line 457 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::fromJSON().

    + +
    +
    + +

    ◆ HoverContentFormat

    + +
    +
    + + + + +
    MarkupKind lspserver::ClientCapabilities::HoverContentFormat = MarkupKind::PlainText
    +
    +

    The content format that should be used for Hover requests. textDocument.hover.contentEncoding

    + +

    Definition at line 505 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::fromJSON().

    + +
    +
    + +

    ◆ ImplicitProgressCreation

    + +
    +
    + + + + +
    bool lspserver::ClientCapabilities::ImplicitProgressCreation = false
    +
    +

    The client supports implicit $/progress work-done progress streams, without a preceding window/workDoneProgress/create. This is a clangd extension. window.implicitWorkDoneProgressCreate

    + +

    Definition at line 519 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::fromJSON().

    + +
    +
    + +

    ◆ InactiveRegions

    + +
    +
    + + + + +
    bool lspserver::ClientCapabilities::InactiveRegions = false
    +
    +

    Whether the client supports the textDocument/inactiveRegions notification. This is a clangd extension.

    + +

    Definition at line 537 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::fromJSON().

    + +
    +
    + +

    ◆ LineFoldingOnly

    + +
    +
    + + + + +
    bool lspserver::ClientCapabilities::LineFoldingOnly = false
    +
    +

    Client signals that it only supports folding complete lines. Client will ignore specified startCharacter and endCharacter properties in a FoldingRange. textDocument.foldingRange.lineFoldingOnly

    + +

    Definition at line 467 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::fromJSON().

    + +
    +
    + +

    ◆ offsetEncoding

    + +
    +
    + + + + +
    std::optional<std::vector<OffsetEncoding> > lspserver::ClientCapabilities::offsetEncoding
    +
    + +

    Supported encodings for LSP character offsets. (clangd extension).

    + +

    Definition at line 501 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::fromJSON().

    + +
    +
    + +

    ◆ OffsetsInSignatureHelp

    + +
    +
    + + + + +
    bool lspserver::ClientCapabilities::OffsetsInSignatureHelp = false
    +
    +

    Client supports processing label offsets instead of a simple label string. textDocument.signatureHelp.signatureInformation.parameterInformation.labelOffsetSupport

    + +

    Definition at line 471 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::fromJSON().

    + +
    +
    + +

    ◆ ReferenceContainer

    + +
    +
    + + + + +
    bool lspserver::ClientCapabilities::ReferenceContainer = false
    +
    +

    Client supports displaying a container string for results of textDocument/reference (clangd extension)

    + +

    Definition at line 453 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::fromJSON().

    + +
    +
    + +

    ◆ RenamePrepareSupport

    + +
    +
    + + + + +
    bool lspserver::ClientCapabilities::RenamePrepareSupport = false
    +
    +

    The client supports testing for validity of rename operations before execution.

    + +

    Definition at line 509 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::fromJSON().

    + +
    +
    + +

    ◆ SemanticTokenRefreshSupport

    + +
    +
    + + + + +
    bool lspserver::ClientCapabilities::SemanticTokenRefreshSupport = false
    +
    +

    Whether the client implementation supports a refresh request sent from the server to the client.

    + +

    Definition at line 527 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::fromJSON().

    + +
    +
    + +

    ◆ SemanticTokens

    + +
    +
    + + + + +
    bool lspserver::ClientCapabilities::SemanticTokens = false
    +
    +

    Client advertises support for the semanticTokens feature. We support the textDocument/semanticTokens request in any case. textDocument.semanticTokens

    + +

    Definition at line 493 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::fromJSON().

    + +
    +
    + +

    ◆ SignatureHelpDocumentationFormat

    + +
    +
    + + + + +
    MarkupKind lspserver::ClientCapabilities::SignatureHelpDocumentationFormat = MarkupKind::PlainText
    +
    +

    The documentation format that should be used for textDocument/signatureHelp. textDocument.signatureHelp.signatureInformation.documentationFormat

    + +

    Definition at line 476 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::fromJSON().

    + +
    +
    + +

    ◆ TheiaSemanticHighlighting

    + +
    +
    + + + + +
    bool lspserver::ClientCapabilities::TheiaSemanticHighlighting = false
    +
    +

    Client supports Theia semantic highlighting extension. https://github.com/microsoft/vscode-languageserver-node/pull/367 clangd no longer supports this, we detect it just to log a warning. textDocument.semanticHighlightingCapabilities.semanticHighlighting

    + +

    Definition at line 498 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::fromJSON().

    + +
    +
    + +

    ◆ WorkDoneProgress

    + +
    +
    + + + + +
    bool lspserver::ClientCapabilities::WorkDoneProgress = false
    +
    +

    The client supports progress notifications. window.workDoneProgress

    + +

    Definition at line 513 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::fromJSON().

    + +
    +
    + +

    ◆ WorkspaceConfiguration

    + +
    +
    + + + + +
    bool lspserver::ClientCapabilities::WorkspaceConfiguration = false
    +
    + +

    Definition at line 539 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::fromJSON().

    + +
    +
    + +

    ◆ WorkspaceSymbolKinds

    + +
    +
    + + + + +
    std::optional<SymbolKindBitset> lspserver::ClientCapabilities::WorkspaceSymbolKinds
    +
    +

    The supported set of SymbolKinds for workspace/symbol. workspace.symbol.symbolKind.valueSet

    + +

    Definition at line 427 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::fromJSON().

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structlspserver_1_1CodeAction-members.html b/structlspserver_1_1CodeAction-members.html new file mode 100644 index 000000000..7ed264755 --- /dev/null +++ b/structlspserver_1_1CodeAction-members.html @@ -0,0 +1,99 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    lspserver::CodeAction Member List
    +
    + + + + + diff --git a/structlspserver_1_1CodeAction.html b/structlspserver_1_1CodeAction.html new file mode 100644 index 000000000..4ea3ece6f --- /dev/null +++ b/structlspserver_1_1CodeAction.html @@ -0,0 +1,320 @@ + + + + + + + +nixd: lspserver::CodeAction Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    lspserver::CodeAction Struct Reference
    +
    +
    + +

    #include <Protocol.h>

    + + + + + + + + + + + + + + + + + +

    +Public Attributes

    std::string title
     A short, human-readable, title for this code action.
     
    std::optional< std::string > kind
     
    std::optional< std::vector< Diagnostic > > diagnostics
     The diagnostics that this code action resolves.
     
    bool isPreferred = false
     
    std::optional< WorkspaceEditedit
     The workspace edit this code action performs.
     
    std::optional< Commandcommand
     
    + + + + + + + +

    +Static Public Attributes

    static const llvm::StringLiteral QUICKFIX_KIND = "quickfix"
     
    static const llvm::StringLiteral REFACTOR_KIND = "refactor"
     
    static const llvm::StringLiteral INFO_KIND = "info"
     
    +

    Detailed Description

    +

    A code action represents a change that can be performed in code, e.g. to fix a problem or to refactor code.

    +

    A CodeAction must set either edit and/or a command. If both are supplied, the edit is applied first, then the command is executed.

    + +

    Definition at line 1046 of file lspserver/include/lspserver/Protocol.h.

    +

    Member Data Documentation

    + +

    ◆ command

    + +
    +
    + + + + +
    std::optional<Command> lspserver::CodeAction::command
    +
    +

    A command this code action executes. If a code action provides an edit and a command, first the edit is executed and then the command.

    + +

    Definition at line 1072 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::toJSON().

    + +
    +
    + +

    ◆ diagnostics

    + +
    +
    + + + + +
    std::optional<std::vector<Diagnostic> > lspserver::CodeAction::diagnostics
    +
    + +

    The diagnostics that this code action resolves.

    + +

    Definition at line 1058 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::toJSON().

    + +
    +
    + +

    ◆ edit

    + +
    +
    + + + + +
    std::optional<WorkspaceEdit> lspserver::CodeAction::edit
    +
    + +

    The workspace edit this code action performs.

    + +

    Definition at line 1068 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::toJSON().

    + +
    +
    + +

    ◆ INFO_KIND

    + +
    +
    + + + + + +
    + + + + +
    const llvm::StringLiteral lspserver::CodeAction::INFO_KIND = "info"
    +
    +static
    +
    + +

    Definition at line 1055 of file lspserver/include/lspserver/Protocol.h.

    + +
    +
    + +

    ◆ isPreferred

    + +
    +
    + + + + +
    bool lspserver::CodeAction::isPreferred = false
    +
    +

    Marks this as a preferred action. Preferred actions are used by the auto fix command and can be targeted by keybindings. A quick fix should be marked preferred if it properly addresses the underlying error. A refactoring should be marked preferred if it is the most reasonable choice of actions to take.

    + +

    Definition at line 1065 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::toJSON().

    + +
    +
    + +

    ◆ kind

    + +
    +
    + + + + +
    std::optional<std::string> lspserver::CodeAction::kind
    +
    +

    The kind of the code action. Used to filter code actions.

    + +

    Definition at line 1052 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::toJSON().

    + +
    +
    + +

    ◆ QUICKFIX_KIND

    + +
    +
    + + + + + +
    + + + + +
    const llvm::StringLiteral lspserver::CodeAction::QUICKFIX_KIND = "quickfix"
    +
    +static
    +
    + +

    Definition at line 1053 of file lspserver/include/lspserver/Protocol.h.

    + +
    +
    + +

    ◆ REFACTOR_KIND

    + +
    +
    + + + + + +
    + + + + +
    const llvm::StringLiteral lspserver::CodeAction::REFACTOR_KIND = "refactor"
    +
    +static
    +
    + +

    Definition at line 1054 of file lspserver/include/lspserver/Protocol.h.

    + +
    +
    + +

    ◆ title

    + +
    +
    + + + + +
    std::string lspserver::CodeAction::title
    +
    + +

    A short, human-readable, title for this code action.

    + +

    Definition at line 1048 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::toJSON().

    + +
    +
    +
    The documentation for this struct was generated from the following files: +
    + + + + diff --git a/structlspserver_1_1CodeActionContext-members.html b/structlspserver_1_1CodeActionContext-members.html new file mode 100644 index 000000000..bacff7d4a --- /dev/null +++ b/structlspserver_1_1CodeActionContext-members.html @@ -0,0 +1,92 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    lspserver::CodeActionContext Member List
    +
    +
    + +

    This is the complete list of members for lspserver::CodeActionContext, including all inherited members.

    + + + +
    diagnosticslspserver::CodeActionContext
    onlylspserver::CodeActionContext
    + + + + diff --git a/structlspserver_1_1CodeActionContext.html b/structlspserver_1_1CodeActionContext.html new file mode 100644 index 000000000..ce483df0b --- /dev/null +++ b/structlspserver_1_1CodeActionContext.html @@ -0,0 +1,146 @@ + + + + + + + +nixd: lspserver::CodeActionContext Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    lspserver::CodeActionContext Struct Reference
    +
    +
    + +

    #include <Protocol.h>

    + + + + + + +

    +Public Attributes

    std::vector< Diagnosticdiagnostics
     
    std::vector< std::string > only
     
    +

    Detailed Description

    +
    +

    Definition at line 961 of file lspserver/include/lspserver/Protocol.h.

    +

    Member Data Documentation

    + +

    ◆ diagnostics

    + +
    +
    + + + + +
    std::vector<Diagnostic> lspserver::CodeActionContext::diagnostics
    +
    +

    An array of diagnostics known on the client side overlapping the range provided to the textDocument/codeAction request. They are provided so that the server knows which errors are currently presented to the user for the given range. There is no guarantee that these accurately reflect the error state of the resource. The primary parameter to compute code actions is the provided range.

    + +

    Definition at line 968 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::fromJSON().

    + +
    +
    + +

    ◆ only

    + +
    +
    + + + + +
    std::vector<std::string> lspserver::CodeActionContext::only
    +
    +

    Requested kind of actions to return.

    +

    Actions not of this kind are filtered out by the client before being shown. So servers can omit computing them.

    + +

    Definition at line 974 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::fromJSON().

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structlspserver_1_1CodeActionParams-members.html b/structlspserver_1_1CodeActionParams-members.html new file mode 100644 index 000000000..0fde6c1d7 --- /dev/null +++ b/structlspserver_1_1CodeActionParams-members.html @@ -0,0 +1,93 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    lspserver::CodeActionParams Member List
    +
    +
    + +

    This is the complete list of members for lspserver::CodeActionParams, including all inherited members.

    + + + + +
    contextlspserver::CodeActionParams
    rangelspserver::CodeActionParams
    textDocumentlspserver::CodeActionParams
    + + + + diff --git a/structlspserver_1_1CodeActionParams.html b/structlspserver_1_1CodeActionParams.html new file mode 100644 index 000000000..ae4e69286 --- /dev/null +++ b/structlspserver_1_1CodeActionParams.html @@ -0,0 +1,177 @@ + + + + + + + +nixd: lspserver::CodeActionParams Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    lspserver::CodeActionParams Struct Reference
    +
    +
    + +

    #include <Protocol.h>

    +
    +Collaboration diagram for lspserver::CodeActionParams:
    +
    +
    +
    [legend]
    + + + + + + + + + + + +

    +Public Attributes

    TextDocumentIdentifier textDocument
     The document in which the command was invoked.
     
    Range range
     The range for which the command was invoked.
     
    CodeActionContext context
     Context carrying additional information.
     
    +

    Detailed Description

    +
    +

    Definition at line 978 of file lspserver/include/lspserver/Protocol.h.

    +

    Member Data Documentation

    + +

    ◆ context

    + +
    +
    + + + + +
    CodeActionContext lspserver::CodeActionParams::context
    +
    + +

    Context carrying additional information.

    + +

    Definition at line 986 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::fromJSON().

    + +
    +
    + +

    ◆ range

    + +
    +
    + + + + +
    Range lspserver::CodeActionParams::range
    +
    + +

    The range for which the command was invoked.

    + +

    Definition at line 983 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::fromJSON().

    + +
    +
    + +

    ◆ textDocument

    + +
    +
    + + + + +
    TextDocumentIdentifier lspserver::CodeActionParams::textDocument
    +
    + +

    The document in which the command was invoked.

    + +

    Definition at line 980 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::fromJSON().

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structlspserver_1_1CodeActionParams__coll__graph.map b/structlspserver_1_1CodeActionParams__coll__graph.map new file mode 100644 index 000000000..f5972d237 --- /dev/null +++ b/structlspserver_1_1CodeActionParams__coll__graph.map @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/structlspserver_1_1CodeActionParams__coll__graph.md5 b/structlspserver_1_1CodeActionParams__coll__graph.md5 new file mode 100644 index 000000000..811d578d7 --- /dev/null +++ b/structlspserver_1_1CodeActionParams__coll__graph.md5 @@ -0,0 +1 @@ +880f7522adf6f0cf996f431495397b5c \ No newline at end of file diff --git a/structlspserver_1_1CodeActionParams__coll__graph.svg b/structlspserver_1_1CodeActionParams__coll__graph.svg new file mode 100644 index 000000000..25e68bf96 --- /dev/null +++ b/structlspserver_1_1CodeActionParams__coll__graph.svg @@ -0,0 +1,117 @@ + + + + + + +lspserver::CodeActionParams + + +Node1 + + +lspserver::CodeActionParams + + + + + +Node2 + + +lspserver::TextDocumentIdentifier + + + + + +Node2->Node1 + + + + + + textDocument + + + +Node3 + + +lspserver::URIForFile + + + + + +Node3->Node2 + + + + + + uri + + + +Node4 + + +lspserver::Range + + + + + +Node4->Node1 + + + + + + range + + + +Node5 + + +lspserver::Position + + + + + +Node5->Node4 + + + + + + end +start + + + +Node6 + + +lspserver::CodeActionContext + + + + + +Node6->Node1 + + + + + + context + + + diff --git a/structlspserver_1_1CodeDescription-members.html b/structlspserver_1_1CodeDescription-members.html new file mode 100644 index 000000000..04f080709 --- /dev/null +++ b/structlspserver_1_1CodeDescription-members.html @@ -0,0 +1,91 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    lspserver::CodeDescription Member List
    +
    +
    + +

    This is the complete list of members for lspserver::CodeDescription, including all inherited members.

    + + +
    hreflspserver::CodeDescription
    + + + + diff --git a/structlspserver_1_1CodeDescription.html b/structlspserver_1_1CodeDescription.html new file mode 100644 index 000000000..99cfd2d51 --- /dev/null +++ b/structlspserver_1_1CodeDescription.html @@ -0,0 +1,130 @@ + + + + + + + +nixd: lspserver::CodeDescription Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    lspserver::CodeDescription Struct Reference
    +
    +
    + +

    Structure to capture a description for an error code. + More...

    + +

    #include <Protocol.h>

    + + + + + +

    +Public Attributes

    std::string href
     An URI to open with more information about the diagnostic error.
     
    +

    Detailed Description

    +

    Structure to capture a description for an error code.

    + +

    Definition at line 883 of file lspserver/include/lspserver/Protocol.h.

    +

    Member Data Documentation

    + +

    ◆ href

    + +
    +
    + + + + +
    std::string lspserver::CodeDescription::href
    +
    + +

    An URI to open with more information about the diagnostic error.

    + +

    Definition at line 885 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::toJSON().

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structlspserver_1_1Command-members.html b/structlspserver_1_1Command-members.html new file mode 100644 index 000000000..893a45e3c --- /dev/null +++ b/structlspserver_1_1Command-members.html @@ -0,0 +1,93 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    lspserver::Command Member List
    +
    +
    + +

    This is the complete list of members for lspserver::Command, including all inherited members.

    + + + + +
    argumentlspserver::ExecuteCommandParams
    commandlspserver::ExecuteCommandParams
    titlelspserver::Command
    + + + + diff --git a/structlspserver_1_1Command.html b/structlspserver_1_1Command.html new file mode 100644 index 000000000..b31b97d31 --- /dev/null +++ b/structlspserver_1_1Command.html @@ -0,0 +1,139 @@ + + + + + + + +nixd: lspserver::Command Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    lspserver::Command Struct Reference
    +
    +
    + +

    #include <Protocol.h>

    +
    +Inheritance diagram for lspserver::Command:
    +
    +
    +
    [legend]
    +
    +Collaboration diagram for lspserver::Command:
    +
    +
    +
    [legend]
    + + + + + + + + + + +

    +Public Attributes

    std::string title
     
    - Public Attributes inherited from lspserver::ExecuteCommandParams
    std::string command
     The identifier of the actual command handler.
     
    llvm::json::Value argument = nullptr
     
    +

    Detailed Description

    +
    +

    Definition at line 1036 of file lspserver/include/lspserver/Protocol.h.

    +

    Member Data Documentation

    + +

    ◆ title

    + +
    +
    + + + + +
    std::string lspserver::Command::title
    +
    + +

    Definition at line 1037 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::toJSON().

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structlspserver_1_1Command__coll__graph.map b/structlspserver_1_1Command__coll__graph.map new file mode 100644 index 000000000..cb46ac979 --- /dev/null +++ b/structlspserver_1_1Command__coll__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/structlspserver_1_1Command__coll__graph.md5 b/structlspserver_1_1Command__coll__graph.md5 new file mode 100644 index 000000000..d28999292 --- /dev/null +++ b/structlspserver_1_1Command__coll__graph.md5 @@ -0,0 +1 @@ +ea01bc30b584405e7d81a3db73464a24 \ No newline at end of file diff --git a/structlspserver_1_1Command__coll__graph.svg b/structlspserver_1_1Command__coll__graph.svg new file mode 100644 index 000000000..8a78a70c2 --- /dev/null +++ b/structlspserver_1_1Command__coll__graph.svg @@ -0,0 +1,40 @@ + + + + + + +lspserver::Command + + +Node1 + + +lspserver::Command + + + + + +Node2 + + +lspserver::ExecuteCommand +Params + + + + + +Node2->Node1 + + + + + + + + diff --git a/structlspserver_1_1Command__inherit__graph.map b/structlspserver_1_1Command__inherit__graph.map new file mode 100644 index 000000000..cb46ac979 --- /dev/null +++ b/structlspserver_1_1Command__inherit__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/structlspserver_1_1Command__inherit__graph.md5 b/structlspserver_1_1Command__inherit__graph.md5 new file mode 100644 index 000000000..d28999292 --- /dev/null +++ b/structlspserver_1_1Command__inherit__graph.md5 @@ -0,0 +1 @@ +ea01bc30b584405e7d81a3db73464a24 \ No newline at end of file diff --git a/structlspserver_1_1Command__inherit__graph.svg b/structlspserver_1_1Command__inherit__graph.svg new file mode 100644 index 000000000..8a78a70c2 --- /dev/null +++ b/structlspserver_1_1Command__inherit__graph.svg @@ -0,0 +1,40 @@ + + + + + + +lspserver::Command + + +Node1 + + +lspserver::Command + + + + + +Node2 + + +lspserver::ExecuteCommand +Params + + + + + +Node2->Node1 + + + + + + + + diff --git a/structlspserver_1_1CompletionContext-members.html b/structlspserver_1_1CompletionContext-members.html new file mode 100644 index 000000000..0913bef67 --- /dev/null +++ b/structlspserver_1_1CompletionContext-members.html @@ -0,0 +1,92 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    lspserver::CompletionContext Member List
    +
    +
    + +

    This is the complete list of members for lspserver::CompletionContext, including all inherited members.

    + + + +
    triggerCharacterlspserver::CompletionContext
    triggerKindlspserver::CompletionContext
    + + + + diff --git a/structlspserver_1_1CompletionContext.html b/structlspserver_1_1CompletionContext.html new file mode 100644 index 000000000..cc7f0f901 --- /dev/null +++ b/structlspserver_1_1CompletionContext.html @@ -0,0 +1,147 @@ + + + + + + + +nixd: lspserver::CompletionContext Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    lspserver::CompletionContext Struct Reference
    +
    +
    + +

    #include <Protocol.h>

    + + + + + + + +

    +Public Attributes

    CompletionTriggerKind triggerKind = CompletionTriggerKind::Invoked
     How the completion was triggered.
     
    std::string triggerCharacter
     
    +

    Detailed Description

    +
    +

    Definition at line 1181 of file lspserver/include/lspserver/Protocol.h.

    +

    Member Data Documentation

    + +

    ◆ triggerCharacter

    + +
    +
    + + + + +
    std::string lspserver::CompletionContext::triggerCharacter
    +
    +

    The trigger character (a single character) that has trigger code complete. Is undefined if triggerKind !== CompletionTriggerKind.TriggerCharacter

    + +

    Definition at line 1186 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::fromJSON().

    + +
    +
    + +

    ◆ triggerKind

    + +
    +
    + + + + +
    CompletionTriggerKind lspserver::CompletionContext::triggerKind = CompletionTriggerKind::Invoked
    +
    + +

    How the completion was triggered.

    + +

    Definition at line 1183 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::fromJSON().

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structlspserver_1_1CompletionItem-members.html b/structlspserver_1_1CompletionItem-members.html new file mode 100644 index 000000000..c82a40c0d --- /dev/null +++ b/structlspserver_1_1CompletionItem-members.html @@ -0,0 +1,102 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    lspserver::CompletionItem Member List
    +
    + + + + + diff --git a/structlspserver_1_1CompletionItem.html b/structlspserver_1_1CompletionItem.html new file mode 100644 index 000000000..7dfdd0b2a --- /dev/null +++ b/structlspserver_1_1CompletionItem.html @@ -0,0 +1,360 @@ + + + + + + + +nixd: lspserver::CompletionItem Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    lspserver::CompletionItem Struct Reference
    +
    +
    + +

    #include <Protocol.h>

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Public Attributes

    std::string label
     
    CompletionItemKind kind = CompletionItemKind::Missing
     
    std::string detail
     
    std::optional< MarkupContentdocumentation
     A human-readable string that represents a doc-comment.
     
    std::string sortText
     
    std::string filterText
     
    std::string insertText
     
    InsertTextFormat insertTextFormat = InsertTextFormat::Missing
     
    std::optional< TextEdittextEdit
     
    std::vector< TextEditadditionalTextEdits
     
    bool deprecated = false
     Indicates if this item is deprecated.
     
    float score = 0.f
     
    +

    Detailed Description

    +
    +

    Definition at line 1233 of file lspserver/include/lspserver/Protocol.h.

    +

    Member Data Documentation

    + +

    ◆ additionalTextEdits

    + +
    +
    + + + + +
    std::vector<TextEdit> lspserver::CompletionItem::additionalTextEdits
    +
    +

    An optional array of additional text edits that are applied when selecting this completion. Edits must not overlap with the main edit nor with themselves.

    + +

    Definition at line 1275 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::toJSON().

    + +
    +
    + +

    ◆ deprecated

    + +
    +
    + + + + +
    bool lspserver::CompletionItem::deprecated = false
    +
    + +

    Indicates if this item is deprecated.

    + +

    Definition at line 1278 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::toJSON().

    + +
    +
    + +

    ◆ detail

    + +
    +
    + + + + +
    std::string lspserver::CompletionItem::detail
    +
    +

    A human-readable string with additional information about this item, like type or symbol information.

    + +

    Definition at line 1244 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::toJSON().

    + +
    +
    + +

    ◆ documentation

    + +
    +
    + + + + +
    std::optional<MarkupContent> lspserver::CompletionItem::documentation
    +
    + +

    A human-readable string that represents a doc-comment.

    + +

    Definition at line 1247 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::toJSON().

    + +
    +
    + +

    ◆ filterText

    + +
    +
    + + + + +
    std::string lspserver::CompletionItem::filterText
    +
    +

    A string that should be used when filtering a set of completion items. When falsy the label is used.

    + +

    Definition at line 1255 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::toJSON().

    + +
    +
    + +

    ◆ insertText

    + +
    +
    + + + + +
    std::string lspserver::CompletionItem::insertText
    +
    +

    A string that should be inserted to a document when selecting this completion. When falsy the label is used.

    + +

    Definition at line 1259 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::toJSON().

    + +
    +
    + +

    ◆ insertTextFormat

    + +
    +
    + + + + +
    InsertTextFormat lspserver::CompletionItem::insertTextFormat = InsertTextFormat::Missing
    +
    +

    The format of the insert text. The format applies to both the insertText property and the newText property of a provided textEdit.

    + +

    Definition at line 1263 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::toJSON().

    + +
    +
    + +

    ◆ kind

    + +
    +
    + + + + +
    CompletionItemKind lspserver::CompletionItem::kind = CompletionItemKind::Missing
    +
    +

    The kind of this completion item. Based of the kind an icon is chosen by the editor.

    + +

    Definition at line 1240 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::toJSON().

    + +
    +
    + +

    ◆ label

    + +
    +
    + + + + +
    std::string lspserver::CompletionItem::label
    +
    +

    The label of this completion item. By default also the text that is inserted when selecting this completion.

    + +

    Definition at line 1236 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::operator<(), lspserver::operator<<(), and lspserver::toJSON().

    + +
    +
    + +

    ◆ score

    + +
    +
    + + + + +
    float lspserver::CompletionItem::score = 0.f
    +
    +

    The score that clangd calculates to rank the returned completions. This excludes the fuzzy-match between filterText and the partial word. This can be used to re-rank results as the user types, using client-side fuzzy-matching (that score should be multiplied with this one). This is a clangd extension.

    + +

    Definition at line 1285 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::toJSON().

    + +
    +
    + +

    ◆ sortText

    + +
    +
    + + + + +
    std::string lspserver::CompletionItem::sortText
    +
    +

    A string that should be used when comparing this item with other items. When falsy the label is used.

    + +

    Definition at line 1251 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::operator<(), and lspserver::toJSON().

    + +
    +
    + +

    ◆ textEdit

    + +
    +
    + + + + +
    std::optional<TextEdit> lspserver::CompletionItem::textEdit
    +
    +

    An edit which is applied to a document when selecting this completion. When an edit is provided insertText is ignored.

    +

    Note: The range of the edit must be a single line range and it must contain the position at which completion has been requested.

    + +

    Definition at line 1270 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::toJSON().

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structlspserver_1_1CompletionList-members.html b/structlspserver_1_1CompletionList-members.html new file mode 100644 index 000000000..662f1c65a --- /dev/null +++ b/structlspserver_1_1CompletionList-members.html @@ -0,0 +1,92 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    lspserver::CompletionList Member List
    +
    +
    + +

    This is the complete list of members for lspserver::CompletionList, including all inherited members.

    + + + +
    isIncompletelspserver::CompletionList
    itemslspserver::CompletionList
    + + + + diff --git a/structlspserver_1_1CompletionList.html b/structlspserver_1_1CompletionList.html new file mode 100644 index 000000000..9976e66e1 --- /dev/null +++ b/structlspserver_1_1CompletionList.html @@ -0,0 +1,151 @@ + + + + + + + +nixd: lspserver::CompletionList Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    lspserver::CompletionList Struct Reference
    +
    +
    + +

    Represents a collection of completion items to be presented in the editor. + More...

    + +

    #include <Protocol.h>

    + + + + + + + +

    +Public Attributes

    bool isIncomplete = false
     
    std::vector< CompletionItemitems
     The completion items.
     
    +

    Detailed Description

    +

    Represents a collection of completion items to be presented in the editor.

    + +

    Definition at line 1301 of file lspserver/include/lspserver/Protocol.h.

    +

    Member Data Documentation

    + +

    ◆ isIncomplete

    + +
    +
    + + + + +
    bool lspserver::CompletionList::isIncomplete = false
    +
    +

    The list is not complete. Further typing should result in recomputing the list.

    + +

    Definition at line 1304 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::toJSON().

    + +
    +
    + +

    ◆ items

    + +
    +
    + + + + +
    std::vector<CompletionItem> lspserver::CompletionList::items
    +
    + +

    The completion items.

    + +

    Definition at line 1307 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::toJSON().

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structlspserver_1_1CompletionParams-members.html b/structlspserver_1_1CompletionParams-members.html new file mode 100644 index 000000000..288dd48d5 --- /dev/null +++ b/structlspserver_1_1CompletionParams-members.html @@ -0,0 +1,94 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    lspserver::CompletionParams Member List
    +
    + + + + + diff --git a/structlspserver_1_1CompletionParams.html b/structlspserver_1_1CompletionParams.html new file mode 100644 index 000000000..33d47cafe --- /dev/null +++ b/structlspserver_1_1CompletionParams.html @@ -0,0 +1,161 @@ + + + + + + + +nixd: lspserver::CompletionParams Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    lspserver::CompletionParams Struct Reference
    +
    +
    + +

    #include <Protocol.h>

    +
    +Inheritance diagram for lspserver::CompletionParams:
    +
    +
    +
    [legend]
    +
    +Collaboration diagram for lspserver::CompletionParams:
    +
    +
    +
    [legend]
    + + + + + + + + + + + + + +

    +Public Attributes

    CompletionContext context
     
    std::optional< int > limit
     
    - Public Attributes inherited from lspserver::TextDocumentPositionParams
    TextDocumentIdentifier textDocument
     The text document.
     
    Position position
     The position inside the text document.
     
    +

    Detailed Description

    +
    +

    Definition at line 1190 of file lspserver/include/lspserver/Protocol.h.

    +

    Member Data Documentation

    + +

    ◆ context

    + +
    +
    + + + + +
    CompletionContext lspserver::CompletionParams::context
    +
    + +

    Definition at line 1191 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::fromJSON().

    + +
    +
    + +

    ◆ limit

    + +
    +
    + + + + +
    std::optional<int> lspserver::CompletionParams::limit
    +
    +

    Max results to return, overriding global default. 0 means no limit. Clangd extension.

    + +

    Definition at line 1195 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::fromJSON().

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structlspserver_1_1CompletionParams__coll__graph.map b/structlspserver_1_1CompletionParams__coll__graph.map new file mode 100644 index 000000000..a8f3eaf84 --- /dev/null +++ b/structlspserver_1_1CompletionParams__coll__graph.map @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/structlspserver_1_1CompletionParams__coll__graph.md5 b/structlspserver_1_1CompletionParams__coll__graph.md5 new file mode 100644 index 000000000..a9451bbbb --- /dev/null +++ b/structlspserver_1_1CompletionParams__coll__graph.md5 @@ -0,0 +1 @@ +cc960c1dd58818235d2b80df9311bcd2 \ No newline at end of file diff --git a/structlspserver_1_1CompletionParams__coll__graph.svg b/structlspserver_1_1CompletionParams__coll__graph.svg new file mode 100644 index 000000000..3cee43dae --- /dev/null +++ b/structlspserver_1_1CompletionParams__coll__graph.svg @@ -0,0 +1,116 @@ + + + + + + +lspserver::CompletionParams + + +Node1 + + +lspserver::CompletionParams + + + + + +Node2 + + +lspserver::TextDocumentPosition +Params + + + + + +Node2->Node1 + + + + + + + + +Node3 + + +lspserver::TextDocumentIdentifier + + + + + +Node3->Node2 + + + + + + textDocument + + + +Node4 + + +lspserver::URIForFile + + + + + +Node4->Node3 + + + + + + uri + + + +Node5 + + +lspserver::Position + + + + + +Node5->Node2 + + + + + + position + + + +Node6 + + +lspserver::CompletionContext + + + + + +Node6->Node1 + + + + + + context + + + diff --git a/structlspserver_1_1CompletionParams__inherit__graph.map b/structlspserver_1_1CompletionParams__inherit__graph.map new file mode 100644 index 000000000..e7f4e57c7 --- /dev/null +++ b/structlspserver_1_1CompletionParams__inherit__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/structlspserver_1_1CompletionParams__inherit__graph.md5 b/structlspserver_1_1CompletionParams__inherit__graph.md5 new file mode 100644 index 000000000..f1dc06543 --- /dev/null +++ b/structlspserver_1_1CompletionParams__inherit__graph.md5 @@ -0,0 +1 @@ +02ebf2ec9b8702f2d00de05d64570264 \ No newline at end of file diff --git a/structlspserver_1_1CompletionParams__inherit__graph.svg b/structlspserver_1_1CompletionParams__inherit__graph.svg new file mode 100644 index 000000000..189d672df --- /dev/null +++ b/structlspserver_1_1CompletionParams__inherit__graph.svg @@ -0,0 +1,40 @@ + + + + + + +lspserver::CompletionParams + + +Node1 + + +lspserver::CompletionParams + + + + + +Node2 + + +lspserver::TextDocumentPosition +Params + + + + + +Node2->Node1 + + + + + + + + diff --git a/structlspserver_1_1ConfigurationItem-members.html b/structlspserver_1_1ConfigurationItem-members.html new file mode 100644 index 000000000..1462f0ec9 --- /dev/null +++ b/structlspserver_1_1ConfigurationItem-members.html @@ -0,0 +1,92 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    lspserver::ConfigurationItem Member List
    +
    +
    + +

    This is the complete list of members for lspserver::ConfigurationItem, including all inherited members.

    + + + +
    scopeUrilspserver::ConfigurationItem
    sectionlspserver::ConfigurationItem
    + + + + diff --git a/structlspserver_1_1ConfigurationItem.html b/structlspserver_1_1ConfigurationItem.html new file mode 100644 index 000000000..15e2d9a82 --- /dev/null +++ b/structlspserver_1_1ConfigurationItem.html @@ -0,0 +1,143 @@ + + + + + + + +nixd: lspserver::ConfigurationItem Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    lspserver::ConfigurationItem Struct Reference
    +
    +
    + +

    #include <Protocol.h>

    + + + + + + +

    +Public Attributes

    std::optional< URIForFilescopeUri
     
    std::optional< std::string > section
     
    +

    Detailed Description

    +
    +

    Definition at line 1895 of file lspserver/include/lspserver/Protocol.h.

    +

    Member Data Documentation

    + +

    ◆ scopeUri

    + +
    +
    + + + + +
    std::optional<URIForFile> lspserver::ConfigurationItem::scopeUri
    +
    + +

    Definition at line 1898 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::toJSON().

    + +
    +
    + +

    ◆ section

    + +
    +
    + + + + +
    std::optional<std::string> lspserver::ConfigurationItem::section
    +
    + +

    Definition at line 1901 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::toJSON().

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structlspserver_1_1ConfigurationParams-members.html b/structlspserver_1_1ConfigurationParams-members.html new file mode 100644 index 000000000..61e53fbf9 --- /dev/null +++ b/structlspserver_1_1ConfigurationParams-members.html @@ -0,0 +1,91 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    lspserver::ConfigurationParams Member List
    +
    +
    + +

    This is the complete list of members for lspserver::ConfigurationParams, including all inherited members.

    + + +
    itemslspserver::ConfigurationParams
    + + + + diff --git a/structlspserver_1_1ConfigurationParams.html b/structlspserver_1_1ConfigurationParams.html new file mode 100644 index 000000000..b79cbbd87 --- /dev/null +++ b/structlspserver_1_1ConfigurationParams.html @@ -0,0 +1,123 @@ + + + + + + + +nixd: lspserver::ConfigurationParams Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    lspserver::ConfigurationParams Struct Reference
    +
    +
    + +

    #include <Protocol.h>

    + + + + +

    +Public Attributes

    std::vector< ConfigurationItemitems
     
    +

    Detailed Description

    +
    +

    Definition at line 1905 of file lspserver/include/lspserver/Protocol.h.

    +

    Member Data Documentation

    + +

    ◆ items

    + +
    +
    + + + + +
    std::vector<ConfigurationItem> lspserver::ConfigurationParams::items
    +
    + +

    Definition at line 1906 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::toJSON().

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structlspserver_1_1ConfigurationSettings-members.html b/structlspserver_1_1ConfigurationSettings-members.html new file mode 100644 index 000000000..f2f644d4c --- /dev/null +++ b/structlspserver_1_1ConfigurationSettings-members.html @@ -0,0 +1,91 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    lspserver::ConfigurationSettings Member List
    +
    +
    + +

    This is the complete list of members for lspserver::ConfigurationSettings, including all inherited members.

    + + +
    compilationDatabaseChangeslspserver::ConfigurationSettings
    + + + + diff --git a/structlspserver_1_1ConfigurationSettings.html b/structlspserver_1_1ConfigurationSettings.html new file mode 100644 index 000000000..62f635746 --- /dev/null +++ b/structlspserver_1_1ConfigurationSettings.html @@ -0,0 +1,124 @@ + + + + + + + +nixd: lspserver::ConfigurationSettings Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    lspserver::ConfigurationSettings Struct Reference
    +
    +
    + +

    #include <Protocol.h>

    + + + + +

    +Public Attributes

    std::map< std::string, ClangdCompileCommandcompilationDatabaseChanges
     
    +

    Detailed Description

    +

    Clangd extension: parameters configurable at any time, via the workspace/didChangeConfiguration notification. LSP defines this type as any.

    + +

    Definition at line 557 of file lspserver/include/lspserver/Protocol.h.

    +

    Member Data Documentation

    + +

    ◆ compilationDatabaseChanges

    + +
    +
    + + + + +
    std::map<std::string, ClangdCompileCommand> lspserver::ConfigurationSettings::compilationDatabaseChanges
    +
    + +

    Definition at line 560 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::fromJSON().

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structlspserver_1_1Diagnostic-members.html b/structlspserver_1_1Diagnostic-members.html new file mode 100644 index 000000000..c584ecb2a --- /dev/null +++ b/structlspserver_1_1Diagnostic-members.html @@ -0,0 +1,101 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    lspserver::Diagnostic Member List
    +
    + + + + + diff --git a/structlspserver_1_1Diagnostic.html b/structlspserver_1_1Diagnostic.html new file mode 100644 index 000000000..196e53ee9 --- /dev/null +++ b/structlspserver_1_1Diagnostic.html @@ -0,0 +1,349 @@ + + + + + + + +nixd: lspserver::Diagnostic Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    lspserver::Diagnostic Struct Reference
    +
    +
    + +

    #include <Protocol.h>

    +
    +Collaboration diagram for lspserver::Diagnostic:
    +
    +
    +
    [legend]
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Public Attributes

    Range range
     The range at which the message applies.
     
    int severity = 0
     
    std::string code
     The diagnostic's code. Can be omitted.
     
    std::optional< CodeDescriptioncodeDescription
     An optional property to describe the error code.
     
    std::string source
     
    std::string message
     The diagnostic's message.
     
    llvm::SmallVector< DiagnosticTag, 1 > tags
     Additional metadata about the diagnostic.
     
    std::optional< std::vector< DiagnosticRelatedInformation > > relatedInformation
     
    std::optional< std::string > category
     
    std::optional< std::vector< CodeAction > > codeActions
     
    llvm::json::Object data
     
    +

    Detailed Description

    +
    +

    Definition at line 890 of file lspserver/include/lspserver/Protocol.h.

    +

    Member Data Documentation

    + +

    ◆ category

    + +
    +
    + + + + +
    std::optional<std::string> lspserver::Diagnostic::category
    +
    +

    The diagnostic's category. Can be omitted. An LSP extension that's used to send the name of the category over to the client. The category typically describes the compilation stage during which the issue was produced, e.g. "Semantic Issue" or "Parse Issue".

    + +

    Definition at line 922 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::fromJSON(), and lspserver::toJSON().

    + +
    +
    + +

    ◆ code

    + +
    +
    + + + + +
    std::string lspserver::Diagnostic::code
    +
    + +

    The diagnostic's code. Can be omitted.

    + +

    Definition at line 899 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::fromJSON(), and lspserver::toJSON().

    + +
    +
    + +

    ◆ codeActions

    + +
    +
    + + + + +
    std::optional<std::vector<CodeAction> > lspserver::Diagnostic::codeActions
    +
    +

    Clangd extension: code actions related to this diagnostic. Only with capability textDocument.publishDiagnostics.codeActionsInline. (These actions can also be obtained using textDocument/codeAction).

    + +

    Definition at line 927 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::toJSON().

    + +
    +
    + +

    ◆ codeDescription

    + +
    +
    + + + + +
    std::optional<CodeDescription> lspserver::Diagnostic::codeDescription
    +
    + +

    An optional property to describe the error code.

    + +

    Definition at line 902 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::toJSON().

    + +
    +
    + +

    ◆ data

    + +
    +
    + + + + +
    llvm::json::Object lspserver::Diagnostic::data
    +
    +

    A data entry field that is preserved between a textDocument/publishDiagnostics notification and textDocument/codeAction request. Mutating users should associate their data with a unique key they can use to retrieve later on.

    + +

    Definition at line 934 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::fromJSON(), and lspserver::toJSON().

    + +
    +
    + +

    ◆ message

    + +
    +
    + + + + +
    std::string lspserver::Diagnostic::message
    +
    +
    + +

    ◆ range

    + +
    +
    + + + + +
    Range lspserver::Diagnostic::range
    +
    + +

    The range at which the message applies.

    + +

    Definition at line 892 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::fromJSON(), lspserver::LSPDiagnosticCompare::operator()(), lspserver::operator<<(), and lspserver::toJSON().

    + +
    +
    + +

    ◆ relatedInformation

    + +
    +
    + + + + +
    std::optional<std::vector<DiagnosticRelatedInformation> > lspserver::Diagnostic::relatedInformation
    +
    +

    An array of related diagnostic information, e.g. when symbol-names within a scope collide all definitions can be marked via this property.

    + +

    Definition at line 916 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::toJSON().

    + +
    +
    + +

    ◆ severity

    + +
    +
    + + + + +
    int lspserver::Diagnostic::severity = 0
    +
    +

    The diagnostic's severity. Can be omitted. If omitted it is up to the client to interpret diagnostics as error, warning, info or hint.

    + +

    Definition at line 896 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::fromJSON(), lspserver::operator<<(), and lspserver::toJSON().

    + +
    +
    + +

    ◆ source

    + +
    +
    + + + + +
    std::string lspserver::Diagnostic::source
    +
    +

    A human-readable string describing the source of this diagnostic, e.g. 'typescript' or 'super lint'.

    + +

    Definition at line 906 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::fromJSON(), and lspserver::toJSON().

    + +
    +
    + +

    ◆ tags

    + +
    +
    + + + + +
    llvm::SmallVector<DiagnosticTag, 1> lspserver::Diagnostic::tags
    +
    + +

    Additional metadata about the diagnostic.

    + +

    Definition at line 912 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::toJSON().

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structlspserver_1_1DiagnosticRelatedInformation-members.html b/structlspserver_1_1DiagnosticRelatedInformation-members.html new file mode 100644 index 000000000..469f4f5f3 --- /dev/null +++ b/structlspserver_1_1DiagnosticRelatedInformation-members.html @@ -0,0 +1,92 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    lspserver::DiagnosticRelatedInformation Member List
    +
    + + + + + diff --git a/structlspserver_1_1DiagnosticRelatedInformation.html b/structlspserver_1_1DiagnosticRelatedInformation.html new file mode 100644 index 000000000..e16a4d865 --- /dev/null +++ b/structlspserver_1_1DiagnosticRelatedInformation.html @@ -0,0 +1,155 @@ + + + + + + + +nixd: lspserver::DiagnosticRelatedInformation Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    lspserver::DiagnosticRelatedInformation Struct Reference
    +
    +
    + +

    #include <Protocol.h>

    +
    +Collaboration diagram for lspserver::DiagnosticRelatedInformation:
    +
    +
    +
    [legend]
    + + + + + + + + +

    +Public Attributes

    Location location
     The location of this related diagnostic information.
     
    std::string message
     The message of this related diagnostic information.
     
    +

    Detailed Description

    +

    Represents a related message and source code location for a diagnostic. This should be used to point to code locations that cause or related to a diagnostics, e.g when duplicating a symbol in a scope.

    + +

    Definition at line 861 of file lspserver/include/lspserver/Protocol.h.

    +

    Member Data Documentation

    + +

    ◆ location

    + +
    +
    + + + + +
    Location lspserver::DiagnosticRelatedInformation::location
    +
    + +

    The location of this related diagnostic information.

    + +

    Definition at line 863 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::toJSON().

    + +
    +
    + +

    ◆ message

    + +
    +
    + + + + +
    std::string lspserver::DiagnosticRelatedInformation::message
    +
    + +

    The message of this related diagnostic information.

    + +

    Definition at line 865 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::toJSON().

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structlspserver_1_1DiagnosticRelatedInformation__coll__graph.map b/structlspserver_1_1DiagnosticRelatedInformation__coll__graph.map new file mode 100644 index 000000000..31f1bc6d3 --- /dev/null +++ b/structlspserver_1_1DiagnosticRelatedInformation__coll__graph.map @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/structlspserver_1_1DiagnosticRelatedInformation__coll__graph.md5 b/structlspserver_1_1DiagnosticRelatedInformation__coll__graph.md5 new file mode 100644 index 000000000..b29d19e9d --- /dev/null +++ b/structlspserver_1_1DiagnosticRelatedInformation__coll__graph.md5 @@ -0,0 +1 @@ +3d2b506eaa3b97f22e03e30003ea1b71 \ No newline at end of file diff --git a/structlspserver_1_1DiagnosticRelatedInformation__coll__graph.svg b/structlspserver_1_1DiagnosticRelatedInformation__coll__graph.svg new file mode 100644 index 000000000..01c4470e0 --- /dev/null +++ b/structlspserver_1_1DiagnosticRelatedInformation__coll__graph.svg @@ -0,0 +1,99 @@ + + + + + + +lspserver::DiagnosticRelatedInformation + + +Node1 + + +lspserver::DiagnosticRelated +Information + + + + + +Node2 + + +lspserver::Location + + + + + +Node2->Node1 + + + + + + location + + + +Node3 + + +lspserver::URIForFile + + + + + +Node3->Node2 + + + + + + uri + + + +Node4 + + +lspserver::Range + + + + + +Node4->Node2 + + + + + + range + + + +Node5 + + +lspserver::Position + + + + + +Node5->Node4 + + + + + + end +start + + + diff --git a/structlspserver_1_1Diagnostic__coll__graph.map b/structlspserver_1_1Diagnostic__coll__graph.map new file mode 100644 index 000000000..1feb3efd7 --- /dev/null +++ b/structlspserver_1_1Diagnostic__coll__graph.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/structlspserver_1_1Diagnostic__coll__graph.md5 b/structlspserver_1_1Diagnostic__coll__graph.md5 new file mode 100644 index 000000000..d620c25b8 --- /dev/null +++ b/structlspserver_1_1Diagnostic__coll__graph.md5 @@ -0,0 +1 @@ +b62c97285b783366f3607614f68cae76 \ No newline at end of file diff --git a/structlspserver_1_1Diagnostic__coll__graph.svg b/structlspserver_1_1Diagnostic__coll__graph.svg new file mode 100644 index 000000000..6d603e126 --- /dev/null +++ b/structlspserver_1_1Diagnostic__coll__graph.svg @@ -0,0 +1,60 @@ + + + + + + +lspserver::Diagnostic + + +Node1 + + +lspserver::Diagnostic + + + + + +Node2 + + +lspserver::Range + + + + + +Node2->Node1 + + + + + + range + + + +Node3 + + +lspserver::Position + + + + + +Node3->Node2 + + + + + + end +start + + + diff --git a/structlspserver_1_1DidChangeConfigurationParams-members.html b/structlspserver_1_1DidChangeConfigurationParams-members.html new file mode 100644 index 000000000..0af3fbc77 --- /dev/null +++ b/structlspserver_1_1DidChangeConfigurationParams-members.html @@ -0,0 +1,91 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    lspserver::DidChangeConfigurationParams Member List
    +
    +
    + +

    This is the complete list of members for lspserver::DidChangeConfigurationParams, including all inherited members.

    + + +
    settingslspserver::DidChangeConfigurationParams
    + + + + diff --git a/structlspserver_1_1DidChangeConfigurationParams.html b/structlspserver_1_1DidChangeConfigurationParams.html new file mode 100644 index 000000000..e6461018c --- /dev/null +++ b/structlspserver_1_1DidChangeConfigurationParams.html @@ -0,0 +1,128 @@ + + + + + + + +nixd: lspserver::DidChangeConfigurationParams Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    lspserver::DidChangeConfigurationParams Struct Reference
    +
    +
    + +

    #include <Protocol.h>

    +
    +Collaboration diagram for lspserver::DidChangeConfigurationParams:
    +
    +
    +
    [legend]
    + + + + +

    +Public Attributes

    ConfigurationSettings settings
     
    +

    Detailed Description

    +
    +

    Definition at line 807 of file lspserver/include/lspserver/Protocol.h.

    +

    Member Data Documentation

    + +

    ◆ settings

    + +
    +
    + + + + +
    ConfigurationSettings lspserver::DidChangeConfigurationParams::settings
    +
    + +

    Definition at line 808 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::fromJSON().

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structlspserver_1_1DidChangeConfigurationParams__coll__graph.map b/structlspserver_1_1DidChangeConfigurationParams__coll__graph.map new file mode 100644 index 000000000..73e164fff --- /dev/null +++ b/structlspserver_1_1DidChangeConfigurationParams__coll__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/structlspserver_1_1DidChangeConfigurationParams__coll__graph.md5 b/structlspserver_1_1DidChangeConfigurationParams__coll__graph.md5 new file mode 100644 index 000000000..a981464fc --- /dev/null +++ b/structlspserver_1_1DidChangeConfigurationParams__coll__graph.md5 @@ -0,0 +1 @@ +51e8b80872c7074c763f2dd677911be4 \ No newline at end of file diff --git a/structlspserver_1_1DidChangeConfigurationParams__coll__graph.svg b/structlspserver_1_1DidChangeConfigurationParams__coll__graph.svg new file mode 100644 index 000000000..fd672d561 --- /dev/null +++ b/structlspserver_1_1DidChangeConfigurationParams__coll__graph.svg @@ -0,0 +1,42 @@ + + + + + + +lspserver::DidChangeConfigurationParams + + +Node1 + + +lspserver::DidChangeConfiguration +Params + + + + + +Node2 + + +lspserver::Configuration +Settings + + + + + +Node2->Node1 + + + + + + settings + + + diff --git a/structlspserver_1_1DidChangeTextDocumentParams-members.html b/structlspserver_1_1DidChangeTextDocumentParams-members.html new file mode 100644 index 000000000..2fa585a7c --- /dev/null +++ b/structlspserver_1_1DidChangeTextDocumentParams-members.html @@ -0,0 +1,94 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    lspserver::DidChangeTextDocumentParams Member List
    +
    + + + + + diff --git a/structlspserver_1_1DidChangeTextDocumentParams.html b/structlspserver_1_1DidChangeTextDocumentParams.html new file mode 100644 index 000000000..dee2afd9e --- /dev/null +++ b/structlspserver_1_1DidChangeTextDocumentParams.html @@ -0,0 +1,194 @@ + + + + + + + +nixd: lspserver::DidChangeTextDocumentParams Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    lspserver::DidChangeTextDocumentParams Struct Reference
    +
    +
    + +

    #include <Protocol.h>

    +
    +Collaboration diagram for lspserver::DidChangeTextDocumentParams:
    +
    +
    +
    [legend]
    + + + + + + + + + + + +

    +Public Attributes

    VersionedTextDocumentIdentifier textDocument
     
    std::vector< TextDocumentContentChangeEventcontentChanges
     The actual content changes.
     
    std::optional< bool > wantDiagnostics
     
    bool forceRebuild = false
     
    +

    Detailed Description

    +
    +

    Definition at line 757 of file lspserver/include/lspserver/Protocol.h.

    +

    Member Data Documentation

    + +

    ◆ contentChanges

    + +
    +
    + + + + +
    std::vector<TextDocumentContentChangeEvent> lspserver::DidChangeTextDocumentParams::contentChanges
    +
    + +

    The actual content changes.

    + +

    Definition at line 764 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::fromJSON().

    + +
    +
    + +

    ◆ forceRebuild

    + +
    +
    + + + + +
    bool lspserver::DidChangeTextDocumentParams::forceRebuild = false
    +
    +

    Force a complete rebuild of the file, ignoring all cached state. Slow! This is useful to defeat clangd's assumption that missing headers will stay missing. This is a clangd extension.

    + +

    Definition at line 776 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::fromJSON().

    + +
    +
    + +

    ◆ textDocument

    + +
    +
    + + + + +
    VersionedTextDocumentIdentifier lspserver::DidChangeTextDocumentParams::textDocument
    +
    +

    The document that did change. The version number points to the version after all provided content changes have been applied.

    + +

    Definition at line 761 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::fromJSON().

    + +
    +
    + +

    ◆ wantDiagnostics

    + +
    +
    + + + + +
    std::optional<bool> lspserver::DidChangeTextDocumentParams::wantDiagnostics
    +
    +

    Forces diagnostics to be generated, or to not be generated, for this version of the file. If not set, diagnostics are eventually consistent: either they will be provided for this version or some subsequent one. This is a clangd extension.

    + +

    Definition at line 770 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::fromJSON().

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structlspserver_1_1DidChangeTextDocumentParams__coll__graph.map b/structlspserver_1_1DidChangeTextDocumentParams__coll__graph.map new file mode 100644 index 000000000..1a99848b2 --- /dev/null +++ b/structlspserver_1_1DidChangeTextDocumentParams__coll__graph.map @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/structlspserver_1_1DidChangeTextDocumentParams__coll__graph.md5 b/structlspserver_1_1DidChangeTextDocumentParams__coll__graph.md5 new file mode 100644 index 000000000..d9647b754 --- /dev/null +++ b/structlspserver_1_1DidChangeTextDocumentParams__coll__graph.md5 @@ -0,0 +1 @@ +4e5bf375c5c37ea15fc4d5ae2e9beef9 \ No newline at end of file diff --git a/structlspserver_1_1DidChangeTextDocumentParams__coll__graph.svg b/structlspserver_1_1DidChangeTextDocumentParams__coll__graph.svg new file mode 100644 index 000000000..a85a24c64 --- /dev/null +++ b/structlspserver_1_1DidChangeTextDocumentParams__coll__graph.svg @@ -0,0 +1,79 @@ + + + + + + +lspserver::DidChangeTextDocumentParams + + +Node1 + + +lspserver::DidChangeText +DocumentParams + + + + + +Node2 + + +lspserver::VersionedText +DocumentIdentifier + + + + + +Node2->Node1 + + + + + + textDocument + + + +Node3 + + +lspserver::TextDocumentIdentifier + + + + + +Node3->Node2 + + + + + + + + +Node4 + + +lspserver::URIForFile + + + + + +Node4->Node3 + + + + + + uri + + + diff --git a/structlspserver_1_1DidChangeWatchedFilesParams-members.html b/structlspserver_1_1DidChangeWatchedFilesParams-members.html new file mode 100644 index 000000000..3d6509202 --- /dev/null +++ b/structlspserver_1_1DidChangeWatchedFilesParams-members.html @@ -0,0 +1,91 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    lspserver::DidChangeWatchedFilesParams Member List
    +
    +
    + +

    This is the complete list of members for lspserver::DidChangeWatchedFilesParams, including all inherited members.

    + + +
    changeslspserver::DidChangeWatchedFilesParams
    + + + + diff --git a/structlspserver_1_1DidChangeWatchedFilesParams.html b/structlspserver_1_1DidChangeWatchedFilesParams.html new file mode 100644 index 000000000..acfbc7ad2 --- /dev/null +++ b/structlspserver_1_1DidChangeWatchedFilesParams.html @@ -0,0 +1,126 @@ + + + + + + + +nixd: lspserver::DidChangeWatchedFilesParams Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    lspserver::DidChangeWatchedFilesParams Struct Reference
    +
    +
    + +

    #include <Protocol.h>

    + + + + + +

    +Public Attributes

    std::vector< FileEventchanges
     The actual file events.
     
    +

    Detailed Description

    +
    +

    Definition at line 800 of file lspserver/include/lspserver/Protocol.h.

    +

    Member Data Documentation

    + +

    ◆ changes

    + +
    +
    + + + + +
    std::vector<FileEvent> lspserver::DidChangeWatchedFilesParams::changes
    +
    + +

    The actual file events.

    + +

    Definition at line 802 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::fromJSON().

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structlspserver_1_1DidCloseTextDocumentParams-members.html b/structlspserver_1_1DidCloseTextDocumentParams-members.html new file mode 100644 index 000000000..efcf2d679 --- /dev/null +++ b/structlspserver_1_1DidCloseTextDocumentParams-members.html @@ -0,0 +1,91 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    lspserver::DidCloseTextDocumentParams Member List
    +
    +
    + +

    This is the complete list of members for lspserver::DidCloseTextDocumentParams, including all inherited members.

    + + +
    textDocumentlspserver::DidCloseTextDocumentParams
    + + + + diff --git a/structlspserver_1_1DidCloseTextDocumentParams.html b/structlspserver_1_1DidCloseTextDocumentParams.html new file mode 100644 index 000000000..1a949c334 --- /dev/null +++ b/structlspserver_1_1DidCloseTextDocumentParams.html @@ -0,0 +1,131 @@ + + + + + + + +nixd: lspserver::DidCloseTextDocumentParams Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    lspserver::DidCloseTextDocumentParams Struct Reference
    +
    +
    + +

    #include <Protocol.h>

    +
    +Collaboration diagram for lspserver::DidCloseTextDocumentParams:
    +
    +
    +
    [legend]
    + + + + + +

    +Public Attributes

    TextDocumentIdentifier textDocument
     The document that was closed.
     
    +

    Detailed Description

    +
    +

    Definition at line 730 of file lspserver/include/lspserver/Protocol.h.

    +

    Member Data Documentation

    + +

    ◆ textDocument

    + +
    +
    + + + + +
    TextDocumentIdentifier lspserver::DidCloseTextDocumentParams::textDocument
    +
    + +

    The document that was closed.

    + +

    Definition at line 732 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::fromJSON().

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structlspserver_1_1DidCloseTextDocumentParams__coll__graph.map b/structlspserver_1_1DidCloseTextDocumentParams__coll__graph.map new file mode 100644 index 000000000..a41a6abc2 --- /dev/null +++ b/structlspserver_1_1DidCloseTextDocumentParams__coll__graph.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/structlspserver_1_1DidCloseTextDocumentParams__coll__graph.md5 b/structlspserver_1_1DidCloseTextDocumentParams__coll__graph.md5 new file mode 100644 index 000000000..d30744c13 --- /dev/null +++ b/structlspserver_1_1DidCloseTextDocumentParams__coll__graph.md5 @@ -0,0 +1 @@ +d4cf672af6ce5e9b2283215c967dc5a7 \ No newline at end of file diff --git a/structlspserver_1_1DidCloseTextDocumentParams__coll__graph.svg b/structlspserver_1_1DidCloseTextDocumentParams__coll__graph.svg new file mode 100644 index 000000000..859ae036e --- /dev/null +++ b/structlspserver_1_1DidCloseTextDocumentParams__coll__graph.svg @@ -0,0 +1,60 @@ + + + + + + +lspserver::DidCloseTextDocumentParams + + +Node1 + + +lspserver::DidCloseTextDocument +Params + + + + + +Node2 + + +lspserver::TextDocumentIdentifier + + + + + +Node2->Node1 + + + + + + textDocument + + + +Node3 + + +lspserver::URIForFile + + + + + +Node3->Node2 + + + + + + uri + + + diff --git a/structlspserver_1_1DidOpenTextDocumentParams-members.html b/structlspserver_1_1DidOpenTextDocumentParams-members.html new file mode 100644 index 000000000..0f62a1bba --- /dev/null +++ b/structlspserver_1_1DidOpenTextDocumentParams-members.html @@ -0,0 +1,91 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    lspserver::DidOpenTextDocumentParams Member List
    +
    +
    + +

    This is the complete list of members for lspserver::DidOpenTextDocumentParams, including all inherited members.

    + + +
    textDocumentlspserver::DidOpenTextDocumentParams
    + + + + diff --git a/structlspserver_1_1DidOpenTextDocumentParams.html b/structlspserver_1_1DidOpenTextDocumentParams.html new file mode 100644 index 000000000..5517b36df --- /dev/null +++ b/structlspserver_1_1DidOpenTextDocumentParams.html @@ -0,0 +1,131 @@ + + + + + + + +nixd: lspserver::DidOpenTextDocumentParams Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    lspserver::DidOpenTextDocumentParams Struct Reference
    +
    +
    + +

    #include <Protocol.h>

    +
    +Collaboration diagram for lspserver::DidOpenTextDocumentParams:
    +
    +
    +
    [legend]
    + + + + + +

    +Public Attributes

    TextDocumentItem textDocument
     The document that was opened.
     
    +

    Detailed Description

    +
    +

    Definition at line 723 of file lspserver/include/lspserver/Protocol.h.

    +

    Member Data Documentation

    + +

    ◆ textDocument

    + +
    +
    + + + + +
    TextDocumentItem lspserver::DidOpenTextDocumentParams::textDocument
    +
    + +

    The document that was opened.

    + +

    Definition at line 725 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::fromJSON().

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structlspserver_1_1DidOpenTextDocumentParams__coll__graph.map b/structlspserver_1_1DidOpenTextDocumentParams__coll__graph.map new file mode 100644 index 000000000..e45007ec1 --- /dev/null +++ b/structlspserver_1_1DidOpenTextDocumentParams__coll__graph.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/structlspserver_1_1DidOpenTextDocumentParams__coll__graph.md5 b/structlspserver_1_1DidOpenTextDocumentParams__coll__graph.md5 new file mode 100644 index 000000000..620bdedb9 --- /dev/null +++ b/structlspserver_1_1DidOpenTextDocumentParams__coll__graph.md5 @@ -0,0 +1 @@ +4bd51745ba958fa132c6c09b7dba853f \ No newline at end of file diff --git a/structlspserver_1_1DidOpenTextDocumentParams__coll__graph.svg b/structlspserver_1_1DidOpenTextDocumentParams__coll__graph.svg new file mode 100644 index 000000000..7d2b14610 --- /dev/null +++ b/structlspserver_1_1DidOpenTextDocumentParams__coll__graph.svg @@ -0,0 +1,60 @@ + + + + + + +lspserver::DidOpenTextDocumentParams + + +Node1 + + +lspserver::DidOpenTextDocument +Params + + + + + +Node2 + + +lspserver::TextDocumentItem + + + + + +Node2->Node1 + + + + + + textDocument + + + +Node3 + + +lspserver::URIForFile + + + + + +Node3->Node2 + + + + + + uri + + + diff --git a/structlspserver_1_1DidSaveTextDocumentParams-members.html b/structlspserver_1_1DidSaveTextDocumentParams-members.html new file mode 100644 index 000000000..5654db4f5 --- /dev/null +++ b/structlspserver_1_1DidSaveTextDocumentParams-members.html @@ -0,0 +1,91 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    lspserver::DidSaveTextDocumentParams Member List
    +
    +
    + +

    This is the complete list of members for lspserver::DidSaveTextDocumentParams, including all inherited members.

    + + +
    textDocumentlspserver::DidSaveTextDocumentParams
    + + + + diff --git a/structlspserver_1_1DidSaveTextDocumentParams.html b/structlspserver_1_1DidSaveTextDocumentParams.html new file mode 100644 index 000000000..990633cdc --- /dev/null +++ b/structlspserver_1_1DidSaveTextDocumentParams.html @@ -0,0 +1,131 @@ + + + + + + + +nixd: lspserver::DidSaveTextDocumentParams Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    lspserver::DidSaveTextDocumentParams Struct Reference
    +
    +
    + +

    #include <Protocol.h>

    +
    +Collaboration diagram for lspserver::DidSaveTextDocumentParams:
    +
    +
    +
    [legend]
    + + + + + +

    +Public Attributes

    TextDocumentIdentifier textDocument
     The document that was saved.
     
    +

    Detailed Description

    +
    +

    Definition at line 737 of file lspserver/include/lspserver/Protocol.h.

    +

    Member Data Documentation

    + +

    ◆ textDocument

    + +
    +
    + + + + +
    TextDocumentIdentifier lspserver::DidSaveTextDocumentParams::textDocument
    +
    + +

    The document that was saved.

    + +

    Definition at line 739 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::fromJSON().

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structlspserver_1_1DidSaveTextDocumentParams__coll__graph.map b/structlspserver_1_1DidSaveTextDocumentParams__coll__graph.map new file mode 100644 index 000000000..f887508e0 --- /dev/null +++ b/structlspserver_1_1DidSaveTextDocumentParams__coll__graph.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/structlspserver_1_1DidSaveTextDocumentParams__coll__graph.md5 b/structlspserver_1_1DidSaveTextDocumentParams__coll__graph.md5 new file mode 100644 index 000000000..1a52e38ac --- /dev/null +++ b/structlspserver_1_1DidSaveTextDocumentParams__coll__graph.md5 @@ -0,0 +1 @@ +3edb8a11a3463166b05e38733b38f8f1 \ No newline at end of file diff --git a/structlspserver_1_1DidSaveTextDocumentParams__coll__graph.svg b/structlspserver_1_1DidSaveTextDocumentParams__coll__graph.svg new file mode 100644 index 000000000..27fc9fb41 --- /dev/null +++ b/structlspserver_1_1DidSaveTextDocumentParams__coll__graph.svg @@ -0,0 +1,60 @@ + + + + + + +lspserver::DidSaveTextDocumentParams + + +Node1 + + +lspserver::DidSaveTextDocument +Params + + + + + +Node2 + + +lspserver::TextDocumentIdentifier + + + + + +Node2->Node1 + + + + + + textDocument + + + +Node3 + + +lspserver::URIForFile + + + + + +Node3->Node2 + + + + + + uri + + + diff --git a/structlspserver_1_1DocumentFormattingParams-members.html b/structlspserver_1_1DocumentFormattingParams-members.html new file mode 100644 index 000000000..4f81b7436 --- /dev/null +++ b/structlspserver_1_1DocumentFormattingParams-members.html @@ -0,0 +1,91 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    lspserver::DocumentFormattingParams Member List
    +
    +
    + +

    This is the complete list of members for lspserver::DocumentFormattingParams, including all inherited members.

    + + +
    textDocumentlspserver::DocumentFormattingParams
    + + + + diff --git a/structlspserver_1_1DocumentFormattingParams.html b/structlspserver_1_1DocumentFormattingParams.html new file mode 100644 index 000000000..05e2b0dae --- /dev/null +++ b/structlspserver_1_1DocumentFormattingParams.html @@ -0,0 +1,131 @@ + + + + + + + +nixd: lspserver::DocumentFormattingParams Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    lspserver::DocumentFormattingParams Struct Reference
    +
    +
    + +

    #include <Protocol.h>

    +
    +Collaboration diagram for lspserver::DocumentFormattingParams:
    +
    +
    +
    [legend]
    + + + + + +

    +Public Attributes

    TextDocumentIdentifier textDocument
     The document to format.
     
    +

    Detailed Description

    +
    +

    Definition at line 844 of file lspserver/include/lspserver/Protocol.h.

    +

    Member Data Documentation

    + +

    ◆ textDocument

    + +
    +
    + + + + +
    TextDocumentIdentifier lspserver::DocumentFormattingParams::textDocument
    +
    + +

    The document to format.

    + +

    Definition at line 846 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::fromJSON().

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structlspserver_1_1DocumentFormattingParams__coll__graph.map b/structlspserver_1_1DocumentFormattingParams__coll__graph.map new file mode 100644 index 000000000..0ed8c08af --- /dev/null +++ b/structlspserver_1_1DocumentFormattingParams__coll__graph.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/structlspserver_1_1DocumentFormattingParams__coll__graph.md5 b/structlspserver_1_1DocumentFormattingParams__coll__graph.md5 new file mode 100644 index 000000000..3f760142a --- /dev/null +++ b/structlspserver_1_1DocumentFormattingParams__coll__graph.md5 @@ -0,0 +1 @@ +ea041e7e650465acad0b1c5c7b785c10 \ No newline at end of file diff --git a/structlspserver_1_1DocumentFormattingParams__coll__graph.svg b/structlspserver_1_1DocumentFormattingParams__coll__graph.svg new file mode 100644 index 000000000..6d8f1300d --- /dev/null +++ b/structlspserver_1_1DocumentFormattingParams__coll__graph.svg @@ -0,0 +1,60 @@ + + + + + + +lspserver::DocumentFormattingParams + + +Node1 + + +lspserver::DocumentFormatting +Params + + + + + +Node2 + + +lspserver::TextDocumentIdentifier + + + + + +Node2->Node1 + + + + + + textDocument + + + +Node3 + + +lspserver::URIForFile + + + + + +Node3->Node2 + + + + + + uri + + + diff --git a/structlspserver_1_1DocumentHighlight-members.html b/structlspserver_1_1DocumentHighlight-members.html new file mode 100644 index 000000000..f52a65a52 --- /dev/null +++ b/structlspserver_1_1DocumentHighlight-members.html @@ -0,0 +1,94 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    lspserver::DocumentHighlight Member List
    +
    + + + + + diff --git a/structlspserver_1_1DocumentHighlight.html b/structlspserver_1_1DocumentHighlight.html new file mode 100644 index 000000000..9c5f61e75 --- /dev/null +++ b/structlspserver_1_1DocumentHighlight.html @@ -0,0 +1,226 @@ + + + + + + + +nixd: lspserver::DocumentHighlight Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    lspserver::DocumentHighlight Struct Reference
    +
    +
    + +

    #include <Protocol.h>

    +
    +Collaboration diagram for lspserver::DocumentHighlight:
    +
    +
    +
    [legend]
    + + + + + + + + +

    +Public Attributes

    Range range
     The range this highlight applies to.
     
    DocumentHighlightKind kind = DocumentHighlightKind::Text
     The highlight kind, default is DocumentHighlightKind.Text.
     
    + + + + + +

    +Friends

    bool operator< (const DocumentHighlight &LHS, const DocumentHighlight &RHS)
     
    bool operator== (const DocumentHighlight &LHS, const DocumentHighlight &RHS)
     
    +

    Detailed Description

    +

    A document highlight is a range inside a text document which deserves special attention. Usually a document highlight is visualized by changing the background color of its range.

    + +

    Definition at line 1383 of file lspserver/include/lspserver/Protocol.h.

    +

    Friends And Related Symbol Documentation

    + +

    ◆ operator<

    + +
    +
    + + + + + +
    + + + + + + + + + + + +
    bool operator< (const DocumentHighlight & LHS,
    const DocumentHighlight & RHS )
    +
    +friend
    +
    + +

    Definition at line 1390 of file lspserver/include/lspserver/Protocol.h.

    + +
    +
    + +

    ◆ operator==

    + +
    +
    + + + + + +
    + + + + + + + + + + + +
    bool operator== (const DocumentHighlight & LHS,
    const DocumentHighlight & RHS )
    +
    +friend
    +
    + +

    Definition at line 1397 of file lspserver/include/lspserver/Protocol.h.

    + +
    +
    +

    Member Data Documentation

    + +

    ◆ kind

    + +
    +
    + + + + +
    DocumentHighlightKind lspserver::DocumentHighlight::kind = DocumentHighlightKind::Text
    +
    + +

    The highlight kind, default is DocumentHighlightKind.Text.

    + +

    Definition at line 1388 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::operator<<(), and lspserver::toJSON().

    + +
    +
    + +

    ◆ range

    + +
    +
    + + + + +
    Range lspserver::DocumentHighlight::range
    +
    + +

    The range this highlight applies to.

    + +

    Definition at line 1385 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::operator<<(), and lspserver::toJSON().

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structlspserver_1_1DocumentHighlight__coll__graph.map b/structlspserver_1_1DocumentHighlight__coll__graph.map new file mode 100644 index 000000000..6a8adc872 --- /dev/null +++ b/structlspserver_1_1DocumentHighlight__coll__graph.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/structlspserver_1_1DocumentHighlight__coll__graph.md5 b/structlspserver_1_1DocumentHighlight__coll__graph.md5 new file mode 100644 index 000000000..eeb673fa2 --- /dev/null +++ b/structlspserver_1_1DocumentHighlight__coll__graph.md5 @@ -0,0 +1 @@ +31bc4a77e6fe4c1a7f26a382fffe0f4d \ No newline at end of file diff --git a/structlspserver_1_1DocumentHighlight__coll__graph.svg b/structlspserver_1_1DocumentHighlight__coll__graph.svg new file mode 100644 index 000000000..67ca7d90c --- /dev/null +++ b/structlspserver_1_1DocumentHighlight__coll__graph.svg @@ -0,0 +1,60 @@ + + + + + + +lspserver::DocumentHighlight + + +Node1 + + +lspserver::DocumentHighlight + + + + + +Node2 + + +lspserver::Range + + + + + +Node2->Node1 + + + + + + range + + + +Node3 + + +lspserver::Position + + + + + +Node3->Node2 + + + + + + end +start + + + diff --git a/structlspserver_1_1DocumentLink-members.html b/structlspserver_1_1DocumentLink-members.html new file mode 100644 index 000000000..3febf2910 --- /dev/null +++ b/structlspserver_1_1DocumentLink-members.html @@ -0,0 +1,94 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    lspserver::DocumentLink Member List
    +
    +
    + +

    This is the complete list of members for lspserver::DocumentLink, including all inherited members.

    + + + + + +
    operator!=lspserver::DocumentLinkfriend
    operator==lspserver::DocumentLinkfriend
    rangelspserver::DocumentLink
    targetlspserver::DocumentLink
    + + + + diff --git a/structlspserver_1_1DocumentLink.html b/structlspserver_1_1DocumentLink.html new file mode 100644 index 000000000..253c19298 --- /dev/null +++ b/structlspserver_1_1DocumentLink.html @@ -0,0 +1,226 @@ + + + + + + + +nixd: lspserver::DocumentLink Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    lspserver::DocumentLink Struct Reference
    +
    +
    + +

    #include <Protocol.h>

    +
    +Collaboration diagram for lspserver::DocumentLink:
    +
    +
    +
    [legend]
    + + + + + + + + +

    +Public Attributes

    Range range
     The range this link applies to.
     
    URIForFile target
     The uri this link points to. If missing a resolve request is sent later.
     
    + + + + + +

    +Friends

    bool operator== (const DocumentLink &LHS, const DocumentLink &RHS)
     
    bool operator!= (const DocumentLink &LHS, const DocumentLink &RHS)
     
    +

    Detailed Description

    +

    A range in a text document that links to an internal or external resource, like another text document or a web site.

    + +

    Definition at line 1788 of file lspserver/include/lspserver/Protocol.h.

    +

    Friends And Related Symbol Documentation

    + +

    ◆ operator!=

    + +
    +
    + + + + + +
    + + + + + + + + + + + +
    bool operator!= (const DocumentLink & LHS,
    const DocumentLink & RHS )
    +
    +friend
    +
    + +

    Definition at line 1806 of file lspserver/include/lspserver/Protocol.h.

    + +
    +
    + +

    ◆ operator==

    + +
    +
    + + + + + +
    + + + + + + + + + + + +
    bool operator== (const DocumentLink & LHS,
    const DocumentLink & RHS )
    +
    +friend
    +
    + +

    Definition at line 1802 of file lspserver/include/lspserver/Protocol.h.

    + +
    +
    +

    Member Data Documentation

    + +

    ◆ range

    + +
    +
    + + + + +
    Range lspserver::DocumentLink::range
    +
    + +

    The range this link applies to.

    + +

    Definition at line 1790 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::toJSON().

    + +
    +
    + +

    ◆ target

    + +
    +
    + + + + +
    URIForFile lspserver::DocumentLink::target
    +
    + +

    The uri this link points to. If missing a resolve request is sent later.

    + +

    Definition at line 1793 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::toJSON().

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structlspserver_1_1DocumentLinkParams-members.html b/structlspserver_1_1DocumentLinkParams-members.html new file mode 100644 index 000000000..73fb8714d --- /dev/null +++ b/structlspserver_1_1DocumentLinkParams-members.html @@ -0,0 +1,91 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    lspserver::DocumentLinkParams Member List
    +
    +
    + +

    This is the complete list of members for lspserver::DocumentLinkParams, including all inherited members.

    + + +
    textDocumentlspserver::DocumentLinkParams
    + + + + diff --git a/structlspserver_1_1DocumentLinkParams.html b/structlspserver_1_1DocumentLinkParams.html new file mode 100644 index 000000000..dc6de3323 --- /dev/null +++ b/structlspserver_1_1DocumentLinkParams.html @@ -0,0 +1,135 @@ + + + + + + + +nixd: lspserver::DocumentLinkParams Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    lspserver::DocumentLinkParams Struct Reference
    +
    +
    + +

    Parameters for the document link request. + More...

    + +

    #include <Protocol.h>

    +
    +Collaboration diagram for lspserver::DocumentLinkParams:
    +
    +
    +
    [legend]
    + + + + + +

    +Public Attributes

    TextDocumentIdentifier textDocument
     The document to provide document links for.
     
    +

    Detailed Description

    +

    Parameters for the document link request.

    + +

    Definition at line 1779 of file lspserver/include/lspserver/Protocol.h.

    +

    Member Data Documentation

    + +

    ◆ textDocument

    + +
    +
    + + + + +
    TextDocumentIdentifier lspserver::DocumentLinkParams::textDocument
    +
    + +

    The document to provide document links for.

    + +

    Definition at line 1781 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::fromJSON().

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structlspserver_1_1DocumentLinkParams__coll__graph.map b/structlspserver_1_1DocumentLinkParams__coll__graph.map new file mode 100644 index 000000000..69802abf2 --- /dev/null +++ b/structlspserver_1_1DocumentLinkParams__coll__graph.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/structlspserver_1_1DocumentLinkParams__coll__graph.md5 b/structlspserver_1_1DocumentLinkParams__coll__graph.md5 new file mode 100644 index 000000000..ad6d645fb --- /dev/null +++ b/structlspserver_1_1DocumentLinkParams__coll__graph.md5 @@ -0,0 +1 @@ +66506604945f4c3978118e250d12a8d1 \ No newline at end of file diff --git a/structlspserver_1_1DocumentLinkParams__coll__graph.svg b/structlspserver_1_1DocumentLinkParams__coll__graph.svg new file mode 100644 index 000000000..035dbaa23 --- /dev/null +++ b/structlspserver_1_1DocumentLinkParams__coll__graph.svg @@ -0,0 +1,59 @@ + + + + + + +lspserver::DocumentLinkParams + + +Node1 + + +lspserver::DocumentLinkParams + + + + + +Node2 + + +lspserver::TextDocumentIdentifier + + + + + +Node2->Node1 + + + + + + textDocument + + + +Node3 + + +lspserver::URIForFile + + + + + +Node3->Node2 + + + + + + uri + + + diff --git a/structlspserver_1_1DocumentLink__coll__graph.map b/structlspserver_1_1DocumentLink__coll__graph.map new file mode 100644 index 000000000..b4fc0a0c3 --- /dev/null +++ b/structlspserver_1_1DocumentLink__coll__graph.map @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/structlspserver_1_1DocumentLink__coll__graph.md5 b/structlspserver_1_1DocumentLink__coll__graph.md5 new file mode 100644 index 000000000..46c179157 --- /dev/null +++ b/structlspserver_1_1DocumentLink__coll__graph.md5 @@ -0,0 +1 @@ +176845e626a443c1e21c55d94daafbea \ No newline at end of file diff --git a/structlspserver_1_1DocumentLink__coll__graph.svg b/structlspserver_1_1DocumentLink__coll__graph.svg new file mode 100644 index 000000000..5327da23f --- /dev/null +++ b/structlspserver_1_1DocumentLink__coll__graph.svg @@ -0,0 +1,79 @@ + + + + + + +lspserver::DocumentLink + + +Node1 + + +lspserver::DocumentLink + + + + + +Node2 + + +lspserver::Range + + + + + +Node2->Node1 + + + + + + range + + + +Node3 + + +lspserver::Position + + + + + +Node3->Node2 + + + + + + end +start + + + +Node4 + + +lspserver::URIForFile + + + + + +Node4->Node1 + + + + + + target + + + diff --git a/structlspserver_1_1DocumentOnTypeFormattingParams-members.html b/structlspserver_1_1DocumentOnTypeFormattingParams-members.html new file mode 100644 index 000000000..6635ad9e2 --- /dev/null +++ b/structlspserver_1_1DocumentOnTypeFormattingParams-members.html @@ -0,0 +1,93 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    lspserver::DocumentOnTypeFormattingParams Member List
    +
    + + + + + diff --git a/structlspserver_1_1DocumentOnTypeFormattingParams.html b/structlspserver_1_1DocumentOnTypeFormattingParams.html new file mode 100644 index 000000000..045cc1a70 --- /dev/null +++ b/structlspserver_1_1DocumentOnTypeFormattingParams.html @@ -0,0 +1,177 @@ + + + + + + + +nixd: lspserver::DocumentOnTypeFormattingParams Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    lspserver::DocumentOnTypeFormattingParams Struct Reference
    +
    +
    + +

    #include <Protocol.h>

    +
    +Collaboration diagram for lspserver::DocumentOnTypeFormattingParams:
    +
    +
    +
    [legend]
    + + + + + + + + + + + +

    +Public Attributes

    TextDocumentIdentifier textDocument
     The document to format.
     
    Position position
     The position at which this request was sent.
     
    std::string ch
     The character that has been typed.
     
    +

    Detailed Description

    +
    +

    Definition at line 831 of file lspserver/include/lspserver/Protocol.h.

    +

    Member Data Documentation

    + +

    ◆ ch

    + +
    +
    + + + + +
    std::string lspserver::DocumentOnTypeFormattingParams::ch
    +
    + +

    The character that has been typed.

    + +

    Definition at line 839 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::fromJSON().

    + +
    +
    + +

    ◆ position

    + +
    +
    + + + + +
    Position lspserver::DocumentOnTypeFormattingParams::position
    +
    + +

    The position at which this request was sent.

    + +

    Definition at line 836 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::fromJSON().

    + +
    +
    + +

    ◆ textDocument

    + +
    +
    + + + + +
    TextDocumentIdentifier lspserver::DocumentOnTypeFormattingParams::textDocument
    +
    + +

    The document to format.

    + +

    Definition at line 833 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::fromJSON().

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structlspserver_1_1DocumentOnTypeFormattingParams__coll__graph.map b/structlspserver_1_1DocumentOnTypeFormattingParams__coll__graph.map new file mode 100644 index 000000000..ba7174b07 --- /dev/null +++ b/structlspserver_1_1DocumentOnTypeFormattingParams__coll__graph.map @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/structlspserver_1_1DocumentOnTypeFormattingParams__coll__graph.md5 b/structlspserver_1_1DocumentOnTypeFormattingParams__coll__graph.md5 new file mode 100644 index 000000000..023399d69 --- /dev/null +++ b/structlspserver_1_1DocumentOnTypeFormattingParams__coll__graph.md5 @@ -0,0 +1 @@ +8da006bffcc25bcbf3e63d040b7835e2 \ No newline at end of file diff --git a/structlspserver_1_1DocumentOnTypeFormattingParams__coll__graph.svg b/structlspserver_1_1DocumentOnTypeFormattingParams__coll__graph.svg new file mode 100644 index 000000000..789137ffe --- /dev/null +++ b/structlspserver_1_1DocumentOnTypeFormattingParams__coll__graph.svg @@ -0,0 +1,79 @@ + + + + + + +lspserver::DocumentOnTypeFormattingParams + + +Node1 + + +lspserver::DocumentOnType +FormattingParams + + + + + +Node2 + + +lspserver::TextDocumentIdentifier + + + + + +Node2->Node1 + + + + + + textDocument + + + +Node3 + + +lspserver::URIForFile + + + + + +Node3->Node2 + + + + + + uri + + + +Node4 + + +lspserver::Position + + + + + +Node4->Node1 + + + + + + position + + + diff --git a/structlspserver_1_1DocumentRangeFormattingParams-members.html b/structlspserver_1_1DocumentRangeFormattingParams-members.html new file mode 100644 index 000000000..97569fe21 --- /dev/null +++ b/structlspserver_1_1DocumentRangeFormattingParams-members.html @@ -0,0 +1,92 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    lspserver::DocumentRangeFormattingParams Member List
    +
    + + + + + diff --git a/structlspserver_1_1DocumentRangeFormattingParams.html b/structlspserver_1_1DocumentRangeFormattingParams.html new file mode 100644 index 000000000..510163845 --- /dev/null +++ b/structlspserver_1_1DocumentRangeFormattingParams.html @@ -0,0 +1,154 @@ + + + + + + + +nixd: lspserver::DocumentRangeFormattingParams Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    lspserver::DocumentRangeFormattingParams Struct Reference
    +
    +
    + +

    #include <Protocol.h>

    +
    +Collaboration diagram for lspserver::DocumentRangeFormattingParams:
    +
    +
    +
    [legend]
    + + + + + + + + +

    +Public Attributes

    TextDocumentIdentifier textDocument
     The document to format.
     
    Range range
     The range to format.
     
    +

    Detailed Description

    +
    +

    Definition at line 821 of file lspserver/include/lspserver/Protocol.h.

    +

    Member Data Documentation

    + +

    ◆ range

    + +
    +
    + + + + +
    Range lspserver::DocumentRangeFormattingParams::range
    +
    + +

    The range to format.

    + +

    Definition at line 826 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::fromJSON().

    + +
    +
    + +

    ◆ textDocument

    + +
    +
    + + + + +
    TextDocumentIdentifier lspserver::DocumentRangeFormattingParams::textDocument
    +
    + +

    The document to format.

    + +

    Definition at line 823 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::fromJSON().

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structlspserver_1_1DocumentRangeFormattingParams__coll__graph.map b/structlspserver_1_1DocumentRangeFormattingParams__coll__graph.map new file mode 100644 index 000000000..51550a061 --- /dev/null +++ b/structlspserver_1_1DocumentRangeFormattingParams__coll__graph.map @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/structlspserver_1_1DocumentRangeFormattingParams__coll__graph.md5 b/structlspserver_1_1DocumentRangeFormattingParams__coll__graph.md5 new file mode 100644 index 000000000..0d571dc21 --- /dev/null +++ b/structlspserver_1_1DocumentRangeFormattingParams__coll__graph.md5 @@ -0,0 +1 @@ +a1968eabfbe550c819ceb7ac3260a6b9 \ No newline at end of file diff --git a/structlspserver_1_1DocumentRangeFormattingParams__coll__graph.svg b/structlspserver_1_1DocumentRangeFormattingParams__coll__graph.svg new file mode 100644 index 000000000..c77223539 --- /dev/null +++ b/structlspserver_1_1DocumentRangeFormattingParams__coll__graph.svg @@ -0,0 +1,99 @@ + + + + + + +lspserver::DocumentRangeFormattingParams + + +Node1 + + +lspserver::DocumentRange +FormattingParams + + + + + +Node2 + + +lspserver::TextDocumentIdentifier + + + + + +Node2->Node1 + + + + + + textDocument + + + +Node3 + + +lspserver::URIForFile + + + + + +Node3->Node2 + + + + + + uri + + + +Node4 + + +lspserver::Range + + + + + +Node4->Node1 + + + + + + range + + + +Node5 + + +lspserver::Position + + + + + +Node5->Node4 + + + + + + end +start + + + diff --git a/structlspserver_1_1DocumentSymbol-members.html b/structlspserver_1_1DocumentSymbol-members.html new file mode 100644 index 000000000..494e060c0 --- /dev/null +++ b/structlspserver_1_1DocumentSymbol-members.html @@ -0,0 +1,97 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    lspserver::DocumentSymbol Member List
    +
    + + + + + diff --git a/structlspserver_1_1DocumentSymbol.html b/structlspserver_1_1DocumentSymbol.html new file mode 100644 index 000000000..75f0c7233 --- /dev/null +++ b/structlspserver_1_1DocumentSymbol.html @@ -0,0 +1,266 @@ + + + + + + + +nixd: lspserver::DocumentSymbol Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    lspserver::DocumentSymbol Struct Reference
    +
    +
    + +

    #include <Protocol.h>

    +
    +Collaboration diagram for lspserver::DocumentSymbol:
    +
    +
    +
    [legend]
    + + + + + + + + + + + + + + + + + + + + + +

    +Public Attributes

    std::string name
     The name of this symbol.
     
    std::string detail
     More detail for this symbol, e.g the signature of a function.
     
    SymbolKind kind
     The kind of this symbol.
     
    bool deprecated = false
     Indicates if this symbol is deprecated.
     
    Range range
     
    Range selectionRange
     
    std::vector< DocumentSymbolchildren
     Children of this symbol, e.g. properties of a class.
     
    +

    Detailed Description

    +

    Represents programming constructs like variables, classes, interfaces etc. that appear in a document. Document symbols can be hierarchical and they have two ranges: one that encloses its definition and one that points to its most interesting range, e.g. the range of an identifier.

    + +

    Definition at line 1080 of file lspserver/include/lspserver/Protocol.h.

    +

    Member Data Documentation

    + +

    ◆ children

    + +
    +
    + + + + +
    std::vector<DocumentSymbol> lspserver::DocumentSymbol::children
    +
    + +

    Children of this symbol, e.g. properties of a class.

    + +

    Definition at line 1104 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::toJSON().

    + +
    +
    + +

    ◆ deprecated

    + +
    +
    + + + + +
    bool lspserver::DocumentSymbol::deprecated = false
    +
    + +

    Indicates if this symbol is deprecated.

    + +

    Definition at line 1091 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::toJSON().

    + +
    +
    + +

    ◆ detail

    + +
    +
    + + + + +
    std::string lspserver::DocumentSymbol::detail
    +
    + +

    More detail for this symbol, e.g the signature of a function.

    + +

    Definition at line 1085 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::toJSON().

    + +
    +
    + +

    ◆ kind

    + +
    +
    + + + + +
    SymbolKind lspserver::DocumentSymbol::kind
    +
    + +

    The kind of this symbol.

    + +

    Definition at line 1088 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::toJSON().

    + +
    +
    + +

    ◆ name

    + +
    +
    + + + + +
    std::string lspserver::DocumentSymbol::name
    +
    + +

    The name of this symbol.

    + +

    Definition at line 1082 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::operator<<(), and lspserver::toJSON().

    + +
    +
    + +

    ◆ range

    + +
    +
    + + + + +
    Range lspserver::DocumentSymbol::range
    +
    +

    The range enclosing this symbol not including leading/trailing whitespace but everything else like comments. This information is typically used to determine if the clients cursor is inside the symbol to reveal in the symbol in the UI.

    + +

    Definition at line 1097 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::toJSON().

    + +
    +
    + +

    ◆ selectionRange

    + +
    +
    + + + + +
    Range lspserver::DocumentSymbol::selectionRange
    +
    +

    The range that should be selected and revealed when this symbol is being picked, e.g the name of a function. Must be contained by the range.

    + +

    Definition at line 1101 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::toJSON().

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structlspserver_1_1DocumentSymbolParams-members.html b/structlspserver_1_1DocumentSymbolParams-members.html new file mode 100644 index 000000000..aac175006 --- /dev/null +++ b/structlspserver_1_1DocumentSymbolParams-members.html @@ -0,0 +1,91 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    lspserver::DocumentSymbolParams Member List
    +
    +
    + +

    This is the complete list of members for lspserver::DocumentSymbolParams, including all inherited members.

    + + +
    textDocumentlspserver::DocumentSymbolParams
    + + + + diff --git a/structlspserver_1_1DocumentSymbolParams.html b/structlspserver_1_1DocumentSymbolParams.html new file mode 100644 index 000000000..8c1c84875 --- /dev/null +++ b/structlspserver_1_1DocumentSymbolParams.html @@ -0,0 +1,128 @@ + + + + + + + +nixd: lspserver::DocumentSymbolParams Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    lspserver::DocumentSymbolParams Struct Reference
    +
    +
    + +

    #include <Protocol.h>

    +
    +Collaboration diagram for lspserver::DocumentSymbolParams:
    +
    +
    +
    [legend]
    + + + + +

    +Public Attributes

    TextDocumentIdentifier textDocument
     
    +

    Detailed Description

    +
    +

    Definition at line 851 of file lspserver/include/lspserver/Protocol.h.

    +

    Member Data Documentation

    + +

    ◆ textDocument

    + +
    +
    + + + + +
    TextDocumentIdentifier lspserver::DocumentSymbolParams::textDocument
    +
    + +

    Definition at line 853 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::fromJSON().

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structlspserver_1_1DocumentSymbolParams__coll__graph.map b/structlspserver_1_1DocumentSymbolParams__coll__graph.map new file mode 100644 index 000000000..749947d9a --- /dev/null +++ b/structlspserver_1_1DocumentSymbolParams__coll__graph.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/structlspserver_1_1DocumentSymbolParams__coll__graph.md5 b/structlspserver_1_1DocumentSymbolParams__coll__graph.md5 new file mode 100644 index 000000000..526a57de2 --- /dev/null +++ b/structlspserver_1_1DocumentSymbolParams__coll__graph.md5 @@ -0,0 +1 @@ +eff8a5128a21c96a0e60762d66781917 \ No newline at end of file diff --git a/structlspserver_1_1DocumentSymbolParams__coll__graph.svg b/structlspserver_1_1DocumentSymbolParams__coll__graph.svg new file mode 100644 index 000000000..1239191c7 --- /dev/null +++ b/structlspserver_1_1DocumentSymbolParams__coll__graph.svg @@ -0,0 +1,60 @@ + + + + + + +lspserver::DocumentSymbolParams + + +Node1 + + +lspserver::DocumentSymbol +Params + + + + + +Node2 + + +lspserver::TextDocumentIdentifier + + + + + +Node2->Node1 + + + + + + textDocument + + + +Node3 + + +lspserver::URIForFile + + + + + +Node3->Node2 + + + + + + uri + + + diff --git a/structlspserver_1_1DocumentSymbol__coll__graph.map b/structlspserver_1_1DocumentSymbol__coll__graph.map new file mode 100644 index 000000000..7aba635e9 --- /dev/null +++ b/structlspserver_1_1DocumentSymbol__coll__graph.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/structlspserver_1_1DocumentSymbol__coll__graph.md5 b/structlspserver_1_1DocumentSymbol__coll__graph.md5 new file mode 100644 index 000000000..be738f2f5 --- /dev/null +++ b/structlspserver_1_1DocumentSymbol__coll__graph.md5 @@ -0,0 +1 @@ +305b8042b0481583a7cc8da2e2a5ef94 \ No newline at end of file diff --git a/structlspserver_1_1DocumentSymbol__coll__graph.svg b/structlspserver_1_1DocumentSymbol__coll__graph.svg new file mode 100644 index 000000000..2fa1f6ca5 --- /dev/null +++ b/structlspserver_1_1DocumentSymbol__coll__graph.svg @@ -0,0 +1,61 @@ + + + + + + +lspserver::DocumentSymbol + + +Node1 + + +lspserver::DocumentSymbol + + + + + +Node2 + + +lspserver::Range + + + + + +Node2->Node1 + + + + + + range +selectionRange + + + +Node3 + + +lspserver::Position + + + + + +Node3->Node2 + + + + + + end +start + + + diff --git a/structlspserver_1_1DraftStore_1_1Draft-members.html b/structlspserver_1_1DraftStore_1_1Draft-members.html new file mode 100644 index 000000000..da05f4ab6 --- /dev/null +++ b/structlspserver_1_1DraftStore_1_1Draft-members.html @@ -0,0 +1,92 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    lspserver::DraftStore::Draft Member List
    +
    +
    + +

    This is the complete list of members for lspserver::DraftStore::Draft, including all inherited members.

    + + + +
    Contentslspserver::DraftStore::Draft
    Versionlspserver::DraftStore::Draft
    + + + + diff --git a/structlspserver_1_1DraftStore_1_1Draft.html b/structlspserver_1_1DraftStore_1_1Draft.html new file mode 100644 index 000000000..0b6c13ca0 --- /dev/null +++ b/structlspserver_1_1DraftStore_1_1Draft.html @@ -0,0 +1,143 @@ + + + + + + + +nixd: lspserver::DraftStore::Draft Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    lspserver::DraftStore::Draft Struct Reference
    +
    +
    + +

    #include <DraftStore.h>

    + + + + + + +

    +Public Attributes

    std::shared_ptr< const std::string > Contents
     
    std::string Version
     
    +

    Detailed Description

    +
    +

    Definition at line 27 of file DraftStore.h.

    +

    Member Data Documentation

    + +

    ◆ Contents

    + +
    +
    + + + + +
    std::shared_ptr<const std::string> lspserver::DraftStore::Draft::Contents
    +
    + +

    Definition at line 28 of file DraftStore.h.

    + +

    Referenced by lspserver::DraftStore::addDraft(), and lspserver::DraftStore::asVFS().

    + +
    +
    + +

    ◆ Version

    + +
    +
    + + + + +
    std::string lspserver::DraftStore::Draft::Version
    +
    + +

    Definition at line 29 of file DraftStore.h.

    + +

    Referenced by lspserver::DraftStore::addDraft().

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structlspserver_1_1ExecuteCommandParams-members.html b/structlspserver_1_1ExecuteCommandParams-members.html new file mode 100644 index 000000000..a2d061eb4 --- /dev/null +++ b/structlspserver_1_1ExecuteCommandParams-members.html @@ -0,0 +1,92 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    lspserver::ExecuteCommandParams Member List
    +
    +
    + +

    This is the complete list of members for lspserver::ExecuteCommandParams, including all inherited members.

    + + + +
    argumentlspserver::ExecuteCommandParams
    commandlspserver::ExecuteCommandParams
    + + + + diff --git a/structlspserver_1_1ExecuteCommandParams.html b/structlspserver_1_1ExecuteCommandParams.html new file mode 100644 index 000000000..18f581ce7 --- /dev/null +++ b/structlspserver_1_1ExecuteCommandParams.html @@ -0,0 +1,151 @@ + + + + + + + +nixd: lspserver::ExecuteCommandParams Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    lspserver::ExecuteCommandParams Struct Reference
    +
    +
    + +

    #include <Protocol.h>

    +
    +Inheritance diagram for lspserver::ExecuteCommandParams:
    +
    +
    +
    [legend]
    + + + + + + + +

    +Public Attributes

    std::string command
     The identifier of the actual command handler.
     
    llvm::json::Value argument = nullptr
     
    +

    Detailed Description

    +
    +

    Definition at line 1025 of file lspserver/include/lspserver/Protocol.h.

    +

    Member Data Documentation

    + +

    ◆ argument

    + +
    +
    + + + + +
    llvm::json::Value lspserver::ExecuteCommandParams::argument = nullptr
    +
    + +

    Definition at line 1031 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::fromJSON(), and lspserver::toJSON().

    + +
    +
    + +

    ◆ command

    + +
    +
    + + + + +
    std::string lspserver::ExecuteCommandParams::command
    +
    + +

    The identifier of the actual command handler.

    + +

    Definition at line 1027 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::fromJSON(), and lspserver::toJSON().

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structlspserver_1_1ExecuteCommandParams__inherit__graph.map b/structlspserver_1_1ExecuteCommandParams__inherit__graph.map new file mode 100644 index 000000000..b7b554b33 --- /dev/null +++ b/structlspserver_1_1ExecuteCommandParams__inherit__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/structlspserver_1_1ExecuteCommandParams__inherit__graph.md5 b/structlspserver_1_1ExecuteCommandParams__inherit__graph.md5 new file mode 100644 index 000000000..c8266739d --- /dev/null +++ b/structlspserver_1_1ExecuteCommandParams__inherit__graph.md5 @@ -0,0 +1 @@ +7b25abe3b43376db6c24034e34151555 \ No newline at end of file diff --git a/structlspserver_1_1ExecuteCommandParams__inherit__graph.svg b/structlspserver_1_1ExecuteCommandParams__inherit__graph.svg new file mode 100644 index 000000000..8a82e61a1 --- /dev/null +++ b/structlspserver_1_1ExecuteCommandParams__inherit__graph.svg @@ -0,0 +1,40 @@ + + + + + + +lspserver::ExecuteCommandParams + + +Node1 + + +lspserver::ExecuteCommand +Params + + + + + +Node2 + + +lspserver::Command + + + + + +Node1->Node2 + + + + + + + + diff --git a/structlspserver_1_1FileEvent-members.html b/structlspserver_1_1FileEvent-members.html new file mode 100644 index 000000000..2780e1b0e --- /dev/null +++ b/structlspserver_1_1FileEvent-members.html @@ -0,0 +1,92 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    lspserver::FileEvent Member List
    +
    +
    + +

    This is the complete list of members for lspserver::FileEvent, including all inherited members.

    + + + +
    typelspserver::FileEvent
    urilspserver::FileEvent
    + + + + diff --git a/structlspserver_1_1FileEvent.html b/structlspserver_1_1FileEvent.html new file mode 100644 index 000000000..309dae7e3 --- /dev/null +++ b/structlspserver_1_1FileEvent.html @@ -0,0 +1,154 @@ + + + + + + + +nixd: lspserver::FileEvent Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    lspserver::FileEvent Struct Reference
    +
    +
    + +

    #include <Protocol.h>

    +
    +Collaboration diagram for lspserver::FileEvent:
    +
    +
    +
    [legend]
    + + + + + + + + +

    +Public Attributes

    URIForFile uri
     The file's URI.
     
    FileChangeType type = FileChangeType::Created
     The change type.
     
    +

    Detailed Description

    +
    +

    Definition at line 792 of file lspserver/include/lspserver/Protocol.h.

    +

    Member Data Documentation

    + +

    ◆ type

    + +
    +
    + + + + +
    FileChangeType lspserver::FileEvent::type = FileChangeType::Created
    +
    + +

    The change type.

    + +

    Definition at line 796 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::fromJSON().

    + +
    +
    + +

    ◆ uri

    + +
    +
    + + + + +
    URIForFile lspserver::FileEvent::uri
    +
    + +

    The file's URI.

    + +

    Definition at line 794 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::fromJSON().

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structlspserver_1_1FileEvent__coll__graph.map b/structlspserver_1_1FileEvent__coll__graph.map new file mode 100644 index 000000000..4c0cb5eb3 --- /dev/null +++ b/structlspserver_1_1FileEvent__coll__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/structlspserver_1_1FileEvent__coll__graph.md5 b/structlspserver_1_1FileEvent__coll__graph.md5 new file mode 100644 index 000000000..d8b39d356 --- /dev/null +++ b/structlspserver_1_1FileEvent__coll__graph.md5 @@ -0,0 +1 @@ +cf4ecd980ce891ed4976db794de6244e \ No newline at end of file diff --git a/structlspserver_1_1FileEvent__coll__graph.svg b/structlspserver_1_1FileEvent__coll__graph.svg new file mode 100644 index 000000000..83886cdd0 --- /dev/null +++ b/structlspserver_1_1FileEvent__coll__graph.svg @@ -0,0 +1,40 @@ + + + + + + +lspserver::FileEvent + + +Node1 + + +lspserver::FileEvent + + + + + +Node2 + + +lspserver::URIForFile + + + + + +Node2->Node1 + + + + + + uri + + + diff --git a/structlspserver_1_1FileStatus-members.html b/structlspserver_1_1FileStatus-members.html new file mode 100644 index 000000000..e19f77ea6 --- /dev/null +++ b/structlspserver_1_1FileStatus-members.html @@ -0,0 +1,92 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    lspserver::FileStatus Member List
    +
    +
    + +

    This is the complete list of members for lspserver::FileStatus, including all inherited members.

    + + + +
    statelspserver::FileStatus
    urilspserver::FileStatus
    + + + + diff --git a/structlspserver_1_1FileStatus.html b/structlspserver_1_1FileStatus.html new file mode 100644 index 000000000..83a96cc5c --- /dev/null +++ b/structlspserver_1_1FileStatus.html @@ -0,0 +1,153 @@ + + + + + + + +nixd: lspserver::FileStatus Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    lspserver::FileStatus Struct Reference
    +
    +
    + +

    #include <Protocol.h>

    +
    +Collaboration diagram for lspserver::FileStatus:
    +
    +
    +
    [legend]
    + + + + + + + +

    +Public Attributes

    URIForFile uri
     The text document's URI.
     
    std::string state
     
    +

    Detailed Description

    +

    Clangd extension: indicates the current state of the file in clangd, sent from server via the textDocument/clangd.fileStatus notification.

    + +

    Definition at line 1663 of file lspserver/include/lspserver/Protocol.h.

    +

    Member Data Documentation

    + +

    ◆ state

    + +
    +
    + + + + +
    std::string lspserver::FileStatus::state
    +
    +

    The human-readable string presents the current state of the file, can be shown in the UI (e.g. status bar).

    + +

    Definition at line 1668 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::toJSON().

    + +
    +
    + +

    ◆ uri

    + +
    +
    + + + + +
    URIForFile lspserver::FileStatus::uri
    +
    + +

    The text document's URI.

    + +

    Definition at line 1665 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::toJSON().

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structlspserver_1_1FileStatus__coll__graph.map b/structlspserver_1_1FileStatus__coll__graph.map new file mode 100644 index 000000000..dd90d2325 --- /dev/null +++ b/structlspserver_1_1FileStatus__coll__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/structlspserver_1_1FileStatus__coll__graph.md5 b/structlspserver_1_1FileStatus__coll__graph.md5 new file mode 100644 index 000000000..753293e41 --- /dev/null +++ b/structlspserver_1_1FileStatus__coll__graph.md5 @@ -0,0 +1 @@ +affe2ca6b93816083415baae20dd94b5 \ No newline at end of file diff --git a/structlspserver_1_1FileStatus__coll__graph.svg b/structlspserver_1_1FileStatus__coll__graph.svg new file mode 100644 index 000000000..e1009cd37 --- /dev/null +++ b/structlspserver_1_1FileStatus__coll__graph.svg @@ -0,0 +1,40 @@ + + + + + + +lspserver::FileStatus + + +Node1 + + +lspserver::FileStatus + + + + + +Node2 + + +lspserver::URIForFile + + + + + +Node2->Node1 + + + + + + uri + + + diff --git a/structlspserver_1_1FoldingRange-members.html b/structlspserver_1_1FoldingRange-members.html new file mode 100644 index 000000000..f00020fe8 --- /dev/null +++ b/structlspserver_1_1FoldingRange-members.html @@ -0,0 +1,98 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    lspserver::FoldingRange Member List
    +
    + + + + + diff --git a/structlspserver_1_1FoldingRange.html b/structlspserver_1_1FoldingRange.html new file mode 100644 index 000000000..2a7725a32 --- /dev/null +++ b/structlspserver_1_1FoldingRange.html @@ -0,0 +1,280 @@ + + + + + + + +nixd: lspserver::FoldingRange Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    lspserver::FoldingRange Struct Reference
    +
    +
    + +

    Stores information about a region of code that can be folded. + More...

    + +

    #include <Protocol.h>

    + + + + + + + + + + + + +

    +Public Attributes

    unsigned startLine = 0
     
    unsigned startCharacter
     
    unsigned endLine = 0
     
    unsigned endCharacter
     
    std::string kind
     
    + + + + + + + +

    +Static Public Attributes

    static const llvm::StringLiteral REGION_KIND = "region"
     
    static const llvm::StringLiteral COMMENT_KIND = "comment"
     
    static const llvm::StringLiteral IMPORT_KIND = "import"
     
    +

    Detailed Description

    +

    Stores information about a region of code that can be folded.

    + +

    Definition at line 1821 of file lspserver/include/lspserver/Protocol.h.

    +

    Member Data Documentation

    + +

    ◆ COMMENT_KIND

    + +
    +
    + + + + + +
    + + + + +
    const llvm::StringLiteral lspserver::FoldingRange::COMMENT_KIND = "comment"
    +
    +static
    +
    + +

    Definition at line 1828 of file lspserver/include/lspserver/Protocol.h.

    + +
    +
    + +

    ◆ endCharacter

    + +
    +
    + + + + +
    unsigned lspserver::FoldingRange::endCharacter
    +
    + +

    Definition at line 1825 of file lspserver/include/lspserver/Protocol.h.

    + +
    +
    + +

    ◆ endLine

    + +
    +
    + + + + +
    unsigned lspserver::FoldingRange::endLine = 0
    +
    + +

    Definition at line 1824 of file lspserver/include/lspserver/Protocol.h.

    + +
    +
    + +

    ◆ IMPORT_KIND

    + +
    +
    + + + + + +
    + + + + +
    const llvm::StringLiteral lspserver::FoldingRange::IMPORT_KIND = "import"
    +
    +static
    +
    + +

    Definition at line 1829 of file lspserver/include/lspserver/Protocol.h.

    + +
    +
    + +

    ◆ kind

    + +
    +
    + + + + +
    std::string lspserver::FoldingRange::kind
    +
    + +

    Definition at line 1830 of file lspserver/include/lspserver/Protocol.h.

    + +
    +
    + +

    ◆ REGION_KIND

    + +
    +
    + + + + + +
    + + + + +
    const llvm::StringLiteral lspserver::FoldingRange::REGION_KIND = "region"
    +
    +static
    +
    + +

    Definition at line 1827 of file lspserver/include/lspserver/Protocol.h.

    + +
    +
    + +

    ◆ startCharacter

    + +
    +
    + + + + +
    unsigned lspserver::FoldingRange::startCharacter
    +
    + +

    Definition at line 1823 of file lspserver/include/lspserver/Protocol.h.

    + +
    +
    + +

    ◆ startLine

    + +
    +
    + + + + +
    unsigned lspserver::FoldingRange::startLine = 0
    +
    + +

    Definition at line 1822 of file lspserver/include/lspserver/Protocol.h.

    + +
    +
    +
    The documentation for this struct was generated from the following files: +
    + + + + diff --git a/structlspserver_1_1FoldingRangeParams-members.html b/structlspserver_1_1FoldingRangeParams-members.html new file mode 100644 index 000000000..ee61e7cb2 --- /dev/null +++ b/structlspserver_1_1FoldingRangeParams-members.html @@ -0,0 +1,91 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    lspserver::FoldingRangeParams Member List
    +
    +
    + +

    This is the complete list of members for lspserver::FoldingRangeParams, including all inherited members.

    + + +
    textDocumentlspserver::FoldingRangeParams
    + + + + diff --git a/structlspserver_1_1FoldingRangeParams.html b/structlspserver_1_1FoldingRangeParams.html new file mode 100644 index 000000000..d12767e31 --- /dev/null +++ b/structlspserver_1_1FoldingRangeParams.html @@ -0,0 +1,128 @@ + + + + + + + +nixd: lspserver::FoldingRangeParams Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    lspserver::FoldingRangeParams Struct Reference
    +
    +
    + +

    #include <Protocol.h>

    +
    +Collaboration diagram for lspserver::FoldingRangeParams:
    +
    +
    +
    [legend]
    + + + + +

    +Public Attributes

    TextDocumentIdentifier textDocument
     
    +

    Detailed Description

    +
    +

    Definition at line 1814 of file lspserver/include/lspserver/Protocol.h.

    +

    Member Data Documentation

    + +

    ◆ textDocument

    + +
    +
    + + + + +
    TextDocumentIdentifier lspserver::FoldingRangeParams::textDocument
    +
    + +

    Definition at line 1815 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::fromJSON().

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structlspserver_1_1FoldingRangeParams__coll__graph.map b/structlspserver_1_1FoldingRangeParams__coll__graph.map new file mode 100644 index 000000000..906f1b57d --- /dev/null +++ b/structlspserver_1_1FoldingRangeParams__coll__graph.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/structlspserver_1_1FoldingRangeParams__coll__graph.md5 b/structlspserver_1_1FoldingRangeParams__coll__graph.md5 new file mode 100644 index 000000000..6b5ff6ef8 --- /dev/null +++ b/structlspserver_1_1FoldingRangeParams__coll__graph.md5 @@ -0,0 +1 @@ +02bd7e4f33cba052b69132cf6ed08604 \ No newline at end of file diff --git a/structlspserver_1_1FoldingRangeParams__coll__graph.svg b/structlspserver_1_1FoldingRangeParams__coll__graph.svg new file mode 100644 index 000000000..bc5610df5 --- /dev/null +++ b/structlspserver_1_1FoldingRangeParams__coll__graph.svg @@ -0,0 +1,59 @@ + + + + + + +lspserver::FoldingRangeParams + + +Node1 + + +lspserver::FoldingRangeParams + + + + + +Node2 + + +lspserver::TextDocumentIdentifier + + + + + +Node2->Node1 + + + + + + textDocument + + + +Node3 + + +lspserver::URIForFile + + + + + +Node3->Node2 + + + + + + uri + + + diff --git a/structlspserver_1_1HandlerRegistry-members.html b/structlspserver_1_1HandlerRegistry-members.html new file mode 100644 index 000000000..14d0cc85f --- /dev/null +++ b/structlspserver_1_1HandlerRegistry-members.html @@ -0,0 +1,98 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    lspserver::HandlerRegistry Member List
    +
    +
    + +

    This is the complete list of members for lspserver::HandlerRegistry, including all inherited members.

    + + + + + + + + + +
    addCommand(llvm::StringLiteral Command, ThisT *This, void(ThisT::*Handler)(const Param &, Callback< Result >))lspserver::HandlerRegistryinline
    addMethod(llvm::StringLiteral Method, ThisT *This, void(ThisT::*Handler)(const Param &, Callback< Result >))lspserver::HandlerRegistryinline
    addNotification(llvm::StringLiteral Method, ThisT *This, void(ThisT::*Handler)(const Param &))lspserver::HandlerRegistryinline
    CommandHandlerslspserver::HandlerRegistry
    HandlerMap typedeflspserver::HandlerRegistry
    JSON typedeflspserver::HandlerRegistry
    MethodHandlerslspserver::HandlerRegistry
    NotificationHandlerslspserver::HandlerRegistry
    + + + + diff --git a/structlspserver_1_1HandlerRegistry.html b/structlspserver_1_1HandlerRegistry.html new file mode 100644 index 000000000..2cd6b2988 --- /dev/null +++ b/structlspserver_1_1HandlerRegistry.html @@ -0,0 +1,348 @@ + + + + + + + +nixd: lspserver::HandlerRegistry Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    lspserver::HandlerRegistry Struct Reference
    +
    +
    + +

    #include <LSPBinder.h>

    + + + + + + + +

    +Public Types

    using JSON = llvm::json::Value
     
    template<typename HandlerT >
    using HandlerMap = llvm::StringMap<llvm::unique_function<HandlerT>>
     
    + + + + + + + + + + +

    +Public Member Functions

    template<typename Param , typename Result , typename ThisT >
    void addMethod (llvm::StringLiteral Method, ThisT *This, void(ThisT::*Handler)(const Param &, Callback< Result >))
     
    template<typename Param , typename ThisT >
    void addNotification (llvm::StringLiteral Method, ThisT *This, void(ThisT::*Handler)(const Param &))
     
    template<typename Param , typename Result , typename ThisT >
    void addCommand (llvm::StringLiteral Command, ThisT *This, void(ThisT::*Handler)(const Param &, Callback< Result >))
     
    + + + + + + + +

    +Public Attributes

    HandlerMap< void(JSON)> NotificationHandlers
     
    HandlerMap< void(JSON, Callback< JSON >)> MethodHandlers
     
    HandlerMap< void(JSON, Callback< JSON >)> CommandHandlers
     
    +

    Detailed Description

    +
    +

    Definition at line 73 of file LSPBinder.h.

    +

    Member Typedef Documentation

    + +

    ◆ HandlerMap

    + +
    +
    +
    +template<typename HandlerT >
    + + + + +
    using lspserver::HandlerRegistry::HandlerMap = llvm::StringMap<llvm::unique_function<HandlerT>>
    +
    + +

    Definition at line 76 of file LSPBinder.h.

    + +
    +
    + +

    ◆ JSON

    + +
    +
    + + + + +
    using lspserver::HandlerRegistry::JSON = llvm::json::Value
    +
    + +

    Definition at line 74 of file LSPBinder.h.

    + +
    +
    +

    Member Function Documentation

    + +

    ◆ addCommand()

    + +
    +
    +
    +template<typename Param , typename Result , typename ThisT >
    + + + + + +
    + + + + + + + + + + + + + + + + +
    void lspserver::HandlerRegistry::addCommand (llvm::StringLiteral Command,
    ThisT * This,
    void(ThisT::*)(const Param &, Callback< Result >) Handler )
    +
    +inline
    +
    +

    Bind a handler for an LSP command. e.g. command("load", this, &ThisModule::load); Handler should be e.g. void load(const LoadParams&, Callback<LoadResult>); LoadParams must be JSON-parseable and LoadResult must be serializable.

    + +

    Definition at line 119 of file LSPBinder.h.

    + +

    References CommandHandlers.

    + +
    +
    + +

    ◆ addMethod()

    + +
    +
    +
    +template<typename Param , typename Result , typename ThisT >
    + + + + + +
    + + + + + + + + + + + + + + + + +
    void lspserver::HandlerRegistry::addMethod (llvm::StringLiteral Method,
    ThisT * This,
    void(ThisT::*)(const Param &, Callback< Result >) Handler )
    +
    +inline
    +
    +

    Bind a handler for an LSP method. e.g. method("peek", this, &ThisModule::peek); Handler should be e.g. void peek(const PeekParams&, Callback<PeekResult>); PeekParams must be JSON-parseable and PeekResult must be serializable.

    + +

    Definition at line 88 of file LSPBinder.h.

    + +

    References lspserver::Method, and MethodHandlers.

    + +

    Referenced by nixd::Controller::Controller().

    + +
    +
    + +

    ◆ addNotification()

    + +
    +
    +
    +template<typename Param , typename ThisT >
    + + + + + +
    + + + + + + + + + + + + + + + + +
    void lspserver::HandlerRegistry::addNotification (llvm::StringLiteral Method,
    ThisT * This,
    void(ThisT::*)(const Param &) Handler )
    +
    +inline
    +
    +

    Bind a handler for an LSP notification. e.g. notification("poke", this, &ThisModule::poke); Handler should be e.g. void poke(const PokeParams&); PokeParams must be JSON-parseable.

    + +

    Definition at line 104 of file LSPBinder.h.

    + +

    References lspserver::Method, and NotificationHandlers.

    + +

    Referenced by nixd::Controller::Controller().

    + +
    +
    +

    Member Data Documentation

    + +

    ◆ CommandHandlers

    + +
    +
    + + + + +
    HandlerMap<void(JSON, Callback<JSON>)> lspserver::HandlerRegistry::CommandHandlers
    +
    + +

    Definition at line 80 of file LSPBinder.h.

    + +

    Referenced by addCommand().

    + +
    +
    + +

    ◆ MethodHandlers

    + +
    +
    + + + + +
    HandlerMap<void(JSON, Callback<JSON>)> lspserver::HandlerRegistry::MethodHandlers
    +
    + +

    Definition at line 79 of file LSPBinder.h.

    + +

    Referenced by addMethod().

    + +
    +
    + +

    ◆ NotificationHandlers

    + +
    +
    + + + + +
    HandlerMap<void(JSON)> lspserver::HandlerRegistry::NotificationHandlers
    +
    + +

    Definition at line 78 of file LSPBinder.h.

    + +

    Referenced by addNotification().

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structlspserver_1_1Hover-members.html b/structlspserver_1_1Hover-members.html new file mode 100644 index 000000000..e561d848d --- /dev/null +++ b/structlspserver_1_1Hover-members.html @@ -0,0 +1,92 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    lspserver::Hover Member List
    +
    +
    + +

    This is the complete list of members for lspserver::Hover, including all inherited members.

    + + + +
    contentslspserver::Hover
    rangelspserver::Hover
    + + + + diff --git a/structlspserver_1_1Hover.html b/structlspserver_1_1Hover.html new file mode 100644 index 000000000..c4065b0a9 --- /dev/null +++ b/structlspserver_1_1Hover.html @@ -0,0 +1,152 @@ + + + + + + + +nixd: lspserver::Hover Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    lspserver::Hover Struct Reference
    +
    +
    + +

    #include <Protocol.h>

    +
    +Collaboration diagram for lspserver::Hover:
    +
    +
    +
    [legend]
    + + + + + + + +

    +Public Attributes

    MarkupContent contents
     The hover's content.
     
    std::optional< Rangerange
     
    +

    Detailed Description

    +
    +

    Definition at line 1205 of file lspserver/include/lspserver/Protocol.h.

    +

    Member Data Documentation

    + +

    ◆ contents

    + +
    +
    + + + + +
    MarkupContent lspserver::Hover::contents
    +
    + +

    The hover's content.

    + +

    Definition at line 1207 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::toJSON().

    + +
    +
    + +

    ◆ range

    + +
    +
    + + + + +
    std::optional<Range> lspserver::Hover::range
    +
    +

    An optional range is a range inside a text document that is used to visualize a hover, e.g. by changing the background color.

    + +

    Definition at line 1211 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::toJSON().

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structlspserver_1_1Hover__coll__graph.map b/structlspserver_1_1Hover__coll__graph.map new file mode 100644 index 000000000..b94d84c30 --- /dev/null +++ b/structlspserver_1_1Hover__coll__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/structlspserver_1_1Hover__coll__graph.md5 b/structlspserver_1_1Hover__coll__graph.md5 new file mode 100644 index 000000000..8df1da262 --- /dev/null +++ b/structlspserver_1_1Hover__coll__graph.md5 @@ -0,0 +1 @@ +27c389fb1faa613d7d12c1f6ec47dd7b \ No newline at end of file diff --git a/structlspserver_1_1Hover__coll__graph.svg b/structlspserver_1_1Hover__coll__graph.svg new file mode 100644 index 000000000..a99f4e07f --- /dev/null +++ b/structlspserver_1_1Hover__coll__graph.svg @@ -0,0 +1,40 @@ + + + + + + +lspserver::Hover + + +Node1 + + +lspserver::Hover + + + + + +Node2 + + +lspserver::MarkupContent + + + + + +Node2->Node1 + + + + + + contents + + + diff --git a/structlspserver_1_1InactiveRegionsParams-members.html b/structlspserver_1_1InactiveRegionsParams-members.html new file mode 100644 index 000000000..d8afdec64 --- /dev/null +++ b/structlspserver_1_1InactiveRegionsParams-members.html @@ -0,0 +1,92 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    lspserver::InactiveRegionsParams Member List
    +
    +
    + +

    This is the complete list of members for lspserver::InactiveRegionsParams, including all inherited members.

    + + + +
    InactiveRegionslspserver::InactiveRegionsParams
    TextDocumentlspserver::InactiveRegionsParams
    + + + + diff --git a/structlspserver_1_1InactiveRegionsParams.html b/structlspserver_1_1InactiveRegionsParams.html new file mode 100644 index 000000000..35a810407 --- /dev/null +++ b/structlspserver_1_1InactiveRegionsParams.html @@ -0,0 +1,155 @@ + + + + + + + +nixd: lspserver::InactiveRegionsParams Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    lspserver::InactiveRegionsParams Struct Reference
    +
    +
    + +

    #include <Protocol.h>

    +
    +Collaboration diagram for lspserver::InactiveRegionsParams:
    +
    +
    +
    [legend]
    + + + + + + + + +

    +Public Attributes

    TextDocumentIdentifier TextDocument
     The textdocument these inactive regions belong to.
     
    std::vector< RangeInactiveRegions
     The inactive regions that should be sent.
     
    +

    Detailed Description

    +

    Parameters for the inactive regions (server-side) push notification. This is a clangd extension.

    + +

    Definition at line 1747 of file lspserver/include/lspserver/Protocol.h.

    +

    Member Data Documentation

    + +

    ◆ InactiveRegions

    + +
    +
    + + + + +
    std::vector<Range> lspserver::InactiveRegionsParams::InactiveRegions
    +
    + +

    The inactive regions that should be sent.

    + +

    Definition at line 1751 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::toJSON().

    + +
    +
    + +

    ◆ TextDocument

    + +
    +
    + + + + +
    TextDocumentIdentifier lspserver::InactiveRegionsParams::TextDocument
    +
    + +

    The textdocument these inactive regions belong to.

    + +

    Definition at line 1749 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::toJSON().

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structlspserver_1_1InactiveRegionsParams__coll__graph.map b/structlspserver_1_1InactiveRegionsParams__coll__graph.map new file mode 100644 index 000000000..21c413018 --- /dev/null +++ b/structlspserver_1_1InactiveRegionsParams__coll__graph.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/structlspserver_1_1InactiveRegionsParams__coll__graph.md5 b/structlspserver_1_1InactiveRegionsParams__coll__graph.md5 new file mode 100644 index 000000000..0679ce217 --- /dev/null +++ b/structlspserver_1_1InactiveRegionsParams__coll__graph.md5 @@ -0,0 +1 @@ +144d4bc6437bc4dd9256fddb31eb97e5 \ No newline at end of file diff --git a/structlspserver_1_1InactiveRegionsParams__coll__graph.svg b/structlspserver_1_1InactiveRegionsParams__coll__graph.svg new file mode 100644 index 000000000..045883986 --- /dev/null +++ b/structlspserver_1_1InactiveRegionsParams__coll__graph.svg @@ -0,0 +1,60 @@ + + + + + + +lspserver::InactiveRegionsParams + + +Node1 + + +lspserver::InactiveRegions +Params + + + + + +Node2 + + +lspserver::TextDocumentIdentifier + + + + + +Node2->Node1 + + + + + + TextDocument + + + +Node3 + + +lspserver::URIForFile + + + + + +Node3->Node2 + + + + + + uri + + + diff --git a/structlspserver_1_1InitializationOptions-members.html b/structlspserver_1_1InitializationOptions-members.html new file mode 100644 index 000000000..8a04489c2 --- /dev/null +++ b/structlspserver_1_1InitializationOptions-members.html @@ -0,0 +1,94 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    lspserver::InitializationOptions Member List
    +
    + + + + + diff --git a/structlspserver_1_1InitializationOptions.html b/structlspserver_1_1InitializationOptions.html new file mode 100644 index 000000000..f5a6f74f6 --- /dev/null +++ b/structlspserver_1_1InitializationOptions.html @@ -0,0 +1,192 @@ + + + + + + + +nixd: lspserver::InitializationOptions Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    lspserver::InitializationOptions Struct Reference
    +
    +
    + +

    #include <Protocol.h>

    +
    +Collaboration diagram for lspserver::InitializationOptions:
    +
    +
    +
    [legend]
    + + + + + + + + + + + +

    +Public Attributes

    ConfigurationSettings ConfigSettings
     
    std::optional< std::string > compilationDatabasePath
     
    std::vector< std::string > fallbackFlags
     
    bool FileStatus = false
     Clients supports show file status for textDocument/clangd.fileStatus.
     
    +

    Detailed Description

    +

    Clangd extension: parameters configurable at initialize time. LSP defines this type as any.

    + +

    Definition at line 567 of file lspserver/include/lspserver/Protocol.h.

    +

    Member Data Documentation

    + +

    ◆ compilationDatabasePath

    + +
    +
    + + + + +
    std::optional<std::string> lspserver::InitializationOptions::compilationDatabasePath
    +
    + +

    Definition at line 572 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::fromJSON().

    + +
    +
    + +

    ◆ ConfigSettings

    + +
    +
    + + + + +
    ConfigurationSettings lspserver::InitializationOptions::ConfigSettings
    +
    + +

    Definition at line 570 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::fromJSON().

    + +
    +
    + +

    ◆ fallbackFlags

    + +
    +
    + + + + +
    std::vector<std::string> lspserver::InitializationOptions::fallbackFlags
    +
    + +

    Definition at line 576 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::fromJSON().

    + +
    +
    + +

    ◆ FileStatus

    + +
    +
    + + + + +
    bool lspserver::InitializationOptions::FileStatus = false
    +
    + +

    Clients supports show file status for textDocument/clangd.fileStatus.

    + +

    Definition at line 579 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::fromJSON().

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structlspserver_1_1InitializationOptions__coll__graph.map b/structlspserver_1_1InitializationOptions__coll__graph.map new file mode 100644 index 000000000..047b8c19f --- /dev/null +++ b/structlspserver_1_1InitializationOptions__coll__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/structlspserver_1_1InitializationOptions__coll__graph.md5 b/structlspserver_1_1InitializationOptions__coll__graph.md5 new file mode 100644 index 000000000..d10a13ca9 --- /dev/null +++ b/structlspserver_1_1InitializationOptions__coll__graph.md5 @@ -0,0 +1 @@ +91562100176fc40ad1fd440b0743b275 \ No newline at end of file diff --git a/structlspserver_1_1InitializationOptions__coll__graph.svg b/structlspserver_1_1InitializationOptions__coll__graph.svg new file mode 100644 index 000000000..cea1c5c7b --- /dev/null +++ b/structlspserver_1_1InitializationOptions__coll__graph.svg @@ -0,0 +1,42 @@ + + + + + + +lspserver::InitializationOptions + + +Node1 + + +lspserver::Initialization +Options + + + + + +Node2 + + +lspserver::Configuration +Settings + + + + + +Node2->Node1 + + + + + + ConfigSettings + + + diff --git a/structlspserver_1_1InitializeParams-members.html b/structlspserver_1_1InitializeParams-members.html new file mode 100644 index 000000000..c44a3172f --- /dev/null +++ b/structlspserver_1_1InitializeParams-members.html @@ -0,0 +1,97 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    lspserver::InitializeParams Member List
    +
    + + + + + diff --git a/structlspserver_1_1InitializeParams.html b/structlspserver_1_1InitializeParams.html new file mode 100644 index 000000000..12af65276 --- /dev/null +++ b/structlspserver_1_1InitializeParams.html @@ -0,0 +1,264 @@ + + + + + + + +nixd: lspserver::InitializeParams Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    lspserver::InitializeParams Struct Reference
    +
    +
    + +

    #include <Protocol.h>

    +
    +Collaboration diagram for lspserver::InitializeParams:
    +
    +
    +
    [legend]
    + + + + + + + + + + + + + + + + + + + + +

    +Public Attributes

    std::optional< int > processId
     
    std::optional< std::string > rootPath
     
    std::optional< URIForFilerootUri
     
    ClientCapabilities capabilities
     The capabilities provided by the client (editor or tool)
     
    llvm::json::Object rawCapabilities
     The same data as capabilities, but not parsed (to expose to modules).
     
    std::optional< TraceLeveltrace
     The initial trace setting. If omitted trace is disabled ('off').
     
    InitializationOptions initializationOptions
     User-provided initialization options.
     
    +

    Detailed Description

    +
    +

    Definition at line 584 of file lspserver/include/lspserver/Protocol.h.

    +

    Member Data Documentation

    + +

    ◆ capabilities

    + +
    +
    + + + + +
    ClientCapabilities lspserver::InitializeParams::capabilities
    +
    + +

    The capabilities provided by the client (editor or tool)

    + +

    Definition at line 606 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::fromJSON().

    + +
    +
    + +

    ◆ initializationOptions

    + +
    +
    + + + + +
    InitializationOptions lspserver::InitializeParams::initializationOptions
    +
    + +

    User-provided initialization options.

    + +

    Definition at line 614 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::fromJSON().

    + +
    +
    + +

    ◆ processId

    + +
    +
    + + + + +
    std::optional<int> lspserver::InitializeParams::processId
    +
    +

    The process Id of the parent process that started the server. Is null if the process has not been started by another process. If the parent process is not alive then the server should exit (see exit notification) its process.

    + +

    Definition at line 589 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::fromJSON().

    + +
    +
    + +

    ◆ rawCapabilities

    + +
    +
    + + + + +
    llvm::json::Object lspserver::InitializeParams::rawCapabilities
    +
    + +

    The same data as capabilities, but not parsed (to expose to modules).

    + +

    Definition at line 608 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::fromJSON().

    + +
    +
    + +

    ◆ rootPath

    + +
    +
    + + + + +
    std::optional<std::string> lspserver::InitializeParams::rootPath
    +
    +

    The rootPath of the workspace. Is null if no folder is open.

    +

    deprecated, in favour of rootUri.

    + +

    Definition at line 595 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::fromJSON().

    + +
    +
    + +

    ◆ rootUri

    + +
    +
    + + + + +
    std::optional<URIForFile> lspserver::InitializeParams::rootUri
    +
    +

    The rootUri of the workspace. Is null if no folder is open. If both rootPath and rootUri are set rootUri wins.

    + +

    Definition at line 600 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::fromJSON().

    + +
    +
    + +

    ◆ trace

    + +
    +
    + + + + +
    std::optional<TraceLevel> lspserver::InitializeParams::trace
    +
    + +

    The initial trace setting. If omitted trace is disabled ('off').

    + +

    Definition at line 611 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::fromJSON().

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structlspserver_1_1InitializeParams__coll__graph.map b/structlspserver_1_1InitializeParams__coll__graph.map new file mode 100644 index 000000000..e88698af3 --- /dev/null +++ b/structlspserver_1_1InitializeParams__coll__graph.map @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/structlspserver_1_1InitializeParams__coll__graph.md5 b/structlspserver_1_1InitializeParams__coll__graph.md5 new file mode 100644 index 000000000..2fccc50e7 --- /dev/null +++ b/structlspserver_1_1InitializeParams__coll__graph.md5 @@ -0,0 +1 @@ +7ba33f1c012bc1740b17668d8dfb0d55 \ No newline at end of file diff --git a/structlspserver_1_1InitializeParams__coll__graph.svg b/structlspserver_1_1InitializeParams__coll__graph.svg new file mode 100644 index 000000000..c3b50518f --- /dev/null +++ b/structlspserver_1_1InitializeParams__coll__graph.svg @@ -0,0 +1,80 @@ + + + + + + +lspserver::InitializeParams + + +Node1 + + +lspserver::InitializeParams + + + + + +Node2 + + +lspserver::ClientCapabilities + + + + + +Node2->Node1 + + + + + + capabilities + + + +Node3 + + +lspserver::Initialization +Options + + + + + +Node3->Node1 + + + + + + initializationOptions + + + +Node4 + + +lspserver::Configuration +Settings + + + + + +Node4->Node3 + + + + + + ConfigSettings + + + diff --git a/structlspserver_1_1InlayHint-members.html b/structlspserver_1_1InlayHint-members.html new file mode 100644 index 000000000..a49c3ef45 --- /dev/null +++ b/structlspserver_1_1InlayHint-members.html @@ -0,0 +1,96 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    lspserver::InlayHint Member List
    +
    + + + + + diff --git a/structlspserver_1_1InlayHint.html b/structlspserver_1_1InlayHint.html new file mode 100644 index 000000000..23e21c211 --- /dev/null +++ b/structlspserver_1_1InlayHint.html @@ -0,0 +1,244 @@ + + + + + + + +nixd: lspserver::InlayHint Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    lspserver::InlayHint Struct Reference
    +
    +
    + +

    Inlay hint information. + More...

    + +

    #include <Protocol.h>

    +
    +Collaboration diagram for lspserver::InlayHint:
    +
    +
    +
    [legend]
    + + + + + + + + + + + + + + + +

    +Public Attributes

    Position position
     The position of this hint.
     
    std::string label
     
    InlayHintKind kind
     
    bool paddingLeft = false
     
    bool paddingRight = false
     
    Range range
     
    +

    Detailed Description

    +

    Inlay hint information.

    + +

    Definition at line 1611 of file lspserver/include/lspserver/Protocol.h.

    +

    Member Data Documentation

    + +

    ◆ kind

    + +
    +
    + + + + +
    InlayHintKind lspserver::InlayHint::kind
    +
    +

    The kind of this hint. Can be omitted in which case the client should fall back to a reasonable default.

    + +

    Definition at line 1623 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::operator<(), lspserver::operator==(), and lspserver::toJSON().

    + +
    +
    + +

    ◆ label

    + +
    +
    + + + + +
    std::string lspserver::InlayHint::label
    +
    +

    The label of this hint. A human readable string or an array of InlayHintLabelPart label parts.

    +

    Note that neither the string nor the label part can be empty.

    + +

    Definition at line 1619 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::operator<(), lspserver::operator==(), and lspserver::toJSON().

    + +
    +
    + +

    ◆ paddingLeft

    + +
    +
    + + + + +
    bool lspserver::InlayHint::paddingLeft = false
    +
    +

    Render padding before the hint.

    +

    Note: Padding should use the editor's background color, not the background color of the hint itself. That means padding can be used to visually align/separate an inlay hint.

    + +

    Definition at line 1630 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::toJSON().

    + +
    +
    + +

    ◆ paddingRight

    + +
    +
    + + + + +
    bool lspserver::InlayHint::paddingRight = false
    +
    +

    Render padding after the hint.

    +

    Note: Padding should use the editor's background color, not the background color of the hint itself. That means padding can be used to visually align/separate an inlay hint.

    + +

    Definition at line 1637 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::toJSON().

    + +
    +
    + +

    ◆ position

    + +
    +
    + + + + +
    Position lspserver::InlayHint::position
    +
    + +

    The position of this hint.

    + +

    Definition at line 1613 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::operator<(), lspserver::operator==(), and lspserver::toJSON().

    + +
    +
    + +

    ◆ range

    + +
    +
    + + + + +
    Range lspserver::InlayHint::range
    +
    +

    The range of source code to which the hint applies.

    +

    For example, a parameter hint may have the argument as its range. The range allows clients more flexibility of when/how to display the hint. This is an (unserialized) clangd extension.

    + +

    Definition at line 1644 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::operator<(), and lspserver::operator==().

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structlspserver_1_1InlayHint__coll__graph.map b/structlspserver_1_1InlayHint__coll__graph.map new file mode 100644 index 000000000..bb10d9c8b --- /dev/null +++ b/structlspserver_1_1InlayHint__coll__graph.map @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/structlspserver_1_1InlayHint__coll__graph.md5 b/structlspserver_1_1InlayHint__coll__graph.md5 new file mode 100644 index 000000000..7cb7cce7d --- /dev/null +++ b/structlspserver_1_1InlayHint__coll__graph.md5 @@ -0,0 +1 @@ +f048a85f4833f7952a0c85d1ede6b710 \ No newline at end of file diff --git a/structlspserver_1_1InlayHint__coll__graph.svg b/structlspserver_1_1InlayHint__coll__graph.svg new file mode 100644 index 000000000..f1c6ea23e --- /dev/null +++ b/structlspserver_1_1InlayHint__coll__graph.svg @@ -0,0 +1,70 @@ + + + + + + +lspserver::InlayHint + + +Node1 + + +lspserver::InlayHint + + + + + +Node2 + + +lspserver::Position + + + + + +Node2->Node1 + + + + + + position + + + +Node3 + + +lspserver::Range + + + + + +Node2->Node3 + + + + + + end +start + + + +Node3->Node1 + + + + + + range + + + diff --git a/structlspserver_1_1InlayHintsParams-members.html b/structlspserver_1_1InlayHintsParams-members.html new file mode 100644 index 000000000..1e2a3ab0c --- /dev/null +++ b/structlspserver_1_1InlayHintsParams-members.html @@ -0,0 +1,92 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    lspserver::InlayHintsParams Member List
    +
    +
    + +

    This is the complete list of members for lspserver::InlayHintsParams, including all inherited members.

    + + + +
    rangelspserver::InlayHintsParams
    textDocumentlspserver::InlayHintsParams
    + + + + diff --git a/structlspserver_1_1InlayHintsParams.html b/structlspserver_1_1InlayHintsParams.html new file mode 100644 index 000000000..6d123b6ba --- /dev/null +++ b/structlspserver_1_1InlayHintsParams.html @@ -0,0 +1,157 @@ + + + + + + + +nixd: lspserver::InlayHintsParams Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    lspserver::InlayHintsParams Struct Reference
    +
    +
    + +

    A parameter literal used in inlay hint requests. + More...

    + +

    #include <Protocol.h>

    +
    +Collaboration diagram for lspserver::InlayHintsParams:
    +
    +
    +
    [legend]
    + + + + + + + +

    +Public Attributes

    TextDocumentIdentifier textDocument
     The text document.
     
    std::optional< Rangerange
     
    +

    Detailed Description

    +

    A parameter literal used in inlay hint requests.

    + +

    Definition at line 1567 of file lspserver/include/lspserver/Protocol.h.

    +

    Member Data Documentation

    + +

    ◆ range

    + +
    +
    + + + + +
    std::optional<Range> lspserver::InlayHintsParams::range
    +
    +

    The visible document range for which inlay hints should be computed.

    +

    std::nullopt is a clangd extension, which hints for computing hints on the whole file.

    + +

    Definition at line 1575 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::fromJSON().

    + +
    +
    + +

    ◆ textDocument

    + +
    +
    + + + + +
    TextDocumentIdentifier lspserver::InlayHintsParams::textDocument
    +
    + +

    The text document.

    + +

    Definition at line 1569 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::fromJSON().

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structlspserver_1_1InlayHintsParams__coll__graph.map b/structlspserver_1_1InlayHintsParams__coll__graph.map new file mode 100644 index 000000000..fc353b33a --- /dev/null +++ b/structlspserver_1_1InlayHintsParams__coll__graph.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/structlspserver_1_1InlayHintsParams__coll__graph.md5 b/structlspserver_1_1InlayHintsParams__coll__graph.md5 new file mode 100644 index 000000000..53abb1ce8 --- /dev/null +++ b/structlspserver_1_1InlayHintsParams__coll__graph.md5 @@ -0,0 +1 @@ +0bc496360f2c2379cc7dfe320c1d247b \ No newline at end of file diff --git a/structlspserver_1_1InlayHintsParams__coll__graph.svg b/structlspserver_1_1InlayHintsParams__coll__graph.svg new file mode 100644 index 000000000..ee550cfbc --- /dev/null +++ b/structlspserver_1_1InlayHintsParams__coll__graph.svg @@ -0,0 +1,59 @@ + + + + + + +lspserver::InlayHintsParams + + +Node1 + + +lspserver::InlayHintsParams + + + + + +Node2 + + +lspserver::TextDocumentIdentifier + + + + + +Node2->Node1 + + + + + + textDocument + + + +Node3 + + +lspserver::URIForFile + + + + + +Node3->Node2 + + + + + + uri + + + diff --git a/structlspserver_1_1LSPDiagnosticCompare-members.html b/structlspserver_1_1LSPDiagnosticCompare-members.html new file mode 100644 index 000000000..d50bceaf2 --- /dev/null +++ b/structlspserver_1_1LSPDiagnosticCompare-members.html @@ -0,0 +1,91 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    lspserver::LSPDiagnosticCompare Member List
    +
    +
    + +

    This is the complete list of members for lspserver::LSPDiagnosticCompare, including all inherited members.

    + + +
    operator()(const Diagnostic &LHS, const Diagnostic &RHS) constlspserver::LSPDiagnosticCompareinline
    + + + + diff --git a/structlspserver_1_1LSPDiagnosticCompare.html b/structlspserver_1_1LSPDiagnosticCompare.html new file mode 100644 index 000000000..288030cd2 --- /dev/null +++ b/structlspserver_1_1LSPDiagnosticCompare.html @@ -0,0 +1,139 @@ + + + + + + + +nixd: lspserver::LSPDiagnosticCompare Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    lspserver::LSPDiagnosticCompare Struct Reference
    +
    +
    + +

    #include <Protocol.h>

    + + + + +

    +Public Member Functions

    bool operator() (const Diagnostic &LHS, const Diagnostic &RHS) const
     
    +

    Detailed Description

    +

    A LSP-specific comparator used to find diagnostic in a container like std:map. We only use the required fields of Diagnostic to do the comparison to avoid any regression issues from LSP clients (e.g. VScode), see https://git.io/vbr29

    + +

    Definition at line 943 of file lspserver/include/lspserver/Protocol.h.

    +

    Member Function Documentation

    + +

    ◆ operator()()

    + +
    +
    + + + + + +
    + + + + + + + + + + + +
    bool lspserver::LSPDiagnosticCompare::operator() (const Diagnostic & LHS,
    const Diagnostic & RHS ) const
    +
    +inline
    +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structlspserver_1_1Location-members.html b/structlspserver_1_1Location-members.html new file mode 100644 index 000000000..2fd34d931 --- /dev/null +++ b/structlspserver_1_1Location-members.html @@ -0,0 +1,95 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    lspserver::Location Member List
    +
    +
    + +

    This is the complete list of members for lspserver::Location, including all inherited members.

    + + + + + + +
    operator!=lspserver::Locationfriend
    operator<lspserver::Locationfriend
    operator==lspserver::Locationfriend
    rangelspserver::Location
    urilspserver::Location
    + + + + diff --git a/structlspserver_1_1Location.html b/structlspserver_1_1Location.html new file mode 100644 index 000000000..6468c3336 --- /dev/null +++ b/structlspserver_1_1Location.html @@ -0,0 +1,260 @@ + + + + + + + +nixd: lspserver::Location Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    lspserver::Location Struct Reference
    +
    +
    + +

    #include <Protocol.h>

    +
    +Inheritance diagram for lspserver::Location:
    +
    +
    +
    [legend]
    +
    +Collaboration diagram for lspserver::Location:
    +
    +
    +
    [legend]
    + + + + + + + +

    +Public Attributes

    URIForFile uri
     The text document's URI.
     
    Range range
     
    + + + + + + + +

    +Friends

    bool operator== (const Location &LHS, const Location &RHS)
     
    bool operator!= (const Location &LHS, const Location &RHS)
     
    bool operator< (const Location &LHS, const Location &RHS)
     
    +

    Detailed Description

    +
    +

    Definition at line 192 of file lspserver/include/lspserver/Protocol.h.

    +

    Friends And Related Symbol Documentation

    + +

    ◆ operator!=

    + +
    +
    + + + + + +
    + + + + + + + + + + + +
    bool operator!= (const Location & LHS,
    const Location & RHS )
    +
    +friend
    +
    + +

    Definition at line 201 of file lspserver/include/lspserver/Protocol.h.

    + +
    +
    + +

    ◆ operator<

    + +
    +
    + + + + + +
    + + + + + + + + + + + +
    bool operator< (const Location & LHS,
    const Location & RHS )
    +
    +friend
    +
    + +

    Definition at line 205 of file lspserver/include/lspserver/Protocol.h.

    + +
    +
    + +

    ◆ operator==

    + +
    +
    + + + + + +
    + + + + + + + + + + + +
    bool operator== (const Location & LHS,
    const Location & RHS )
    +
    +friend
    +
    + +

    Definition at line 197 of file lspserver/include/lspserver/Protocol.h.

    + +
    +
    +

    Member Data Documentation

    + +

    ◆ range

    + +
    +
    + + + + +
    Range lspserver::Location::range
    +
    +
    + +

    ◆ uri

    + +
    +
    + + + + +
    URIForFile lspserver::Location::uri
    +
    + +

    The text document's URI.

    + +

    Definition at line 194 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::operator<<(), lspserver::operator<<(), lspserver::toJSON(), and lspserver::toJSON().

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structlspserver_1_1Location__coll__graph.map b/structlspserver_1_1Location__coll__graph.map new file mode 100644 index 000000000..cc49cf83e --- /dev/null +++ b/structlspserver_1_1Location__coll__graph.map @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/structlspserver_1_1Location__coll__graph.md5 b/structlspserver_1_1Location__coll__graph.md5 new file mode 100644 index 000000000..1feb3aed5 --- /dev/null +++ b/structlspserver_1_1Location__coll__graph.md5 @@ -0,0 +1 @@ +a31b154b6f0b335e5ba83d193fe10e7d \ No newline at end of file diff --git a/structlspserver_1_1Location__coll__graph.svg b/structlspserver_1_1Location__coll__graph.svg new file mode 100644 index 000000000..e4afd7d7a --- /dev/null +++ b/structlspserver_1_1Location__coll__graph.svg @@ -0,0 +1,79 @@ + + + + + + +lspserver::Location + + +Node1 + + +lspserver::Location + + + + + +Node2 + + +lspserver::URIForFile + + + + + +Node2->Node1 + + + + + + uri + + + +Node3 + + +lspserver::Range + + + + + +Node3->Node1 + + + + + + range + + + +Node4 + + +lspserver::Position + + + + + +Node4->Node3 + + + + + + end +start + + + diff --git a/structlspserver_1_1Location__inherit__graph.map b/structlspserver_1_1Location__inherit__graph.map new file mode 100644 index 000000000..016bd3dd0 --- /dev/null +++ b/structlspserver_1_1Location__inherit__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/structlspserver_1_1Location__inherit__graph.md5 b/structlspserver_1_1Location__inherit__graph.md5 new file mode 100644 index 000000000..37c27e085 --- /dev/null +++ b/structlspserver_1_1Location__inherit__graph.md5 @@ -0,0 +1 @@ +639efdeacd2b2b0870ab3009620e0c6d \ No newline at end of file diff --git a/structlspserver_1_1Location__inherit__graph.svg b/structlspserver_1_1Location__inherit__graph.svg new file mode 100644 index 000000000..3c2e9bde8 --- /dev/null +++ b/structlspserver_1_1Location__inherit__graph.svg @@ -0,0 +1,39 @@ + + + + + + +lspserver::Location + + +Node1 + + +lspserver::Location + + + + + +Node2 + + +lspserver::ReferenceLocation + + + + + +Node1->Node2 + + + + + + + + diff --git a/structlspserver_1_1MarkupContent-members.html b/structlspserver_1_1MarkupContent-members.html new file mode 100644 index 000000000..2ba9296a0 --- /dev/null +++ b/structlspserver_1_1MarkupContent-members.html @@ -0,0 +1,92 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    lspserver::MarkupContent Member List
    +
    +
    + +

    This is the complete list of members for lspserver::MarkupContent, including all inherited members.

    + + + +
    kindlspserver::MarkupContent
    valuelspserver::MarkupContent
    + + + + diff --git a/structlspserver_1_1MarkupContent.html b/structlspserver_1_1MarkupContent.html new file mode 100644 index 000000000..beb932ea3 --- /dev/null +++ b/structlspserver_1_1MarkupContent.html @@ -0,0 +1,143 @@ + + + + + + + +nixd: lspserver::MarkupContent Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    lspserver::MarkupContent Struct Reference
    +
    +
    + +

    #include <Protocol.h>

    + + + + + + +

    +Public Attributes

    MarkupKind kind = MarkupKind::PlainText
     
    std::string value
     
    +

    Detailed Description

    +
    +

    Definition at line 1199 of file lspserver/include/lspserver/Protocol.h.

    +

    Member Data Documentation

    + +

    ◆ kind

    + +
    +
    + + + + +
    MarkupKind lspserver::MarkupContent::kind = MarkupKind::PlainText
    +
    + +

    Definition at line 1200 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::toJSON().

    + +
    +
    + +

    ◆ value

    + +
    +
    + + + + +
    std::string lspserver::MarkupContent::value
    +
    + +

    Definition at line 1201 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::toJSON(), and lspserver::toJSON().

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structlspserver_1_1NoParams.html b/structlspserver_1_1NoParams.html new file mode 100644 index 000000000..4a88d6c5b --- /dev/null +++ b/structlspserver_1_1NoParams.html @@ -0,0 +1,95 @@ + + + + + + + +nixd: lspserver::NoParams Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    lspserver::NoParams Struct Reference
    +
    +
    + +

    #include <Protocol.h>

    +

    Detailed Description

    +
    +

    Definition at line 297 of file lspserver/include/lspserver/Protocol.h.

    +

    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structlspserver_1_1ParameterInformation-members.html b/structlspserver_1_1ParameterInformation-members.html new file mode 100644 index 000000000..2b7a323c3 --- /dev/null +++ b/structlspserver_1_1ParameterInformation-members.html @@ -0,0 +1,93 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    lspserver::ParameterInformation Member List
    +
    + + + + + diff --git a/structlspserver_1_1ParameterInformation.html b/structlspserver_1_1ParameterInformation.html new file mode 100644 index 000000000..116244f7c --- /dev/null +++ b/structlspserver_1_1ParameterInformation.html @@ -0,0 +1,174 @@ + + + + + + + +nixd: lspserver::ParameterInformation Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    lspserver::ParameterInformation Struct Reference
    +
    +
    + +

    A single parameter of a particular signature. + More...

    + +

    #include <Protocol.h>

    + + + + + + + + + + +

    +Public Attributes

    std::string labelString
     The label of this parameter. Ignored when labelOffsets is set.
     
    std::optional< std::pair< unsigned, unsigned > > labelOffsets
     
    std::string documentation
     The documentation of this parameter. Optional.
     
    +

    Detailed Description

    +

    A single parameter of a particular signature.

    + +

    Definition at line 1312 of file lspserver/include/lspserver/Protocol.h.

    +

    Member Data Documentation

    + +

    ◆ documentation

    + +
    +
    + + + + +
    std::string lspserver::ParameterInformation::documentation
    +
    + +

    The documentation of this parameter. Optional.

    + +

    Definition at line 1324 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::toJSON().

    + +
    +
    + +

    ◆ labelOffsets

    + +
    +
    + + + + +
    std::optional<std::pair<unsigned, unsigned> > lspserver::ParameterInformation::labelOffsets
    +
    +

    Inclusive start and exclusive end offsets withing the containing signature label. Offsets are computed by lspLength(), which counts UTF-16 code units by default but that can be overriden, see its documentation for details.

    + +

    Definition at line 1321 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::toJSON().

    + +
    +
    + +

    ◆ labelString

    + +
    +
    + + + + +
    std::string lspserver::ParameterInformation::labelString
    +
    + +

    The label of this parameter. Ignored when labelOffsets is set.

    + +

    Definition at line 1315 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::toJSON().

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structlspserver_1_1Position-members.html b/structlspserver_1_1Position-members.html new file mode 100644 index 000000000..9935756bb --- /dev/null +++ b/structlspserver_1_1Position-members.html @@ -0,0 +1,96 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    lspserver::Position Member List
    +
    + + + + + diff --git a/structlspserver_1_1Position.html b/structlspserver_1_1Position.html new file mode 100644 index 000000000..06f1af149 --- /dev/null +++ b/structlspserver_1_1Position.html @@ -0,0 +1,284 @@ + + + + + + + +nixd: lspserver::Position Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    lspserver::Position Struct Reference
    +
    +
    + +

    #include <Protocol.h>

    + + + + + + + +

    +Public Attributes

    int line = 0
     Line position in a document (zero-based).
     
    int character = 0
     
    + + + + + + + + + +

    +Friends

    bool operator== (const Position &LHS, const Position &RHS)
     
    bool operator!= (const Position &LHS, const Position &RHS)
     
    bool operator< (const Position &LHS, const Position &RHS)
     
    bool operator<= (const Position &LHS, const Position &RHS)
     
    +

    Detailed Description

    +
    +

    Definition at line 128 of file lspserver/include/lspserver/Protocol.h.

    +

    Friends And Related Symbol Documentation

    + +

    ◆ operator!=

    + +
    +
    + + + + + +
    + + + + + + + + + + + +
    bool operator!= (const Position & LHS,
    const Position & RHS )
    +
    +friend
    +
    + +

    Definition at line 141 of file lspserver/include/lspserver/Protocol.h.

    + +
    +
    + +

    ◆ operator<

    + +
    +
    + + + + + +
    + + + + + + + + + + + +
    bool operator< (const Position & LHS,
    const Position & RHS )
    +
    +friend
    +
    + +

    Definition at line 144 of file lspserver/include/lspserver/Protocol.h.

    + +
    +
    + +

    ◆ operator<=

    + +
    +
    + + + + + +
    + + + + + + + + + + + +
    bool operator<= (const Position & LHS,
    const Position & RHS )
    +
    +friend
    +
    + +

    Definition at line 148 of file lspserver/include/lspserver/Protocol.h.

    + +
    +
    + +

    ◆ operator==

    + +
    +
    + + + + + +
    + + + + + + + + + + + +
    bool operator== (const Position & LHS,
    const Position & RHS )
    +
    +friend
    +
    + +

    Definition at line 137 of file lspserver/include/lspserver/Protocol.h.

    + +
    +
    +

    Member Data Documentation

    + +

    ◆ character

    + +
    +
    + + + + +
    int lspserver::Position::character = 0
    +
    +

    Character offset on a line in a document (zero-based). WARNING: this is in UTF-16 codepoints, not bytes or characters! Use the functions in SourceCode.h to construct/interpret Positions.

    + +

    Definition at line 135 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::fromJSON(), lspserver::offsetToPosition(), lspserver::operator<<(), lspserver::positionToOffset(), and lspserver::toJSON().

    + +
    +
    + +

    ◆ line

    + +
    +
    + + + + +
    int lspserver::Position::line = 0
    +
    + +

    Line position in a document (zero-based).

    + +

    Definition at line 130 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::fromJSON(), lspserver::offsetToPosition(), lspserver::operator<<(), lspserver::positionToOffset(), and lspserver::toJSON().

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structlspserver_1_1ProgressParams-members.html b/structlspserver_1_1ProgressParams-members.html new file mode 100644 index 000000000..8eb79053d --- /dev/null +++ b/structlspserver_1_1ProgressParams-members.html @@ -0,0 +1,92 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    lspserver::ProgressParams< T > Member List
    +
    +
    + +

    This is the complete list of members for lspserver::ProgressParams< T >, including all inherited members.

    + + + +
    tokenlspserver::ProgressParams< T >
    valuelspserver::ProgressParams< T >
    + + + + diff --git a/structlspserver_1_1ProgressParams.html b/structlspserver_1_1ProgressParams.html new file mode 100644 index 000000000..2680d5449 --- /dev/null +++ b/structlspserver_1_1ProgressParams.html @@ -0,0 +1,154 @@ + + + + + + + +nixd: lspserver::ProgressParams< T > Struct Template Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    lspserver::ProgressParams< T > Struct Template Reference
    +
    +
    + +

    #include <Protocol.h>

    + + + + + + + + +

    +Public Attributes

    llvm::json::Value token = nullptr
     The progress token provided by the client or server.
     
    value
     The progress data.
     
    +

    Detailed Description

    +
    template<typename T>
    +struct lspserver::ProgressParams< T >
    +

    Definition at line 624 of file lspserver/include/lspserver/Protocol.h.

    +

    Member Data Documentation

    + +

    ◆ token

    + +
    +
    +
    +template<typename T >
    + + + + +
    llvm::json::Value lspserver::ProgressParams< T >::token = nullptr
    +
    + +

    The progress token provided by the client or server.

    + +

    Definition at line 626 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::toJSON().

    + +
    +
    + +

    ◆ value

    + +
    +
    +
    +template<typename T >
    + + + + +
    T lspserver::ProgressParams< T >::value
    +
    + +

    The progress data.

    + +

    Definition at line 629 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::toJSON().

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structlspserver_1_1PublishDiagnosticsParams-members.html b/structlspserver_1_1PublishDiagnosticsParams-members.html new file mode 100644 index 000000000..9d77faac0 --- /dev/null +++ b/structlspserver_1_1PublishDiagnosticsParams-members.html @@ -0,0 +1,93 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    lspserver::PublishDiagnosticsParams Member List
    +
    + + + + + diff --git a/structlspserver_1_1PublishDiagnosticsParams.html b/structlspserver_1_1PublishDiagnosticsParams.html new file mode 100644 index 000000000..90e31cf6d --- /dev/null +++ b/structlspserver_1_1PublishDiagnosticsParams.html @@ -0,0 +1,177 @@ + + + + + + + +nixd: lspserver::PublishDiagnosticsParams Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    lspserver::PublishDiagnosticsParams Struct Reference
    +
    +
    + +

    #include <Protocol.h>

    +
    +Collaboration diagram for lspserver::PublishDiagnosticsParams:
    +
    +
    +
    [legend]
    + + + + + + + + + + + +

    +Public Attributes

    URIForFile uri
     The URI for which diagnostic information is reported.
     
    std::vector< Diagnosticdiagnostics
     An array of diagnostic information items.
     
    std::optional< int64_t > version
     The version number of the document the diagnostics are published for.
     
    +

    Detailed Description

    +
    +

    Definition at line 951 of file lspserver/include/lspserver/Protocol.h.

    +

    Member Data Documentation

    + +

    ◆ diagnostics

    + +
    +
    + + + + +
    std::vector<Diagnostic> lspserver::PublishDiagnosticsParams::diagnostics
    +
    + +

    An array of diagnostic information items.

    + +

    Definition at line 955 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::toJSON().

    + +
    +
    + +

    ◆ uri

    + +
    +
    + + + + +
    URIForFile lspserver::PublishDiagnosticsParams::uri
    +
    + +

    The URI for which diagnostic information is reported.

    + +

    Definition at line 953 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::toJSON().

    + +
    +
    + +

    ◆ version

    + +
    +
    + + + + +
    std::optional<int64_t> lspserver::PublishDiagnosticsParams::version
    +
    + +

    The version number of the document the diagnostics are published for.

    + +

    Definition at line 957 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::toJSON().

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structlspserver_1_1PublishDiagnosticsParams__coll__graph.map b/structlspserver_1_1PublishDiagnosticsParams__coll__graph.map new file mode 100644 index 000000000..ded3e86b3 --- /dev/null +++ b/structlspserver_1_1PublishDiagnosticsParams__coll__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/structlspserver_1_1PublishDiagnosticsParams__coll__graph.md5 b/structlspserver_1_1PublishDiagnosticsParams__coll__graph.md5 new file mode 100644 index 000000000..73639ad78 --- /dev/null +++ b/structlspserver_1_1PublishDiagnosticsParams__coll__graph.md5 @@ -0,0 +1 @@ +20d0c128b50d3824fa4cc587da44696a \ No newline at end of file diff --git a/structlspserver_1_1PublishDiagnosticsParams__coll__graph.svg b/structlspserver_1_1PublishDiagnosticsParams__coll__graph.svg new file mode 100644 index 000000000..54ddcfea2 --- /dev/null +++ b/structlspserver_1_1PublishDiagnosticsParams__coll__graph.svg @@ -0,0 +1,41 @@ + + + + + + +lspserver::PublishDiagnosticsParams + + +Node1 + + +lspserver::PublishDiagnostics +Params + + + + + +Node2 + + +lspserver::URIForFile + + + + + +Node2->Node1 + + + + + + uri + + + diff --git a/structlspserver_1_1Range-members.html b/structlspserver_1_1Range-members.html new file mode 100644 index 000000000..7a3dc8432 --- /dev/null +++ b/structlspserver_1_1Range-members.html @@ -0,0 +1,99 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    lspserver::Range Member List
    +
    +
    + +

    This is the complete list of members for lspserver::Range, including all inherited members.

    + + + + + + + + + + +
    contains(Position Pos) constlspserver::Rangeinline
    contains(Range Rng) constlspserver::Rangeinline
    endlspserver::Range
    operator!=lspserver::Rangefriend
    operator/(const Range &RHS) constlspserver::Rangeinline
    operator<lspserver::Rangefriend
    operator==lspserver::Rangefriend
    overlap(const Range &RHS) constlspserver::Rangeinline
    startlspserver::Range
    + + + + diff --git a/structlspserver_1_1Range.html b/structlspserver_1_1Range.html new file mode 100644 index 000000000..7dcf34bae --- /dev/null +++ b/structlspserver_1_1Range.html @@ -0,0 +1,388 @@ + + + + + + + +nixd: lspserver::Range Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    lspserver::Range Struct Reference
    +
    +
    + +

    #include <Protocol.h>

    +
    +Collaboration diagram for lspserver::Range:
    +
    +
    +
    [legend]
    + + + + + + + + + + +

    +Public Member Functions

    bool contains (Position Pos) const
     
    bool contains (Range Rng) const
     
    Range operator/ (const Range &RHS) const
     
    bool overlap (const Range &RHS) const
     
    + + + + + + + +

    +Public Attributes

    Position start
     The range's start position.
     
    Position end
     The range's end position.
     
    + + + + + + + +

    +Friends

    bool operator== (const Range &LHS, const Range &RHS)
     
    bool operator!= (const Range &LHS, const Range &RHS)
     
    bool operator< (const Range &LHS, const Range &RHS)
     
    +

    Detailed Description

    +
    +

    Definition at line 157 of file lspserver/include/lspserver/Protocol.h.

    +

    Member Function Documentation

    + +

    ◆ contains() [1/2]

    + +
    +
    + + + + + +
    + + + + + + + +
    bool lspserver::Range::contains (Position Pos) const
    +
    +inline
    +
    + +

    Definition at line 174 of file lspserver/include/lspserver/Protocol.h.

    + +

    References end, and start.

    + +
    +
    + +

    ◆ contains() [2/2]

    + +
    +
    + + + + + +
    + + + + + + + +
    bool lspserver::Range::contains (Range Rng) const
    +
    +inline
    +
    + +

    Definition at line 175 of file lspserver/include/lspserver/Protocol.h.

    + +

    References end, and start.

    + +
    +
    + +

    ◆ operator/()

    + +
    +
    + + + + + +
    + + + + + + + +
    Range lspserver::Range::operator/ (const Range & RHS) const
    +
    +inline
    +
    + +

    Definition at line 179 of file lspserver/include/lspserver/Protocol.h.

    + +

    References end, and start.

    + +
    +
    + +

    ◆ overlap()

    + +
    +
    + + + + + +
    + + + + + + + +
    bool lspserver::Range::overlap (const Range & RHS) const
    +
    +inline
    +
    +
    Returns
    true if the ranges overlap.
    + +

    Definition at line 184 of file lspserver/include/lspserver/Protocol.h.

    + +

    References end, and start.

    + +
    +
    +

    Friends And Related Symbol Documentation

    + +

    ◆ operator!=

    + +
    +
    + + + + + +
    + + + + + + + + + + + +
    bool operator!= (const Range & LHS,
    const Range & RHS )
    +
    +friend
    +
    + +

    Definition at line 167 of file lspserver/include/lspserver/Protocol.h.

    + +
    +
    + +

    ◆ operator<

    + +
    +
    + + + + + +
    + + + + + + + + + + + +
    bool operator< (const Range & LHS,
    const Range & RHS )
    +
    +friend
    +
    + +

    Definition at line 170 of file lspserver/include/lspserver/Protocol.h.

    + +
    +
    + +

    ◆ operator==

    + +
    +
    + + + + + +
    + + + + + + + + + + + +
    bool operator== (const Range & LHS,
    const Range & RHS )
    +
    +friend
    +
    + +

    Definition at line 164 of file lspserver/include/lspserver/Protocol.h.

    + +
    +
    +

    Member Data Documentation

    + +

    ◆ end

    + +
    +
    + + + + +
    Position lspserver::Range::end
    +
    + +

    The range's end position.

    + +

    Definition at line 162 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by contains(), contains(), lspserver::fromJSON(), operator/(), lspserver::operator<<(), overlap(), and lspserver::toJSON().

    + +
    +
    + +

    ◆ start

    + +
    +
    + + + + +
    Position lspserver::Range::start
    +
    + +

    The range's start position.

    + +

    Definition at line 159 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by contains(), contains(), lspserver::fromJSON(), operator/(), lspserver::operator<<(), overlap(), and lspserver::toJSON().

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structlspserver_1_1Range__coll__graph.map b/structlspserver_1_1Range__coll__graph.map new file mode 100644 index 000000000..84b284c6c --- /dev/null +++ b/structlspserver_1_1Range__coll__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/structlspserver_1_1Range__coll__graph.md5 b/structlspserver_1_1Range__coll__graph.md5 new file mode 100644 index 000000000..f454b5878 --- /dev/null +++ b/structlspserver_1_1Range__coll__graph.md5 @@ -0,0 +1 @@ +e7da6c6a9ae615c40b41360765676f17 \ No newline at end of file diff --git a/structlspserver_1_1Range__coll__graph.svg b/structlspserver_1_1Range__coll__graph.svg new file mode 100644 index 000000000..a5c6b479b --- /dev/null +++ b/structlspserver_1_1Range__coll__graph.svg @@ -0,0 +1,41 @@ + + + + + + +lspserver::Range + + +Node1 + + +lspserver::Range + + + + + +Node2 + + +lspserver::Position + + + + + +Node2->Node1 + + + + + + end +start + + + diff --git a/structlspserver_1_1ReferenceContext-members.html b/structlspserver_1_1ReferenceContext-members.html new file mode 100644 index 000000000..fb2a30387 --- /dev/null +++ b/structlspserver_1_1ReferenceContext-members.html @@ -0,0 +1,91 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    lspserver::ReferenceContext Member List
    +
    +
    + +

    This is the complete list of members for lspserver::ReferenceContext, including all inherited members.

    + + +
    includeDeclarationlspserver::ReferenceContext
    + + + + diff --git a/structlspserver_1_1ReferenceContext.html b/structlspserver_1_1ReferenceContext.html new file mode 100644 index 000000000..e53caa23b --- /dev/null +++ b/structlspserver_1_1ReferenceContext.html @@ -0,0 +1,126 @@ + + + + + + + +nixd: lspserver::ReferenceContext Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    lspserver::ReferenceContext Struct Reference
    +
    +
    + +

    #include <Protocol.h>

    + + + + + +

    +Public Attributes

    bool includeDeclaration = false
     Include the declaration of the current symbol.
     
    +

    Detailed Description

    +
    +

    Definition at line 1651 of file lspserver/include/lspserver/Protocol.h.

    +

    Member Data Documentation

    + +

    ◆ includeDeclaration

    + +
    +
    + + + + +
    bool lspserver::ReferenceContext::includeDeclaration = false
    +
    + +

    Include the declaration of the current symbol.

    + +

    Definition at line 1653 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::fromJSON().

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structlspserver_1_1ReferenceLocation-members.html b/structlspserver_1_1ReferenceLocation-members.html new file mode 100644 index 000000000..358b278ee --- /dev/null +++ b/structlspserver_1_1ReferenceLocation-members.html @@ -0,0 +1,93 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    lspserver::ReferenceLocation Member List
    +
    +
    + +

    This is the complete list of members for lspserver::ReferenceLocation, including all inherited members.

    + + + + +
    containerNamelspserver::ReferenceLocation
    rangelspserver::Location
    urilspserver::Location
    + + + + diff --git a/structlspserver_1_1ReferenceLocation.html b/structlspserver_1_1ReferenceLocation.html new file mode 100644 index 000000000..cf54a9a17 --- /dev/null +++ b/structlspserver_1_1ReferenceLocation.html @@ -0,0 +1,141 @@ + + + + + + + +nixd: lspserver::ReferenceLocation Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    lspserver::ReferenceLocation Struct Reference
    +
    +
    + +

    #include <Protocol.h>

    +
    +Inheritance diagram for lspserver::ReferenceLocation:
    +
    +
    +
    [legend]
    +
    +Collaboration diagram for lspserver::ReferenceLocation:
    +
    +
    +
    [legend]
    + + + + + + + + + + +

    +Public Attributes

    std::optional< std::string > containerName
     
    - Public Attributes inherited from lspserver::Location
    URIForFile uri
     The text document's URI.
     
    Range range
     
    +

    Detailed Description

    +

    Extends Locations returned by textDocument/references with extra info. This is a clangd extension: LSP uses Location.

    + +

    Definition at line 214 of file lspserver/include/lspserver/Protocol.h.

    +

    Member Data Documentation

    + +

    ◆ containerName

    + +
    +
    + + + + +
    std::optional<std::string> lspserver::ReferenceLocation::containerName
    +
    +

    clangd extension: contains the name of the function or class in which the reference occurs

    + +

    Definition at line 217 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::operator<<(), and lspserver::toJSON().

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structlspserver_1_1ReferenceLocation__coll__graph.map b/structlspserver_1_1ReferenceLocation__coll__graph.map new file mode 100644 index 000000000..db9a29e91 --- /dev/null +++ b/structlspserver_1_1ReferenceLocation__coll__graph.map @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/structlspserver_1_1ReferenceLocation__coll__graph.md5 b/structlspserver_1_1ReferenceLocation__coll__graph.md5 new file mode 100644 index 000000000..49aa22fe9 --- /dev/null +++ b/structlspserver_1_1ReferenceLocation__coll__graph.md5 @@ -0,0 +1 @@ +19a6f5a8fe433a67b3fb4230ca4a215f \ No newline at end of file diff --git a/structlspserver_1_1ReferenceLocation__coll__graph.svg b/structlspserver_1_1ReferenceLocation__coll__graph.svg new file mode 100644 index 000000000..03a4c280d --- /dev/null +++ b/structlspserver_1_1ReferenceLocation__coll__graph.svg @@ -0,0 +1,97 @@ + + + + + + +lspserver::ReferenceLocation + + +Node1 + + +lspserver::ReferenceLocation + + + + + +Node2 + + +lspserver::Location + + + + + +Node2->Node1 + + + + + + + + +Node3 + + +lspserver::URIForFile + + + + + +Node3->Node2 + + + + + + uri + + + +Node4 + + +lspserver::Range + + + + + +Node4->Node2 + + + + + + range + + + +Node5 + + +lspserver::Position + + + + + +Node5->Node4 + + + + + + end +start + + + diff --git a/structlspserver_1_1ReferenceLocation__inherit__graph.map b/structlspserver_1_1ReferenceLocation__inherit__graph.map new file mode 100644 index 000000000..cba312a87 --- /dev/null +++ b/structlspserver_1_1ReferenceLocation__inherit__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/structlspserver_1_1ReferenceLocation__inherit__graph.md5 b/structlspserver_1_1ReferenceLocation__inherit__graph.md5 new file mode 100644 index 000000000..6c0648fef --- /dev/null +++ b/structlspserver_1_1ReferenceLocation__inherit__graph.md5 @@ -0,0 +1 @@ +08088e8fdcffb37d85104e256d863068 \ No newline at end of file diff --git a/structlspserver_1_1ReferenceLocation__inherit__graph.svg b/structlspserver_1_1ReferenceLocation__inherit__graph.svg new file mode 100644 index 000000000..9f5a52d26 --- /dev/null +++ b/structlspserver_1_1ReferenceLocation__inherit__graph.svg @@ -0,0 +1,39 @@ + + + + + + +lspserver::ReferenceLocation + + +Node1 + + +lspserver::ReferenceLocation + + + + + +Node2 + + +lspserver::Location + + + + + +Node2->Node1 + + + + + + + + diff --git a/structlspserver_1_1ReferenceParams-members.html b/structlspserver_1_1ReferenceParams-members.html new file mode 100644 index 000000000..5ed01819b --- /dev/null +++ b/structlspserver_1_1ReferenceParams-members.html @@ -0,0 +1,93 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    lspserver::ReferenceParams Member List
    +
    + + + + + diff --git a/structlspserver_1_1ReferenceParams.html b/structlspserver_1_1ReferenceParams.html new file mode 100644 index 000000000..bbddf5ae1 --- /dev/null +++ b/structlspserver_1_1ReferenceParams.html @@ -0,0 +1,140 @@ + + + + + + + +nixd: lspserver::ReferenceParams Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    lspserver::ReferenceParams Struct Reference
    +
    +
    + +

    #include <Protocol.h>

    +
    +Inheritance diagram for lspserver::ReferenceParams:
    +
    +
    +
    [legend]
    +
    +Collaboration diagram for lspserver::ReferenceParams:
    +
    +
    +
    [legend]
    + + + + + + + + + + + +

    +Public Attributes

    ReferenceContext context
     
    - Public Attributes inherited from lspserver::TextDocumentPositionParams
    TextDocumentIdentifier textDocument
     The text document.
     
    Position position
     The position inside the text document.
     
    +

    Detailed Description

    +
    +

    Definition at line 1656 of file lspserver/include/lspserver/Protocol.h.

    +

    Member Data Documentation

    + +

    ◆ context

    + +
    +
    + + + + +
    ReferenceContext lspserver::ReferenceParams::context
    +
    + +

    Definition at line 1657 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::fromJSON().

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structlspserver_1_1ReferenceParams__coll__graph.map b/structlspserver_1_1ReferenceParams__coll__graph.map new file mode 100644 index 000000000..67813f67b --- /dev/null +++ b/structlspserver_1_1ReferenceParams__coll__graph.map @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/structlspserver_1_1ReferenceParams__coll__graph.md5 b/structlspserver_1_1ReferenceParams__coll__graph.md5 new file mode 100644 index 000000000..d004eb7ec --- /dev/null +++ b/structlspserver_1_1ReferenceParams__coll__graph.md5 @@ -0,0 +1 @@ +09eeec39bd7ada6a1181dc028aad8b69 \ No newline at end of file diff --git a/structlspserver_1_1ReferenceParams__coll__graph.svg b/structlspserver_1_1ReferenceParams__coll__graph.svg new file mode 100644 index 000000000..1681507c0 --- /dev/null +++ b/structlspserver_1_1ReferenceParams__coll__graph.svg @@ -0,0 +1,116 @@ + + + + + + +lspserver::ReferenceParams + + +Node1 + + +lspserver::ReferenceParams + + + + + +Node2 + + +lspserver::TextDocumentPosition +Params + + + + + +Node2->Node1 + + + + + + + + +Node3 + + +lspserver::TextDocumentIdentifier + + + + + +Node3->Node2 + + + + + + textDocument + + + +Node4 + + +lspserver::URIForFile + + + + + +Node4->Node3 + + + + + + uri + + + +Node5 + + +lspserver::Position + + + + + +Node5->Node2 + + + + + + position + + + +Node6 + + +lspserver::ReferenceContext + + + + + +Node6->Node1 + + + + + + context + + + diff --git a/structlspserver_1_1ReferenceParams__inherit__graph.map b/structlspserver_1_1ReferenceParams__inherit__graph.map new file mode 100644 index 000000000..fa82ac523 --- /dev/null +++ b/structlspserver_1_1ReferenceParams__inherit__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/structlspserver_1_1ReferenceParams__inherit__graph.md5 b/structlspserver_1_1ReferenceParams__inherit__graph.md5 new file mode 100644 index 000000000..859b0ea7f --- /dev/null +++ b/structlspserver_1_1ReferenceParams__inherit__graph.md5 @@ -0,0 +1 @@ +4afedc06709f7f0a78a827b0c6c08c1e \ No newline at end of file diff --git a/structlspserver_1_1ReferenceParams__inherit__graph.svg b/structlspserver_1_1ReferenceParams__inherit__graph.svg new file mode 100644 index 000000000..a3c99c0ef --- /dev/null +++ b/structlspserver_1_1ReferenceParams__inherit__graph.svg @@ -0,0 +1,40 @@ + + + + + + +lspserver::ReferenceParams + + +Node1 + + +lspserver::ReferenceParams + + + + + +Node2 + + +lspserver::TextDocumentPosition +Params + + + + + +Node2->Node1 + + + + + + + + diff --git a/structlspserver_1_1RenameParams-members.html b/structlspserver_1_1RenameParams-members.html new file mode 100644 index 000000000..f120ad1e2 --- /dev/null +++ b/structlspserver_1_1RenameParams-members.html @@ -0,0 +1,93 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    lspserver::RenameParams Member List
    +
    +
    + +

    This is the complete list of members for lspserver::RenameParams, including all inherited members.

    + + + + +
    newNamelspserver::RenameParams
    positionlspserver::RenameParams
    textDocumentlspserver::RenameParams
    + + + + diff --git a/structlspserver_1_1RenameParams.html b/structlspserver_1_1RenameParams.html new file mode 100644 index 000000000..5f59cdc18 --- /dev/null +++ b/structlspserver_1_1RenameParams.html @@ -0,0 +1,177 @@ + + + + + + + +nixd: lspserver::RenameParams Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    lspserver::RenameParams Struct Reference
    +
    +
    + +

    #include <Protocol.h>

    +
    +Collaboration diagram for lspserver::RenameParams:
    +
    +
    +
    [legend]
    + + + + + + + + + + + +

    +Public Attributes

    TextDocumentIdentifier textDocument
     The document that was opened.
     
    Position position
     The position at which this request was sent.
     
    std::string newName
     The new name of the symbol.
     
    +

    Detailed Description

    +
    +

    Definition at line 1365 of file lspserver/include/lspserver/Protocol.h.

    +

    Member Data Documentation

    + +

    ◆ newName

    + +
    +
    + + + + +
    std::string lspserver::RenameParams::newName
    +
    + +

    The new name of the symbol.

    + +

    Definition at line 1373 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::fromJSON().

    + +
    +
    + +

    ◆ position

    + +
    +
    + + + + +
    Position lspserver::RenameParams::position
    +
    + +

    The position at which this request was sent.

    + +

    Definition at line 1370 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::fromJSON().

    + +
    +
    + +

    ◆ textDocument

    + +
    +
    + + + + +
    TextDocumentIdentifier lspserver::RenameParams::textDocument
    +
    + +

    The document that was opened.

    + +

    Definition at line 1367 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::fromJSON().

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structlspserver_1_1RenameParams__coll__graph.map b/structlspserver_1_1RenameParams__coll__graph.map new file mode 100644 index 000000000..2de830b33 --- /dev/null +++ b/structlspserver_1_1RenameParams__coll__graph.map @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/structlspserver_1_1RenameParams__coll__graph.md5 b/structlspserver_1_1RenameParams__coll__graph.md5 new file mode 100644 index 000000000..20dfbcc38 --- /dev/null +++ b/structlspserver_1_1RenameParams__coll__graph.md5 @@ -0,0 +1 @@ +bd769c096268978ff38b6b5371b90258 \ No newline at end of file diff --git a/structlspserver_1_1RenameParams__coll__graph.svg b/structlspserver_1_1RenameParams__coll__graph.svg new file mode 100644 index 000000000..5fd937042 --- /dev/null +++ b/structlspserver_1_1RenameParams__coll__graph.svg @@ -0,0 +1,78 @@ + + + + + + +lspserver::RenameParams + + +Node1 + + +lspserver::RenameParams + + + + + +Node2 + + +lspserver::TextDocumentIdentifier + + + + + +Node2->Node1 + + + + + + textDocument + + + +Node3 + + +lspserver::URIForFile + + + + + +Node3->Node2 + + + + + + uri + + + +Node4 + + +lspserver::Position + + + + + +Node4->Node1 + + + + + + position + + + diff --git a/structlspserver_1_1ResolveTypeHierarchyItemParams-members.html b/structlspserver_1_1ResolveTypeHierarchyItemParams-members.html new file mode 100644 index 000000000..ef1564be9 --- /dev/null +++ b/structlspserver_1_1ResolveTypeHierarchyItemParams-members.html @@ -0,0 +1,93 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    lspserver::ResolveTypeHierarchyItemParams Member List
    +
    + + + + + diff --git a/structlspserver_1_1ResolveTypeHierarchyItemParams.html b/structlspserver_1_1ResolveTypeHierarchyItemParams.html new file mode 100644 index 000000000..bffba2ccf --- /dev/null +++ b/structlspserver_1_1ResolveTypeHierarchyItemParams.html @@ -0,0 +1,181 @@ + + + + + + + +nixd: lspserver::ResolveTypeHierarchyItemParams Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    lspserver::ResolveTypeHierarchyItemParams Struct Reference
    +
    +
    + +

    Parameters for the typeHierarchy/resolve request. + More...

    + +

    #include <Protocol.h>

    +
    +Collaboration diagram for lspserver::ResolveTypeHierarchyItemParams:
    +
    +
    +
    [legend]
    + + + + + + + + + + + +

    +Public Attributes

    TypeHierarchyItem item
     The item to resolve.
     
    int resolve
     The hierarchy levels to resolve. 0 indicates no level.
     
    TypeHierarchyDirection direction
     The direction of the hierarchy levels to resolve.
     
    +

    Detailed Description

    +

    Parameters for the typeHierarchy/resolve request.

    + +

    Definition at line 1476 of file lspserver/include/lspserver/Protocol.h.

    +

    Member Data Documentation

    + +

    ◆ direction

    + +
    +
    + + + + +
    TypeHierarchyDirection lspserver::ResolveTypeHierarchyItemParams::direction
    +
    + +

    The direction of the hierarchy levels to resolve.

    + +

    Definition at line 1484 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::fromJSON().

    + +
    +
    + +

    ◆ item

    + +
    +
    + + + + +
    TypeHierarchyItem lspserver::ResolveTypeHierarchyItemParams::item
    +
    + +

    The item to resolve.

    + +

    Definition at line 1478 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::fromJSON().

    + +
    +
    + +

    ◆ resolve

    + +
    +
    + + + + +
    int lspserver::ResolveTypeHierarchyItemParams::resolve
    +
    + +

    The hierarchy levels to resolve. 0 indicates no level.

    + +

    Definition at line 1481 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::fromJSON().

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structlspserver_1_1ResolveTypeHierarchyItemParams__coll__graph.map b/structlspserver_1_1ResolveTypeHierarchyItemParams__coll__graph.map new file mode 100644 index 000000000..25787f7cb --- /dev/null +++ b/structlspserver_1_1ResolveTypeHierarchyItemParams__coll__graph.map @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/structlspserver_1_1ResolveTypeHierarchyItemParams__coll__graph.md5 b/structlspserver_1_1ResolveTypeHierarchyItemParams__coll__graph.md5 new file mode 100644 index 000000000..dcfbc988e --- /dev/null +++ b/structlspserver_1_1ResolveTypeHierarchyItemParams__coll__graph.md5 @@ -0,0 +1 @@ +6d5c16f24a1c779b6e1a9ff4979d3cd6 \ No newline at end of file diff --git a/structlspserver_1_1ResolveTypeHierarchyItemParams__coll__graph.svg b/structlspserver_1_1ResolveTypeHierarchyItemParams__coll__graph.svg new file mode 100644 index 000000000..322c134d6 --- /dev/null +++ b/structlspserver_1_1ResolveTypeHierarchyItemParams__coll__graph.svg @@ -0,0 +1,120 @@ + + + + + + +lspserver::ResolveTypeHierarchyItemParams + + +Node1 + + +lspserver::ResolveTypeHierarchy +ItemParams + + + + + +Node2 + + +lspserver::TypeHierarchyItem + + + + + +Node2->Node1 + + + + + + item + + + +Node3 + + +lspserver::URIForFile + + + + + +Node3->Node2 + + + + + + uri + + + +Node4 + + +lspserver::Range + + + + + +Node4->Node2 + + + + + + range +selectionRange + + + +Node5 + + +lspserver::Position + + + + + +Node5->Node4 + + + + + + end +start + + + +Node6 + + +lspserver::TypeHierarchy +Item::ResolveParams + + + + + +Node6->Node2 + + + + + + data + + + diff --git a/structlspserver_1_1SelectionRange-members.html b/structlspserver_1_1SelectionRange-members.html new file mode 100644 index 000000000..c6b182c31 --- /dev/null +++ b/structlspserver_1_1SelectionRange-members.html @@ -0,0 +1,92 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    lspserver::SelectionRange Member List
    +
    +
    + +

    This is the complete list of members for lspserver::SelectionRange, including all inherited members.

    + + + +
    parentlspserver::SelectionRange
    rangelspserver::SelectionRange
    + + + + diff --git a/structlspserver_1_1SelectionRange.html b/structlspserver_1_1SelectionRange.html new file mode 100644 index 000000000..c9b044550 --- /dev/null +++ b/structlspserver_1_1SelectionRange.html @@ -0,0 +1,150 @@ + + + + + + + +nixd: lspserver::SelectionRange Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    lspserver::SelectionRange Struct Reference
    +
    +
    + +

    #include <Protocol.h>

    +
    +Collaboration diagram for lspserver::SelectionRange:
    +
    +
    +
    [legend]
    + + + + + + +

    +Public Attributes

    Range range
     
    std::unique_ptr< SelectionRangeparent
     
    +

    Detailed Description

    +
    +

    Definition at line 1765 of file lspserver/include/lspserver/Protocol.h.

    +

    Member Data Documentation

    + +

    ◆ parent

    + +
    +
    + + + + +
    std::unique_ptr<SelectionRange> lspserver::SelectionRange::parent
    +
    +

    The parent selection range containing this range. Therefore parent.range must contain this.range.

    + +

    Definition at line 1774 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::toJSON().

    + +
    +
    + +

    ◆ range

    + +
    +
    + + + + +
    Range lspserver::SelectionRange::range
    +
    +

    The range of this selection range.

    + +

    Definition at line 1769 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::toJSON().

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structlspserver_1_1SelectionRangeParams-members.html b/structlspserver_1_1SelectionRangeParams-members.html new file mode 100644 index 000000000..3e7a17c14 --- /dev/null +++ b/structlspserver_1_1SelectionRangeParams-members.html @@ -0,0 +1,92 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    lspserver::SelectionRangeParams Member List
    +
    +
    + +

    This is the complete list of members for lspserver::SelectionRangeParams, including all inherited members.

    + + + +
    positionslspserver::SelectionRangeParams
    textDocumentlspserver::SelectionRangeParams
    + + + + diff --git a/structlspserver_1_1SelectionRangeParams.html b/structlspserver_1_1SelectionRangeParams.html new file mode 100644 index 000000000..a95fe5eb3 --- /dev/null +++ b/structlspserver_1_1SelectionRangeParams.html @@ -0,0 +1,154 @@ + + + + + + + +nixd: lspserver::SelectionRangeParams Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    lspserver::SelectionRangeParams Struct Reference
    +
    +
    + +

    #include <Protocol.h>

    +
    +Collaboration diagram for lspserver::SelectionRangeParams:
    +
    +
    +
    [legend]
    + + + + + + + + +

    +Public Attributes

    TextDocumentIdentifier textDocument
     The text document.
     
    std::vector< Positionpositions
     The positions inside the text document.
     
    +

    Detailed Description

    +
    +

    Definition at line 1755 of file lspserver/include/lspserver/Protocol.h.

    +

    Member Data Documentation

    + +

    ◆ positions

    + +
    +
    + + + + +
    std::vector<Position> lspserver::SelectionRangeParams::positions
    +
    + +

    The positions inside the text document.

    + +

    Definition at line 1760 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::fromJSON().

    + +
    +
    + +

    ◆ textDocument

    + +
    +
    + + + + +
    TextDocumentIdentifier lspserver::SelectionRangeParams::textDocument
    +
    + +

    The text document.

    + +

    Definition at line 1757 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::fromJSON().

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structlspserver_1_1SelectionRangeParams__coll__graph.map b/structlspserver_1_1SelectionRangeParams__coll__graph.map new file mode 100644 index 000000000..d28fb5001 --- /dev/null +++ b/structlspserver_1_1SelectionRangeParams__coll__graph.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/structlspserver_1_1SelectionRangeParams__coll__graph.md5 b/structlspserver_1_1SelectionRangeParams__coll__graph.md5 new file mode 100644 index 000000000..836c16845 --- /dev/null +++ b/structlspserver_1_1SelectionRangeParams__coll__graph.md5 @@ -0,0 +1 @@ +516bfebd90e22d4a9acec5cf7a45fd1f \ No newline at end of file diff --git a/structlspserver_1_1SelectionRangeParams__coll__graph.svg b/structlspserver_1_1SelectionRangeParams__coll__graph.svg new file mode 100644 index 000000000..b8169fe3d --- /dev/null +++ b/structlspserver_1_1SelectionRangeParams__coll__graph.svg @@ -0,0 +1,60 @@ + + + + + + +lspserver::SelectionRangeParams + + +Node1 + + +lspserver::SelectionRange +Params + + + + + +Node2 + + +lspserver::TextDocumentIdentifier + + + + + +Node2->Node1 + + + + + + textDocument + + + +Node3 + + +lspserver::URIForFile + + + + + +Node3->Node2 + + + + + + uri + + + diff --git a/structlspserver_1_1SelectionRange__coll__graph.map b/structlspserver_1_1SelectionRange__coll__graph.map new file mode 100644 index 000000000..43f1a6c88 --- /dev/null +++ b/structlspserver_1_1SelectionRange__coll__graph.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/structlspserver_1_1SelectionRange__coll__graph.md5 b/structlspserver_1_1SelectionRange__coll__graph.md5 new file mode 100644 index 000000000..3bdf07e34 --- /dev/null +++ b/structlspserver_1_1SelectionRange__coll__graph.md5 @@ -0,0 +1 @@ +14822565c1da164a1a87f9a654bb150a \ No newline at end of file diff --git a/structlspserver_1_1SelectionRange__coll__graph.svg b/structlspserver_1_1SelectionRange__coll__graph.svg new file mode 100644 index 000000000..3b10b9b27 --- /dev/null +++ b/structlspserver_1_1SelectionRange__coll__graph.svg @@ -0,0 +1,60 @@ + + + + + + +lspserver::SelectionRange + + +Node1 + + +lspserver::SelectionRange + + + + + +Node2 + + +lspserver::Range + + + + + +Node2->Node1 + + + + + + range + + + +Node3 + + +lspserver::Position + + + + + +Node3->Node2 + + + + + + end +start + + + diff --git a/structlspserver_1_1SemanticToken-members.html b/structlspserver_1_1SemanticToken-members.html new file mode 100644 index 000000000..b404115c8 --- /dev/null +++ b/structlspserver_1_1SemanticToken-members.html @@ -0,0 +1,95 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    lspserver::SemanticToken Member List
    +
    + + + + + diff --git a/structlspserver_1_1SemanticToken.html b/structlspserver_1_1SemanticToken.html new file mode 100644 index 000000000..f5ac1c8b4 --- /dev/null +++ b/structlspserver_1_1SemanticToken.html @@ -0,0 +1,217 @@ + + + + + + + +nixd: lspserver::SemanticToken Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    lspserver::SemanticToken Struct Reference
    +
    +
    + +

    #include <Protocol.h>

    + + + + + + + + + + + + + + + + +

    +Public Attributes

    unsigned deltaLine = 0
     token line number, relative to the previous token
     
    unsigned deltaStart = 0
     
    unsigned length = 0
     the length of the token. A token cannot be multiline
     
    unsigned tokenType = 0
     will be looked up in SemanticTokensLegend.tokenTypes
     
    unsigned tokenModifiers = 0
     each set bit will be looked up in SemanticTokensLegend.tokenModifiers
     
    +

    Detailed Description

    +

    Specifies a single semantic token in the document. This struct is not part of LSP, which just encodes lists of tokens as arrays of numbers directly.

    + +

    Definition at line 1676 of file lspserver/include/lspserver/Protocol.h.

    +

    Member Data Documentation

    + +

    ◆ deltaLine

    + +
    +
    + + + + +
    unsigned lspserver::SemanticToken::deltaLine = 0
    +
    + +

    token line number, relative to the previous token

    + +

    Definition at line 1678 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::operator==().

    + +
    +
    + +

    ◆ deltaStart

    + +
    +
    + + + + +
    unsigned lspserver::SemanticToken::deltaStart = 0
    +
    +

    token start character, relative to the previous token (relative to 0 or the previous token's start if they are on the same line)

    + +

    Definition at line 1681 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::operator==().

    + +
    +
    + +

    ◆ length

    + +
    +
    + + + + +
    unsigned lspserver::SemanticToken::length = 0
    +
    + +

    the length of the token. A token cannot be multiline

    + +

    Definition at line 1683 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::operator==().

    + +
    +
    + +

    ◆ tokenModifiers

    + +
    +
    + + + + +
    unsigned lspserver::SemanticToken::tokenModifiers = 0
    +
    + +

    each set bit will be looked up in SemanticTokensLegend.tokenModifiers

    + +

    Definition at line 1687 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::operator==().

    + +
    +
    + +

    ◆ tokenType

    + +
    +
    + + + + +
    unsigned lspserver::SemanticToken::tokenType = 0
    +
    + +

    will be looked up in SemanticTokensLegend.tokenTypes

    + +

    Definition at line 1685 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::operator==().

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structlspserver_1_1SemanticTokens-members.html b/structlspserver_1_1SemanticTokens-members.html new file mode 100644 index 000000000..25bf57f3c --- /dev/null +++ b/structlspserver_1_1SemanticTokens-members.html @@ -0,0 +1,92 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    lspserver::SemanticTokens Member List
    +
    +
    + +

    This is the complete list of members for lspserver::SemanticTokens, including all inherited members.

    + + + +
    resultIdlspserver::SemanticTokens
    tokenslspserver::SemanticTokens
    + + + + diff --git a/structlspserver_1_1SemanticTokens.html b/structlspserver_1_1SemanticTokens.html new file mode 100644 index 000000000..f1d1c1245 --- /dev/null +++ b/structlspserver_1_1SemanticTokens.html @@ -0,0 +1,150 @@ + + + + + + + +nixd: lspserver::SemanticTokens Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    lspserver::SemanticTokens Struct Reference
    +
    +
    + +

    A versioned set of tokens. + More...

    + +

    #include <Protocol.h>

    + + + + + + + +

    +Public Attributes

    std::string resultId
     
    std::vector< SemanticTokentokens
     The actual tokens.
     
    +

    Detailed Description

    +

    A versioned set of tokens.

    + +

    Definition at line 1692 of file lspserver/include/lspserver/Protocol.h.

    +

    Member Data Documentation

    + +

    ◆ resultId

    + +
    +
    + + + + +
    std::string lspserver::SemanticTokens::resultId
    +
    + +

    Definition at line 1697 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::toJSON().

    + +
    +
    + +

    ◆ tokens

    + +
    +
    + + + + +
    std::vector<SemanticToken> lspserver::SemanticTokens::tokens
    +
    + +

    The actual tokens.

    + +

    Definition at line 1700 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::toJSON().

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structlspserver_1_1SemanticTokensDeltaParams-members.html b/structlspserver_1_1SemanticTokensDeltaParams-members.html new file mode 100644 index 000000000..39c4fe135 --- /dev/null +++ b/structlspserver_1_1SemanticTokensDeltaParams-members.html @@ -0,0 +1,92 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    lspserver::SemanticTokensDeltaParams Member List
    +
    + + + + + diff --git a/structlspserver_1_1SemanticTokensDeltaParams.html b/structlspserver_1_1SemanticTokensDeltaParams.html new file mode 100644 index 000000000..5a9a1b17e --- /dev/null +++ b/structlspserver_1_1SemanticTokensDeltaParams.html @@ -0,0 +1,155 @@ + + + + + + + +nixd: lspserver::SemanticTokensDeltaParams Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    lspserver::SemanticTokensDeltaParams Struct Reference
    +
    +
    + +

    #include <Protocol.h>

    +
    +Collaboration diagram for lspserver::SemanticTokensDeltaParams:
    +
    +
    +
    [legend]
    + + + + + + + + +

    +Public Attributes

    TextDocumentIdentifier textDocument
     The text document.
     
    std::string previousResultId
     The previous result id.
     
    +

    Detailed Description

    +

    Body of textDocument/semanticTokens/full/delta request. Requests the changes in semantic tokens since a previous response.

    + +

    Definition at line 1714 of file lspserver/include/lspserver/Protocol.h.

    +

    Member Data Documentation

    + +

    ◆ previousResultId

    + +
    +
    + + + + +
    std::string lspserver::SemanticTokensDeltaParams::previousResultId
    +
    + +

    The previous result id.

    + +

    Definition at line 1718 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::fromJSON().

    + +
    +
    + +

    ◆ textDocument

    + +
    +
    + + + + +
    TextDocumentIdentifier lspserver::SemanticTokensDeltaParams::textDocument
    +
    + +

    The text document.

    + +

    Definition at line 1716 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::fromJSON().

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structlspserver_1_1SemanticTokensDeltaParams__coll__graph.map b/structlspserver_1_1SemanticTokensDeltaParams__coll__graph.map new file mode 100644 index 000000000..25c238f67 --- /dev/null +++ b/structlspserver_1_1SemanticTokensDeltaParams__coll__graph.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/structlspserver_1_1SemanticTokensDeltaParams__coll__graph.md5 b/structlspserver_1_1SemanticTokensDeltaParams__coll__graph.md5 new file mode 100644 index 000000000..1cda690b8 --- /dev/null +++ b/structlspserver_1_1SemanticTokensDeltaParams__coll__graph.md5 @@ -0,0 +1 @@ +4974be2d7e1c2a35a55f417f57216626 \ No newline at end of file diff --git a/structlspserver_1_1SemanticTokensDeltaParams__coll__graph.svg b/structlspserver_1_1SemanticTokensDeltaParams__coll__graph.svg new file mode 100644 index 000000000..1a8cba359 --- /dev/null +++ b/structlspserver_1_1SemanticTokensDeltaParams__coll__graph.svg @@ -0,0 +1,60 @@ + + + + + + +lspserver::SemanticTokensDeltaParams + + +Node1 + + +lspserver::SemanticTokens +DeltaParams + + + + + +Node2 + + +lspserver::TextDocumentIdentifier + + + + + +Node2->Node1 + + + + + + textDocument + + + +Node3 + + +lspserver::URIForFile + + + + + +Node3->Node2 + + + + + + uri + + + diff --git a/structlspserver_1_1SemanticTokensEdit-members.html b/structlspserver_1_1SemanticTokensEdit-members.html new file mode 100644 index 000000000..7c0085d00 --- /dev/null +++ b/structlspserver_1_1SemanticTokensEdit-members.html @@ -0,0 +1,93 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    lspserver::SemanticTokensEdit Member List
    +
    + + + + + diff --git a/structlspserver_1_1SemanticTokensEdit.html b/structlspserver_1_1SemanticTokensEdit.html new file mode 100644 index 000000000..c9221f45e --- /dev/null +++ b/structlspserver_1_1SemanticTokensEdit.html @@ -0,0 +1,167 @@ + + + + + + + +nixd: lspserver::SemanticTokensEdit Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    lspserver::SemanticTokensEdit Struct Reference
    +
    +
    + +

    Describes a replacement of a contiguous range of semanticTokens. + More...

    + +

    #include <Protocol.h>

    + + + + + + + + +

    +Public Attributes

    unsigned startToken = 0
     
    unsigned deleteTokens = 0
     
    std::vector< SemanticTokentokens
     
    +

    Detailed Description

    +

    Describes a replacement of a contiguous range of semanticTokens.

    + +

    Definition at line 1724 of file lspserver/include/lspserver/Protocol.h.

    +

    Member Data Documentation

    + +

    ◆ deleteTokens

    + +
    +
    + + + + +
    unsigned lspserver::SemanticTokensEdit::deleteTokens = 0
    +
    + +

    Definition at line 1729 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::toJSON().

    + +
    +
    + +

    ◆ startToken

    + +
    +
    + + + + +
    unsigned lspserver::SemanticTokensEdit::startToken = 0
    +
    + +

    Definition at line 1728 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::toJSON().

    + +
    +
    + +

    ◆ tokens

    + +
    +
    + + + + +
    std::vector<SemanticToken> lspserver::SemanticTokensEdit::tokens
    +
    + +

    Definition at line 1730 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::toJSON().

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structlspserver_1_1SemanticTokensOrDelta-members.html b/structlspserver_1_1SemanticTokensOrDelta-members.html new file mode 100644 index 000000000..2f91dd127 --- /dev/null +++ b/structlspserver_1_1SemanticTokensOrDelta-members.html @@ -0,0 +1,93 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    lspserver::SemanticTokensOrDelta Member List
    +
    + + + + + diff --git a/structlspserver_1_1SemanticTokensOrDelta.html b/structlspserver_1_1SemanticTokensOrDelta.html new file mode 100644 index 000000000..0a79dcc22 --- /dev/null +++ b/structlspserver_1_1SemanticTokensOrDelta.html @@ -0,0 +1,170 @@ + + + + + + + +nixd: lspserver::SemanticTokensOrDelta Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    lspserver::SemanticTokensOrDelta Struct Reference
    +
    +
    + +

    #include <Protocol.h>

    + + + + + + + + + + +

    +Public Attributes

    std::string resultId
     
    std::optional< std::vector< SemanticTokensEdit > > edits
     Set if we computed edits relative to a previous set of tokens.
     
    std::optional< std::vector< SemanticToken > > tokens
     Set if we computed a fresh set of tokens.
     
    +

    Detailed Description

    +

    This models LSP SemanticTokensDelta | SemanticTokens, which is the result of textDocument/semanticTokens/full/delta.

    + +

    Definition at line 1736 of file lspserver/include/lspserver/Protocol.h.

    +

    Member Data Documentation

    + +

    ◆ edits

    + +
    +
    + + + + +
    std::optional<std::vector<SemanticTokensEdit> > lspserver::SemanticTokensOrDelta::edits
    +
    + +

    Set if we computed edits relative to a previous set of tokens.

    + +

    Definition at line 1739 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::toJSON().

    + +
    +
    + +

    ◆ resultId

    + +
    +
    + + + + +
    std::string lspserver::SemanticTokensOrDelta::resultId
    +
    + +

    Definition at line 1737 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::toJSON().

    + +
    +
    + +

    ◆ tokens

    + +
    +
    + + + + +
    std::optional<std::vector<SemanticToken> > lspserver::SemanticTokensOrDelta::tokens
    +
    + +

    Set if we computed a fresh set of tokens.

    + +

    Definition at line 1741 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::toJSON().

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structlspserver_1_1SemanticTokensParams-members.html b/structlspserver_1_1SemanticTokensParams-members.html new file mode 100644 index 000000000..0f8e07c17 --- /dev/null +++ b/structlspserver_1_1SemanticTokensParams-members.html @@ -0,0 +1,91 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    lspserver::SemanticTokensParams Member List
    +
    +
    + +

    This is the complete list of members for lspserver::SemanticTokensParams, including all inherited members.

    + + +
    textDocumentlspserver::SemanticTokensParams
    + + + + diff --git a/structlspserver_1_1SemanticTokensParams.html b/structlspserver_1_1SemanticTokensParams.html new file mode 100644 index 000000000..be732ad50 --- /dev/null +++ b/structlspserver_1_1SemanticTokensParams.html @@ -0,0 +1,135 @@ + + + + + + + +nixd: lspserver::SemanticTokensParams Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    lspserver::SemanticTokensParams Struct Reference
    +
    +
    + +

    Body of textDocument/semanticTokens/full request. + More...

    + +

    #include <Protocol.h>

    +
    +Collaboration diagram for lspserver::SemanticTokensParams:
    +
    +
    +
    [legend]
    + + + + + +

    +Public Attributes

    TextDocumentIdentifier textDocument
     The text document.
     
    +

    Detailed Description

    +

    Body of textDocument/semanticTokens/full request.

    + +

    Definition at line 1705 of file lspserver/include/lspserver/Protocol.h.

    +

    Member Data Documentation

    + +

    ◆ textDocument

    + +
    +
    + + + + +
    TextDocumentIdentifier lspserver::SemanticTokensParams::textDocument
    +
    + +

    The text document.

    + +

    Definition at line 1707 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::fromJSON().

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structlspserver_1_1SemanticTokensParams__coll__graph.map b/structlspserver_1_1SemanticTokensParams__coll__graph.map new file mode 100644 index 000000000..acf270c17 --- /dev/null +++ b/structlspserver_1_1SemanticTokensParams__coll__graph.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/structlspserver_1_1SemanticTokensParams__coll__graph.md5 b/structlspserver_1_1SemanticTokensParams__coll__graph.md5 new file mode 100644 index 000000000..a12f26022 --- /dev/null +++ b/structlspserver_1_1SemanticTokensParams__coll__graph.md5 @@ -0,0 +1 @@ +bd4dddf153a790fea3722eff21ad7315 \ No newline at end of file diff --git a/structlspserver_1_1SemanticTokensParams__coll__graph.svg b/structlspserver_1_1SemanticTokensParams__coll__graph.svg new file mode 100644 index 000000000..f6a4aebc5 --- /dev/null +++ b/structlspserver_1_1SemanticTokensParams__coll__graph.svg @@ -0,0 +1,60 @@ + + + + + + +lspserver::SemanticTokensParams + + +Node1 + + +lspserver::SemanticTokens +Params + + + + + +Node2 + + +lspserver::TextDocumentIdentifier + + + + + +Node2->Node1 + + + + + + textDocument + + + +Node3 + + +lspserver::URIForFile + + + + + +Node3->Node2 + + + + + + uri + + + diff --git a/structlspserver_1_1ShowMessageParams-members.html b/structlspserver_1_1ShowMessageParams-members.html new file mode 100644 index 000000000..ba666673b --- /dev/null +++ b/structlspserver_1_1ShowMessageParams-members.html @@ -0,0 +1,92 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    lspserver::ShowMessageParams Member List
    +
    +
    + +

    This is the complete list of members for lspserver::ShowMessageParams, including all inherited members.

    + + + +
    messagelspserver::ShowMessageParams
    typelspserver::ShowMessageParams
    + + + + diff --git a/structlspserver_1_1ShowMessageParams.html b/structlspserver_1_1ShowMessageParams.html new file mode 100644 index 000000000..5027b5250 --- /dev/null +++ b/structlspserver_1_1ShowMessageParams.html @@ -0,0 +1,150 @@ + + + + + + + +nixd: lspserver::ShowMessageParams Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    lspserver::ShowMessageParams Struct Reference
    +
    +
    + +

    #include <Protocol.h>

    + + + + + + + + +

    +Public Attributes

    MessageType type = MessageType::Info
     The message type.
     
    std::string message
     The actual message.
     
    +

    Detailed Description

    +

    The show message notification is sent from a server to a client to ask the client to display a particular message in the user interface.

    + +

    Definition at line 715 of file lspserver/include/lspserver/Protocol.h.

    +

    Member Data Documentation

    + +

    ◆ message

    + +
    +
    + + + + +
    std::string lspserver::ShowMessageParams::message
    +
    + +

    The actual message.

    + +

    Definition at line 719 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::toJSON().

    + +
    +
    + +

    ◆ type

    + +
    +
    + + + + +
    MessageType lspserver::ShowMessageParams::type = MessageType::Info
    +
    + +

    The message type.

    + +

    Definition at line 717 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::toJSON().

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structlspserver_1_1SignatureHelp-members.html b/structlspserver_1_1SignatureHelp-members.html new file mode 100644 index 000000000..dd7e8d47a --- /dev/null +++ b/structlspserver_1_1SignatureHelp-members.html @@ -0,0 +1,94 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    lspserver::SignatureHelp Member List
    +
    + + + + + diff --git a/structlspserver_1_1SignatureHelp.html b/structlspserver_1_1SignatureHelp.html new file mode 100644 index 000000000..c1f23719b --- /dev/null +++ b/structlspserver_1_1SignatureHelp.html @@ -0,0 +1,200 @@ + + + + + + + +nixd: lspserver::SignatureHelp Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    lspserver::SignatureHelp Struct Reference
    +
    +
    + +

    Represents the signature of a callable. + More...

    + +

    #include <Protocol.h>

    +
    +Collaboration diagram for lspserver::SignatureHelp:
    +
    +
    +
    [legend]
    + + + + + + + + + + + + + +

    +Public Attributes

    std::vector< SignatureInformationsignatures
     The resulting signatures.
     
    int activeSignature = 0
     The active signature.
     
    int activeParameter = 0
     The active parameter of the active signature.
     
    Position argListStart
     
    +

    Detailed Description

    +

    Represents the signature of a callable.

    + +

    Definition at line 1345 of file lspserver/include/lspserver/Protocol.h.

    +

    Member Data Documentation

    + +

    ◆ activeParameter

    + +
    +
    + + + + +
    int lspserver::SignatureHelp::activeParameter = 0
    +
    + +

    The active parameter of the active signature.

    + +

    Definition at line 1354 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::toJSON().

    + +
    +
    + +

    ◆ activeSignature

    + +
    +
    + + + + +
    int lspserver::SignatureHelp::activeSignature = 0
    +
    + +

    The active signature.

    + +

    Definition at line 1351 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::toJSON().

    + +
    +
    + +

    ◆ argListStart

    + +
    +
    + + + + +
    Position lspserver::SignatureHelp::argListStart
    +
    +

    Position of the start of the argument list, including opening paren. e.g. foo("first arg", "second arg", ^-argListStart ^-cursor This is a clangd-specific extension, it is only available via C++ API and not currently serialized for the LSP.

    + +

    Definition at line 1361 of file lspserver/include/lspserver/Protocol.h.

    + +
    +
    + +

    ◆ signatures

    + +
    +
    + + + + +
    std::vector<SignatureInformation> lspserver::SignatureHelp::signatures
    +
    + +

    The resulting signatures.

    + +

    Definition at line 1348 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::toJSON().

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structlspserver_1_1SignatureHelp__coll__graph.map b/structlspserver_1_1SignatureHelp__coll__graph.map new file mode 100644 index 000000000..fa814157d --- /dev/null +++ b/structlspserver_1_1SignatureHelp__coll__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/structlspserver_1_1SignatureHelp__coll__graph.md5 b/structlspserver_1_1SignatureHelp__coll__graph.md5 new file mode 100644 index 000000000..279f2a23e --- /dev/null +++ b/structlspserver_1_1SignatureHelp__coll__graph.md5 @@ -0,0 +1 @@ +9c6b7c428d497f5864df9e43727019a0 \ No newline at end of file diff --git a/structlspserver_1_1SignatureHelp__coll__graph.svg b/structlspserver_1_1SignatureHelp__coll__graph.svg new file mode 100644 index 000000000..fe6b92302 --- /dev/null +++ b/structlspserver_1_1SignatureHelp__coll__graph.svg @@ -0,0 +1,40 @@ + + + + + + +lspserver::SignatureHelp + + +Node1 + + +lspserver::SignatureHelp + + + + + +Node2 + + +lspserver::Position + + + + + +Node2->Node1 + + + + + + argListStart + + + diff --git a/structlspserver_1_1SignatureInformation-members.html b/structlspserver_1_1SignatureInformation-members.html new file mode 100644 index 000000000..9aadf71c4 --- /dev/null +++ b/structlspserver_1_1SignatureInformation-members.html @@ -0,0 +1,93 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    lspserver::SignatureInformation Member List
    +
    + + + + + diff --git a/structlspserver_1_1SignatureInformation.html b/structlspserver_1_1SignatureInformation.html new file mode 100644 index 000000000..7a57947cf --- /dev/null +++ b/structlspserver_1_1SignatureInformation.html @@ -0,0 +1,181 @@ + + + + + + + +nixd: lspserver::SignatureInformation Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    lspserver::SignatureInformation Struct Reference
    +
    +
    + +

    Represents the signature of something callable. + More...

    + +

    #include <Protocol.h>

    +
    +Collaboration diagram for lspserver::SignatureInformation:
    +
    +
    +
    [legend]
    + + + + + + + + + + + +

    +Public Attributes

    std::string label
     The label of this signature. Mandatory.
     
    MarkupContent documentation
     The documentation of this signature. Optional.
     
    std::vector< ParameterInformationparameters
     The parameters of this signature.
     
    +

    Detailed Description

    +

    Represents the signature of something callable.

    + +

    Definition at line 1329 of file lspserver/include/lspserver/Protocol.h.

    +

    Member Data Documentation

    + +

    ◆ documentation

    + +
    +
    + + + + +
    MarkupContent lspserver::SignatureInformation::documentation
    +
    + +

    The documentation of this signature. Optional.

    + +

    Definition at line 1335 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::toJSON().

    + +
    +
    + +

    ◆ label

    + +
    +
    + + + + +
    std::string lspserver::SignatureInformation::label
    +
    + +

    The label of this signature. Mandatory.

    + +

    Definition at line 1332 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::operator<<(), and lspserver::toJSON().

    + +
    +
    + +

    ◆ parameters

    + +
    +
    + + + + +
    std::vector<ParameterInformation> lspserver::SignatureInformation::parameters
    +
    + +

    The parameters of this signature.

    + +

    Definition at line 1338 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::toJSON().

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structlspserver_1_1SignatureInformation__coll__graph.map b/structlspserver_1_1SignatureInformation__coll__graph.map new file mode 100644 index 000000000..62433bf63 --- /dev/null +++ b/structlspserver_1_1SignatureInformation__coll__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/structlspserver_1_1SignatureInformation__coll__graph.md5 b/structlspserver_1_1SignatureInformation__coll__graph.md5 new file mode 100644 index 000000000..7297ecc36 --- /dev/null +++ b/structlspserver_1_1SignatureInformation__coll__graph.md5 @@ -0,0 +1 @@ +e70ad5ab5b3fe4f991983cc57d878fa4 \ No newline at end of file diff --git a/structlspserver_1_1SignatureInformation__coll__graph.svg b/structlspserver_1_1SignatureInformation__coll__graph.svg new file mode 100644 index 000000000..aaa95a032 --- /dev/null +++ b/structlspserver_1_1SignatureInformation__coll__graph.svg @@ -0,0 +1,40 @@ + + + + + + +lspserver::SignatureInformation + + +Node1 + + +lspserver::SignatureInformation + + + + + +Node2 + + +lspserver::MarkupContent + + + + + +Node2->Node1 + + + + + + documentation + + + diff --git a/structlspserver_1_1SymbolInformation-members.html b/structlspserver_1_1SymbolInformation-members.html new file mode 100644 index 000000000..00b98e146 --- /dev/null +++ b/structlspserver_1_1SymbolInformation-members.html @@ -0,0 +1,95 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    lspserver::SymbolInformation Member List
    +
    + + + + + diff --git a/structlspserver_1_1SymbolInformation.html b/structlspserver_1_1SymbolInformation.html new file mode 100644 index 000000000..26cb5e2eb --- /dev/null +++ b/structlspserver_1_1SymbolInformation.html @@ -0,0 +1,222 @@ + + + + + + + +nixd: lspserver::SymbolInformation Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    lspserver::SymbolInformation Struct Reference
    +
    +
    + +

    #include <Protocol.h>

    +
    +Collaboration diagram for lspserver::SymbolInformation:
    +
    +
    +
    [legend]
    + + + + + + + + + + + + + + + + +

    +Public Attributes

    std::string name
     The name of this symbol.
     
    SymbolKind kind
     The kind of this symbol.
     
    Location location
     The location of this symbol.
     
    std::string containerName
     The name of the symbol containing this symbol.
     
    std::optional< float > score
     
    +

    Detailed Description

    +

    Represents information about programming constructs like variables, classes, interfaces etc.

    + +

    Definition at line 1111 of file lspserver/include/lspserver/Protocol.h.

    +

    Member Data Documentation

    + +

    ◆ containerName

    + +
    +
    + + + + +
    std::string lspserver::SymbolInformation::containerName
    +
    + +

    The name of the symbol containing this symbol.

    + +

    Definition at line 1122 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::operator<<(), and lspserver::toJSON().

    + +
    +
    + +

    ◆ kind

    + +
    +
    + + + + +
    SymbolKind lspserver::SymbolInformation::kind
    +
    + +

    The kind of this symbol.

    + +

    Definition at line 1116 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::toJSON().

    + +
    +
    + +

    ◆ location

    + +
    +
    + + + + +
    Location lspserver::SymbolInformation::location
    +
    + +

    The location of this symbol.

    + +

    Definition at line 1119 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::toJSON().

    + +
    +
    + +

    ◆ name

    + +
    +
    + + + + +
    std::string lspserver::SymbolInformation::name
    +
    + +

    The name of this symbol.

    + +

    Definition at line 1113 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::operator<<(), and lspserver::toJSON().

    + +
    +
    + +

    ◆ score

    + +
    +
    + + + + +
    std::optional<float> lspserver::SymbolInformation::score
    +
    +

    The score that clangd calculates to rank the returned symbols. This excludes the fuzzy-matching score between name and the query. (Specifically, the last ::-separated component). This can be used to re-rank results as the user types, using client-side fuzzy-matching (that score should be multiplied with this one). This is a clangd extension, set only for workspace/symbol responses.

    + +

    Definition at line 1130 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::toJSON().

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structlspserver_1_1SymbolInformation__coll__graph.map b/structlspserver_1_1SymbolInformation__coll__graph.map new file mode 100644 index 000000000..d02d065a0 --- /dev/null +++ b/structlspserver_1_1SymbolInformation__coll__graph.map @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/structlspserver_1_1SymbolInformation__coll__graph.md5 b/structlspserver_1_1SymbolInformation__coll__graph.md5 new file mode 100644 index 000000000..fc9a58f15 --- /dev/null +++ b/structlspserver_1_1SymbolInformation__coll__graph.md5 @@ -0,0 +1 @@ +d6f25c9850a80c22980fc4f18ab49949 \ No newline at end of file diff --git a/structlspserver_1_1SymbolInformation__coll__graph.svg b/structlspserver_1_1SymbolInformation__coll__graph.svg new file mode 100644 index 000000000..31f614921 --- /dev/null +++ b/structlspserver_1_1SymbolInformation__coll__graph.svg @@ -0,0 +1,98 @@ + + + + + + +lspserver::SymbolInformation + + +Node1 + + +lspserver::SymbolInformation + + + + + +Node2 + + +lspserver::Location + + + + + +Node2->Node1 + + + + + + location + + + +Node3 + + +lspserver::URIForFile + + + + + +Node3->Node2 + + + + + + uri + + + +Node4 + + +lspserver::Range + + + + + +Node4->Node2 + + + + + + range + + + +Node5 + + +lspserver::Position + + + + + +Node5->Node4 + + + + + + end +start + + + diff --git a/structlspserver_1_1TextDocumentContentChangeEvent-members.html b/structlspserver_1_1TextDocumentContentChangeEvent-members.html new file mode 100644 index 000000000..82f878365 --- /dev/null +++ b/structlspserver_1_1TextDocumentContentChangeEvent-members.html @@ -0,0 +1,93 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    lspserver::TextDocumentContentChangeEvent Member List
    +
    + + + + + diff --git a/structlspserver_1_1TextDocumentContentChangeEvent.html b/structlspserver_1_1TextDocumentContentChangeEvent.html new file mode 100644 index 000000000..81049ce7a --- /dev/null +++ b/structlspserver_1_1TextDocumentContentChangeEvent.html @@ -0,0 +1,172 @@ + + + + + + + +nixd: lspserver::TextDocumentContentChangeEvent Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    lspserver::TextDocumentContentChangeEvent Struct Reference
    +
    +
    + +

    #include <Protocol.h>

    + + + + + + + + + + + +

    +Public Attributes

    std::optional< Rangerange
     The range of the document that changed.
     
    std::optional< int > rangeLength
     The length of the range that got replaced.
     
    std::string text
     The new text of the range/document.
     
    +

    Detailed Description

    +
    +

    Definition at line 744 of file lspserver/include/lspserver/Protocol.h.

    +

    Member Data Documentation

    + +

    ◆ range

    + +
    +
    + + + + +
    std::optional<Range> lspserver::TextDocumentContentChangeEvent::range
    +
    + +

    The range of the document that changed.

    + +

    Definition at line 746 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::applyChange(), and lspserver::fromJSON().

    + +
    +
    + +

    ◆ rangeLength

    + +
    +
    + + + + +
    std::optional<int> lspserver::TextDocumentContentChangeEvent::rangeLength
    +
    + +

    The length of the range that got replaced.

    + +

    Definition at line 749 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::applyChange(), and lspserver::fromJSON().

    + +
    +
    + +

    ◆ text

    + +
    +
    + + + + +
    std::string lspserver::TextDocumentContentChangeEvent::text
    +
    + +

    The new text of the range/document.

    + +

    Definition at line 752 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::applyChange(), and lspserver::fromJSON().

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structlspserver_1_1TextDocumentEdit-members.html b/structlspserver_1_1TextDocumentEdit-members.html new file mode 100644 index 000000000..d7fbc9917 --- /dev/null +++ b/structlspserver_1_1TextDocumentEdit-members.html @@ -0,0 +1,92 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    lspserver::TextDocumentEdit Member List
    +
    +
    + +

    This is the complete list of members for lspserver::TextDocumentEdit, including all inherited members.

    + + + +
    editslspserver::TextDocumentEdit
    textDocumentlspserver::TextDocumentEdit
    + + + + diff --git a/structlspserver_1_1TextDocumentEdit.html b/structlspserver_1_1TextDocumentEdit.html new file mode 100644 index 000000000..1bde6192f --- /dev/null +++ b/structlspserver_1_1TextDocumentEdit.html @@ -0,0 +1,152 @@ + + + + + + + +nixd: lspserver::TextDocumentEdit Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    lspserver::TextDocumentEdit Struct Reference
    +
    +
    + +

    #include <Protocol.h>

    +
    +Collaboration diagram for lspserver::TextDocumentEdit:
    +
    +
    +
    [legend]
    + + + + + + + +

    +Public Attributes

    VersionedTextDocumentIdentifier textDocument
     The text document to change.
     
    std::vector< TextEditedits
     
    +

    Detailed Description

    +
    +

    Definition at line 261 of file lspserver/include/lspserver/Protocol.h.

    +

    Member Data Documentation

    + +

    ◆ edits

    + +
    +
    + + + + +
    std::vector<TextEdit> lspserver::TextDocumentEdit::edits
    +
    +

    The edits to be applied. FIXME: support the AnnotatedTextEdit variant.

    + +

    Definition at line 267 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::fromJSON(), and lspserver::toJSON().

    + +
    +
    + +

    ◆ textDocument

    + +
    +
    + + + + +
    VersionedTextDocumentIdentifier lspserver::TextDocumentEdit::textDocument
    +
    + +

    The text document to change.

    + +

    Definition at line 263 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::fromJSON(), and lspserver::toJSON().

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structlspserver_1_1TextDocumentEdit__coll__graph.map b/structlspserver_1_1TextDocumentEdit__coll__graph.map new file mode 100644 index 000000000..ce4ef5ccb --- /dev/null +++ b/structlspserver_1_1TextDocumentEdit__coll__graph.map @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/structlspserver_1_1TextDocumentEdit__coll__graph.md5 b/structlspserver_1_1TextDocumentEdit__coll__graph.md5 new file mode 100644 index 000000000..5d3ac0dd2 --- /dev/null +++ b/structlspserver_1_1TextDocumentEdit__coll__graph.md5 @@ -0,0 +1 @@ +c459a1b5d96627ed2cee70071411c8e2 \ No newline at end of file diff --git a/structlspserver_1_1TextDocumentEdit__coll__graph.svg b/structlspserver_1_1TextDocumentEdit__coll__graph.svg new file mode 100644 index 000000000..ca5823c20 --- /dev/null +++ b/structlspserver_1_1TextDocumentEdit__coll__graph.svg @@ -0,0 +1,78 @@ + + + + + + +lspserver::TextDocumentEdit + + +Node1 + + +lspserver::TextDocumentEdit + + + + + +Node2 + + +lspserver::VersionedText +DocumentIdentifier + + + + + +Node2->Node1 + + + + + + textDocument + + + +Node3 + + +lspserver::TextDocumentIdentifier + + + + + +Node3->Node2 + + + + + + + + +Node4 + + +lspserver::URIForFile + + + + + +Node4->Node3 + + + + + + uri + + + diff --git a/structlspserver_1_1TextDocumentIdentifier-members.html b/structlspserver_1_1TextDocumentIdentifier-members.html new file mode 100644 index 000000000..59af7c84b --- /dev/null +++ b/structlspserver_1_1TextDocumentIdentifier-members.html @@ -0,0 +1,91 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    lspserver::TextDocumentIdentifier Member List
    +
    +
    + +

    This is the complete list of members for lspserver::TextDocumentIdentifier, including all inherited members.

    + + +
    urilspserver::TextDocumentIdentifier
    + + + + diff --git a/structlspserver_1_1TextDocumentIdentifier.html b/structlspserver_1_1TextDocumentIdentifier.html new file mode 100644 index 000000000..e551abea5 --- /dev/null +++ b/structlspserver_1_1TextDocumentIdentifier.html @@ -0,0 +1,136 @@ + + + + + + + +nixd: lspserver::TextDocumentIdentifier Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    lspserver::TextDocumentIdentifier Struct Reference
    +
    +
    + +

    #include <Protocol.h>

    +
    +Inheritance diagram for lspserver::TextDocumentIdentifier:
    +
    +
    +
    [legend]
    +
    +Collaboration diagram for lspserver::TextDocumentIdentifier:
    +
    +
    +
    [legend]
    + + + + + +

    +Public Attributes

    URIForFile uri
     The text document's URI.
     
    +

    Detailed Description

    +
    +

    Definition at line 103 of file lspserver/include/lspserver/Protocol.h.

    +

    Member Data Documentation

    + +

    ◆ uri

    + +
    +
    + + + + +
    URIForFile lspserver::TextDocumentIdentifier::uri
    +
    + +

    The text document's URI.

    + +

    Definition at line 105 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::fromJSON(), and lspserver::toJSON().

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structlspserver_1_1TextDocumentIdentifier__coll__graph.map b/structlspserver_1_1TextDocumentIdentifier__coll__graph.map new file mode 100644 index 000000000..e7fb94916 --- /dev/null +++ b/structlspserver_1_1TextDocumentIdentifier__coll__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/structlspserver_1_1TextDocumentIdentifier__coll__graph.md5 b/structlspserver_1_1TextDocumentIdentifier__coll__graph.md5 new file mode 100644 index 000000000..4df94433b --- /dev/null +++ b/structlspserver_1_1TextDocumentIdentifier__coll__graph.md5 @@ -0,0 +1 @@ +07e3ae663cec92637e9e4515293e15d3 \ No newline at end of file diff --git a/structlspserver_1_1TextDocumentIdentifier__coll__graph.svg b/structlspserver_1_1TextDocumentIdentifier__coll__graph.svg new file mode 100644 index 000000000..bf5bee6a7 --- /dev/null +++ b/structlspserver_1_1TextDocumentIdentifier__coll__graph.svg @@ -0,0 +1,40 @@ + + + + + + +lspserver::TextDocumentIdentifier + + +Node1 + + +lspserver::TextDocumentIdentifier + + + + + +Node2 + + +lspserver::URIForFile + + + + + +Node2->Node1 + + + + + + uri + + + diff --git a/structlspserver_1_1TextDocumentIdentifier__inherit__graph.map b/structlspserver_1_1TextDocumentIdentifier__inherit__graph.map new file mode 100644 index 000000000..2b9fd1deb --- /dev/null +++ b/structlspserver_1_1TextDocumentIdentifier__inherit__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/structlspserver_1_1TextDocumentIdentifier__inherit__graph.md5 b/structlspserver_1_1TextDocumentIdentifier__inherit__graph.md5 new file mode 100644 index 000000000..8067dadc6 --- /dev/null +++ b/structlspserver_1_1TextDocumentIdentifier__inherit__graph.md5 @@ -0,0 +1 @@ +a0359e2a2b1a784d4ef427627e67354c \ No newline at end of file diff --git a/structlspserver_1_1TextDocumentIdentifier__inherit__graph.svg b/structlspserver_1_1TextDocumentIdentifier__inherit__graph.svg new file mode 100644 index 000000000..b1d7b8c5d --- /dev/null +++ b/structlspserver_1_1TextDocumentIdentifier__inherit__graph.svg @@ -0,0 +1,40 @@ + + + + + + +lspserver::TextDocumentIdentifier + + +Node1 + + +lspserver::TextDocumentIdentifier + + + + + +Node2 + + +lspserver::VersionedText +DocumentIdentifier + + + + + +Node1->Node2 + + + + + + + + diff --git a/structlspserver_1_1TextDocumentItem-members.html b/structlspserver_1_1TextDocumentItem-members.html new file mode 100644 index 000000000..72c908afb --- /dev/null +++ b/structlspserver_1_1TextDocumentItem-members.html @@ -0,0 +1,94 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    lspserver::TextDocumentItem Member List
    +
    + + + + + diff --git a/structlspserver_1_1TextDocumentItem.html b/structlspserver_1_1TextDocumentItem.html new file mode 100644 index 000000000..fcefe8bb4 --- /dev/null +++ b/structlspserver_1_1TextDocumentItem.html @@ -0,0 +1,199 @@ + + + + + + + +nixd: lspserver::TextDocumentItem Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    lspserver::TextDocumentItem Struct Reference
    +
    +
    + +

    #include <Protocol.h>

    +
    +Collaboration diagram for lspserver::TextDocumentItem:
    +
    +
    +
    [legend]
    + + + + + + + + + + + + + +

    +Public Attributes

    URIForFile uri
     The text document's URI.
     
    std::string languageId
     The text document's language identifier.
     
    std::optional< int64_t > version
     
    std::string text
     The content of the opened text document.
     
    +

    Detailed Description

    +
    +

    Definition at line 272 of file lspserver/include/lspserver/Protocol.h.

    +

    Member Data Documentation

    + +

    ◆ languageId

    + +
    +
    + + + + +
    std::string lspserver::TextDocumentItem::languageId
    +
    + +

    The text document's language identifier.

    + +

    Definition at line 277 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::fromJSON().

    + +
    +
    + +

    ◆ text

    + +
    +
    + + + + +
    std::string lspserver::TextDocumentItem::text
    +
    + +

    The content of the opened text document.

    + +

    Definition at line 286 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::fromJSON().

    + +
    +
    + +

    ◆ uri

    + +
    +
    + + + + +
    URIForFile lspserver::TextDocumentItem::uri
    +
    + +

    The text document's URI.

    + +

    Definition at line 274 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::fromJSON().

    + +
    +
    + +

    ◆ version

    + +
    +
    + + + + +
    std::optional<int64_t> lspserver::TextDocumentItem::version
    +
    +

    The version number of this document (it will strictly increase after each change, including undo/redo.

    +

    clangd extension: versions are optional, and synthesized if missing.

    + +

    Definition at line 283 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::fromJSON().

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structlspserver_1_1TextDocumentItem__coll__graph.map b/structlspserver_1_1TextDocumentItem__coll__graph.map new file mode 100644 index 000000000..23f142241 --- /dev/null +++ b/structlspserver_1_1TextDocumentItem__coll__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/structlspserver_1_1TextDocumentItem__coll__graph.md5 b/structlspserver_1_1TextDocumentItem__coll__graph.md5 new file mode 100644 index 000000000..87c44ba18 --- /dev/null +++ b/structlspserver_1_1TextDocumentItem__coll__graph.md5 @@ -0,0 +1 @@ +3a2872c52f05122d260207bd8b742349 \ No newline at end of file diff --git a/structlspserver_1_1TextDocumentItem__coll__graph.svg b/structlspserver_1_1TextDocumentItem__coll__graph.svg new file mode 100644 index 000000000..f1a73a5b8 --- /dev/null +++ b/structlspserver_1_1TextDocumentItem__coll__graph.svg @@ -0,0 +1,40 @@ + + + + + + +lspserver::TextDocumentItem + + +Node1 + + +lspserver::TextDocumentItem + + + + + +Node2 + + +lspserver::URIForFile + + + + + +Node2->Node1 + + + + + + uri + + + diff --git a/structlspserver_1_1TextDocumentPositionParams-members.html b/structlspserver_1_1TextDocumentPositionParams-members.html new file mode 100644 index 000000000..65314d5c0 --- /dev/null +++ b/structlspserver_1_1TextDocumentPositionParams-members.html @@ -0,0 +1,92 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    lspserver::TextDocumentPositionParams Member List
    +
    + + + + + diff --git a/structlspserver_1_1TextDocumentPositionParams.html b/structlspserver_1_1TextDocumentPositionParams.html new file mode 100644 index 000000000..56e0cc582 --- /dev/null +++ b/structlspserver_1_1TextDocumentPositionParams.html @@ -0,0 +1,159 @@ + + + + + + + +nixd: lspserver::TextDocumentPositionParams Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    lspserver::TextDocumentPositionParams Struct Reference
    +
    +
    + +

    #include <Protocol.h>

    +
    +Inheritance diagram for lspserver::TextDocumentPositionParams:
    +
    +
    +
    [legend]
    +
    +Collaboration diagram for lspserver::TextDocumentPositionParams:
    +
    +
    +
    [legend]
    + + + + + + + + +

    +Public Attributes

    TextDocumentIdentifier textDocument
     The text document.
     
    Position position
     The position inside the text document.
     
    +

    Detailed Description

    +
    +

    Definition at line 1160 of file lspserver/include/lspserver/Protocol.h.

    +

    Member Data Documentation

    + +

    ◆ position

    + +
    +
    + + + + +
    Position lspserver::TextDocumentPositionParams::position
    +
    + +

    The position inside the text document.

    + +

    Definition at line 1165 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::fromJSON(), and lspserver::fromJSON().

    + +
    +
    + +

    ◆ textDocument

    + +
    +
    + + + + +
    TextDocumentIdentifier lspserver::TextDocumentPositionParams::textDocument
    +
    + +

    The text document.

    + +

    Definition at line 1162 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::fromJSON(), and lspserver::fromJSON().

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structlspserver_1_1TextDocumentPositionParams__coll__graph.map b/structlspserver_1_1TextDocumentPositionParams__coll__graph.map new file mode 100644 index 000000000..97c9559c1 --- /dev/null +++ b/structlspserver_1_1TextDocumentPositionParams__coll__graph.map @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/structlspserver_1_1TextDocumentPositionParams__coll__graph.md5 b/structlspserver_1_1TextDocumentPositionParams__coll__graph.md5 new file mode 100644 index 000000000..6556ab723 --- /dev/null +++ b/structlspserver_1_1TextDocumentPositionParams__coll__graph.md5 @@ -0,0 +1 @@ +890cf54595015310d41f6b3a3fe06b32 \ No newline at end of file diff --git a/structlspserver_1_1TextDocumentPositionParams__coll__graph.svg b/structlspserver_1_1TextDocumentPositionParams__coll__graph.svg new file mode 100644 index 000000000..4f80536b6 --- /dev/null +++ b/structlspserver_1_1TextDocumentPositionParams__coll__graph.svg @@ -0,0 +1,79 @@ + + + + + + +lspserver::TextDocumentPositionParams + + +Node1 + + +lspserver::TextDocumentPosition +Params + + + + + +Node2 + + +lspserver::TextDocumentIdentifier + + + + + +Node2->Node1 + + + + + + textDocument + + + +Node3 + + +lspserver::URIForFile + + + + + +Node3->Node2 + + + + + + uri + + + +Node4 + + +lspserver::Position + + + + + +Node4->Node1 + + + + + + position + + + diff --git a/structlspserver_1_1TextDocumentPositionParams__inherit__graph.map b/structlspserver_1_1TextDocumentPositionParams__inherit__graph.map new file mode 100644 index 000000000..e6957cd72 --- /dev/null +++ b/structlspserver_1_1TextDocumentPositionParams__inherit__graph.map @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/structlspserver_1_1TextDocumentPositionParams__inherit__graph.md5 b/structlspserver_1_1TextDocumentPositionParams__inherit__graph.md5 new file mode 100644 index 000000000..ffe73acd2 --- /dev/null +++ b/structlspserver_1_1TextDocumentPositionParams__inherit__graph.md5 @@ -0,0 +1 @@ +c20fcdbe51cae2d1fb3550da374d7a9d \ No newline at end of file diff --git a/structlspserver_1_1TextDocumentPositionParams__inherit__graph.svg b/structlspserver_1_1TextDocumentPositionParams__inherit__graph.svg new file mode 100644 index 000000000..941ca6890 --- /dev/null +++ b/structlspserver_1_1TextDocumentPositionParams__inherit__graph.svg @@ -0,0 +1,96 @@ + + + + + + +lspserver::TextDocumentPositionParams + + +Node1 + + +lspserver::TextDocumentPosition +Params + + + + + +Node2 + + +lspserver::CallHierarchy +PrepareParams + + + + + +Node1->Node2 + + + + + + + + +Node3 + + +lspserver::CompletionParams + + + + + +Node1->Node3 + + + + + + + + +Node4 + + +lspserver::ReferenceParams + + + + + +Node1->Node4 + + + + + + + + +Node5 + + +lspserver::TypeHierarchy +PrepareParams + + + + + +Node1->Node5 + + + + + + + + diff --git a/structlspserver_1_1TextEdit-members.html b/structlspserver_1_1TextEdit-members.html new file mode 100644 index 000000000..3a5a0822b --- /dev/null +++ b/structlspserver_1_1TextEdit-members.html @@ -0,0 +1,93 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    lspserver::TextEdit Member List
    +
    +
    + +

    This is the complete list of members for lspserver::TextEdit, including all inherited members.

    + + + + +
    annotationIdlspserver::TextEdit
    newTextlspserver::TextEdit
    rangelspserver::TextEdit
    + + + + diff --git a/structlspserver_1_1TextEdit.html b/structlspserver_1_1TextEdit.html new file mode 100644 index 000000000..240502410 --- /dev/null +++ b/structlspserver_1_1TextEdit.html @@ -0,0 +1,171 @@ + + + + + + + +nixd: lspserver::TextEdit Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    lspserver::TextEdit Struct Reference
    +
    +
    + +

    #include <Protocol.h>

    +
    +Collaboration diagram for lspserver::TextEdit:
    +
    +
    +
    [legend]
    + + + + + + + + +

    +Public Attributes

    Range range
     
    std::string newText
     
    ChangeAnnotationIdentifier annotationId = ""
     
    +

    Detailed Description

    +
    +

    Definition at line 224 of file lspserver/include/lspserver/Protocol.h.

    +

    Member Data Documentation

    + +

    ◆ annotationId

    + +
    +
    + + + + +
    ChangeAnnotationIdentifier lspserver::TextEdit::annotationId = ""
    +
    +

    The actual annotation identifier (optional) If empty, then this field is nullopt.

    + +

    Definition at line 235 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::fromJSON(), lspserver::operator==(), and lspserver::toJSON().

    + +
    +
    + +

    ◆ newText

    + +
    +
    + + + + +
    std::string lspserver::TextEdit::newText
    +
    +

    The string to be inserted. For delete operations use an empty string.

    + +

    Definition at line 231 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::fromJSON(), lspserver::operator<<(), lspserver::operator==(), and lspserver::toJSON().

    + +
    +
    + +

    ◆ range

    + +
    +
    + + + + +
    Range lspserver::TextEdit::range
    +
    +

    The range of the text document to be manipulated. To insert text into a document create a range where start === end.

    + +

    Definition at line 227 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::fromJSON(), lspserver::operator<<(), lspserver::operator==(), and lspserver::toJSON().

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structlspserver_1_1TextEdit__coll__graph.map b/structlspserver_1_1TextEdit__coll__graph.map new file mode 100644 index 000000000..c67864b6e --- /dev/null +++ b/structlspserver_1_1TextEdit__coll__graph.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/structlspserver_1_1TextEdit__coll__graph.md5 b/structlspserver_1_1TextEdit__coll__graph.md5 new file mode 100644 index 000000000..caa447f4c --- /dev/null +++ b/structlspserver_1_1TextEdit__coll__graph.md5 @@ -0,0 +1 @@ +1f4a65ad5e2414258f2e3a5951e7d3f9 \ No newline at end of file diff --git a/structlspserver_1_1TextEdit__coll__graph.svg b/structlspserver_1_1TextEdit__coll__graph.svg new file mode 100644 index 000000000..5de53d884 --- /dev/null +++ b/structlspserver_1_1TextEdit__coll__graph.svg @@ -0,0 +1,60 @@ + + + + + + +lspserver::TextEdit + + +Node1 + + +lspserver::TextEdit + + + + + +Node2 + + +lspserver::Range + + + + + +Node2->Node1 + + + + + + range + + + +Node3 + + +lspserver::Position + + + + + +Node3->Node2 + + + + + + end +start + + + diff --git a/structlspserver_1_1TweakArgs-members.html b/structlspserver_1_1TweakArgs-members.html new file mode 100644 index 000000000..c7a7d5978 --- /dev/null +++ b/structlspserver_1_1TweakArgs-members.html @@ -0,0 +1,93 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    lspserver::TweakArgs Member List
    +
    +
    + +

    This is the complete list of members for lspserver::TweakArgs, including all inherited members.

    + + + + +
    filelspserver::TweakArgs
    selectionlspserver::TweakArgs
    tweakIDlspserver::TweakArgs
    + + + + diff --git a/structlspserver_1_1TweakArgs.html b/structlspserver_1_1TweakArgs.html new file mode 100644 index 000000000..97bcb904c --- /dev/null +++ b/structlspserver_1_1TweakArgs.html @@ -0,0 +1,178 @@ + + + + + + + +nixd: lspserver::TweakArgs Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    lspserver::TweakArgs Struct Reference
    +
    +
    + +

    #include <Protocol.h>

    +
    +Collaboration diagram for lspserver::TweakArgs:
    +
    +
    +
    [legend]
    + + + + + + + + + + + +

    +Public Attributes

    URIForFile file
     A file provided by the client on a textDocument/codeAction request.
     
    Range selection
     A selection provided by the client on a textDocument/codeAction request.
     
    std::string tweakID
     ID of the tweak that should be executed. Corresponds to Tweak::id().
     
    +

    Detailed Description

    +

    Arguments for the 'applyTweak' command. The server sends these commands as a response to the textDocument/codeAction request. The client can later send a command back to the server if the user requests to execute a particular code tweak.

    + +

    Definition at line 1014 of file lspserver/include/lspserver/Protocol.h.

    +

    Member Data Documentation

    + +

    ◆ file

    + +
    +
    + + + + +
    URIForFile lspserver::TweakArgs::file
    +
    + +

    A file provided by the client on a textDocument/codeAction request.

    + +

    Definition at line 1016 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::fromJSON(), and lspserver::toJSON().

    + +
    +
    + +

    ◆ selection

    + +
    +
    + + + + +
    Range lspserver::TweakArgs::selection
    +
    + +

    A selection provided by the client on a textDocument/codeAction request.

    + +

    Definition at line 1018 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::fromJSON(), and lspserver::toJSON().

    + +
    +
    + +

    ◆ tweakID

    + +
    +
    + + + + +
    std::string lspserver::TweakArgs::tweakID
    +
    + +

    ID of the tweak that should be executed. Corresponds to Tweak::id().

    + +

    Definition at line 1020 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::fromJSON(), and lspserver::toJSON().

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structlspserver_1_1TweakArgs__coll__graph.map b/structlspserver_1_1TweakArgs__coll__graph.map new file mode 100644 index 000000000..7b09d8730 --- /dev/null +++ b/structlspserver_1_1TweakArgs__coll__graph.map @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/structlspserver_1_1TweakArgs__coll__graph.md5 b/structlspserver_1_1TweakArgs__coll__graph.md5 new file mode 100644 index 000000000..083814e1d --- /dev/null +++ b/structlspserver_1_1TweakArgs__coll__graph.md5 @@ -0,0 +1 @@ +dee6cf9b2b7ef674e6bdc72235009a70 \ No newline at end of file diff --git a/structlspserver_1_1TweakArgs__coll__graph.svg b/structlspserver_1_1TweakArgs__coll__graph.svg new file mode 100644 index 000000000..9f02bc53d --- /dev/null +++ b/structlspserver_1_1TweakArgs__coll__graph.svg @@ -0,0 +1,79 @@ + + + + + + +lspserver::TweakArgs + + +Node1 + + +lspserver::TweakArgs + + + + + +Node2 + + +lspserver::URIForFile + + + + + +Node2->Node1 + + + + + + file + + + +Node3 + + +lspserver::Range + + + + + +Node3->Node1 + + + + + + selection + + + +Node4 + + +lspserver::Position + + + + + +Node4->Node3 + + + + + + end +start + + + diff --git a/structlspserver_1_1TypeHierarchyItem-members.html b/structlspserver_1_1TypeHierarchyItem-members.html new file mode 100644 index 000000000..9d7d7a901 --- /dev/null +++ b/structlspserver_1_1TypeHierarchyItem-members.html @@ -0,0 +1,100 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    lspserver::TypeHierarchyItem Member List
    +
    + + + + + diff --git a/structlspserver_1_1TypeHierarchyItem.html b/structlspserver_1_1TypeHierarchyItem.html new file mode 100644 index 000000000..6ce4ca3c7 --- /dev/null +++ b/structlspserver_1_1TypeHierarchyItem.html @@ -0,0 +1,335 @@ + + + + + + + +nixd: lspserver::TypeHierarchyItem Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    lspserver::TypeHierarchyItem Struct Reference
    +
    +
    + +

    #include <Protocol.h>

    +
    +Collaboration diagram for lspserver::TypeHierarchyItem:
    +
    +
    +
    [legend]
    + + + + + +

    +Classes

    struct  ResolveParams
     Used to resolve a client provided item back. More...
     
    + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Public Attributes

    std::string name
     The name of this item.
     
    SymbolKind kind
     The kind of this item.
     
    std::optional< std::string > detail
     More detail for this item, e.g. the signature of a function.
     
    URIForFile uri
     The resource identifier of this item.
     
    Range range
     
    Range selectionRange
     
    ResolveParams data
     
    bool deprecated = false
     
    std::optional< std::vector< TypeHierarchyItem > > parents
     This is a clangd exntesion.
     
    std::optional< std::vector< TypeHierarchyItem > > children
     
    +

    Detailed Description

    +
    +

    Definition at line 1424 of file lspserver/include/lspserver/Protocol.h.

    +

    Member Data Documentation

    + +

    ◆ children

    + +
    +
    + + + + +
    std::optional<std::vector<TypeHierarchyItem> > lspserver::TypeHierarchyItem::children
    +
    +

    If this type hierarchy item is resolved, it contains the direct children of the current item. Could be empty if the item does not have any descendants. If not defined, the children have not been resolved. This is a clangd exntesion.

    + +

    Definition at line 1467 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::fromJSON().

    + +
    +
    + +

    ◆ data

    + +
    +
    + + + + +
    ResolveParams lspserver::TypeHierarchyItem::data
    +
    +

    A data entry field that is preserved between a type hierarchy prepare and supertypes or subtypes requests. It could also be used to identify the type hierarchy in the server, helping improve the performance on resolving supertypes and subtypes.

    + +

    Definition at line 1454 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::fromJSON(), and lspserver::toJSON().

    + +
    +
    + +

    ◆ deprecated

    + +
    +
    + + + + +
    bool lspserver::TypeHierarchyItem::deprecated = false
    +
    +

    true if the hierarchy item is deprecated. Otherwise, false. This is a clangd exntesion.

    + +

    Definition at line 1458 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::fromJSON().

    + +
    +
    + +

    ◆ detail

    + +
    +
    + + + + +
    std::optional<std::string> lspserver::TypeHierarchyItem::detail
    +
    + +

    More detail for this item, e.g. the signature of a function.

    + +

    Definition at line 1432 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::fromJSON(), and lspserver::toJSON().

    + +
    +
    + +

    ◆ kind

    + +
    +
    + + + + +
    SymbolKind lspserver::TypeHierarchyItem::kind
    +
    + +

    The kind of this item.

    + +

    Definition at line 1429 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::fromJSON(), and lspserver::toJSON().

    + +
    +
    + +

    ◆ name

    + +
    +
    + + + + +
    std::string lspserver::TypeHierarchyItem::name
    +
    + +

    The name of this item.

    + +

    Definition at line 1426 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::fromJSON(), lspserver::operator<<(), and lspserver::toJSON().

    + +
    +
    + +

    ◆ parents

    + +
    +
    + + + + +
    std::optional<std::vector<TypeHierarchyItem> > lspserver::TypeHierarchyItem::parents
    +
    + +

    This is a clangd exntesion.

    + +

    Definition at line 1461 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::fromJSON().

    + +
    +
    + +

    ◆ range

    + +
    +
    + + + + +
    Range lspserver::TypeHierarchyItem::range
    +
    +

    The range enclosing this symbol not including leading/trailing whitespace but everything else, e.g. comments and code.

    + +

    Definition at line 1439 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::fromJSON(), and lspserver::toJSON().

    + +
    +
    + +

    ◆ selectionRange

    + +
    +
    + + + + +
    Range lspserver::TypeHierarchyItem::selectionRange
    +
    +

    The range that should be selected and revealed when this symbol is being picked, e.g. the name of a function. Must be contained by the range.

    + +

    Definition at line 1443 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::fromJSON(), and lspserver::toJSON().

    + +
    +
    + +

    ◆ uri

    + +
    +
    + + + + +
    URIForFile lspserver::TypeHierarchyItem::uri
    +
    + +

    The resource identifier of this item.

    + +

    Definition at line 1435 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::fromJSON(), and lspserver::toJSON().

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structlspserver_1_1TypeHierarchyItem_1_1ResolveParams-members.html b/structlspserver_1_1TypeHierarchyItem_1_1ResolveParams-members.html new file mode 100644 index 000000000..1a5e1fc3a --- /dev/null +++ b/structlspserver_1_1TypeHierarchyItem_1_1ResolveParams-members.html @@ -0,0 +1,91 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    lspserver::TypeHierarchyItem::ResolveParams Member List
    +
    +
    + +

    This is the complete list of members for lspserver::TypeHierarchyItem::ResolveParams, including all inherited members.

    + + +
    parentslspserver::TypeHierarchyItem::ResolveParams
    + + + + diff --git a/structlspserver_1_1TypeHierarchyItem_1_1ResolveParams.html b/structlspserver_1_1TypeHierarchyItem_1_1ResolveParams.html new file mode 100644 index 000000000..3f2d02aed --- /dev/null +++ b/structlspserver_1_1TypeHierarchyItem_1_1ResolveParams.html @@ -0,0 +1,130 @@ + + + + + + + +nixd: lspserver::TypeHierarchyItem::ResolveParams Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    lspserver::TypeHierarchyItem::ResolveParams Struct Reference
    +
    +
    + +

    Used to resolve a client provided item back. + More...

    + +

    #include <Protocol.h>

    + + + + + +

    +Public Attributes

    std::optional< std::vector< ResolveParams > > parents
     std::nullopt means parents aren't resolved and empty is no parents.
     
    +

    Detailed Description

    +

    Used to resolve a client provided item back.

    + +

    Definition at line 1446 of file lspserver/include/lspserver/Protocol.h.

    +

    Member Data Documentation

    + +

    ◆ parents

    + +
    +
    + + + + +
    std::optional<std::vector<ResolveParams> > lspserver::TypeHierarchyItem::ResolveParams::parents
    +
    + +

    std::nullopt means parents aren't resolved and empty is no parents.

    + +

    Definition at line 1448 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::fromJSON(), and lspserver::toJSON().

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structlspserver_1_1TypeHierarchyItem__coll__graph.map b/structlspserver_1_1TypeHierarchyItem__coll__graph.map new file mode 100644 index 000000000..f20c985d6 --- /dev/null +++ b/structlspserver_1_1TypeHierarchyItem__coll__graph.map @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/structlspserver_1_1TypeHierarchyItem__coll__graph.md5 b/structlspserver_1_1TypeHierarchyItem__coll__graph.md5 new file mode 100644 index 000000000..8eb87e814 --- /dev/null +++ b/structlspserver_1_1TypeHierarchyItem__coll__graph.md5 @@ -0,0 +1 @@ +bdbadad328961bae22203b2492deaf60 \ No newline at end of file diff --git a/structlspserver_1_1TypeHierarchyItem__coll__graph.svg b/structlspserver_1_1TypeHierarchyItem__coll__graph.svg new file mode 100644 index 000000000..1d179148c --- /dev/null +++ b/structlspserver_1_1TypeHierarchyItem__coll__graph.svg @@ -0,0 +1,100 @@ + + + + + + +lspserver::TypeHierarchyItem + + +Node1 + + +lspserver::TypeHierarchyItem + + + + + +Node2 + + +lspserver::URIForFile + + + + + +Node2->Node1 + + + + + + uri + + + +Node3 + + +lspserver::Range + + + + + +Node3->Node1 + + + + + + range +selectionRange + + + +Node4 + + +lspserver::Position + + + + + +Node4->Node3 + + + + + + end +start + + + +Node5 + + +lspserver::TypeHierarchy +Item::ResolveParams + + + + + +Node5->Node1 + + + + + + data + + + diff --git a/structlspserver_1_1TypeHierarchyPrepareParams-members.html b/structlspserver_1_1TypeHierarchyPrepareParams-members.html new file mode 100644 index 000000000..2bd1e448b --- /dev/null +++ b/structlspserver_1_1TypeHierarchyPrepareParams-members.html @@ -0,0 +1,94 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    lspserver::TypeHierarchyPrepareParams Member List
    +
    + + + + + diff --git a/structlspserver_1_1TypeHierarchyPrepareParams.html b/structlspserver_1_1TypeHierarchyPrepareParams.html new file mode 100644 index 000000000..8a6d87c7f --- /dev/null +++ b/structlspserver_1_1TypeHierarchyPrepareParams.html @@ -0,0 +1,163 @@ + + + + + + + +nixd: lspserver::TypeHierarchyPrepareParams Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    lspserver::TypeHierarchyPrepareParams Struct Reference
    +
    +
    + +

    #include <Protocol.h>

    +
    +Inheritance diagram for lspserver::TypeHierarchyPrepareParams:
    +
    +
    +
    [legend]
    +
    +Collaboration diagram for lspserver::TypeHierarchyPrepareParams:
    +
    +
    +
    [legend]
    + + + + + + + + + + + + + +

    +Public Attributes

    int resolve = 0
     
    TypeHierarchyDirection direction = TypeHierarchyDirection::Parents
     
    - Public Attributes inherited from lspserver::TextDocumentPositionParams
    TextDocumentIdentifier textDocument
     The text document.
     
    Position position
     The position inside the text document.
     
    +

    Detailed Description

    +

    The type hierarchy params is an extension of the TextDocumentPositionsParams with optional properties which can be used to eagerly resolve the item when requesting from the server.

    + +

    Definition at line 1412 of file lspserver/include/lspserver/Protocol.h.

    +

    Member Data Documentation

    + +

    ◆ direction

    + +
    +
    + + + + +
    TypeHierarchyDirection lspserver::TypeHierarchyPrepareParams::direction = TypeHierarchyDirection::Parents
    +
    +

    The direction of the hierarchy levels to resolve. This is a clangd extension.

    + +

    Definition at line 1419 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::fromJSON().

    + +
    +
    + +

    ◆ resolve

    + +
    +
    + + + + +
    int lspserver::TypeHierarchyPrepareParams::resolve = 0
    +
    +

    The hierarchy levels to resolve. 0 indicates no level. This is a clangd extension.

    + +

    Definition at line 1415 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::fromJSON().

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structlspserver_1_1TypeHierarchyPrepareParams__coll__graph.map b/structlspserver_1_1TypeHierarchyPrepareParams__coll__graph.map new file mode 100644 index 000000000..6308d1335 --- /dev/null +++ b/structlspserver_1_1TypeHierarchyPrepareParams__coll__graph.map @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/structlspserver_1_1TypeHierarchyPrepareParams__coll__graph.md5 b/structlspserver_1_1TypeHierarchyPrepareParams__coll__graph.md5 new file mode 100644 index 000000000..685412e72 --- /dev/null +++ b/structlspserver_1_1TypeHierarchyPrepareParams__coll__graph.md5 @@ -0,0 +1 @@ +f8d03a73c741139c25b5a85d029bf524 \ No newline at end of file diff --git a/structlspserver_1_1TypeHierarchyPrepareParams__coll__graph.svg b/structlspserver_1_1TypeHierarchyPrepareParams__coll__graph.svg new file mode 100644 index 000000000..ac126307a --- /dev/null +++ b/structlspserver_1_1TypeHierarchyPrepareParams__coll__graph.svg @@ -0,0 +1,98 @@ + + + + + + +lspserver::TypeHierarchyPrepareParams + + +Node1 + + +lspserver::TypeHierarchy +PrepareParams + + + + + +Node2 + + +lspserver::TextDocumentPosition +Params + + + + + +Node2->Node1 + + + + + + + + +Node3 + + +lspserver::TextDocumentIdentifier + + + + + +Node3->Node2 + + + + + + textDocument + + + +Node4 + + +lspserver::URIForFile + + + + + +Node4->Node3 + + + + + + uri + + + +Node5 + + +lspserver::Position + + + + + +Node5->Node2 + + + + + + position + + + diff --git a/structlspserver_1_1TypeHierarchyPrepareParams__inherit__graph.map b/structlspserver_1_1TypeHierarchyPrepareParams__inherit__graph.map new file mode 100644 index 000000000..28de34c21 --- /dev/null +++ b/structlspserver_1_1TypeHierarchyPrepareParams__inherit__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/structlspserver_1_1TypeHierarchyPrepareParams__inherit__graph.md5 b/structlspserver_1_1TypeHierarchyPrepareParams__inherit__graph.md5 new file mode 100644 index 000000000..87f4cca7c --- /dev/null +++ b/structlspserver_1_1TypeHierarchyPrepareParams__inherit__graph.md5 @@ -0,0 +1 @@ +89753ff74577574b43dbd75925d0d97a \ No newline at end of file diff --git a/structlspserver_1_1TypeHierarchyPrepareParams__inherit__graph.svg b/structlspserver_1_1TypeHierarchyPrepareParams__inherit__graph.svg new file mode 100644 index 000000000..e416d7766 --- /dev/null +++ b/structlspserver_1_1TypeHierarchyPrepareParams__inherit__graph.svg @@ -0,0 +1,41 @@ + + + + + + +lspserver::TypeHierarchyPrepareParams + + +Node1 + + +lspserver::TypeHierarchy +PrepareParams + + + + + +Node2 + + +lspserver::TextDocumentPosition +Params + + + + + +Node2->Node1 + + + + + + + + diff --git a/structlspserver_1_1URIForFile-members.html b/structlspserver_1_1URIForFile-members.html new file mode 100644 index 000000000..8e7b76107 --- /dev/null +++ b/structlspserver_1_1URIForFile-members.html @@ -0,0 +1,99 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    lspserver::URIForFile Member List
    +
    +
    + +

    This is the complete list of members for lspserver::URIForFile, including all inherited members.

    + + + + + + + + + + +
    canonicalize(llvm::StringRef AbsPath, llvm::StringRef TUPath)lspserver::URIForFilestatic
    file() constlspserver::URIForFileinline
    fromURI(const URI &U, llvm::StringRef HintPath)lspserver::URIForFilestatic
    operator bool() constlspserver::URIForFileinlineexplicit
    operator!=lspserver::URIForFilefriend
    operator<lspserver::URIForFilefriend
    operator==lspserver::URIForFilefriend
    uri() constlspserver::URIForFileinline
    URIForFile()=defaultlspserver::URIForFile
    + + + + diff --git a/structlspserver_1_1URIForFile.html b/structlspserver_1_1URIForFile.html new file mode 100644 index 000000000..8a6f8bcce --- /dev/null +++ b/structlspserver_1_1URIForFile.html @@ -0,0 +1,411 @@ + + + + + + + +nixd: lspserver::URIForFile Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    lspserver::URIForFile Struct Reference
    +
    +
    + +

    #include <Protocol.h>

    + + + + + + + + + + + +

    +Public Member Functions

     URIForFile ()=default
     
    llvm::StringRef file () const
     Retrieves absolute path to the file.
     
     operator bool () const
     
    std::string uri () const
     
    + + + + + +

    +Static Public Member Functions

    static URIForFile canonicalize (llvm::StringRef AbsPath, llvm::StringRef TUPath)
     
    static llvm::Expected< URIForFilefromURI (const URI &U, llvm::StringRef HintPath)
     
    + + + + + + + +

    +Friends

    bool operator== (const URIForFile &LHS, const URIForFile &RHS)
     
    bool operator!= (const URIForFile &LHS, const URIForFile &RHS)
     
    bool operator< (const URIForFile &LHS, const URIForFile &RHS)
     
    +

    Detailed Description

    +
    +

    Definition at line 56 of file lspserver/include/lspserver/Protocol.h.

    +

    Constructor & Destructor Documentation

    + +

    ◆ URIForFile()

    + +
    +
    + + + + + +
    + + + + + + + +
    lspserver::URIForFile::URIForFile ()
    +
    +default
    +
    + +

    Referenced by canonicalize(), and fromURI().

    + +
    +
    +

    Member Function Documentation

    + +

    ◆ canonicalize()

    + +
    +
    + + + + + +
    + + + + + + + + + + + +
    URIForFile lspserver::URIForFile::canonicalize (llvm::StringRef AbsPath,
    llvm::StringRef TUPath )
    +
    +static
    +
    +

    Canonicalizes AbsPath via URI.

    +

    File paths in URIForFile can come from index or local AST. Path from index goes through URI transformation, and the final path is resolved by URI scheme and could potentially be different from the original path. Hence, we do the same transformation for all paths.

    +

    Files can be referred to by several paths (e.g. in the presence of links). Which one we prefer may depend on where we're coming from. TUPath is a hint, and should usually be the main entrypoint file we're processing.

    + +

    Definition at line 42 of file lspserver/src/Protocol.cpp.

    + +

    References lspserver::elog(), lspserver::URI::resolvePath(), and URIForFile().

    + +
    +
    + +

    ◆ file()

    + +
    +
    + + + + + +
    + + + + + + + +
    llvm::StringRef lspserver::URIForFile::file () const
    +
    +inline
    +
    + +

    Retrieves absolute path to the file.

    + +

    Definition at line 76 of file lspserver/include/lspserver/Protocol.h.

    + +
    +
    + +

    ◆ fromURI()

    + +
    +
    + + + + + +
    + + + + + + + + + + + +
    llvm::Expected< URIForFile > lspserver::URIForFile::fromURI (const URI & U,
    llvm::StringRef HintPath )
    +
    +static
    +
    + +

    Definition at line 55 of file lspserver/src/Protocol.cpp.

    + +

    References lspserver::URI::resolve(), and URIForFile().

    + +

    Referenced by lspserver::fromJSON().

    + +
    +
    + +

    ◆ operator bool()

    + +
    +
    + + + + + +
    + + + + + + + +
    lspserver::URIForFile::operator bool () const
    +
    +inlineexplicit
    +
    + +

    Definition at line 78 of file lspserver/include/lspserver/Protocol.h.

    + +
    +
    + +

    ◆ uri()

    + +
    +
    + + + + + +
    + + + + + + + +
    std::string lspserver::URIForFile::uri () const
    +
    +inline
    +
    +
    +

    Friends And Related Symbol Documentation

    + +

    ◆ operator!=

    + +
    +
    + + + + + +
    + + + + + + + + + + + +
    bool operator!= (const URIForFile & LHS,
    const URIForFile & RHS )
    +
    +friend
    +
    + +

    Definition at line 85 of file lspserver/include/lspserver/Protocol.h.

    + +
    +
    + +

    ◆ operator<

    + +
    +
    + + + + + +
    + + + + + + + + + + + +
    bool operator< (const URIForFile & LHS,
    const URIForFile & RHS )
    +
    +friend
    +
    + +

    Definition at line 89 of file lspserver/include/lspserver/Protocol.h.

    + +
    +
    + +

    ◆ operator==

    + +
    +
    + + + + + +
    + + + + + + + + + + + +
    bool operator== (const URIForFile & LHS,
    const URIForFile & RHS )
    +
    +friend
    +
    + +

    Definition at line 81 of file lspserver/include/lspserver/Protocol.h.

    + +
    +
    +
    The documentation for this struct was generated from the following files: +
    + + + + diff --git a/structlspserver_1_1VersionedTextDocumentIdentifier-members.html b/structlspserver_1_1VersionedTextDocumentIdentifier-members.html new file mode 100644 index 000000000..e1c1c0da9 --- /dev/null +++ b/structlspserver_1_1VersionedTextDocumentIdentifier-members.html @@ -0,0 +1,92 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    lspserver::VersionedTextDocumentIdentifier Member List
    +
    +
    + +

    This is the complete list of members for lspserver::VersionedTextDocumentIdentifier, including all inherited members.

    + + + +
    urilspserver::TextDocumentIdentifier
    versionlspserver::VersionedTextDocumentIdentifier
    + + + + diff --git a/structlspserver_1_1VersionedTextDocumentIdentifier.html b/structlspserver_1_1VersionedTextDocumentIdentifier.html new file mode 100644 index 000000000..268c04c59 --- /dev/null +++ b/structlspserver_1_1VersionedTextDocumentIdentifier.html @@ -0,0 +1,140 @@ + + + + + + + +nixd: lspserver::VersionedTextDocumentIdentifier Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    lspserver::VersionedTextDocumentIdentifier Struct Reference
    +
    +
    + +

    #include <Protocol.h>

    +
    +Inheritance diagram for lspserver::VersionedTextDocumentIdentifier:
    +
    +
    +
    [legend]
    +
    +Collaboration diagram for lspserver::VersionedTextDocumentIdentifier:
    +
    +
    +
    [legend]
    + + + + + + + + +

    +Public Attributes

    std::optional< std::int64_t > version
     
    - Public Attributes inherited from lspserver::TextDocumentIdentifier
    URIForFile uri
     The text document's URI.
     
    +

    Detailed Description

    +
    +

    Definition at line 111 of file lspserver/include/lspserver/Protocol.h.

    +

    Member Data Documentation

    + +

    ◆ version

    + +
    +
    + + + + +
    std::optional<std::int64_t> lspserver::VersionedTextDocumentIdentifier::version
    +
    +

    The version number of this document. If a versioned text document identifier is sent from the server to the client and the file is not open in the editor (the server has not received an open notification before) the server can send null to indicate that the version is known and the content on disk is the master (as speced with document content ownership).

    +

    The version number of a document will increase after each change, including undo/redo. The number doesn't need to be consecutive.

    +

    clangd extension: versions are optional, and synthesized if missing.

    + +

    Definition at line 122 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::fromJSON(), and lspserver::toJSON().

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structlspserver_1_1VersionedTextDocumentIdentifier__coll__graph.map b/structlspserver_1_1VersionedTextDocumentIdentifier__coll__graph.map new file mode 100644 index 000000000..18a279216 --- /dev/null +++ b/structlspserver_1_1VersionedTextDocumentIdentifier__coll__graph.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/structlspserver_1_1VersionedTextDocumentIdentifier__coll__graph.md5 b/structlspserver_1_1VersionedTextDocumentIdentifier__coll__graph.md5 new file mode 100644 index 000000000..23dfb8163 --- /dev/null +++ b/structlspserver_1_1VersionedTextDocumentIdentifier__coll__graph.md5 @@ -0,0 +1 @@ +e6af82b689571ef72183da0a289b63f6 \ No newline at end of file diff --git a/structlspserver_1_1VersionedTextDocumentIdentifier__coll__graph.svg b/structlspserver_1_1VersionedTextDocumentIdentifier__coll__graph.svg new file mode 100644 index 000000000..95cfe226a --- /dev/null +++ b/structlspserver_1_1VersionedTextDocumentIdentifier__coll__graph.svg @@ -0,0 +1,59 @@ + + + + + + +lspserver::VersionedTextDocumentIdentifier + + +Node1 + + +lspserver::VersionedText +DocumentIdentifier + + + + + +Node2 + + +lspserver::TextDocumentIdentifier + + + + + +Node2->Node1 + + + + + + + + +Node3 + + +lspserver::URIForFile + + + + + +Node3->Node2 + + + + + + uri + + + diff --git a/structlspserver_1_1VersionedTextDocumentIdentifier__inherit__graph.map b/structlspserver_1_1VersionedTextDocumentIdentifier__inherit__graph.map new file mode 100644 index 000000000..3f0e255be --- /dev/null +++ b/structlspserver_1_1VersionedTextDocumentIdentifier__inherit__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/structlspserver_1_1VersionedTextDocumentIdentifier__inherit__graph.md5 b/structlspserver_1_1VersionedTextDocumentIdentifier__inherit__graph.md5 new file mode 100644 index 000000000..35a7f3e6c --- /dev/null +++ b/structlspserver_1_1VersionedTextDocumentIdentifier__inherit__graph.md5 @@ -0,0 +1 @@ +8f2312451a0fbc00201898ba122ef450 \ No newline at end of file diff --git a/structlspserver_1_1VersionedTextDocumentIdentifier__inherit__graph.svg b/structlspserver_1_1VersionedTextDocumentIdentifier__inherit__graph.svg new file mode 100644 index 000000000..181176df0 --- /dev/null +++ b/structlspserver_1_1VersionedTextDocumentIdentifier__inherit__graph.svg @@ -0,0 +1,40 @@ + + + + + + +lspserver::VersionedTextDocumentIdentifier + + +Node1 + + +lspserver::VersionedText +DocumentIdentifier + + + + + +Node2 + + +lspserver::TextDocumentIdentifier + + + + + +Node2->Node1 + + + + + + + + diff --git a/structlspserver_1_1WorkDoneProgressBegin-members.html b/structlspserver_1_1WorkDoneProgressBegin-members.html new file mode 100644 index 000000000..495977f80 --- /dev/null +++ b/structlspserver_1_1WorkDoneProgressBegin-members.html @@ -0,0 +1,93 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    lspserver::WorkDoneProgressBegin Member List
    +
    + + + + + diff --git a/structlspserver_1_1WorkDoneProgressBegin.html b/structlspserver_1_1WorkDoneProgressBegin.html new file mode 100644 index 000000000..e4c67fccf --- /dev/null +++ b/structlspserver_1_1WorkDoneProgressBegin.html @@ -0,0 +1,170 @@ + + + + + + + +nixd: lspserver::WorkDoneProgressBegin Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    lspserver::WorkDoneProgressBegin Struct Reference
    +
    +
    + +

    #include <Protocol.h>

    + + + + + + + + +

    +Public Attributes

    std::string title
     
    bool cancellable = false
     
    bool percentage = false
     
    +

    Detailed Description

    +

    To start progress reporting a $/progress notification with the following payload must be sent.

    + +

    Definition at line 636 of file lspserver/include/lspserver/Protocol.h.

    +

    Member Data Documentation

    + +

    ◆ cancellable

    + +
    +
    + + + + +
    bool lspserver::WorkDoneProgressBegin::cancellable = false
    +
    +

    Controls if a cancel button should show to allow the user to cancel the long-running operation. Clients that don't support cancellation are allowed to ignore the setting.

    + +

    Definition at line 646 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::toJSON().

    + +
    +
    + +

    ◆ percentage

    + +
    +
    + + + + +
    bool lspserver::WorkDoneProgressBegin::percentage = false
    +
    +

    Optional progress percentage to display (value 100 is considered 100%). If not provided infinite progress is assumed and clients are allowed to ignore the percentage value in subsequent in report notifications.

    +

    The value should be steadily rising. Clients are free to ignore values that are not following this rule.

    +

    Clangd implementation note: we only send nonzero percentages in the WorkProgressReport. 'true' here means percentages will be used.

    + +

    Definition at line 657 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::toJSON().

    + +
    +
    + +

    ◆ title

    + +
    +
    + + + + +
    std::string lspserver::WorkDoneProgressBegin::title
    +
    +

    Mandatory title of the progress operation. Used to briefly inform about the kind of operation being performed.

    +

    Examples: "Indexing" or "Linking dependencies".

    + +

    Definition at line 641 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::toJSON().

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structlspserver_1_1WorkDoneProgressCreateParams-members.html b/structlspserver_1_1WorkDoneProgressCreateParams-members.html new file mode 100644 index 000000000..1debd45c1 --- /dev/null +++ b/structlspserver_1_1WorkDoneProgressCreateParams-members.html @@ -0,0 +1,91 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    lspserver::WorkDoneProgressCreateParams Member List
    +
    +
    + +

    This is the complete list of members for lspserver::WorkDoneProgressCreateParams, including all inherited members.

    + + +
    tokenlspserver::WorkDoneProgressCreateParams
    + + + + diff --git a/structlspserver_1_1WorkDoneProgressCreateParams.html b/structlspserver_1_1WorkDoneProgressCreateParams.html new file mode 100644 index 000000000..249659df0 --- /dev/null +++ b/structlspserver_1_1WorkDoneProgressCreateParams.html @@ -0,0 +1,126 @@ + + + + + + + +nixd: lspserver::WorkDoneProgressCreateParams Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    lspserver::WorkDoneProgressCreateParams Struct Reference
    +
    +
    + +

    #include <Protocol.h>

    + + + + + +

    +Public Attributes

    llvm::json::Value token = nullptr
     The token to be used to report progress.
     
    +

    Detailed Description

    +
    +

    Definition at line 618 of file lspserver/include/lspserver/Protocol.h.

    +

    Member Data Documentation

    + +

    ◆ token

    + +
    +
    + + + + +
    llvm::json::Value lspserver::WorkDoneProgressCreateParams::token = nullptr
    +
    + +

    The token to be used to report progress.

    + +

    Definition at line 620 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::toJSON().

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structlspserver_1_1WorkDoneProgressEnd-members.html b/structlspserver_1_1WorkDoneProgressEnd-members.html new file mode 100644 index 000000000..175309559 --- /dev/null +++ b/structlspserver_1_1WorkDoneProgressEnd-members.html @@ -0,0 +1,91 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    lspserver::WorkDoneProgressEnd Member List
    +
    +
    + +

    This is the complete list of members for lspserver::WorkDoneProgressEnd, including all inherited members.

    + + +
    messagelspserver::WorkDoneProgressEnd
    + + + + diff --git a/structlspserver_1_1WorkDoneProgressEnd.html b/structlspserver_1_1WorkDoneProgressEnd.html new file mode 100644 index 000000000..7499bafbd --- /dev/null +++ b/structlspserver_1_1WorkDoneProgressEnd.html @@ -0,0 +1,128 @@ + + + + + + + +nixd: lspserver::WorkDoneProgressEnd Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    lspserver::WorkDoneProgressEnd Struct Reference
    +
    +
    + +

    Signals the end of progress reporting. + More...

    + +

    #include <Protocol.h>

    + + + + +

    +Public Attributes

    std::optional< std::string > message
     
    +

    Detailed Description

    +

    Signals the end of progress reporting.

    + +

    Definition at line 694 of file lspserver/include/lspserver/Protocol.h.

    +

    Member Data Documentation

    + +

    ◆ message

    + +
    +
    + + + + +
    std::optional<std::string> lspserver::WorkDoneProgressEnd::message
    +
    +

    Optional, a final message indicating to for example indicate the outcome of the operation.

    + +

    Definition at line 697 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::toJSON().

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structlspserver_1_1WorkDoneProgressReport-members.html b/structlspserver_1_1WorkDoneProgressReport-members.html new file mode 100644 index 000000000..6ebb98280 --- /dev/null +++ b/structlspserver_1_1WorkDoneProgressReport-members.html @@ -0,0 +1,94 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    lspserver::WorkDoneProgressReport Member List
    +
    + + + + + diff --git a/structlspserver_1_1WorkDoneProgressReport.html b/structlspserver_1_1WorkDoneProgressReport.html new file mode 100644 index 000000000..01b4d2c0a --- /dev/null +++ b/structlspserver_1_1WorkDoneProgressReport.html @@ -0,0 +1,193 @@ + + + + + + + +nixd: lspserver::WorkDoneProgressReport Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    lspserver::WorkDoneProgressReport Struct Reference
    +
    +
    + +

    Reporting progress is done using the following payload. + More...

    + +

    #include <Protocol.h>

    + + + + + + + + + + +

    +Public Attributes

    std::string title
     
    std::optional< bool > cancellable
     
    std::optional< std::string > message
     
    std::optional< unsigned > percentage
     
    +

    Detailed Description

    +

    Reporting progress is done using the following payload.

    + +

    Definition at line 662 of file lspserver/include/lspserver/Protocol.h.

    +

    Member Data Documentation

    + +

    ◆ cancellable

    + +
    +
    + + + + +
    std::optional<bool> lspserver::WorkDoneProgressReport::cancellable
    +
    +

    Controls enablement state of a cancel button. This property is only valid if a cancel button got requested in the WorkDoneProgressStart payload.

    +

    Clients that don't support cancellation or don't support control the button's enablement state are allowed to ignore the setting.

    + +

    Definition at line 674 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::toJSON().

    + +
    +
    + +

    ◆ message

    + +
    +
    + + + + +
    std::optional<std::string> lspserver::WorkDoneProgressReport::message
    +
    +

    Optional, more detailed associated progress message. Contains complementary information to the title.

    +

    Examples: "3/25 files", "project/src/module2", "node_modules/some_dep". If unset, the previous progress message (if any) is still valid.

    + +

    Definition at line 681 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::toJSON().

    + +
    +
    + +

    ◆ percentage

    + +
    +
    + + + + +
    std::optional<unsigned> lspserver::WorkDoneProgressReport::percentage
    +
    +

    Optional progress percentage to display (value 100 is considered 100%). If not provided infinite progress is assumed and clients are allowed to ignore the percentage value in subsequent in report notifications.

    +

    The value should be steadily rising. Clients are free to ignore values that are not following this rule.

    + +

    Definition at line 689 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::toJSON().

    + +
    +
    + +

    ◆ title

    + +
    +
    + + + + +
    std::string lspserver::WorkDoneProgressReport::title
    +
    +

    Mandatory title of the progress operation. Used to briefly inform about the kind of operation being performed.

    +

    Examples: "Indexing" or "Linking dependencies".

    + +

    Definition at line 667 of file lspserver/include/lspserver/Protocol.h.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structlspserver_1_1WorkspaceEdit-members.html b/structlspserver_1_1WorkspaceEdit-members.html new file mode 100644 index 000000000..60038e238 --- /dev/null +++ b/structlspserver_1_1WorkspaceEdit-members.html @@ -0,0 +1,93 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    lspserver::WorkspaceEdit Member List
    +
    + + + + + diff --git a/structlspserver_1_1WorkspaceEdit.html b/structlspserver_1_1WorkspaceEdit.html new file mode 100644 index 000000000..69a315f18 --- /dev/null +++ b/structlspserver_1_1WorkspaceEdit.html @@ -0,0 +1,170 @@ + + + + + + + +nixd: lspserver::WorkspaceEdit Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    lspserver::WorkspaceEdit Struct Reference
    +
    +
    + +

    #include <Protocol.h>

    + + + + + + + + + +

    +Public Attributes

    std::optional< std::map< std::string, std::vector< TextEdit > > > changes
     Holds changes to existing resources.
     
    std::optional< std::vector< TextDocumentEdit > > documentChanges
     
    std::map< std::string, ChangeAnnotationchangeAnnotations
     
    +

    Detailed Description

    +

    The edit should either provide changes or documentChanges. If the client can handle versioned document edits and if documentChanges are present, the latter are preferred over changes.

    + +

    Definition at line 993 of file lspserver/include/lspserver/Protocol.h.

    +

    Member Data Documentation

    + +

    ◆ changeAnnotations

    + +
    +
    + + + + +
    std::map<std::string, ChangeAnnotation> lspserver::WorkspaceEdit::changeAnnotations
    +
    +

    A map of change annotations that can be referenced in AnnotatedTextEdit.

    + +

    Definition at line 1005 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::fromJSON(), and lspserver::toJSON().

    + +
    +
    + +

    ◆ changes

    + +
    +
    + + + + +
    std::optional<std::map<std::string, std::vector<TextEdit> > > lspserver::WorkspaceEdit::changes
    +
    + +

    Holds changes to existing resources.

    + +

    Definition at line 995 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::fromJSON(), and lspserver::toJSON().

    + +
    +
    + +

    ◆ documentChanges

    + +
    +
    + + + + +
    std::optional<std::vector<TextDocumentEdit> > lspserver::WorkspaceEdit::documentChanges
    +
    +

    Versioned document edits.

    +

    If a client neither supports documentChanges nor workspace.workspaceEdit.resourceOperations then only plain TextEdits using the changes property are supported.

    + +

    Definition at line 1001 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::fromJSON(), and lspserver::toJSON().

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structlspserver_1_1WorkspaceSymbolParams-members.html b/structlspserver_1_1WorkspaceSymbolParams-members.html new file mode 100644 index 000000000..34997829e --- /dev/null +++ b/structlspserver_1_1WorkspaceSymbolParams-members.html @@ -0,0 +1,92 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    lspserver::WorkspaceSymbolParams Member List
    +
    +
    + +

    This is the complete list of members for lspserver::WorkspaceSymbolParams, including all inherited members.

    + + + +
    limitlspserver::WorkspaceSymbolParams
    querylspserver::WorkspaceSymbolParams
    + + + + diff --git a/structlspserver_1_1WorkspaceSymbolParams.html b/structlspserver_1_1WorkspaceSymbolParams.html new file mode 100644 index 000000000..63d3248d5 --- /dev/null +++ b/structlspserver_1_1WorkspaceSymbolParams.html @@ -0,0 +1,149 @@ + + + + + + + +nixd: lspserver::WorkspaceSymbolParams Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    lspserver::WorkspaceSymbolParams Struct Reference
    +
    +
    + +

    The parameters of a Workspace Symbol Request. + More...

    + +

    #include <Protocol.h>

    + + + + + + +

    +Public Attributes

    std::string query
     
    std::optional< int > limit
     
    +

    Detailed Description

    +

    The parameters of a Workspace Symbol Request.

    + +

    Definition at line 1136 of file lspserver/include/lspserver/Protocol.h.

    +

    Member Data Documentation

    + +

    ◆ limit

    + +
    +
    + + + + +
    std::optional<int> lspserver::WorkspaceSymbolParams::limit
    +
    +

    Max results to return, overriding global default. 0 means no limit. Clangd extension.

    + +

    Definition at line 1143 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::fromJSON().

    + +
    +
    + +

    ◆ query

    + +
    +
    + + + + +
    std::string lspserver::WorkspaceSymbolParams::query
    +
    +

    A query string to filter symbols by. Clients may send an empty string here to request all the symbols.

    + +

    Definition at line 1139 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::fromJSON().

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structnixbc_1_1FileHeader-members.html b/structnixbc_1_1FileHeader-members.html new file mode 100644 index 000000000..e0d1a4546 --- /dev/null +++ b/structnixbc_1_1FileHeader-members.html @@ -0,0 +1,93 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    nixbc::FileHeader Member List
    +
    +
    + +

    This is the complete list of members for nixbc::FileHeader, including all inherited members.

    + + + + +
    Magicnixbc::FileHeader
    MagicValuenixbc::FileHeaderstatic
    Versionnixbc::FileHeader
    + + + + diff --git a/structnixbc_1_1FileHeader.html b/structnixbc_1_1FileHeader.html new file mode 100644 index 000000000..70a506b6b --- /dev/null +++ b/structnixbc_1_1FileHeader.html @@ -0,0 +1,169 @@ + + + + + + + +nixd: nixbc::FileHeader Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    nixbc::FileHeader Struct Reference
    +
    +
    + +

    #include <FileHeader.h>

    + + + + + + +

    +Public Attributes

    uint32_t Magic
     
    uint32_t Version
     
    + + + +

    +Static Public Attributes

    static constexpr int MagicValue = 0x72A17086
     
    +

    Detailed Description

    +
    +

    Definition at line 9 of file FileHeader.h.

    +

    Member Data Documentation

    + +

    ◆ Magic

    + +
    +
    + + + + +
    uint32_t nixbc::FileHeader::Magic
    +
    + +

    Definition at line 11 of file FileHeader.h.

    + +
    +
    + +

    ◆ MagicValue

    + +
    +
    + + + + + +
    + + + + +
    constexpr int nixbc::FileHeader::MagicValue = 0x72A17086
    +
    +staticconstexpr
    +
    + +

    Definition at line 10 of file FileHeader.h.

    + +
    +
    + +

    ◆ Version

    + +
    +
    + + + + +
    uint32_t nixbc::FileHeader::Version
    +
    + +

    Definition at line 12 of file FileHeader.h.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structnixbc_1_1NodeHeader-members.html b/structnixbc_1_1NodeHeader-members.html new file mode 100644 index 000000000..b89dabbd1 --- /dev/null +++ b/structnixbc_1_1NodeHeader-members.html @@ -0,0 +1,92 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    nixbc::NodeHeader Member List
    +
    +
    + +

    This is the complete list of members for nixbc::NodeHeader, including all inherited members.

    + + + +
    Handlenixbc::NodeHeader
    Kindnixbc::NodeHeader
    + + + + diff --git a/structnixbc_1_1NodeHeader.html b/structnixbc_1_1NodeHeader.html new file mode 100644 index 000000000..f4f28e490 --- /dev/null +++ b/structnixbc_1_1NodeHeader.html @@ -0,0 +1,139 @@ + + + + + + + +nixd: nixbc::NodeHeader Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    nixbc::NodeHeader Struct Reference
    +
    +
    + +

    #include <Nodes.h>

    + + + + + + +

    +Public Attributes

    ExprKind Kind
     
    uintptr_t Handle
     
    +

    Detailed Description

    +
    +

    Definition at line 35 of file libnixbc/include/nixbc/Nodes.h.

    +

    Member Data Documentation

    + +

    ◆ Handle

    + +
    +
    + + + + +
    uintptr_t nixbc::NodeHeader::Handle
    +
    + +

    Definition at line 37 of file libnixbc/include/nixbc/Nodes.h.

    + +
    +
    + +

    ◆ Kind

    + +
    +
    + + + + +
    ExprKind nixbc::NodeHeader::Kind
    +
    + +

    Definition at line 36 of file libnixbc/include/nixbc/Nodes.h.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structnixd_1_1rpc_1_1ExprValueParams-members.html b/structnixd_1_1rpc_1_1ExprValueParams-members.html new file mode 100644 index 000000000..583353971 --- /dev/null +++ b/structnixd_1_1rpc_1_1ExprValueParams-members.html @@ -0,0 +1,91 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    nixd::rpc::ExprValueParams Member List
    +
    +
    + +

    This is the complete list of members for nixd::rpc::ExprValueParams, including all inherited members.

    + + +
    ExprIDnixd::rpc::ExprValueParams
    + + + + diff --git a/structnixd_1_1rpc_1_1ExprValueParams.html b/structnixd_1_1rpc_1_1ExprValueParams.html new file mode 100644 index 000000000..4b0f69141 --- /dev/null +++ b/structnixd_1_1rpc_1_1ExprValueParams.html @@ -0,0 +1,123 @@ + + + + + + + +nixd: nixd::rpc::ExprValueParams Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    nixd::rpc::ExprValueParams Struct Reference
    +
    +
    + +

    #include <Protocol.h>

    + + + + +

    +Public Attributes

    std::int64_t ExprID
     
    +

    Detailed Description

    +
    +

    Definition at line 32 of file nixd/librpc/include/nixd/rpc/Protocol.h.

    +

    Member Data Documentation

    + +

    ◆ ExprID

    + +
    +
    + + + + +
    std::int64_t nixd::rpc::ExprValueParams::ExprID
    +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structnixd_1_1rpc_1_1ExprValueResponse-members.html b/structnixd_1_1rpc_1_1ExprValueResponse-members.html new file mode 100644 index 000000000..9f3b8750a --- /dev/null +++ b/structnixd_1_1rpc_1_1ExprValueResponse-members.html @@ -0,0 +1,101 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    nixd::rpc::ExprValueResponse Member List
    +
    + + + + + diff --git a/structnixd_1_1rpc_1_1ExprValueResponse.html b/structnixd_1_1rpc_1_1ExprValueResponse.html new file mode 100644 index 000000000..f5c68fdb4 --- /dev/null +++ b/structnixd_1_1rpc_1_1ExprValueResponse.html @@ -0,0 +1,231 @@ + + + + + + + +nixd: nixd::rpc::ExprValueResponse Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    nixd::rpc::ExprValueResponse Struct Reference
    +
    +
    + +

    #include <Protocol.h>

    + + + + + + + +

    +Public Types

    enum  ResultKinds { NotFound +, NotEvaluated +, EvalError +, OK + }
     
    enum  ValueKinds { Int +, Float + }
     Opaque data, the value of the expr. More...
     
    + + + + + + + + +

    +Public Attributes

    int ResultKind
     
    std::int64_t ValueID
     The value ID, for future reference.
     
    int ValueKind
     
    +

    Detailed Description

    +
    +

    Definition at line 40 of file nixd/librpc/include/nixd/rpc/Protocol.h.

    +

    Member Enumeration Documentation

    + +

    ◆ ResultKinds

    + +
    +
    + + + + + +
    Enumerator
    NotFound 

    The expr is not found in the registered bytecodes.

    +
    NotEvaluated 

    The expr is found, but the value is not evaluated. e.g. too deep.

    +
    EvalError 

    Encountered an error when evaluating the value.

    +
    OK 

    The value is available.

    +
    + +

    Definition at line 41 of file nixd/librpc/include/nixd/rpc/Protocol.h.

    + +
    +
    + +

    ◆ ValueKinds

    + +
    +
    + +

    Opaque data, the value of the expr.

    + + + +
    Enumerator
    Int 
    Float 
    + +

    Definition at line 62 of file nixd/librpc/include/nixd/rpc/Protocol.h.

    + +
    +
    +

    Member Data Documentation

    + +

    ◆ ResultKind

    + +
    +
    + + + + +
    int nixd::rpc::ExprValueResponse::ResultKind
    +
    + +

    Definition at line 54 of file nixd/librpc/include/nixd/rpc/Protocol.h.

    + +

    Referenced by nixd::rpc::fromJSON(), and nixd::rpc::toJSON().

    + +
    +
    + +

    ◆ ValueID

    + +
    +
    + + + + +
    std::int64_t nixd::rpc::ExprValueResponse::ValueID
    +
    + +

    The value ID, for future reference.

    +

    We may want to query the value of the same expr multiple times, with more detailed information.

    + +

    Definition at line 59 of file nixd/librpc/include/nixd/rpc/Protocol.h.

    + +

    Referenced by nixd::rpc::fromJSON(), and nixd::rpc::toJSON().

    + +
    +
    + +

    ◆ ValueKind

    + +
    +
    + + + + +
    int nixd::rpc::ExprValueResponse::ValueKind
    +
    + +

    Definition at line 66 of file nixd/librpc/include/nixd/rpc/Protocol.h.

    + +

    Referenced by nixd::rpc::fromJSON(), and nixd::rpc::toJSON().

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structnixd_1_1rpc_1_1RegisterBCParams-members.html b/structnixd_1_1rpc_1_1RegisterBCParams-members.html new file mode 100644 index 000000000..a67fabe28 --- /dev/null +++ b/structnixd_1_1rpc_1_1RegisterBCParams-members.html @@ -0,0 +1,94 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    nixd::rpc::RegisterBCParams Member List
    +
    + + + + + diff --git a/structnixd_1_1rpc_1_1RegisterBCParams.html b/structnixd_1_1rpc_1_1RegisterBCParams.html new file mode 100644 index 000000000..bce72066d --- /dev/null +++ b/structnixd_1_1rpc_1_1RegisterBCParams.html @@ -0,0 +1,183 @@ + + + + + + + +nixd: nixd::rpc::RegisterBCParams Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    nixd::rpc::RegisterBCParams Struct Reference
    +
    +
    + +

    #include <Protocol.h>

    + + + + + + + + + + +

    +Public Attributes

    std::string Shm
     
    std::string BasePath
     
    std::string CachePath
     
    std::int64_t Size
     
    +

    Detailed Description

    +
    +

    Definition at line 21 of file nixd/librpc/include/nixd/rpc/Protocol.h.

    +

    Member Data Documentation

    + +

    ◆ BasePath

    + +
    +
    + + + + +
    std::string nixd::rpc::RegisterBCParams::BasePath
    +
    +
    + +

    ◆ CachePath

    + +
    +
    + + + + +
    std::string nixd::rpc::RegisterBCParams::CachePath
    +
    +
    + +

    ◆ Shm

    + +
    +
    + + + + +
    std::string nixd::rpc::RegisterBCParams::Shm
    +
    +
    + +

    ◆ Size

    + +
    +
    + + + + +
    std::int64_t nixd::rpc::RegisterBCParams::Size
    +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structnixd_1_1util_1_1OwnedRegion-members.html b/structnixd_1_1util_1_1OwnedRegion-members.html new file mode 100644 index 000000000..1622205b0 --- /dev/null +++ b/structnixd_1_1util_1_1OwnedRegion-members.html @@ -0,0 +1,92 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    nixd::util::OwnedRegion Member List
    +
    +
    + +

    This is the complete list of members for nixd::util::OwnedRegion, including all inherited members.

    + + + +
    Regionnixd::util::OwnedRegion
    Shmnixd::util::OwnedRegion
    + + + + diff --git a/structnixd_1_1util_1_1OwnedRegion.html b/structnixd_1_1util_1_1OwnedRegion.html new file mode 100644 index 000000000..8b23190a6 --- /dev/null +++ b/structnixd_1_1util_1_1OwnedRegion.html @@ -0,0 +1,139 @@ + + + + + + + +nixd: nixd::util::OwnedRegion Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    nixd::util::OwnedRegion Struct Reference
    +
    +
    + +

    #include <OwnedRegion.h>

    + + + + + + +

    +Public Attributes

    std::unique_ptr< AutoRemoveShmShm
     
    std::unique_ptr< boost::interprocess::mapped_region > Region
     
    +

    Detailed Description

    +
    +

    Definition at line 13 of file OwnedRegion.h.

    +

    Member Data Documentation

    + +

    ◆ Region

    + +
    +
    + + + + +
    std::unique_ptr<boost::interprocess::mapped_region> nixd::util::OwnedRegion::Region
    +
    + +

    Definition at line 15 of file OwnedRegion.h.

    + +
    +
    + +

    ◆ Shm

    + +
    +
    + + + + +
    std::unique_ptr<AutoRemoveShm> nixd::util::OwnedRegion::Shm
    +
    + +

    Definition at line 14 of file OwnedRegion.h.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structnixd_1_1util_1_1PipedProc-members.html b/structnixd_1_1util_1_1PipedProc-members.html new file mode 100644 index 000000000..d335411d5 --- /dev/null +++ b/structnixd_1_1util_1_1PipedProc-members.html @@ -0,0 +1,94 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    nixd::util::PipedProc Member List
    +
    +
    + +

    This is the complete list of members for nixd::util::PipedProc, including all inherited members.

    + + + + + +
    PIDnixd::util::PipedProc
    Stderrnixd::util::PipedProc
    Stdinnixd::util::PipedProc
    Stdoutnixd::util::PipedProc
    + + + + diff --git a/structnixd_1_1util_1_1PipedProc.html b/structnixd_1_1util_1_1PipedProc.html new file mode 100644 index 000000000..1cd09ad61 --- /dev/null +++ b/structnixd_1_1util_1_1PipedProc.html @@ -0,0 +1,180 @@ + + + + + + + +nixd: nixd::util::PipedProc Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    nixd::util::PipedProc Struct Reference
    +
    +
    + +

    #include <PipedProc.h>

    +
    +Collaboration diagram for nixd::util::PipedProc:
    +
    +
    +
    [legend]
    + + + + + + + + + + +

    +Public Attributes

    AutoHUPPID PID
     
    AutoCloseFD Stdin
     
    AutoCloseFD Stdout
     
    AutoCloseFD Stderr
     
    +

    Detailed Description

    +
    +

    Definition at line 8 of file PipedProc.h.

    +

    Member Data Documentation

    + +

    ◆ PID

    + +
    +
    + + + + +
    AutoHUPPID nixd::util::PipedProc::PID
    +
    + +

    Definition at line 9 of file PipedProc.h.

    + +
    +
    + +

    ◆ Stderr

    + +
    +
    + + + + +
    AutoCloseFD nixd::util::PipedProc::Stderr
    +
    + +

    Definition at line 14 of file PipedProc.h.

    + +
    +
    + +

    ◆ Stdin

    + +
    +
    + + + + +
    AutoCloseFD nixd::util::PipedProc::Stdin
    +
    + +

    Definition at line 12 of file PipedProc.h.

    + +
    +
    + +

    ◆ Stdout

    + +
    +
    + + + + +
    AutoCloseFD nixd::util::PipedProc::Stdout
    +
    + +

    Definition at line 13 of file PipedProc.h.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structnixd_1_1util_1_1PipedProc__coll__graph.map b/structnixd_1_1util_1_1PipedProc__coll__graph.map new file mode 100644 index 000000000..fd784c667 --- /dev/null +++ b/structnixd_1_1util_1_1PipedProc__coll__graph.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/structnixd_1_1util_1_1PipedProc__coll__graph.md5 b/structnixd_1_1util_1_1PipedProc__coll__graph.md5 new file mode 100644 index 000000000..e33fcaf99 --- /dev/null +++ b/structnixd_1_1util_1_1PipedProc__coll__graph.md5 @@ -0,0 +1 @@ +b89ced8812ea5d92644b798df3115450 \ No newline at end of file diff --git a/structnixd_1_1util_1_1PipedProc__coll__graph.svg b/structnixd_1_1util_1_1PipedProc__coll__graph.svg new file mode 100644 index 000000000..536af0c2f --- /dev/null +++ b/structnixd_1_1util_1_1PipedProc__coll__graph.svg @@ -0,0 +1,61 @@ + + + + + + +nixd::util::PipedProc + + +Node1 + + +nixd::util::PipedProc + + + + + +Node2 + + +nixd::util::AutoHUPPID + + + + + +Node2->Node1 + + + + + + PID + + + +Node3 + + +nixd::util::AutoCloseFD + + + + + +Node3->Node1 + + + + + + Stderr +Stdin +Stdout + + + diff --git a/structnixt_1_1ASTHeader-members.html b/structnixt_1_1ASTHeader-members.html new file mode 100644 index 000000000..54d42f019 --- /dev/null +++ b/structnixt_1_1ASTHeader-members.html @@ -0,0 +1,92 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    nixt::ASTHeader Member List
    +
    +
    + +

    This is the complete list of members for nixt::ASTHeader, including all inherited members.

    + + + +
    Magicnixt::ASTHeader
    Versionnixt::ASTHeader
    + + + + diff --git a/structnixt_1_1ASTHeader.html b/structnixt_1_1ASTHeader.html new file mode 100644 index 000000000..6e509d4c9 --- /dev/null +++ b/structnixt_1_1ASTHeader.html @@ -0,0 +1,143 @@ + + + + + + + +nixd: nixt::ASTHeader Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    nixt::ASTHeader Struct Reference
    +
    +
    + +

    Header of serialized AST. + More...

    + +

    #include <Serialize.h>

    + + + + + + +

    +Public Attributes

    char Magic [8]
     
    uint32_t Version
     
    +

    Detailed Description

    +

    Header of serialized AST.

    + +

    Definition at line 36 of file Serialize.h.

    +

    Member Data Documentation

    + +

    ◆ Magic

    + +
    +
    + + + + +
    char nixt::ASTHeader::Magic[8]
    +
    + +

    Definition at line 37 of file Serialize.h.

    + +
    +
    + +

    ◆ Version

    + +
    +
    + + + + +
    uint32_t nixt::ASTHeader::Version
    +
    + +

    Definition at line 38 of file Serialize.h.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structnixt_1_1ArrayRef-members.html b/structnixt_1_1ArrayRef-members.html new file mode 100644 index 000000000..3de512606 --- /dev/null +++ b/structnixt_1_1ArrayRef-members.html @@ -0,0 +1,92 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    nixt::ArrayRef< T > Member List
    +
    +
    + +

    This is the complete list of members for nixt::ArrayRef< T >, including all inherited members.

    + + + +
    Beginnixt::ArrayRef< T >
    Endnixt::ArrayRef< T >
    + + + + diff --git a/structnixt_1_1ArrayRef.html b/structnixt_1_1ArrayRef.html new file mode 100644 index 000000000..8a96d6618 --- /dev/null +++ b/structnixt_1_1ArrayRef.html @@ -0,0 +1,153 @@ + + + + + + + +nixd: nixt::ArrayRef< T > Struct Template Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    nixt::ArrayRef< T > Struct Template Reference
    +
    +
    + +

    Weak reference to an array, with begin and end pointers. + More...

    + +

    #include <ArrayRef.h>

    + + + + + + +

    +Public Attributes

    const T * Begin
     
    const T * End
     
    +

    Detailed Description

    +
    template<class T>
    +struct nixt::ArrayRef< T >

    Weak reference to an array, with begin and end pointers.

    +
    Note
    Please always pass/return by value and don't add member functions.
    + +

    Definition at line 11 of file ArrayRef.h.

    +

    Member Data Documentation

    + +

    ◆ Begin

    + +
    +
    +
    +template<class T >
    + + + + +
    const T* nixt::ArrayRef< T >::Begin
    +
    + +

    Definition at line 12 of file ArrayRef.h.

    + +

    Referenced by nixt::advance(), nixt::begin(), nixt::lengthof(), and nixt::view().

    + +
    +
    + +

    ◆ End

    + +
    +
    +
    +template<class T >
    + + + + +
    const T* nixt::ArrayRef< T >::End
    +
    + +

    Definition at line 13 of file ArrayRef.h.

    + +

    Referenced by nixt::advance(), nixt::end(), nixt::lengthof(), and nixt::view().

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structnixt_1_1DeserializeContext-members.html b/structnixt_1_1DeserializeContext-members.html new file mode 100644 index 000000000..9f4a700c4 --- /dev/null +++ b/structnixt_1_1DeserializeContext-members.html @@ -0,0 +1,95 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    nixt::DeserializeContext Member List
    +
    + + + + + diff --git a/structnixt_1_1DeserializeContext.html b/structnixt_1_1DeserializeContext.html new file mode 100644 index 000000000..e29493b5b --- /dev/null +++ b/structnixt_1_1DeserializeContext.html @@ -0,0 +1,203 @@ + + + + + + + +nixd: nixt::DeserializeContext Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    nixt::DeserializeContext Struct Reference
    +
    +
    + +

    API Wrapper around nix:: + More...

    + +

    #include <Deserialize.h>

    + + + + + + + + + + + + + +

    +Public Attributes

    nix::SymbolTable & STable
     
    nix::PosTable & PTable
     
    const nix::SourcePath BasePath
     Path resolution.
     
    const nix::ref< nix::InputAccessor > RootFS
     
    const nix::Pos::Origin & Origin
     
    +

    Detailed Description

    +

    API Wrapper around nix::

    +

    Paths related to this context is very unstable.

    + +

    Definition at line 16 of file Deserialize.h.

    +

    Member Data Documentation

    + +

    ◆ BasePath

    + +
    +
    + + + + +
    const nix::SourcePath nixt::DeserializeContext::BasePath
    +
    + +

    Path resolution.

    + +

    Definition at line 21 of file Deserialize.h.

    + +
    +
    + +

    ◆ Origin

    + +
    +
    + + + + +
    const nix::Pos::Origin& nixt::DeserializeContext::Origin
    +
    + +

    Definition at line 24 of file Deserialize.h.

    + +
    +
    + +

    ◆ PTable

    + +
    +
    + + + + +
    nix::PosTable& nixt::DeserializeContext::PTable
    +
    + +

    Definition at line 18 of file Deserialize.h.

    + +
    +
    + +

    ◆ RootFS

    + +
    +
    + + + + +
    const nix::ref<nix::InputAccessor> nixt::DeserializeContext::RootFS
    +
    + +

    Definition at line 22 of file Deserialize.h.

    + +
    +
    + +

    ◆ STable

    + +
    +
    + + + + +
    nix::SymbolTable& nixt::DeserializeContext::STable
    +
    + +

    Definition at line 17 of file Deserialize.h.

    + +

    Referenced by nixt::ASTDeserializer::eatSymbol(), and nixt::getDeserializeContext().

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structnixt_1_1PtrPool-members.html b/structnixt_1_1PtrPool-members.html new file mode 100644 index 000000000..0e6a518bb --- /dev/null +++ b/structnixt_1_1PtrPool-members.html @@ -0,0 +1,93 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    nixt::PtrPool< T > Member List
    +
    +
    + +

    This is the complete list of members for nixt::PtrPool< T >, including all inherited members.

    + + + + +
    add(std::unique_ptr< U > Node)nixt::PtrPool< T >inline
    Nodesnixt::PtrPool< T >
    record(U *Node)nixt::PtrPool< T >inline
    + + + + diff --git a/structnixt_1_1PtrPool.html b/structnixt_1_1PtrPool.html new file mode 100644 index 000000000..e2343f619 --- /dev/null +++ b/structnixt_1_1PtrPool.html @@ -0,0 +1,218 @@ + + + + + + + +nixd: nixt::PtrPool< T > Struct Template Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    nixt::PtrPool< T > Struct Template Reference
    +
    +
    + +

    A simple pointer pool, a vector of unique_ptrs. + More...

    + +

    #include <PtrPool.h>

    + + + + + + + + + + +

    +Public Member Functions

    template<class U >
    U * add (std::unique_ptr< U > Node)
     Takes ownership of a node, add it to the pool.
     
    template<class U >
    U * record (U *Node)
     Takes ownership from a raw pointer.
     
    + + + +

    +Public Attributes

    std::vector< std::unique_ptr< T > > Nodes
     
    +

    Detailed Description

    +
    template<class T>
    +struct nixt::PtrPool< T >

    A simple pointer pool, a vector of unique_ptrs.

    +

    It is used for "owning" nodes. Other classes can use weak/raw pointers to the nodes, to avoid cyclic references.

    +

    Also in nix AST, the nodes are not owned by it's parent because in bison algorithm nodes should be copyable while performing shift-reduce. So in our implementation nodes are owned in this structure.

    + +

    Definition at line 22 of file PtrPool.h.

    +

    Member Function Documentation

    + +

    ◆ add()

    + +
    +
    +
    +template<class T >
    +
    +template<class U >
    + + + + + +
    + + + + + + + +
    U * nixt::PtrPool< T >::add (std::unique_ptr< U > Node)
    +
    +inline
    +
    + +

    Takes ownership of a node, add it to the pool.

    + +

    Definition at line 26 of file PtrPool.h.

    + +

    References nixt::PtrPool< T >::Nodes.

    + +
    +
    + +

    ◆ record()

    + +
    +
    +
    +template<class T >
    +
    +template<class U >
    + + + + + +
    + + + + + + + +
    U * nixt::PtrPool< T >::record (U * Node)
    +
    +inline
    +
    + +

    Takes ownership from a raw pointer.

    +
    Note
    This should only be used when it is allocated by "malloc", and not owned by other objects (otherwise it will cause double free).
    + +

    Definition at line 35 of file PtrPool.h.

    + +

    References nixt::PtrPool< T >::Nodes.

    + +

    Referenced by nixt::ASTDeserializer::eatHookable().

    + +
    +
    +

    Member Data Documentation

    + +

    ◆ Nodes

    + +
    +
    +
    +template<class T >
    + + + + +
    std::vector<std::unique_ptr<T> > nixt::PtrPool< T >::Nodes
    +
    + +

    Definition at line 23 of file PtrPool.h.

    + +

    Referenced by nixt::PtrPool< T >::add(), and nixt::PtrPool< T >::record().

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structnixt_1_1RecursiveASTVisitor-members.html b/structnixt_1_1RecursiveASTVisitor-members.html new file mode 100644 index 000000000..7a390c46d --- /dev/null +++ b/structnixt_1_1RecursiveASTVisitor-members.html @@ -0,0 +1,94 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    nixt::RecursiveASTVisitor< Derived > Member List
    +
    +
    + +

    This is the complete list of members for nixt::RecursiveASTVisitor< Derived >, including all inherited members.

    + + + + + +
    getDerived()nixt::RecursiveASTVisitor< Derived >inline
    shouldTraversePostOrder()nixt::RecursiveASTVisitor< Derived >inline
    traverseExpr(const nix::Expr *E)nixt::RecursiveASTVisitor< Derived >inline
    visitExpr(const nix::Expr *)nixt::RecursiveASTVisitor< Derived >inline
    + + + + diff --git a/structnixt_1_1RecursiveASTVisitor.html b/structnixt_1_1RecursiveASTVisitor.html new file mode 100644 index 000000000..63526b5e6 --- /dev/null +++ b/structnixt_1_1RecursiveASTVisitor.html @@ -0,0 +1,253 @@ + + + + + + + +nixd: nixt::RecursiveASTVisitor< Derived > Struct Template Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    nixt::RecursiveASTVisitor< Derived > Struct Template Reference
    +
    +
    + +

    A CRTP base class for traversing nix::Expr * nodes. + More...

    + +

    #include <Visitor.h>

    + + + + + + + + + + +

    +Public Member Functions

    bool shouldTraversePostOrder ()
     
    bool visitExpr (const nix::Expr *)
     
    Derived & getDerived ()
     
    bool traverseExpr (const nix::Expr *E)
     
    +

    Detailed Description

    +
    template<class Derived>
    +struct nixt::RecursiveASTVisitor< Derived >

    A CRTP base class for traversing nix::Expr * nodes.

    +

    Usage:

    +
    struct MyVisitor : public RecursiveASTVisitor<MyVisitor> {
    +
    // This can be omitted.
    +
    bool traverseExpr(const nix::Expr *E) {
    +
    // Do something before/after traversing children.
    +
    }
    +
    +
    // return `true` to traverse post-order, otherwise pre-order (default).
    +
    bool shouldTraversePostOrder() { return true; }
    +
    +
    // sreturn `true` if we should continue traversing.
    +
    bool visitExprInt(const nix::ExprInt *E) { return true; }
    +
    bool visitExprFloat(const nix::ExprFloat *E) { return true; }
    +
    } V;
    +
    V.traverseExpr(Root); // call traverseExpr() on Root.
    +
    A CRTP base class for traversing nix::Expr * nodes.
    Definition Visitor.h:48
    +
    bool traverseExpr(const nix::Expr *E)
    Definition Visitor.h:65
    +
    Note
    This is based on dynamic_cast, so it is not very efficient.
    +

    visit*() methods are called once for each node.traverse*() methods are automatically generated describing relations between nodes. Usually you should always write custom visit*() methods, and only write traverse*() methods when you need to do something special.

    + +

    Definition at line 48 of file Visitor.h.

    +

    Member Function Documentation

    + +

    ◆ getDerived()

    + +
    +
    +
    +template<class Derived >
    + + + + + +
    + + + + + + + +
    Derived & nixt::RecursiveASTVisitor< Derived >::getDerived ()
    +
    +inline
    +
    + +

    Definition at line 63 of file Visitor.h.

    + +
    +
    + +

    ◆ shouldTraversePostOrder()

    + +
    +
    +
    +template<class Derived >
    + + + + + +
    + + + + + + + +
    bool nixt::RecursiveASTVisitor< Derived >::shouldTraversePostOrder ()
    +
    +inline
    +
    + +

    Definition at line 50 of file Visitor.h.

    + +
    +
    + +

    ◆ traverseExpr()

    + +
    +
    +
    +template<class Derived >
    + + + + + +
    + + + + + + + +
    bool nixt::RecursiveASTVisitor< Derived >::traverseExpr (const nix::Expr * E)
    +
    +inline
    +
    + +

    Definition at line 65 of file Visitor.h.

    + +

    Referenced by nixt::parentMap().

    + +
    +
    + +

    ◆ visitExpr()

    + +
    +
    +
    +template<class Derived >
    + + + + + +
    + + + + + + + +
    bool nixt::RecursiveASTVisitor< Derived >::visitExpr (const nix::Expr * )
    +
    +inline
    +
    + +

    Definition at line 52 of file Visitor.h.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structnixt_1_1detail_1_1ParseCacheF-members.html b/structnixt_1_1detail_1_1ParseCacheF-members.html new file mode 100644 index 000000000..e9c469f4e --- /dev/null +++ b/structnixt_1_1detail_1_1ParseCacheF-members.html @@ -0,0 +1,91 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    nixt::detail::ParseCacheF Member List
    +
    +
    + +

    This is the complete list of members for nixt::detail::ParseCacheF, including all inherited members.

    + + +
    type typedefnixt::detail::ParseCacheF
    + + + + diff --git a/structnixt_1_1detail_1_1ParseCacheF.html b/structnixt_1_1detail_1_1ParseCacheF.html new file mode 100644 index 000000000..cafc2d98c --- /dev/null +++ b/structnixt_1_1detail_1_1ParseCacheF.html @@ -0,0 +1,121 @@ + + + + + + + +nixd: nixt::detail::ParseCacheF Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    nixt::detail::ParseCacheF Struct Reference
    +
    +
    + +

    #include <HackCache.h>

    + + + + +

    +Public Types

    using type = FileParseCache nix::EvalState::*
     
    +

    Detailed Description

    +
    +

    Definition at line 38 of file HackCache.h.

    +

    Member Typedef Documentation

    + +

    ◆ type

    + +
    +
    + + + + +
    using nixt::detail::ParseCacheF::type = FileParseCache nix::EvalState::*
    +
    + +

    Definition at line 39 of file HackCache.h.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structnixt_1_1detail_1_1R-members.html b/structnixt_1_1detail_1_1R-members.html new file mode 100644 index 000000000..625d4e635 --- /dev/null +++ b/structnixt_1_1detail_1_1R-members.html @@ -0,0 +1,92 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    nixt::detail::R< Tag > Member List
    +
    +
    + +

    This is the complete list of members for nixt::detail::R< Tag >, including all inherited members.

    + + + +
    Pnixt::detail::R< Tag >static
    type typedefnixt::detail::R< Tag >
    + + + + diff --git a/structnixt_1_1detail_1_1R.html b/structnixt_1_1detail_1_1R.html new file mode 100644 index 000000000..91379774f --- /dev/null +++ b/structnixt_1_1detail_1_1R.html @@ -0,0 +1,162 @@ + + + + + + + +nixd: nixt::detail::R< Tag > Struct Template Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    nixt::detail::R< Tag > Struct Template Reference
    +
    +
    + +

    #include <HackCache.h>

    +
    +Inheritance diagram for nixt::detail::R< Tag >:
    +
    +
    +
    [legend]
    + + + + +

    +Public Types

    using type = typename Tag::type
     
    + + + +

    +Static Public Attributes

    static type P
     
    +

    Detailed Description

    +
    template<typename Tag>
    +struct nixt::detail::R< Tag >
    +

    Definition at line 19 of file HackCache.h.

    +

    Member Typedef Documentation

    + +

    ◆ type

    + +
    +
    +
    +template<typename Tag >
    + + + + +
    using nixt::detail::R< Tag >::type = typename Tag::type
    +
    + +

    Definition at line 20 of file HackCache.h.

    + +
    +
    +

    Member Data Documentation

    + +

    ◆ P

    + +
    +
    +
    +template<typename Tag >
    + + + + + +
    + + + + +
    R< Tag >::type nixt::detail::R< Tag >::P
    +
    +static
    +
    + +

    Definition at line 21 of file HackCache.h.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structnixt_1_1detail_1_1RB-members.html b/structnixt_1_1detail_1_1RB-members.html new file mode 100644 index 000000000..4273b50b9 --- /dev/null +++ b/structnixt_1_1detail_1_1RB-members.html @@ -0,0 +1,93 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    nixt::detail::RB< Tag, p > Member List
    +
    +
    + +

    This is the complete list of members for nixt::detail::RB< Tag, p >, including all inherited members.

    + + + + +
    FOnixt::detail::RB< Tag, p >static
    Pnixt::detail::R< Tag >static
    type typedefnixt::detail::R< Tag >
    + + + + diff --git a/structnixt_1_1detail_1_1RB.html b/structnixt_1_1detail_1_1RB.html new file mode 100644 index 000000000..1df2f5d75 --- /dev/null +++ b/structnixt_1_1detail_1_1RB.html @@ -0,0 +1,157 @@ + + + + + + + +nixd: nixt::detail::RB< Tag, p > Struct Template Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    nixt::detail::RB< Tag, p > Struct Template Reference
    +
    +
    + +

    #include <HackCache.h>

    +
    +Inheritance diagram for nixt::detail::RB< Tag, p >:
    +
    +
    +
    [legend]
    +
    +Collaboration diagram for nixt::detail::RB< Tag, p >:
    +
    +
    +
    [legend]
    + + + + +

    +Classes

    struct  F
     
    + + + + + + +

    +Static Public Attributes

    static F FO
     
    - Static Public Attributes inherited from nixt::detail::R< Tag >
    static type P
     
    + + + + +

    +Additional Inherited Members

    - Public Types inherited from nixt::detail::R< Tag >
    using type = typename Tag::type
     
    +

    Detailed Description

    +
    template<typename Tag, typename Tag::type p>
    +struct nixt::detail::RB< Tag, p >
    +

    Definition at line 26 of file HackCache.h.

    +

    Member Data Documentation

    + +

    ◆ FO

    + +
    +
    +
    +template<typename Tag , typename Tag::type p>
    + + + + + +
    + + + + +
    RB< Tag, p >::F nixt::detail::RB< Tag, p >::FO
    +
    +static
    +
    + +

    Definition at line 30 of file HackCache.h.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structnixt_1_1detail_1_1RB_1_1F-members.html b/structnixt_1_1detail_1_1RB_1_1F-members.html new file mode 100644 index 000000000..0a4ab77ac --- /dev/null +++ b/structnixt_1_1detail_1_1RB_1_1F-members.html @@ -0,0 +1,91 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    nixt::detail::RB< Tag, p >::F Member List
    +
    +
    + +

    This is the complete list of members for nixt::detail::RB< Tag, p >::F, including all inherited members.

    + + +
    F()nixt::detail::RB< Tag, p >::Finline
    + + + + diff --git a/structnixt_1_1detail_1_1RB_1_1F.html b/structnixt_1_1detail_1_1RB_1_1F.html new file mode 100644 index 000000000..a7c885f9b --- /dev/null +++ b/structnixt_1_1detail_1_1RB_1_1F.html @@ -0,0 +1,135 @@ + + + + + + + +nixd: nixt::detail::RB< Tag, p >::F Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    nixt::detail::RB< Tag, p >::F Struct Reference
    +
    +
    + +

    #include <HackCache.h>

    + + + + +

    +Public Member Functions

     F ()
     
    +

    Detailed Description

    +
    template<typename Tag, typename Tag::type p>
    +struct nixt::detail::RB< Tag, p >::F
    +

    Definition at line 27 of file HackCache.h.

    +

    Constructor & Destructor Documentation

    + +

    ◆ F()

    + +
    +
    +
    +template<typename Tag , typename Tag::type p>
    + + + + + +
    + + + + + + + +
    nixt::detail::RB< Tag, p >::F::F ()
    +
    +inline
    +
    + +

    Definition at line 28 of file HackCache.h.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structnixt_1_1detail_1_1RB__coll__graph.map b/structnixt_1_1detail_1_1RB__coll__graph.map new file mode 100644 index 000000000..a7cd9c7d6 --- /dev/null +++ b/structnixt_1_1detail_1_1RB__coll__graph.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/structnixt_1_1detail_1_1RB__coll__graph.md5 b/structnixt_1_1detail_1_1RB__coll__graph.md5 new file mode 100644 index 000000000..4331b84d3 --- /dev/null +++ b/structnixt_1_1detail_1_1RB__coll__graph.md5 @@ -0,0 +1 @@ +45743cebf98106c9db18b71f6a51e840 \ No newline at end of file diff --git a/structnixt_1_1detail_1_1RB__coll__graph.svg b/structnixt_1_1detail_1_1RB__coll__graph.svg new file mode 100644 index 000000000..d5c573dae --- /dev/null +++ b/structnixt_1_1detail_1_1RB__coll__graph.svg @@ -0,0 +1,59 @@ + + + + + + +nixt::detail::RB< Tag, p > + + +Node1 + + +nixt::detail::RB< Tag, p > + + + + + +Node2 + + +nixt::detail::R< Tag > + + + + + +Node2->Node1 + + + + + + + + +Node3 + + +nixt::detail::RB< Tag, + p >::F + + + + + +Node3->Node1 + + + + + + FO + + + diff --git a/structnixt_1_1detail_1_1RB__inherit__graph.map b/structnixt_1_1detail_1_1RB__inherit__graph.map new file mode 100644 index 000000000..1d4f1ef8a --- /dev/null +++ b/structnixt_1_1detail_1_1RB__inherit__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/structnixt_1_1detail_1_1RB__inherit__graph.md5 b/structnixt_1_1detail_1_1RB__inherit__graph.md5 new file mode 100644 index 000000000..933fc364f --- /dev/null +++ b/structnixt_1_1detail_1_1RB__inherit__graph.md5 @@ -0,0 +1 @@ +2e9cfb54af7ea766909a2363df493baf \ No newline at end of file diff --git a/structnixt_1_1detail_1_1RB__inherit__graph.svg b/structnixt_1_1detail_1_1RB__inherit__graph.svg new file mode 100644 index 000000000..0eda3f3a9 --- /dev/null +++ b/structnixt_1_1detail_1_1RB__inherit__graph.svg @@ -0,0 +1,39 @@ + + + + + + +nixt::detail::RB< Tag, p > + + +Node1 + + +nixt::detail::RB< Tag, p > + + + + + +Node2 + + +nixt::detail::R< Tag > + + + + + +Node2->Node1 + + + + + + + + diff --git a/structnixt_1_1detail_1_1R__inherit__graph.map b/structnixt_1_1detail_1_1R__inherit__graph.map new file mode 100644 index 000000000..25b9475d5 --- /dev/null +++ b/structnixt_1_1detail_1_1R__inherit__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/structnixt_1_1detail_1_1R__inherit__graph.md5 b/structnixt_1_1detail_1_1R__inherit__graph.md5 new file mode 100644 index 000000000..1322df006 --- /dev/null +++ b/structnixt_1_1detail_1_1R__inherit__graph.md5 @@ -0,0 +1 @@ +b9bc8e3771ccd7aaf74b6578eedfd884 \ No newline at end of file diff --git a/structnixt_1_1detail_1_1R__inherit__graph.svg b/structnixt_1_1detail_1_1R__inherit__graph.svg new file mode 100644 index 000000000..0963e2a4b --- /dev/null +++ b/structnixt_1_1detail_1_1R__inherit__graph.svg @@ -0,0 +1,39 @@ + + + + + + +nixt::detail::R< Tag > + + +Node1 + + +nixt::detail::R< Tag > + + + + + +Node2 + + +nixt::detail::RB< Tag, p > + + + + + +Node1->Node2 + + + + + + + + diff --git a/sync_off.png b/sync_off.png new file mode 100644 index 0000000000000000000000000000000000000000..3b443fc62892114406e3d399421b2a881b897acc GIT binary patch literal 853 zcmV-b1FHOqP)oT|#XixUYy%lpuf3i8{fX!o zUyDD0jOrAiT^tq>fLSOOABs-#u{dV^F$b{L9&!2=9&RmV;;8s^x&UqB$PCj4FdKbh zoB1WTskPUPu05XzFbA}=KZ-GP1fPpAfSs>6AHb12UlR%-i&uOlTpFNS7{jm@mkU1V zh`nrXr~+^lsV-s1dkZOaI|kYyVj3WBpPCY{n~yd%u%e+d=f%`N0FItMPtdgBb@py; zq@v6NVArhyTC7)ULw-Jy8y42S1~4n(3LkrW8mW(F-4oXUP3E`e#g**YyqI7h-J2zK zK{m9##m4ri!7N>CqQqCcnI3hqo1I;Yh&QLNY4T`*ptiQGozK>FF$!$+84Z`xwmeMh zJ0WT+OH$WYFALEaGj2_l+#DC3t7_S`vHpSivNeFbP6+r50cO8iu)`7i%Z4BTPh@_m3Tk!nAm^)5Bqnr%Ov|Baunj#&RPtRuK& z4RGz|D5HNrW83-#ydk}tVKJrNmyYt-sTxLGlJY5nc&Re zU4SgHNPx8~Yxwr$bsju?4q&%T1874xxzq+_%?h8_ofw~(bld=o3iC)LUNR*BY%c0y zWd_jX{Y8`l%z+ol1$@Qa?Cy!(0CVIEeYpKZ`(9{z>3$CIe;pJDQk$m3p}$>xBm4lb zKo{4S)`wdU9Ba9jJbVJ0C=SOefZe%d$8=2r={nu<_^a3~>c#t_U6dye5)JrR(_a^E f@}b6j1K9lwFJq@>o)+Ry00000NkvXXu0mjfWa5j* literal 0 HcmV?d00001 diff --git a/sync_on.png b/sync_on.png new file mode 100644 index 0000000000000000000000000000000000000000..e08320fb64e6fa33b573005ed6d8fe294e19db76 GIT binary patch literal 845 zcmV-T1G4;yP)Y;xxyHF2B5Wzm| zOOGupOTn@c(JmBOl)e;XMNnZuiTJP>rM8<|Q`7I_))aP?*T)ow&n59{}X4$3Goat zgjs?*aasfbrokzG5cT4K=uG`E14xZl@z)F={P0Y^?$4t z>v!teRnNZym<6h{7sLyF1V0HsfEl+l6TrZpsfr1}luH~F7L}ktXu|*uVX^RG$L0`K zWs3j|0tIvVe(N%_?2{(iCPFGf#B6Hjy6o&}D$A%W%jfO8_W%ZO#-mh}EM$LMn7joJ z05dHr!5Y92g+31l<%i1(=L1a1pXX+OYnalY>31V4K}BjyRe3)9n#;-cCVRD_IG1fT zOKGeNY8q;TL@K{dj@D^scf&VCs*-Jb>8b>|`b*osv52-!A?BpbYtTQBns5EAU**$m zSnVSm(teh>tQi*S*A>#ySc=n;`BHz`DuG4&g4Kf8lLhca+zvZ7t7RflD6-i-mcK=M z!=^P$*u2)bkY5asG4gsss!Hn%u~>}kIW`vMs%lJLH+u*9<4PaV_c6U`KqWXQH%+Nu zTv41O(^ZVi@qhjQdG!fbZw&y+2o!iYymO^?ud3{P*HdoX83YV*Uu_HB=?U&W9%AU# z80}k1SS-CXTU7dcQlsm<^oYLxVSseqY6NO}dc`Nj?8vrhNuCdm@^{a3AQ_>6myOj+ z`1RsLUXF|dm|3k7s2jD(B{rzE>WI2scH8i1;=O5Cc9xB3^aJk%fQjqsu+kH#0=_5a z0nCE8@dbQa-|YIuUVvG0L_IwHMEhOj$Mj4Uq05 X8=0q~qBNan00000NkvXXu0mjfptF>5 literal 0 HcmV?d00001 diff --git a/tab_a.png b/tab_a.png new file mode 100644 index 0000000000000000000000000000000000000000..3b725c41c5a527a3a3e40097077d0e206a681247 GIT binary patch literal 142 zcmeAS@N?(olHy`uVBq!ia0vp^j6kfy!2~3aiye;!QlXwMjv*C{Z|8b*H5dputLHD# z=<0|*y7z(Vor?d;H&?EG&cXR}?!j-Lm&u1OOI7AIF5&c)RFE;&p0MYK>*Kl@eiymD r@|NpwKX@^z+;{u_Z~trSBfrMKa%3`zocFjEXaR$#tDnm{r-UW|TZ1%4 literal 0 HcmV?d00001 diff --git a/tab_ad.png b/tab_ad.png new file mode 100644 index 0000000000000000000000000000000000000000..e34850acfc24be58da6d2fd1ccc6b29cc84fe34d GIT binary patch literal 135 zcmeAS@N?(olHy`uVBq!ia0vp^j6kfy!2~3aiye;!QhuH;jv*C{Z|5d*H3V=pKi{In zd2jxLclDRPylmD}^l7{QOtL{vUjO{-WqItb5sQp2h-99b8^^Scr-=2mblCdZuUm?4 jzOJvgvt3{(cjKLW5(A@0qPS@<&}0TrS3j3^P6y&q2{!U5bk+Tso_B!YCpDh>v z{CM*1U8YvQRyBUHt^Ju0W_sq-?;9@_4equ-bavTs=gk796zopr0EBT&m;e9( literal 0 HcmV?d00001 diff --git a/tab_s.png b/tab_s.png new file mode 100644 index 0000000000000000000000000000000000000000..ab478c95b67371d700a20869f7de1ddd73522d50 GIT binary patch literal 184 zcmeAS@N?(olHy`uVBq!ia0vp^j6kfy!2~3aiye;!QuUrLjv*C{Z|^p8HaRdjTwH7) zC?wLlL}}I{)n%R&r+1}IGmDnq;&J#%V6)9VsYhS`O^BVBQlxOUep0c$RENLq#g8A$ z)z7%K_bI&n@J+X_=x}fJoEKed-$<>=ZI-;YrdjIl`U`uzuDWSP?o#Dmo{%SgM#oan kX~E1%D-|#H#QbHoIja2U-MgvsK&LQxy85}Sb4q9e0Efg%P5=M^ literal 0 HcmV?d00001 diff --git a/tab_sd.png b/tab_sd.png new file mode 100644 index 0000000000000000000000000000000000000000..757a565ced4730f85c833fb2547d8e199ae68f19 GIT binary patch literal 188 zcmeAS@N?(olHy`uVBq!ia0vp^j6kfy!2~3aiye;!Qq7(&jv*C{Z|_!fH5o7*c=%9% zcILh!EA=pAQKdx-Cdiev=v{eg{8Ht<{e8_NAN~b=)%W>-WDCE0PyDHGemi$BoXwcK z{>e9^za6*c1ilttWw&V+U;WCPlV9{LdC~Ey%_H(qj`xgfES(4Yz5jSTZfCt`4E$0YRsR*S^mTCR^;V&sxC8{l_Cp7w8-YPgg&ebxsLQ00$vXK>z>% literal 0 HcmV?d00001 diff --git a/tabs.css b/tabs.css new file mode 100644 index 000000000..fe4854aa5 --- /dev/null +++ b/tabs.css @@ -0,0 +1 @@ +.sm{position:relative;z-index:9999}.sm,.sm ul,.sm li{display:block;list-style:none;margin:0;padding:0;line-height:normal;direction:ltr;text-align:left;-webkit-tap-highlight-color:rgba(0,0,0,0)}.sm-rtl,.sm-rtl ul,.sm-rtl li{direction:rtl;text-align:right}.sm>li>h1,.sm>li>h2,.sm>li>h3,.sm>li>h4,.sm>li>h5,.sm>li>h6{margin:0;padding:0}.sm ul{display:none}.sm li,.sm a{position:relative}.sm a{display:block}.sm a.disabled{cursor:not-allowed}.sm:after{content:"\00a0";display:block;height:0;font:0/0 serif;clear:both;visibility:hidden;overflow:hidden}.sm,.sm *,.sm *:before,.sm *:after{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.main-menu-btn{position:relative;display:inline-block;width:36px;height:36px;text-indent:36px;margin-left:8px;white-space:nowrap;overflow:hidden;cursor:pointer;-webkit-tap-highlight-color:rgba(0,0,0,0)}.main-menu-btn-icon,.main-menu-btn-icon:before,.main-menu-btn-icon:after{position:absolute;top:50%;left:2px;height:2px;width:24px;background:var(--nav-menu-button-color);-webkit-transition:all .25s;transition:all .25s}.main-menu-btn-icon:before{content:'';top:-7px;left:0}.main-menu-btn-icon:after{content:'';top:7px;left:0}#main-menu-state:checked ~ .main-menu-btn .main-menu-btn-icon{height:0}#main-menu-state:checked ~ .main-menu-btn .main-menu-btn-icon:before{top:0;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}#main-menu-state:checked ~ .main-menu-btn .main-menu-btn-icon:after{top:0;-webkit-transform:rotate(45deg);transform:rotate(45deg)}#main-menu-state{position:absolute;width:1px;height:1px;margin:-1px;border:0;padding:0;overflow:hidden;clip:rect(1px,1px,1px,1px)}#main-menu-state:not(:checked) ~ #main-menu{display:none}#main-menu-state:checked ~ #main-menu{display:block}@media(min-width:768px){.main-menu-btn{position:absolute;top:-99999px}#main-menu-state:not(:checked) ~ #main-menu{display:block}}.sm-dox{background-image:var(--nav-gradient-image)}.sm-dox a,.sm-dox a:focus,.sm-dox a:hover,.sm-dox a:active{padding:0 12px;padding-right:43px;font-family:var(--font-family-nav);font-size:13px;font-weight:bold;line-height:36px;text-decoration:none;text-shadow:var(--nav-text-normal-shadow);color:var(--nav-text-normal-color);outline:0}.sm-dox a:hover{background-image:var(--nav-gradient-active-image);background-repeat:repeat-x;color:var(--nav-text-hover-color);text-shadow:var(--nav-text-hover-shadow)}.sm-dox a.current{color:#d23600}.sm-dox a.disabled{color:#bbb}.sm-dox a span.sub-arrow{position:absolute;top:50%;margin-top:-14px;left:auto;right:3px;width:28px;height:28px;overflow:hidden;font:bold 12px/28px monospace !important;text-align:center;text-shadow:none;background:var(--nav-menu-toggle-color);-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px}.sm-dox a span.sub-arrow:before{display:block;content:'+'}.sm-dox a.highlighted span.sub-arrow:before{display:block;content:'-'}.sm-dox>li:first-child>a,.sm-dox>li:first-child>:not(ul) a{-moz-border-radius:5px 5px 0 0;-webkit-border-radius:5px;border-radius:5px 5px 0 0}.sm-dox>li:last-child>a,.sm-dox>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul{-moz-border-radius:0 0 5px 5px;-webkit-border-radius:0;border-radius:0 0 5px 5px}.sm-dox>li:last-child>a.highlighted,.sm-dox>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted{-moz-border-radius:0;-webkit-border-radius:0;border-radius:0}.sm-dox ul{background:var(--nav-menu-background-color)}.sm-dox ul a,.sm-dox ul a:focus,.sm-dox ul a:hover,.sm-dox ul a:active{font-size:12px;border-left:8px solid transparent;line-height:36px;text-shadow:none;background-color:var(--nav-menu-background-color);background-image:none}.sm-dox ul a:hover{background-image:var(--nav-gradient-active-image);background-repeat:repeat-x;color:var(--nav-text-hover-color);text-shadow:0 1px 1px black}.sm-dox ul ul a,.sm-dox ul ul a:hover,.sm-dox ul ul a:focus,.sm-dox ul ul a:active{border-left:16px solid transparent}.sm-dox ul ul ul a,.sm-dox ul ul ul a:hover,.sm-dox ul ul ul a:focus,.sm-dox ul ul ul a:active{border-left:24px solid transparent}.sm-dox ul ul ul ul a,.sm-dox ul ul ul ul a:hover,.sm-dox ul ul ul ul a:focus,.sm-dox ul ul ul ul a:active{border-left:32px solid transparent}.sm-dox ul ul ul ul ul a,.sm-dox ul ul ul ul ul a:hover,.sm-dox ul ul ul ul ul a:focus,.sm-dox ul ul ul ul ul a:active{border-left:40px solid transparent}@media(min-width:768px){.sm-dox ul{position:absolute;width:12em}.sm-dox li{float:left}.sm-dox.sm-rtl li{float:right}.sm-dox ul li,.sm-dox.sm-rtl ul li,.sm-dox.sm-vertical li{float:none}.sm-dox a{white-space:nowrap}.sm-dox ul a,.sm-dox.sm-vertical a{white-space:normal}.sm-dox .sm-nowrap>li>a,.sm-dox .sm-nowrap>li>:not(ul) a{white-space:nowrap}.sm-dox{padding:0 10px;background-image:var(--nav-gradient-image);line-height:36px}.sm-dox a span.sub-arrow{top:50%;margin-top:-2px;right:12px;width:0;height:0;border-width:4px;border-style:solid dashed dashed dashed;border-color:var(--nav-text-normal-color) transparent transparent transparent;background:transparent;-moz-border-radius:0;-webkit-border-radius:0;border-radius:0}.sm-dox a,.sm-dox a:focus,.sm-dox a:active,.sm-dox a:hover,.sm-dox a.highlighted{padding:0 12px;background-image:var(--nav-separator-image);background-repeat:no-repeat;background-position:right;-moz-border-radius:0 !important;-webkit-border-radius:0;border-radius:0 !important}.sm-dox a:hover{background-image:var(--nav-gradient-active-image);background-repeat:repeat-x;color:var(--nav-text-hover-color);text-shadow:var(--nav-text-hover-shadow)}.sm-dox a:hover span.sub-arrow{border-color:var(--nav-text-hover-color) transparent transparent transparent}.sm-dox a.has-submenu{padding-right:24px}.sm-dox li{border-top:0}.sm-dox>li>ul:before,.sm-dox>li>ul:after{content:'';position:absolute;top:-18px;left:30px;width:0;height:0;overflow:hidden;border-width:9px;border-style:dashed dashed solid dashed;border-color:transparent transparent #bbb transparent}.sm-dox>li>ul:after{top:-16px;left:31px;border-width:8px;border-color:transparent transparent var(--nav-menu-background-color) transparent}.sm-dox ul{border:1px solid #bbb;padding:5px 0;background:var(--nav-menu-background-color);-moz-border-radius:5px !important;-webkit-border-radius:5px;border-radius:5px !important;-moz-box-shadow:0 5px 9px rgba(0,0,0,0.2);-webkit-box-shadow:0 5px 9px rgba(0,0,0,0.2);box-shadow:0 5px 9px rgba(0,0,0,0.2)}.sm-dox ul a span.sub-arrow{right:8px;top:50%;margin-top:-5px;border-width:5px;border-color:transparent transparent transparent var(--nav-menu-foreground-color);border-style:dashed dashed dashed solid}.sm-dox ul a,.sm-dox ul a:hover,.sm-dox ul a:focus,.sm-dox ul a:active,.sm-dox ul a.highlighted{color:var(--nav-menu-foreground-color);background-image:none;border:0 !important}.sm-dox ul a:hover{background-image:var(--nav-gradient-active-image);background-repeat:repeat-x;color:var(--nav-text-hover-color);text-shadow:var(--nav-text-hover-shadow)}.sm-dox ul a:hover span.sub-arrow{border-color:transparent transparent transparent var(--nav-text-hover-color)}.sm-dox span.scroll-up,.sm-dox span.scroll-down{position:absolute;display:none;visibility:hidden;overflow:hidden;background:var(--nav-menu-background-color);height:36px}.sm-dox span.scroll-up:hover,.sm-dox span.scroll-down:hover{background:#eee}.sm-dox span.scroll-up:hover span.scroll-up-arrow,.sm-dox span.scroll-up:hover span.scroll-down-arrow{border-color:transparent transparent #d23600 transparent}.sm-dox span.scroll-down:hover span.scroll-down-arrow{border-color:#d23600 transparent transparent transparent}.sm-dox span.scroll-up-arrow,.sm-dox span.scroll-down-arrow{position:absolute;top:0;left:50%;margin-left:-6px;width:0;height:0;overflow:hidden;border-width:6px;border-style:dashed dashed solid dashed;border-color:transparent transparent var(--nav-menu-foreground-color) transparent}.sm-dox span.scroll-down-arrow{top:8px;border-style:solid dashed dashed dashed;border-color:var(--nav-menu-foreground-color) transparent transparent transparent}.sm-dox.sm-rtl a.has-submenu{padding-right:12px;padding-left:24px}.sm-dox.sm-rtl a span.sub-arrow{right:auto;left:12px}.sm-dox.sm-rtl.sm-vertical a.has-submenu{padding:10px 20px}.sm-dox.sm-rtl.sm-vertical a span.sub-arrow{right:auto;left:8px;border-style:dashed solid dashed dashed;border-color:transparent #555 transparent transparent}.sm-dox.sm-rtl>li>ul:before{left:auto;right:30px}.sm-dox.sm-rtl>li>ul:after{left:auto;right:31px}.sm-dox.sm-rtl ul a.has-submenu{padding:10px 20px !important}.sm-dox.sm-rtl ul a span.sub-arrow{right:auto;left:8px;border-style:dashed solid dashed dashed;border-color:transparent #555 transparent transparent}.sm-dox.sm-vertical{padding:10px 0;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px}.sm-dox.sm-vertical a{padding:10px 20px}.sm-dox.sm-vertical a:hover,.sm-dox.sm-vertical a:focus,.sm-dox.sm-vertical a:active,.sm-dox.sm-vertical a.highlighted{background:#fff}.sm-dox.sm-vertical a.disabled{background-image:var(--nav-gradient-image)}.sm-dox.sm-vertical a span.sub-arrow{right:8px;top:50%;margin-top:-5px;border-width:5px;border-style:dashed dashed dashed solid;border-color:transparent transparent transparent #555}.sm-dox.sm-vertical>li>ul:before,.sm-dox.sm-vertical>li>ul:after{display:none}.sm-dox.sm-vertical ul a{padding:10px 20px}.sm-dox.sm-vertical ul a:hover,.sm-dox.sm-vertical ul a:focus,.sm-dox.sm-vertical ul a:active,.sm-dox.sm-vertical ul a.highlighted{background:#eee}.sm-dox.sm-vertical ul a.disabled{background:var(--nav-menu-background-color)}} \ No newline at end of file diff --git a/tools_2nixd_2src_2Main_8cpp.html b/tools_2nixd_2src_2Main_8cpp.html new file mode 100644 index 000000000..909951e82 --- /dev/null +++ b/tools_2nixd_2src_2Main_8cpp.html @@ -0,0 +1,127 @@ + + + + + + + +nixd: Main.cpp File Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    Main.cpp File Reference
    +
    +
    +
    #include "nixd-config.h"
    +#include "lspserver/Connection.h"
    +#include "lspserver/Logger.h"
    +#include "Controller.h"
    +#include <llvm/ADT/ArrayRef.h>
    +#include <llvm/Support/CommandLine.h>
    +
    +

    Go to the source code of this file.

    + + + + +

    +Functions

    int main (int argc, char *argv[])
     
    +

    Function Documentation

    + +

    ◆ main()

    + +
    +
    + + + + + + + + + + + +
    int main (int argc,
    char * argv[] )
    +
    + +

    Definition at line 52 of file tools/nixd/src/Main.cpp.

    + +
    +
    +
    + + + + diff --git a/tools_2nixd_2src_2Main_8cpp_source.html b/tools_2nixd_2src_2Main_8cpp_source.html new file mode 100644 index 000000000..ed8794537 --- /dev/null +++ b/tools_2nixd_2src_2Main_8cpp_source.html @@ -0,0 +1,190 @@ + + + + + + + +nixd: Main.cpp Source File + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    tools/nixd/src/Main.cpp
    +
    +
    +Go to the documentation of this file.
    1#include "nixd-config.h"
    +
    2
    + +
    4#include "lspserver/Logger.h"
    +
    5
    +
    6#include "Controller.h"
    +
    7
    +
    8#include <llvm/ADT/ArrayRef.h>
    +
    9#include <llvm/Support/CommandLine.h>
    +
    10
    +
    11using namespace lspserver;
    +
    12
    +
    13namespace {
    +
    14
    +
    15using namespace llvm::cl;
    +
    16
    +
    17OptionCategory Misc("miscellaneous options");
    +
    18OptionCategory Debug("debug-only options (for developers)");
    +
    19
    +
    20const OptionCategory *NixdCatogories[] = {&Misc, &Debug};
    +
    21
    +
    22opt<JSONStreamStyle> InputStyle{
    +
    23 "input-style",
    +
    24 desc("Input JSON stream encoding"),
    +
    25 values(
    +
    26 clEnumValN(JSONStreamStyle::Standard, "standard", "usual LSP protocol"),
    +
    27 clEnumValN(JSONStreamStyle::Delimited, "delimited",
    +
    28 "messages delimited by `// -----` lines, "
    +
    29 "with // comment support")),
    +
    30 init(JSONStreamStyle::Standard),
    +
    31 cat(Debug),
    +
    32 Hidden,
    +
    33};
    +
    34opt<bool> LitTest{
    +
    35 "lit-test",
    +
    36 desc("Abbreviation for -input-style=delimited -pretty -log=verbose. "
    +
    37 "Intended to simplify lit tests"),
    +
    38 init(false), cat(Debug)};
    +
    39opt<Logger::Level> LogLevel{
    +
    40 "log", desc("Verbosity of log messages written to stderr"),
    +
    41 values(
    +
    42 clEnumValN(Logger::Level::Error, "error", "Error messages only"),
    +
    43 clEnumValN(Logger::Level::Info, "info", "High level execution tracing"),
    +
    44 clEnumValN(Logger::Level::Debug, "debug", "Debugging details"),
    +
    45 clEnumValN(Logger::Level::Verbose, "verbose", "Low level details")),
    +
    46 init(Logger::Level::Info), cat(Misc)};
    +
    47opt<bool> PrettyPrint{"pretty", desc("Pretty-print JSON output"), init(false),
    +
    48 cat(Debug)};
    +
    49
    +
    50} // namespace
    +
    51
    +
    +
    52int main(int argc, char *argv[]) {
    +
    53 SetVersionPrinter([](llvm::raw_ostream &OS) {
    +
    54 OS << "nixd, version: ";
    +
    55#ifdef NIXD_VCS_TAG
    +
    56 OS << NIXD_VCS_TAG;
    +
    57#else
    +
    58 OS << NIXD_VERSION;
    +
    59#endif
    +
    60 OS << "\n";
    +
    61 });
    +
    62
    +
    63 HideUnrelatedOptions(NixdCatogories);
    +
    64 ParseCommandLineOptions(argc, argv, "nixd language server", nullptr,
    +
    65 "NIXD_FLAGS");
    +
    66
    +
    67 if (LitTest) {
    +
    68 InputStyle = JSONStreamStyle::Delimited;
    +
    69 LogLevel = Logger::Level::Verbose;
    +
    70 PrettyPrint = true;
    +
    71 }
    +
    72
    +
    73 StreamLogger Logger(llvm::errs(), LogLevel);
    +
    74 LoggingSession Session(Logger);
    +
    75
    +
    76 auto In = std::make_unique<lspserver::InboundPort>(STDIN_FILENO, InputStyle);
    +
    77
    +
    78 auto Out = std::make_unique<lspserver::OutboundPort>(PrettyPrint);
    +
    79
    +
    80 auto Controller =
    +
    81 std::make_unique<nixd::Controller>(std::move(In), std::move(Out));
    +
    82
    +
    83 Controller->run();
    +
    84
    +
    85 return 0;
    +
    86}
    +
    + + + +
    Interface to allow custom logging in clangd.
    Definition Logger.h:13
    +
    Only one LoggingSession can be active at a time.
    Definition Logger.h:91
    + +
    Whether current platform treats paths case insensitively.
    Definition Connection.h:11
    + + + +
    + + + + diff --git a/user-guide_8md.html b/user-guide_8md.html new file mode 100644 index 000000000..320ee6d76 --- /dev/null +++ b/user-guide_8md.html @@ -0,0 +1,83 @@ + + + + + + + +nixd: user-guide.md File Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    +
    user-guide.md File Reference
    +
    +
    +
    + + + +