From 2961315088bc910344cf782c483346277f598d6e Mon Sep 17 00:00:00 2001 From: inclyc Date: Tue, 1 Oct 2024 14:43:00 +0000 Subject: [PATCH] deploy: c38702b17580a31e84c958b5feed3d8c7407f975 --- .nojekyll | 0 AST_8cpp.html | 92 + AST_8cpp_source.html | 478 ++ AST_8h.html | 185 + AST_8h_source.html | 294 + ArrayRef_8h.html | 141 + ArrayRef_8h_source.html | 144 + AttrSetClient_8cpp.html | 92 + AttrSetClient_8cpp_source.html | 159 + AttrSetClient_8h.html | 109 + AttrSetClient_8h_source.html | 226 + AttrSetProvider_8cpp.html | 96 + AttrSetProvider_8cpp_source.html | 508 ++ AttrSetProvider_8h.html | 122 + AttrSetProvider_8h_source.html | 180 + AttrSet_8cpp.html | 90 + AttrSet_8cpp_source.html | 271 + AttrSet_8h.html | 202 + AttrSet_8h_source.html | 294 + Attrs_8h.html | 121 + Attrs_8h_source.html | 529 ++ AutoCloseFD_8cpp.html | 101 + AutoCloseFD_8cpp_source.html | 132 + AutoCloseFD_8h.html | 107 + AutoCloseFD_8h_source.html | 135 + AutoRemoveShm_8cpp.html | 100 + AutoRemoveShm_8cpp_source.html | 112 + AutoRemoveShm_8h.html | 107 + AutoRemoveShm_8h_source.html | 122 + Basic_8h.html | 166 + Basic_8h_source.html | 311 + BinOps_8inc.html | 89 + BinOps_8inc_source.html | 103 + CodeAction_8cpp.html | 107 + CodeAction_8cpp_source.html | 177 + CommandLine_2Configuration_8cpp.html | 104 + CommandLine_2Configuration_8cpp_source.html | 137 + CommandLine_2Configuration_8h.html | 113 + CommandLine_2Configuration_8h_source.html | 112 + Completion_8cpp.html | 165 + Completion_8cpp_source.html | 647 ++ Connection_8cpp.html | 121 + Connection_8cpp_source.html | 419 ++ Connection_8h.html | 122 + Connection_8h_source.html | 228 + Controller_2Configuration_8cpp.html | 92 + Controller_2Configuration_8cpp_source.html | 255 + Controller_2Configuration_8h.html | 136 + Controller_2Configuration_8h_source.html | 171 + Controller_8h.html | 113 + Controller_8h_source.html | 382 + Convert_8cpp.html | 93 + Convert_8cpp_source.html | 199 + Convert_8h.html | 123 + Convert_8h_source.html | 136 + Definition_8cpp.html | 173 + Definition_8cpp_source.html | 571 ++ Definition_8h.html | 113 + Definition_8h_source.html | 128 + Deserialize_8h.html | 119 + Deserialize_8h_source.html | 147 + DiagnosticEnum_8h_8py.html | 105 + DiagnosticEnum_8h_8py_source.html | 109 + Diagnostic_8cpp.html | 159 + Diagnostic_8cpp_8py.html | 117 + Diagnostic_8cpp_8py_source.html | 224 + Diagnostic_8cpp_source.html | 159 + Diagnostic_8h.html | 162 + Diagnostic_8h_source.html | 414 ++ Diagnostics_8cpp.html | 101 + Diagnostics_8cpp_source.html | 235 + Displacement_8cpp.html | 112 + Displacement_8cpp_source.html | 148 + Displacement_8h.html | 120 + Displacement_8h_source.html | 120 + DocumentHighlight_8cpp.html | 104 + DocumentHighlight_8cpp_source.html | 200 + DocumentLink_8cpp.html | 108 + DocumentLink_8cpp_source.html | 203 + DocumentSymbol_8cpp.html | 105 + DocumentSymbol_8cpp_source.html | 378 + DraftStore_8cpp.html | 104 + DraftStore_8cpp_source.html | 265 + DraftStore_8h.html | 113 + DraftStore_8h_source.html | 177 + EvalClient_8h.html | 110 + EvalClient_8h_source.html | 191 + EvalProvider_8h.html | 109 + EvalProvider_8h_source.html | 145 + Exception_8h.html | 105 + Exception_8h_source.html | 116 + Expr_8h.html | 117 + Expr_8h_source.html | 374 + FindReferences_8cpp.html | 103 + FindReferences_8cpp_source.html | 191 + Flake_8cpp.html | 90 + Flake_8cpp_source.html | 254 + Flake_8h.html | 114 + Flake_8h_source.html | 110 + ForkPiped_8cpp.html | 93 + ForkPiped_8cpp_source.html | 141 + ForkPiped_8h.html | 104 + ForkPiped_8h_source.html | 108 + Format_8cpp.html | 101 + Format_8cpp_source.html | 206 + Function_8h.html | 119 + Function_8h_source.html | 212 + HackCache_8h.html | 125 + HackCache_8h_source.html | 166 + HookExpr_8cpp.html | 131 + HookExpr_8cpp_source.html | 111 + HookExpr_8h.html | 162 + HookExpr_8h_source.html | 664 ++ Hover_8cpp.html | 104 + Hover_8cpp_source.html | 324 + If-example.html | 85 + InitEval_8h.html | 107 + InitEval_8h_source.html | 112 + InlayHints_8cpp.html | 107 + InlayHints_8cpp_source.html | 260 + JSONDiagnostic_8cpp.html | 92 + JSONDiagnostic_8cpp_source.html | 184 + JSONDiagnostic_8h.html | 125 + JSONDiagnostic_8h_source.html | 136 + JSON_8cpp.html | 91 + JSON_8cpp_source.html | 107 + JSON_8h.html | 118 + JSON_8h_source.html | 153 + Kinds_8cpp.html | 160 + Kinds_8cpp_source.html | 139 + Kinds_8h.html | 128 + Kinds_8h_source.html | 148 + LSPBinder_8h.html | 120 + LSPBinder_8h_source.html | 225 + LSPServer_8cpp.html | 107 + LSPServer_8cpp_source.html | 206 + LSPServer_8h.html | 111 + LSPServer_8h_source.html | 219 + Lambda_8h.html | 114 + Lambda_8h_source.html | 282 + Launch_8cpp.html | 119 + Launch_8cpp_source.html | 150 + Launch_8h.html | 108 + Launch_8h_source.html | 112 + Lexer_8cpp.html | 165 + Lexer_8cpp_source.html | 759 ++ Lexer_8h.html | 117 + Lexer_8h_source.html | 253 + LifeTime_8cpp.html | 104 + LifeTime_8cpp_source.html | 326 + Logger_8cpp.html | 108 + Logger_8cpp_source.html | 211 + Logger_8h.html | 154 + Logger_8h_source.html | 267 + NixTU_8cpp.html | 90 + NixTU_8cpp_source.html | 116 + NixTU_8h.html | 112 + NixTU_8h_source.html | 167 + NodeKinds_8inc.html | 89 + NodeKinds_8inc_source.html | 142 + Nodes_8cpp.html | 140 + Nodes_8cpp_source.html | 163 + Nodes_8inc.html | 89 + Nodes_8inc_source.html | 128 + NoteKinds_8inc.html | 89 + NoteKinds_8inc_source.html | 108 + Op_8h.html | 116 + Op_8h_source.html | 241 + Options_8cpp.html | 90 + Options_8cpp_source.html | 108 + Options_8h.html | 107 + Options_8h_source.html | 107 + OwnedRegion_8h.html | 108 + OwnedRegion_8h_source.html | 117 + ParseAttrs_8cpp.html | 90 + ParseAttrs_8cpp_source.html | 357 + ParseExpr_8cpp.html | 90 + ParseExpr_8cpp_source.html | 464 ++ ParseLambda_8cpp.html | 90 + ParseLambda_8cpp_source.html | 273 + ParseOp_8cpp.html | 127 + ParseOp_8cpp_source.html | 268 + ParseSimple_8cpp.html | 93 + ParseSimple_8cpp_source.html | 309 + ParseStrings_8cpp.html | 90 + ParseStrings_8cpp_source.html | 235 + ParseSupport_8cpp.html | 99 + ParseSupport_8cpp_source.html | 247 + Path_8h.html | 121 + Path_8h_source.html | 145 + PipedProc_8h.html | 107 + PipedProc_8h_source.html | 120 + PtrPool_8h.html | 114 + PtrPool_8h_source.html | 144 + README_8md.html | 83 + Range_8h.html | 112 + Range_8h_source.html | 285 + Rename_8cpp.html | 102 + Rename_8cpp_source.html | 242 + SemaActions_8cpp.html | 110 + SemaActions_8cpp_source.html | 568 ++ SemaActions_8h.html | 117 + SemaActions_8h_source.html | 236 + SemanticTokens_8cpp.html | 105 + SemanticTokens_8cpp_source.html | 382 + Serialize_8h.html | 183 + Serialize_8h_source.html | 214 + Simple_8h.html | 134 + Simple_8h_source.html | 427 ++ SourceCode_8cpp.html | 114 + SourceCode_8cpp_source.html | 355 + SourceCode_8h.html | 133 + SourceCode_8h_source.html | 189 + StreamProc_8cpp.html | 91 + StreamProc_8cpp_source.html | 136 + StreamProc_8h.html | 106 + StreamProc_8h_source.html | 145 + Support_8cpp.html | 95 + Support_8cpp_source.html | 246 + SyntaxKinds_8inc.html | 89 + SyntaxKinds_8inc_source.html | 147 + TextDocumentSync_8cpp.html | 106 + TextDocumentSync_8cpp_source.html | 159 + TokenKinds_8h.html | 132 + TokenKinds_8h_source.html | 110 + TokenKinds_8inc.html | 89 + TokenKinds_8inc_source.html | 195 + Token_8h.html | 143 + Token_8h_source.html | 185 + Tokens_8inc.html | 89 + Tokens_8inc_source.html | 102 + Traverse_8inc.html | 89 + Traverse_8inc_source.html | 198 + URI_8cpp.html | 104 + URI_8cpp_source.html | 404 ++ URI_8h.html | 115 + URI_8h_source.html | 246 + Value_8cpp.html | 94 + Value_8cpp_source.html | 323 + Value_8h.html | 147 + Value_8h_source.html | 189 + VariableLookup_8cpp.html | 93 + VariableLookup_8cpp_source.html | 650 ++ VariableLookup_8h.html | 129 + VariableLookup_8h_source.html | 375 + Visitor_8h.html | 269 + Visitor_8h_source.html | 209 + annotated.html | 343 + bc_s.png | Bin 0 -> 676 bytes bc_sd.png | Bin 0 -> 635 bytes classdiagnostic_1_1Diagnostic-members.html | 95 + classdiagnostic_1_1Diagnostic.html | 241 + ...sdiagnostic_1_1Diagnostic__coll__graph.map | 7 + ...sdiagnostic_1_1Diagnostic__coll__graph.md5 | 1 + ...sdiagnostic_1_1Diagnostic__coll__graph.svg | 58 + ...agnostic_1_1Diagnostic__inherit__graph.map | 5 + ...agnostic_1_1Diagnostic__inherit__graph.md5 | 1 + ...agnostic_1_1Diagnostic__inherit__graph.svg | 39 + classes.html | 149 + classlspserver_1_1DraftStore-members.html | 97 + classlspserver_1_1DraftStore.html | 308 + classlspserver_1_1Event-members.html | 94 + classlspserver_1_1Event.html | 239 + ...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 | 331 + 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 | 17 + ...lspserver_1_1LSPServer__inherit__graph.md5 | 1 + ...lspserver_1_1LSPServer__inherit__graph.svg | 147 + 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 | 263 + classlspserver_1_1MessageHandler-members.html | 94 + classlspserver_1_1MessageHandler.html | 235 + ...rver_1_1MessageHandler__inherit__graph.map | 17 + ...rver_1_1MessageHandler__inherit__graph.md5 | 1 + ...rver_1_1MessageHandler__inherit__graph.svg | 147 + 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 | 624 ++ classlspserver_1_1URIScheme-members.html | 94 + classlspserver_1_1URIScheme.html | 226 + classnixd_1_1AttrSetClient-members.html | 106 + classnixd_1_1AttrSetClient.html | 404 ++ classnixd_1_1AttrSetClientProc-members.html | 93 + classnixd_1_1AttrSetClientProc.html | 187 + classnixd_1_1AttrSetClient__coll__graph.map | 9 + classnixd_1_1AttrSetClient__coll__graph.md5 | 1 + classnixd_1_1AttrSetClient__coll__graph.svg | 76 + ...snixd_1_1AttrSetClient__inherit__graph.map | 7 + ...snixd_1_1AttrSetClient__inherit__graph.md5 | 1 + ...snixd_1_1AttrSetClient__inherit__graph.svg | 57 + classnixd_1_1AttrSetProvider-members.html | 104 + classnixd_1_1AttrSetProvider.html | 320 + classnixd_1_1AttrSetProvider__coll__graph.map | 9 + classnixd_1_1AttrSetProvider__coll__graph.md5 | 1 + classnixd_1_1AttrSetProvider__coll__graph.svg | 76 + ...ixd_1_1AttrSetProvider__inherit__graph.map | 7 + ...ixd_1_1AttrSetProvider__inherit__graph.md5 | 1 + ...ixd_1_1AttrSetProvider__inherit__graph.svg | 57 + classnixd_1_1Controller-members.html | 102 + classnixd_1_1Controller.html | 264 + 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 | 103 + classnixd_1_1EvalClient.html | 263 + 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 | 204 + 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_1JSONParseException-members.html | 94 + classnixd_1_1JSONParseException.html | 177 + ...ixd_1_1JSONParseException__coll__graph.map | 7 + ...ixd_1_1JSONParseException__coll__graph.md5 | 1 + ...ixd_1_1JSONParseException__coll__graph.svg | 57 + ..._1_1JSONParseException__inherit__graph.map | 7 + ..._1_1JSONParseException__inherit__graph.md5 | 1 + ..._1_1JSONParseException__inherit__graph.svg | 57 + classnixd_1_1JSONSchemaException-members.html | 94 + classnixd_1_1JSONSchemaException.html | 177 + ...xd_1_1JSONSchemaException__coll__graph.map | 7 + ...xd_1_1JSONSchemaException__coll__graph.md5 | 1 + ...xd_1_1JSONSchemaException__coll__graph.svg | 57 + ...1_1JSONSchemaException__inherit__graph.map | 7 + ...1_1JSONSchemaException__inherit__graph.md5 | 1 + ...1_1JSONSchemaException__inherit__graph.svg | 57 + classnixd_1_1LLVMErrorException-members.html | 92 + classnixd_1_1LLVMErrorException.html | 172 + ...ixd_1_1LLVMErrorException__coll__graph.map | 5 + ...ixd_1_1LLVMErrorException__coll__graph.md5 | 1 + ...ixd_1_1LLVMErrorException__coll__graph.svg | 39 + ..._1_1LLVMErrorException__inherit__graph.map | 9 + ..._1_1LLVMErrorException__inherit__graph.md5 | 1 + ..._1_1LLVMErrorException__inherit__graph.svg | 75 + classnixd_1_1NixTU-members.html | 97 + classnixd_1_1NixTU.html | 324 + classnixd_1_1OwnedEvalClient-members.html | 107 + classnixd_1_1OwnedEvalClient.html | 288 + 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 | 334 + ...nixd_1_1util_1_1AutoRemoveShm-members.html | 94 + classnixd_1_1util_1_1AutoRemoveShm.html | 221 + classnixf_1_1AttrName-members.html | 118 + classnixf_1_1AttrName.html | 495 ++ 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 | 250 + 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 | 96 + classnixf_1_1Attribute.html | 302 + classnixf_1_1Binding-members.html | 109 + classnixf_1_1Binding.html | 277 + 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_1Definition-members.html | 106 + classnixf_1_1Definition.html | 383 + classnixf_1_1Diagnostic-members.html | 118 + classnixf_1_1Diagnostic.html | 562 ++ 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_1Dot-members.html | 109 + classnixf_1_1Dot.html | 281 + classnixf_1_1Dot__coll__graph.map | 5 + classnixf_1_1Dot__coll__graph.md5 | 1 + classnixf_1_1Dot__coll__graph.svg | 39 + classnixf_1_1Dot__inherit__graph.map | 5 + classnixf_1_1Dot__inherit__graph.md5 | 1 + classnixf_1_1Dot__inherit__graph.svg | 39 + classnixf_1_1EnvNode-members.html | 97 + classnixf_1_1EnvNode.html | 318 + 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 | 304 + 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 | 114 + classnixf_1_1ExprCall.html | 294 + 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 | 256 + 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 | 117 + classnixf_1_1ExprLet.html | 387 + 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 | 113 + classnixf_1_1ExprList.html | 256 + 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_1ExprSPath-members.html | 113 + classnixf_1_1ExprSPath.html | 256 + classnixf_1_1ExprSPath__coll__graph.map | 7 + classnixf_1_1ExprSPath__coll__graph.md5 | 1 + classnixf_1_1ExprSPath__coll__graph.svg | 57 + classnixf_1_1ExprSPath__inherit__graph.map | 7 + classnixf_1_1ExprSPath__inherit__graph.md5 | 1 + classnixf_1_1ExprSPath__inherit__graph.svg | 57 + classnixf_1_1ExprSelect-members.html | 115 + classnixf_1_1ExprSelect.html | 328 + 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 | 258 + 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 | 116 + classnixf_1_1ExprWith.html | 360 + 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 | 45 + classnixf_1_1Expr__inherit__graph.md5 | 1 + classnixf_1_1Expr__inherit__graph.svg | 399 ++ 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 | 110 + classnixf_1_1Inherit.html | 310 + 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 | 73 + classnixf_1_1Node__inherit__graph.md5 | 1 + classnixf_1_1Node__inherit__graph.svg | 651 ++ 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 | 243 + 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_1ParentMapAnalysis-members.html | 96 + classnixf_1_1ParentMapAnalysis.html | 268 + classnixf_1_1Parser-members.html | 122 + classnixf_1_1Parser.html | 919 +++ 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 | 110 + classnixf_1_1Sema.html | 770 ++ 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 + ...ixf_1_1VariableLookupAnalysis-members.html | 98 + classnixf_1_1VariableLookupAnalysis.html | 338 + clipboard.js | 61 + closed.png | Bin 0 -> 132 bytes configuration_8md.html | 83 + cookie.js | 58 + dev_8md.html | 83 + diagnostic_8py.html | 103 + diagnostic_8py_source.html | 323 + dir_000001_000010.html | 84 + dir_000002_000004.html | 84 + dir_000003_000012.html | 84 + dir_000003_000018.html | 84 + dir_000004_000008.html | 84 + dir_000004_000016.html | 84 + dir_000004_000018.html | 84 + dir_000004_000027.html | 84 + dir_000004_000033.html | 84 + dir_000005_000012.html | 84 + dir_000005_000016.html | 84 + dir_000005_000018.html | 84 + dir_000008_000017.html | 84 + dir_000008_000018.html | 84 + dir_000008_000027.html | 84 + dir_000008_000033.html | 84 + dir_000009_000012.html | 84 + dir_000009_000017.html | 84 + dir_000009_000018.html | 84 + dir_000012_000016.html | 84 + dir_000012_000017.html | 84 + dir_000012_000018.html | 84 + dir_000014_000011.html | 84 + dir_000015_000012.html | 84 + dir_000015_000016.html | 84 + dir_000015_000017.html | 84 + dir_000015_000018.html | 84 + dir_000021_000016.html | 84 + dir_000021_000017.html | 84 + dir_000021_000018.html | 84 + dir_000026_000010.html | 84 + dir_000027_000018.html | 84 + dir_000028_000012.html | 84 + dir_000029_000000.html | 84 + dir_000030_000010.html | 84 + dir_000031_000010.html | 84 + dir_000032_000013.html | 84 + dir_000033_000018.html | 84 + dir_000034_000012.html | 84 + dir_000035_000010.html | 84 + dir_000036_000012.html | 84 + dir_000036_000017.html | 84 + dir_000036_000018.html | 84 + dir_0842f02ee6fc0ecc9c7973a56a3aa437.html | 101 + dir_0842f02ee6fc0ecc9c7973a56a3aa437_dep.map | 7 + dir_0842f02ee6fc0ecc9c7973a56a3aa437_dep.md5 | 1 + dir_0842f02ee6fc0ecc9c7973a56a3aa437_dep.svg | 51 + dir_0a80291a1162a19961e2bbfd790094c7.html | 112 + dir_0a80291a1162a19961e2bbfd790094c7_dep.map | 7 + dir_0a80291a1162a19961e2bbfd790094c7_dep.md5 | 1 + dir_0a80291a1162a19961e2bbfd790094c7_dep.svg | 51 + dir_0f13faf2cde331c4efb20e51fbf7d022.html | 122 + dir_0f13faf2cde331c4efb20e51fbf7d022_dep.map | 7 + dir_0f13faf2cde331c4efb20e51fbf7d022_dep.md5 | 1 + dir_0f13faf2cde331c4efb20e51fbf7d022_dep.svg | 51 + dir_1b739488bd9a560c1a1a4ec4ac74c381.html | 105 + dir_1b739488bd9a560c1a1a4ec4ac74c381_dep.map | 19 + dir_1b739488bd9a560c1a1a4ec4ac74c381_dep.md5 | 1 + dir_1b739488bd9a560c1a1a4ec4ac74c381_dep.svg | 139 + dir_210b2339cd755ef887faaab3c00d1334.html | 103 + dir_210b2339cd755ef887faaab3c00d1334_dep.map | 7 + dir_210b2339cd755ef887faaab3c00d1334_dep.md5 | 1 + dir_210b2339cd755ef887faaab3c00d1334_dep.svg | 51 + dir_2449f2b6f5e00bc97ce2a2d4b7e7d3f4.html | 118 + dir_2449f2b6f5e00bc97ce2a2d4b7e7d3f4_dep.map | 5 + dir_2449f2b6f5e00bc97ce2a2d4b7e7d3f4_dep.md5 | 1 + dir_2449f2b6f5e00bc97ce2a2d4b7e7d3f4_dep.svg | 41 + dir_271d3aa807e54726686810b489123a0c.html | 106 + dir_271d3aa807e54726686810b489123a0c_dep.map | 30 + dir_271d3aa807e54726686810b489123a0c_dep.md5 | 1 + dir_271d3aa807e54726686810b489123a0c_dep.svg | 217 + dir_272f3262a55b8c6cb4d459b3d2979355.html | 102 + dir_272f3262a55b8c6cb4d459b3d2979355_dep.map | 13 + dir_272f3262a55b8c6cb4d459b3d2979355_dep.md5 | 1 + dir_272f3262a55b8c6cb4d459b3d2979355_dep.svg | 95 + dir_2dfd61e782002e6a63843e36bf78a91c.html | 159 + dir_2dfd61e782002e6a63843e36bf78a91c_dep.map | 13 + dir_2dfd61e782002e6a63843e36bf78a91c_dep.md5 | 1 + dir_2dfd61e782002e6a63843e36bf78a91c_dep.svg | 95 + dir_2ea7252d21588581e550b8cc37b5f8d9.html | 98 + dir_2ea7252d21588581e550b8cc37b5f8d9_dep.map | 5 + dir_2ea7252d21588581e550b8cc37b5f8d9_dep.md5 | 1 + dir_2ea7252d21588581e550b8cc37b5f8d9_dep.svg | 41 + dir_32f167dda2f41d40ac9e24aee0c779a4.html | 101 + dir_32f167dda2f41d40ac9e24aee0c779a4_dep.map | 4 + dir_32f167dda2f41d40ac9e24aee0c779a4_dep.md5 | 1 + dir_32f167dda2f41d40ac9e24aee0c779a4_dep.svg | 29 + dir_338dd3c7b4c4659d51339d29f870875c.html | 98 + dir_338dd3c7b4c4659d51339d29f870875c_dep.map | 5 + dir_338dd3c7b4c4659d51339d29f870875c_dep.md5 | 1 + dir_338dd3c7b4c4659d51339d29f870875c_dep.svg | 41 + dir_398406baf6d7c3e11cd5f7be25d09d6d.html | 110 + dir_398406baf6d7c3e11cd5f7be25d09d6d_dep.map | 7 + dir_398406baf6d7c3e11cd5f7be25d09d6d_dep.md5 | 1 + dir_398406baf6d7c3e11cd5f7be25d09d6d_dep.svg | 51 + dir_3b3bb5973b23a394522075bcda2e76c3.html | 102 + dir_3b3bb5973b23a394522075bcda2e76c3_dep.map | 9 + dir_3b3bb5973b23a394522075bcda2e76c3_dep.md5 | 1 + dir_3b3bb5973b23a394522075bcda2e76c3_dep.svg | 72 + dir_4116e555bb27d140ae95b1be9a93ad9a.html | 108 + dir_4116e555bb27d140ae95b1be9a93ad9a_dep.map | 7 + dir_4116e555bb27d140ae95b1be9a93ad9a_dep.md5 | 1 + dir_4116e555bb27d140ae95b1be9a93ad9a_dep.svg | 51 + dir_43dccb67c075cdf61156590789c0ba7d.html | 100 + dir_43dccb67c075cdf61156590789c0ba7d_dep.map | 13 + dir_43dccb67c075cdf61156590789c0ba7d_dep.md5 | 1 + dir_43dccb67c075cdf61156590789c0ba7d_dep.svg | 95 + dir_464f141540dd1f7c0b8c2d5e8b32798f.html | 102 + dir_464f141540dd1f7c0b8c2d5e8b32798f_dep.map | 14 + dir_464f141540dd1f7c0b8c2d5e8b32798f_dep.md5 | 1 + dir_464f141540dd1f7c0b8c2d5e8b32798f_dep.svg | 107 + dir_5d9174fd82c34d170442a81ddb0d3867.html | 105 + dir_5d9174fd82c34d170442a81ddb0d3867_dep.map | 16 + dir_5d9174fd82c34d170442a81ddb0d3867_dep.md5 | 1 + dir_5d9174fd82c34d170442a81ddb0d3867_dep.svg | 117 + dir_5def0a8c33681ccffd5a1a329ca9c6c2.html | 100 + dir_5def0a8c33681ccffd5a1a329ca9c6c2_dep.map | 8 + dir_5def0a8c33681ccffd5a1a329ca9c6c2_dep.md5 | 1 + dir_5def0a8c33681ccffd5a1a329ca9c6c2_dep.svg | 63 + dir_6008d110f60d9bcc4c39f0eae5b860bc.html | 92 + dir_6008d110f60d9bcc4c39f0eae5b860bc_dep.map | 4 + dir_6008d110f60d9bcc4c39f0eae5b860bc_dep.md5 | 1 + dir_6008d110f60d9bcc4c39f0eae5b860bc_dep.svg | 29 + dir_6072663c54edb131dd9eabf55cf77072.html | 98 + dir_6072663c54edb131dd9eabf55cf77072_dep.map | 14 + dir_6072663c54edb131dd9eabf55cf77072_dep.md5 | 1 + dir_6072663c54edb131dd9eabf55cf77072_dep.svg | 107 + dir_7690759852530585c31e8e562ca9f92d.html | 116 + dir_7690759852530585c31e8e562ca9f92d_dep.map | 4 + dir_7690759852530585c31e8e562ca9f92d_dep.md5 | 1 + dir_7690759852530585c31e8e562ca9f92d_dep.svg | 29 + dir_78474edbfdb26b7810ef0ed54a6ffeb0.html | 106 + dir_78474edbfdb26b7810ef0ed54a6ffeb0_dep.map | 36 + dir_78474edbfdb26b7810ef0ed54a6ffeb0_dep.md5 | 1 + dir_78474edbfdb26b7810ef0ed54a6ffeb0_dep.svg | 260 + dir_7b6db9abfae4478ed416ef77953b66b0.html | 105 + dir_7b6db9abfae4478ed416ef77953b66b0_dep.map | 7 + dir_7b6db9abfae4478ed416ef77953b66b0_dep.md5 | 1 + dir_7b6db9abfae4478ed416ef77953b66b0_dep.svg | 51 + dir_8710806578cad174ffcb5e19312c912a.html | 106 + dir_8710806578cad174ffcb5e19312c912a_dep.map | 33 + dir_8710806578cad174ffcb5e19312c912a_dep.md5 | 1 + dir_8710806578cad174ffcb5e19312c912a_dep.svg | 243 + dir_978717066d8678c437a210f61244a087.html | 106 + dir_978717066d8678c437a210f61244a087_dep.map | 7 + dir_978717066d8678c437a210f61244a087_dep.md5 | 1 + dir_978717066d8678c437a210f61244a087_dep.svg | 51 + dir_9e27054b909c25724b28a0b7e56ac908.html | 99 + dir_9e27054b909c25724b28a0b7e56ac908_dep.map | 7 + dir_9e27054b909c25724b28a0b7e56ac908_dep.md5 | 1 + dir_9e27054b909c25724b28a0b7e56ac908_dep.svg | 51 + dir_9ff0e04ed484c0229c3bd8fc4cfe4cb8.html | 102 + dir_9ff0e04ed484c0229c3bd8fc4cfe4cb8_dep.map | 10 + dir_9ff0e04ed484c0229c3bd8fc4cfe4cb8_dep.md5 | 1 + dir_9ff0e04ed484c0229c3bd8fc4cfe4cb8_dep.svg | 77 + dir_ace1bc4bdf9378a7354e2dacfa3269ed.html | 101 + dir_ace1bc4bdf9378a7354e2dacfa3269ed_dep.map | 10 + dir_ace1bc4bdf9378a7354e2dacfa3269ed_dep.md5 | 1 + dir_ace1bc4bdf9378a7354e2dacfa3269ed_dep.svg | 73 + 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 | 5 + dir_b4b9fd25dbc0c6a28797e91ec2fee054_dep.md5 | 1 + dir_b4b9fd25dbc0c6a28797e91ec2fee054_dep.svg | 41 + dir_baff22c637407b0f380d92646d04d3e0.html | 110 + dir_baff22c637407b0f380d92646d04d3e0_dep.map | 7 + dir_baff22c637407b0f380d92646d04d3e0_dep.md5 | 1 + dir_baff22c637407b0f380d92646d04d3e0_dep.svg | 51 + dir_c40eb6f7b133789742bdf3cebb28ba81.html | 100 + dir_c40eb6f7b133789742bdf3cebb28ba81_dep.map | 7 + dir_c40eb6f7b133789742bdf3cebb28ba81_dep.md5 | 1 + dir_c40eb6f7b133789742bdf3cebb28ba81_dep.svg | 55 + dir_c7c53a0769b4ad4e9ba220fbe05bc880.html | 100 + dir_c7c53a0769b4ad4e9ba220fbe05bc880_dep.map | 7 + dir_c7c53a0769b4ad4e9ba220fbe05bc880_dep.md5 | 1 + dir_c7c53a0769b4ad4e9ba220fbe05bc880_dep.svg | 51 + dir_f31a81659f826c680a95cd6e61881ea8.html | 136 + dir_f31a81659f826c680a95cd6e61881ea8_dep.map | 4 + dir_f31a81659f826c680a95cd6e61881ea8_dep.md5 | 1 + dir_f31a81659f826c680a95cd6e61881ea8_dep.svg | 29 + dir_fae1b722d580b1d4896c7d9500c560d0.html | 101 + dir_fae1b722d580b1d4896c7d9500c560d0_dep.map | 7 + dir_fae1b722d580b1d4896c7d9500c560d0_dep.md5 | 1 + dir_fae1b722d580b1d4896c7d9500c560d0_dep.svg | 51 + dir_fbf4781f84a2dfdac7fb8e01b68aa402.html | 98 + dir_fbf4781f84a2dfdac7fb8e01b68aa402_dep.map | 5 + dir_fbf4781f84a2dfdac7fb8e01b68aa402_dep.md5 | 1 + dir_fbf4781f84a2dfdac7fb8e01b68aa402_dep.svg | 41 + doc.svg | 12 + docd.svg | 12 + doxygen.css | 2225 ++++++ doxygen.svg | 28 + doxygen_crawl.html | 1099 +++ dynsections.js | 201 + editor-setup_8md.html | 83 + editors_8md.html | 83 + examples.html | 86 + features_8md.html | 83 + files.html | 261 + folderclosed.svg | 11 + folderclosedd.svg | 11 + folderopen.svg | 17 + folderopend.svg | 12 + functions.html | 120 + functions_b.html | 93 + functions_c.html | 137 + functions_d.html | 133 + functions_e.html | 132 + functions_enum.html | 94 + functions_eval.html | 154 + functions_f.html | 109 + functions_func.html | 107 + functions_func_b.html | 91 + functions_func_c.html | 104 + functions_func_d.html | 98 + functions_func_e.html | 121 + functions_func_f.html | 97 + functions_func_g.html | 92 + functions_func_h.html | 110 + functions_func_i.html | 111 + functions_func_j.html | 86 + functions_func_k.html | 88 + functions_func_l.html | 107 + functions_func_m.html | 93 + functions_func_n.html | 94 + functions_func_o.html | 114 + functions_func_p.html | 123 + functions_func_q.html | 85 + functions_func_r.html | 102 + functions_func_s.html | 106 + functions_func_t.html | 95 + functions_func_u.html | 93 + functions_func_v.html | 89 + functions_func_w.html | 86 + functions_func_~.html | 97 + functions_g.html | 92 + functions_h.html | 117 + functions_i.html | 128 + functions_j.html | 87 + functions_k.html | 89 + functions_l.html | 120 + functions_m.html | 100 + functions_n.html | 107 + functions_o.html | 124 + functions_p.html | 144 + functions_q.html | 86 + functions_r.html | 119 + functions_rela.html | 88 + functions_s.html | 135 + functions_t.html | 115 + functions_type.html | 93 + functions_u.html | 94 + functions_v.html | 97 + functions_vars.html | 92 + functions_vars_b.html | 86 + functions_vars_c.html | 117 + functions_vars_d.html | 104 + functions_vars_e.html | 95 + functions_vars_f.html | 94 + functions_vars_h.html | 90 + functions_vars_i.html | 98 + functions_vars_k.html | 86 + functions_vars_l.html | 95 + functions_vars_m.html | 92 + functions_vars_n.html | 92 + functions_vars_o.html | 89 + functions_vars_p.html | 101 + functions_vars_q.html | 86 + functions_vars_r.html | 102 + functions_vars_s.html | 112 + functions_vars_t.html | 104 + functions_vars_u.html | 85 + functions_vars_v.html | 91 + functions_vars_w.html | 89 + functions_w.html | 91 + functions_~.html | 97 + globals.html | 127 + globals_defs.html | 95 + globals_func.html | 83 + globals_type.html | 87 + graph_legend.html | 143 + graph_legend.md5 | 1 + graph_legend.svg | 167 + hierarchy.html | 364 + include_2nixd_2Protocol_2Protocol_8h.html | 138 + ...e_2nixd_2Protocol_2Protocol_8h_source.html | 202 + include_2nixf_2Parse_2Parser_8h.html | 115 + include_2nixf_2Parse_2Parser_8h_source.html | 118 + 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 | 5 + inherit_graph_104.md5 | 1 + inherit_graph_104.svg | 39 + inherit_graph_105.map | 5 + inherit_graph_105.md5 | 1 + inherit_graph_105.svg | 39 + inherit_graph_106.map | 5 + inherit_graph_106.md5 | 1 + inherit_graph_106.svg | 39 + inherit_graph_107.map | 5 + inherit_graph_107.md5 | 1 + inherit_graph_107.svg | 39 + inherit_graph_108.map | 5 + inherit_graph_108.md5 | 1 + inherit_graph_108.svg | 39 + inherit_graph_109.map | 5 + inherit_graph_109.md5 | 1 + inherit_graph_109.svg | 39 + inherit_graph_11.map | 3 + inherit_graph_11.md5 | 1 + inherit_graph_11.svg | 21 + inherit_graph_110.map | 5 + inherit_graph_110.md5 | 1 + inherit_graph_110.svg | 39 + inherit_graph_111.map | 5 + inherit_graph_111.md5 | 1 + inherit_graph_111.svg | 39 + inherit_graph_112.map | 5 + inherit_graph_112.md5 | 1 + inherit_graph_112.svg | 39 + inherit_graph_113.map | 5 + inherit_graph_113.md5 | 1 + inherit_graph_113.svg | 39 + inherit_graph_114.map | 5 + inherit_graph_114.md5 | 1 + inherit_graph_114.svg | 39 + inherit_graph_115.map | 5 + inherit_graph_115.md5 | 1 + inherit_graph_115.svg | 39 + inherit_graph_116.map | 5 + inherit_graph_116.md5 | 1 + inherit_graph_116.svg | 39 + inherit_graph_117.map | 5 + inherit_graph_117.md5 | 1 + inherit_graph_117.svg | 39 + inherit_graph_118.map | 5 + inherit_graph_118.md5 | 1 + inherit_graph_118.svg | 39 + inherit_graph_119.map | 5 + inherit_graph_119.md5 | 1 + inherit_graph_119.svg | 39 + inherit_graph_12.map | 3 + inherit_graph_12.md5 | 1 + inherit_graph_12.svg | 22 + inherit_graph_120.map | 5 + inherit_graph_120.md5 | 1 + inherit_graph_120.svg | 39 + inherit_graph_121.map | 5 + inherit_graph_121.md5 | 1 + inherit_graph_121.svg | 39 + inherit_graph_122.map | 5 + inherit_graph_122.md5 | 1 + inherit_graph_122.svg | 39 + inherit_graph_123.map | 5 + inherit_graph_123.md5 | 1 + inherit_graph_123.svg | 39 + inherit_graph_124.map | 5 + inherit_graph_124.md5 | 1 + inherit_graph_124.svg | 39 + inherit_graph_125.map | 5 + inherit_graph_125.md5 | 1 + inherit_graph_125.svg | 39 + inherit_graph_126.map | 5 + inherit_graph_126.md5 | 1 + inherit_graph_126.svg | 39 + inherit_graph_127.map | 5 + inherit_graph_127.md5 | 1 + inherit_graph_127.svg | 39 + inherit_graph_128.map | 5 + inherit_graph_128.md5 | 1 + inherit_graph_128.svg | 39 + 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 | 22 + inherit_graph_134.map | 3 + inherit_graph_134.md5 | 1 + inherit_graph_134.svg | 22 + inherit_graph_135.map | 3 + inherit_graph_135.md5 | 1 + inherit_graph_135.svg | 22 + inherit_graph_136.map | 3 + inherit_graph_136.md5 | 1 + inherit_graph_136.svg | 22 + inherit_graph_137.map | 3 + inherit_graph_137.md5 | 1 + inherit_graph_137.svg | 21 + inherit_graph_138.map | 3 + inherit_graph_138.md5 | 1 + inherit_graph_138.svg | 21 + 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 | 21 + inherit_graph_141.map | 3 + inherit_graph_141.md5 | 1 + inherit_graph_141.svg | 21 + inherit_graph_142.map | 3 + inherit_graph_142.md5 | 1 + inherit_graph_142.svg | 21 + inherit_graph_143.map | 3 + inherit_graph_143.md5 | 1 + inherit_graph_143.svg | 21 + inherit_graph_144.map | 3 + inherit_graph_144.md5 | 1 + inherit_graph_144.svg | 21 + inherit_graph_145.map | 3 + inherit_graph_145.md5 | 1 + inherit_graph_145.svg | 21 + inherit_graph_146.map | 3 + inherit_graph_146.md5 | 1 + inherit_graph_146.svg | 21 + inherit_graph_147.map | 3 + inherit_graph_147.md5 | 1 + inherit_graph_147.svg | 21 + inherit_graph_148.map | 3 + inherit_graph_148.md5 | 1 + inherit_graph_148.svg | 21 + inherit_graph_149.map | 3 + inherit_graph_149.md5 | 1 + inherit_graph_149.svg | 21 + inherit_graph_15.map | 3 + inherit_graph_15.md5 | 1 + inherit_graph_15.svg | 21 + inherit_graph_150.map | 3 + inherit_graph_150.md5 | 1 + inherit_graph_150.svg | 21 + inherit_graph_151.map | 3 + inherit_graph_151.md5 | 1 + inherit_graph_151.svg | 21 + inherit_graph_152.map | 3 + inherit_graph_152.md5 | 1 + inherit_graph_152.svg | 21 + inherit_graph_153.map | 3 + inherit_graph_153.md5 | 1 + inherit_graph_153.svg | 21 + inherit_graph_154.map | 3 + inherit_graph_154.md5 | 1 + inherit_graph_154.svg | 21 + inherit_graph_155.map | 3 + inherit_graph_155.md5 | 1 + inherit_graph_155.svg | 21 + inherit_graph_156.map | 3 + inherit_graph_156.md5 | 1 + inherit_graph_156.svg | 21 + inherit_graph_157.map | 3 + inherit_graph_157.md5 | 1 + inherit_graph_157.svg | 21 + inherit_graph_158.map | 3 + inherit_graph_158.md5 | 1 + inherit_graph_158.svg | 21 + inherit_graph_159.map | 73 + inherit_graph_159.md5 | 1 + inherit_graph_159.svg | 651 ++ inherit_graph_16.map | 3 + inherit_graph_16.md5 | 1 + inherit_graph_16.svg | 21 + inherit_graph_160.map | 3 + inherit_graph_160.md5 | 1 + inherit_graph_160.svg | 21 + inherit_graph_161.map | 3 + inherit_graph_161.md5 | 1 + inherit_graph_161.svg | 21 + inherit_graph_162.map | 7 + inherit_graph_162.md5 | 1 + inherit_graph_162.svg | 57 + inherit_graph_163.map | 3 + inherit_graph_163.md5 | 1 + inherit_graph_163.svg | 21 + inherit_graph_164.map | 3 + inherit_graph_164.md5 | 1 + inherit_graph_164.svg | 21 + inherit_graph_165.map | 3 + inherit_graph_165.md5 | 1 + inherit_graph_165.svg | 21 + inherit_graph_166.map | 3 + inherit_graph_166.md5 | 1 + inherit_graph_166.svg | 21 + inherit_graph_167.map | 3 + inherit_graph_167.md5 | 1 + inherit_graph_167.svg | 21 + inherit_graph_168.map | 3 + inherit_graph_168.md5 | 1 + inherit_graph_168.svg | 21 + inherit_graph_169.map | 3 + inherit_graph_169.md5 | 1 + inherit_graph_169.svg | 21 + inherit_graph_17.map | 3 + inherit_graph_17.md5 | 1 + inherit_graph_17.svg | 21 + inherit_graph_170.map | 3 + inherit_graph_170.md5 | 1 + inherit_graph_170.svg | 22 + inherit_graph_171.map | 3 + inherit_graph_171.md5 | 1 + inherit_graph_171.svg | 21 + inherit_graph_172.map | 3 + inherit_graph_172.md5 | 1 + inherit_graph_172.svg | 21 + inherit_graph_173.map | 3 + inherit_graph_173.md5 | 1 + inherit_graph_173.svg | 21 + inherit_graph_174.map | 3 + inherit_graph_174.md5 | 1 + inherit_graph_174.svg | 21 + inherit_graph_175.map | 5 + inherit_graph_175.md5 | 1 + inherit_graph_175.svg | 39 + inherit_graph_176.map | 3 + inherit_graph_176.md5 | 1 + inherit_graph_176.svg | 22 + inherit_graph_177.map | 3 + inherit_graph_177.md5 | 1 + inherit_graph_177.svg | 22 + inherit_graph_178.map | 3 + inherit_graph_178.md5 | 1 + inherit_graph_178.svg | 21 + inherit_graph_179.map | 3 + inherit_graph_179.md5 | 1 + inherit_graph_179.svg | 22 + inherit_graph_18.map | 3 + inherit_graph_18.md5 | 1 + inherit_graph_18.svg | 21 + inherit_graph_180.map | 29 + inherit_graph_180.md5 | 1 + inherit_graph_180.svg | 261 + inherit_graph_181.map | 5 + inherit_graph_181.md5 | 1 + inherit_graph_181.svg | 39 + 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 | 17 + inherit_graph_63.md5 | 1 + inherit_graph_63.svg | 147 + 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 | 269 + jquery.js | 34 + lib_2Protocol_2Protocol_8cpp.html | 116 + lib_2Protocol_2Protocol_8cpp_source.html | 162 + libnixf_2README_8md.html | 83 + ...xf_2include_2nixf_2Sema_2ParentMap_8h.html | 113 + ...lude_2nixf_2Sema_2ParentMap_8h_source.html | 142 + libnixf_2src_2Sema_2ParentMap_8cpp.html | 90 + ...ixf_2src_2Sema_2ParentMap_8cpp_source.html | 163 + libnixt_2README_8md.html | 83 + libnixt_2include_2nixt_2ParentMap_8h.html | 120 + ...t_2include_2nixt_2ParentMap_8h_source.html | 112 + libnixt_2lib_2ParentMap_8cpp.html | 106 + libnixt_2lib_2ParentMap_8cpp_source.html | 136 + ...rver_2include_2lspserver_2Protocol_8h.html | 811 +++ ...nclude_2lspserver_2Protocol_8h_source.html | 2814 ++++++++ lspserver_2src_2Protocol_8cpp.html | 408 ++ lspserver_2src_2Protocol_8cpp_source.html | 2270 ++++++ md_README.html | 106 + md_libnixf_2README.html | 174 + md_libnixt_2README.html | 85 + md_nixd_2docs_2configuration.html | 280 + md_nixd_2docs_2dev.html | 156 + md_nixd_2docs_2editor-setup.html | 178 + md_nixd_2docs_2editors_2editors.html | 97 + md_nixd_2docs_2features.html | 137 + md_nixd_2lspserver_2README.html | 85 + menu.js | 134 + menudata.js | 186 + minus.svg | 8 + minusd.svg | 8 + namespaceDiagnostic.html | 236 + namespaceDiagnosticEnum.html | 143 + namespacediagnostic.html | 91 + namespacellvm.html | 91 + namespacelspserver.html | 6201 +++++++++++++++++ namespacelspserver_1_1detail.html | 276 + namespacemembers.html | 85 + namespacemembers_a.html | 93 + namespacemembers_b.html | 86 + namespacemembers_c.html | 97 + namespacemembers_d.html | 93 + namespacemembers_e.html | 97 + namespacemembers_enum.html | 104 + namespacemembers_eval.html | 85 + namespacemembers_f.html | 91 + namespacemembers_func.html | 89 + namespacemembers_func_b.html | 85 + namespacemembers_func_c.html | 90 + namespacemembers_func_d.html | 90 + namespacemembers_func_e.html | 89 + namespacemembers_func_f.html | 88 + namespacemembers_func_g.html | 94 + namespacemembers_func_h.html | 85 + namespacemembers_func_i.html | 88 + namespacemembers_func_k.html | 85 + namespacemembers_func_l.html | 89 + namespacemembers_func_m.html | 87 + namespacemembers_func_n.html | 85 + namespacemembers_func_o.html | 88 + namespacemembers_func_p.html | 91 + namespacemembers_func_r.html | 85 + namespacemembers_func_s.html | 95 + namespacemembers_func_t.html | 92 + namespacemembers_func_u.html | 86 + namespacemembers_func_v.html | 86 + namespacemembers_func_w.html | 85 + namespacemembers_g.html | 94 + namespacemembers_h.html | 85 + namespacemembers_i.html | 91 + namespacemembers_j.html | 85 + namespacemembers_k.html | 86 + namespacemembers_l.html | 93 + namespacemembers_m.html | 89 + namespacemembers_n.html | 88 + namespacemembers_o.html | 95 + namespacemembers_p.html | 96 + namespacemembers_r.html | 85 + namespacemembers_s.html | 102 + namespacemembers_t.html | 96 + namespacemembers_type.html | 106 + namespacemembers_u.html | 88 + namespacemembers_v.html | 87 + namespacemembers_vars.html | 100 + namespacemembers_w.html | 85 + namespacenix.html | 83 + namespacenixd.html | 1463 ++++ namespacenixd_1_1idioms.html | 320 + namespacenixd_1_1rpc.html | 396 ++ namespacenixd_1_1rpcMethod.html | 262 + namespacenixd_1_1util.html | 103 + namespacenixf.html | 510 ++ namespacenixf_1_1detail.html | 128 + namespacenixf_1_1tok.html | 148 + namespacenixt.html | 1711 +++++ namespacenixt_1_1detail.html | 99 + namespacenixt_1_1ek.html | 126 + namespaces.html | 352 + namespacesupport.html | 136 + 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 nixd-attrset-eval_8cpp.html | 130 + nixd-attrset-eval_8cpp_source.html | 192 + nixd_2lspserver_2README_8md.html | 83 + nixd_8cpp.html | 130 + nixd_8cpp_source.html | 195 + nixf-tidy_8cpp.html | 136 + nixf-tidy_8cpp_source.html | 159 + open.png | Bin 0 -> 123 bytes pages.html | 96 + plus.svg | 9 + plusd.svg | 9 + search/all_0.js | 4 + search/all_1.js | 81 + search/all_10.js | 104 + search/all_11.js | 5 + search/all_12.js | 59 + search/all_13.js | 109 + search/all_14.js | 90 + search/all_15.js | 29 + search/all_16.js | 30 + search/all_17.js | 27 + search/all_18.js | 5 + search/all_19.js | 16 + search/all_1a.js | 4 + search/all_2.js | 19 + search/all_3.js | 121 + search/all_4.js | 115 + search/all_5.js | 86 + search/all_6.js | 65 + search/all_7.js | 24 + search/all_8.js | 46 + search/all_9.js | 76 + search/all_a.js | 11 + search/all_b.js | 14 + search/all_c.js | 83 + search/all_d.js | 39 + search/all_e.js | 79 + search/all_f.js | 67 + search/classes_0.js | 19 + search/classes_1.js | 5 + search/classes_10.js | 20 + search/classes_11.js | 13 + search/classes_12.js | 7 + search/classes_13.js | 7 + search/classes_14.js | 9 + search/classes_2.js | 27 + search/classes_3.js | 25 + search/classes_4.js | 32 + search/classes_5.js | 13 + search/classes_6.js | 30 + search/classes_7.js | 16 + search/classes_8.js | 5 + search/classes_9.js | 4 + search/classes_a.js | 15 + search/classes_b.js | 6 + search/classes_c.js | 12 + search/classes_d.js | 11 + search/classes_e.js | 15 + search/classes_f.js | 14 + search/close.svg | 18 + search/defines_0.js | 7 + search/defines_1.js | 4 + search/defines_2.js | 6 + search/defines_3.js | 8 + search/enums_0.js | 5 + search/enums_1.js | 5 + search/enums_2.js | 6 + search/enums_3.js | 6 + search/enums_4.js | 5 + search/enums_5.js | 6 + search/enums_6.js | 4 + search/enums_7.js | 6 + search/enums_8.js | 5 + search/enums_9.js | 5 + search/enums_a.js | 4 + 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 | 11 + search/enumvalues_11.js | 6 + search/enumvalues_12.js | 6 + search/enumvalues_2.js | 11 + search/enumvalues_3.js | 22 + search/enumvalues_4.js | 8 + search/enumvalues_5.js | 11 + search/enumvalues_6.js | 13 + search/enumvalues_7.js | 5 + search/enumvalues_8.js | 5 + search/enumvalues_9.js | 9 + search/enumvalues_a.js | 14 + search/enumvalues_b.js | 7 + search/enumvalues_c.js | 14 + search/enumvalues_d.js | 6 + search/enumvalues_e.js | 11 + search/enumvalues_f.js | 8 + search/files_0.js | 17 + search/files_1.js | 5 + search/files_10.js | 9 + search/files_11.js | 5 + search/files_12.js | 8 + search/files_2.js | 15 + search/files_3.js | 20 + search/files_4.js | 9 + search/files_5.js | 11 + search/files_6.js | 7 + search/files_7.js | 7 + search/files_8.js | 7 + search/files_9.js | 5 + search/files_a.js | 23 + search/files_b.js | 13 + search/files_c.js | 7 + search/files_d.js | 13 + search/files_e.js | 6 + search/files_f.js | 16 + search/functions_0.js | 31 + search/functions_1.js | 10 + search/functions_10.js | 4 + search/functions_11.js | 22 + search/functions_12.js | 36 + search/functions_13.js | 22 + search/functions_14.js | 14 + search/functions_15.js | 9 + search/functions_16.js | 6 + search/functions_17.js | 16 + search/functions_2.js | 29 + search/functions_3.js | 23 + search/functions_4.js | 44 + search/functions_5.js | 20 + search/functions_6.js | 21 + search/functions_7.js | 30 + search/functions_8.js | 34 + search/functions_9.js | 5 + search/functions_a.js | 8 + search/functions_b.js | 30 + search/functions_c.js | 16 + search/functions_d.js | 14 + search/functions_e.js | 35 + search/functions_f.js | 47 + search/mag.svg | 24 + search/mag_d.svg | 24 + search/mag_sel.svg | 31 + search/mag_seld.svg | 31 + search/namespaces_0.js | 6 + search/namespaces_1.js | 6 + search/namespaces_2.js | 15 + search/namespaces_3.js | 4 + search/pages_0.js | 5 + search/pages_1.js | 4 + search/pages_2.js | 6 + search/pages_3.js | 5 + search/pages_4.js | 4 + search/pages_5.js | 6 + search/pages_6.js | 4 + search/pages_7.js | 6 + search/pages_8.js | 4 + search/pages_9.js | 5 + search/pages_a.js | 6 + 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 | 5 + search/typedefs_1.js | 4 + search/typedefs_10.js | 4 + search/typedefs_11.js | 4 + search/typedefs_2.js | 7 + search/typedefs_3.js | 5 + search/typedefs_4.js | 6 + search/typedefs_5.js | 6 + search/typedefs_6.js | 4 + search/typedefs_7.js | 4 + search/typedefs_8.js | 4 + search/typedefs_9.js | 6 + search/typedefs_a.js | 6 + search/typedefs_b.js | 7 + search/typedefs_c.js | 7 + search/typedefs_d.js | 4 + search/typedefs_e.js | 5 + search/typedefs_f.js | 5 + search/variables_0.js | 4 + search/variables_1.js | 13 + search/variables_10.js | 21 + search/variables_11.js | 34 + search/variables_12.js | 22 + search/variables_13.js | 4 + search/variables_14.js | 9 + search/variables_15.js | 8 + search/variables_2.js | 5 + search/variables_3.js | 38 + search/variables_4.js | 23 + search/variables_5.js | 16 + search/variables_6.js | 13 + search/variables_7.js | 9 + search/variables_8.js | 17 + search/variables_9.js | 6 + search/variables_a.js | 16 + search/variables_b.js | 10 + search/variables_c.js | 12 + search/variables_d.js | 11 + search/variables_e.js | 21 + search/variables_f.js | 5 + splitbar.png | Bin 0 -> 314 bytes splitbard.png | Bin 0 -> 282 bytes src_2Parse_2Parser_8h.html | 130 + src_2Parse_2Parser_8h_source.html | 497 ++ ..._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 | 220 + 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 | 126 + ...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 | 152 + ...CallHierarchyIncomingCall__coll__graph.map | 11 + ...CallHierarchyIncomingCall__coll__graph.md5 | 1 + ...CallHierarchyIncomingCall__coll__graph.svg | 100 + ...lHierarchyIncomingCallsParams-members.html | 91 + ...r_1_1CallHierarchyIncomingCallsParams.html | 130 + ...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 | 271 + ...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 | 149 + ...CallHierarchyOutgoingCall__coll__graph.map | 11 + ...CallHierarchyOutgoingCall__coll__graph.md5 | 1 + ...CallHierarchyOutgoingCall__coll__graph.svg | 100 + ...lHierarchyOutgoingCallsParams-members.html | 91 + ...r_1_1CallHierarchyOutgoingCallsParams.html | 130 + ...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 | 140 + ...pserver_1_1ClientCapabilities-members.html | 118 + structlspserver_1_1ClientCapabilities.html | 696 ++ structlspserver_1_1CodeAction-members.html | 99 + structlspserver_1_1CodeAction.html | 316 + ...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 | 137 + structlspserver_1_1Command__coll__graph.map | 7 + structlspserver_1_1Command__coll__graph.md5 | 1 + structlspserver_1_1Command__coll__graph.svg | 59 + ...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 | 103 + structlspserver_1_1CompletionItem.html | 376 + ...ctlspserver_1_1CompletionList-members.html | 92 + structlspserver_1_1CompletionList.html | 147 + ...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 | 139 + ...server_1_1ConfigurationParams-members.html | 91 + structlspserver_1_1ConfigurationParams.html | 121 + ...rver_1_1ConfigurationSettings-members.html | 91 + structlspserver_1_1ConfigurationSettings.html | 122 + structlspserver_1_1Diagnostic-members.html | 101 + structlspserver_1_1Diagnostic.html | 349 + ...1DiagnosticRelatedInformation-members.html | 92 + ...erver_1_1DiagnosticRelatedInformation.html | 151 + ...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 | 126 + ...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 | 222 + ...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 | 252 + ...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 | 156 + ...r_1_1ExecuteCommandParams__coll__graph.map | 5 + ...r_1_1ExecuteCommandParams__coll__graph.md5 | 1 + ...r_1_1ExecuteCommandParams__coll__graph.svg | 41 + ..._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 | 149 + ...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 | 148 + 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 | 184 + ..._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 | 232 + 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 | 168 + structlspserver_1_1Position-members.html | 96 + structlspserver_1_1Position.html | 284 + ...ctlspserver_1_1ProgressParams-members.html | 92 + structlspserver_1_1ProgressParams.html | 159 + ...pserver_1_1ProgressParams__coll__graph.map | 5 + ...pserver_1_1ProgressParams__coll__graph.md5 | 1 + ...pserver_1_1ProgressParams__coll__graph.svg | 40 + ...r_1_1PublishDiagnosticsParams-members.html | 93 + ...lspserver_1_1PublishDiagnosticsParams.html | 171 + ...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 | 150 + ...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 | 146 + ..._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 | 161 + ...rver_1_1SemanticTokensOrDelta-members.html | 93 + structlspserver_1_1SemanticTokensOrDelta.html | 164 + ...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 | 194 + ...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 | 175 + ...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 | 172 + 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 | 315 + ...ierarchyItem_1_1ResolveParams-members.html | 91 + ...1_1TypeHierarchyItem_1_1ResolveParams.html | 128 + ...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 | 409 ++ ...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 | 131 + ...kDoneProgressCreateParams__coll__graph.map | 5 + ...kDoneProgressCreateParams__coll__graph.md5 | 1 + ...kDoneProgressCreateParams__coll__graph.svg | 41 + ...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 + ...ixd_1_1AttrPathCompleteParams-members.html | 92 + structnixd_1_1AttrPathCompleteParams.html | 146 + ...tnixd_1_1AttrPathInfoResponse-members.html | 92 + structnixd_1_1AttrPathInfoResponse.html | 154 + ...d_1_1AttrPathInfoResponse__coll__graph.map | 7 + ...d_1_1AttrPathInfoResponse__coll__graph.md5 | 1 + ...d_1_1AttrPathInfoResponse__coll__graph.svg | 59 + ...ixd_1_1CannotFindVarException-members.html | 91 + structnixd_1_1CannotFindVarException.html | 142 + ...1_1CannotFindVarException__coll__graph.map | 5 + ...1_1CannotFindVarException__coll__graph.md5 | 1 + ...1_1CannotFindVarException__coll__graph.svg | 39 + ...CannotFindVarException__inherit__graph.map | 5 + ...CannotFindVarException__inherit__graph.md5 | 1 + ...CannotFindVarException__inherit__graph.svg | 39 + structnixd_1_1Configuration-members.html | 94 + structnixd_1_1Configuration.html | 186 + ..._1Configuration_1_1Diagnostic-members.html | 91 + ...ctnixd_1_1Configuration_1_1Diagnostic.html | 121 + ..._1Configuration_1_1Formatting-members.html | 91 + ...ctnixd_1_1Configuration_1_1Formatting.html | 121 + ...figuration_1_1NixpkgsProvider-members.html | 91 + ...d_1_1Configuration_1_1NixpkgsProvider.html | 124 + ...nfiguration_1_1OptionProvider-members.html | 91 + ...xd_1_1Configuration_1_1OptionProvider.html | 124 + structnixd_1_1Configuration__coll__graph.map | 9 + structnixd_1_1Configuration__coll__graph.md5 | 1 + structnixd_1_1Configuration__coll__graph.svg | 81 + structnixd_1_1OptionDescription-members.html | 95 + structnixd_1_1OptionDescription.html | 193 + structnixd_1_1OptionField-members.html | 92 + structnixd_1_1OptionField.html | 141 + structnixd_1_1OptionType-members.html | 92 + structnixd_1_1OptionType.html | 139 + structnixd_1_1PackageDescription-members.html | 97 + structnixd_1_1PackageDescription.html | 243 + structnixd_1_1StreamProc-members.html | 95 + structnixd_1_1StreamProc.html | 234 + structnixd_1_1ValueMeta-members.html | 92 + structnixd_1_1ValueMeta.html | 157 + ...dioms_1_1DynamicNameException-members.html | 91 + ...ixd_1_1idioms_1_1DynamicNameException.html | 146 + ...s_1_1DynamicNameException__coll__graph.map | 7 + ...s_1_1DynamicNameException__coll__graph.md5 | 1 + ...s_1_1DynamicNameException__coll__graph.svg | 59 + ..._1DynamicNameException__inherit__graph.map | 7 + ..._1DynamicNameException__inherit__graph.md5 | 1 + ..._1DynamicNameException__inherit__graph.svg | 59 + structnixd_1_1idioms_1_1IdiomException.html | 105 + ...1idioms_1_1IdiomException__coll__graph.map | 5 + ...1idioms_1_1IdiomException__coll__graph.md5 | 1 + ...1idioms_1_1IdiomException__coll__graph.svg | 39 + ...ioms_1_1IdiomException__inherit__graph.map | 5 + ...ioms_1_1IdiomException__inherit__graph.md5 | 1 + ...ioms_1_1IdiomException__inherit__graph.svg | 39 + ...d_1_1idioms_1_1IdiomSelectorException.html | 109 + ...1_1IdiomSelectorException__coll__graph.map | 5 + ...1_1IdiomSelectorException__coll__graph.md5 | 1 + ...1_1IdiomSelectorException__coll__graph.svg | 40 + ...IdiomSelectorException__inherit__graph.map | 11 + ...IdiomSelectorException__inherit__graph.md5 | 1 + ...IdiomSelectorException__inherit__graph.svg | 97 + ...1NoLocationForBuiltinVariable-members.html | 91 + ...dioms_1_1NoLocationForBuiltinVariable.html | 142 + ...ocationForBuiltinVariable__coll__graph.map | 5 + ...ocationForBuiltinVariable__coll__graph.md5 | 1 + ...ocationForBuiltinVariable__coll__graph.svg | 40 + ...tionForBuiltinVariable__inherit__graph.map | 5 + ...tionForBuiltinVariable__inherit__graph.md5 | 1 + ...tionForBuiltinVariable__inherit__graph.svg | 40 + ...1idioms_1_1NoSuchVarException-members.html | 91 + ...tnixd_1_1idioms_1_1NoSuchVarException.html | 146 + ...oms_1_1NoSuchVarException__coll__graph.map | 7 + ...oms_1_1NoSuchVarException__coll__graph.md5 | 1 + ...oms_1_1NoSuchVarException__coll__graph.svg | 57 + ..._1_1NoSuchVarException__inherit__graph.map | 7 + ..._1_1NoSuchVarException__inherit__graph.md5 | 1 + ..._1_1NoSuchVarException__inherit__graph.svg | 57 + ...idioms_1_1NotAnIdiomException-members.html | 91 + ...nixd_1_1idioms_1_1NotAnIdiomException.html | 146 + ...ms_1_1NotAnIdiomException__coll__graph.map | 7 + ...ms_1_1NotAnIdiomException__coll__graph.md5 | 1 + ...ms_1_1NotAnIdiomException__coll__graph.svg | 59 + ...1_1NotAnIdiomException__inherit__graph.map | 7 + ...1_1NotAnIdiomException__inherit__graph.md5 | 1 + ...1_1NotAnIdiomException__inherit__graph.svg | 59 + ..._1idioms_1_1NotVariableSelect-members.html | 91 + ...ctnixd_1_1idioms_1_1NotVariableSelect.html | 142 + ...ioms_1_1NotVariableSelect__coll__graph.map | 7 + ...ioms_1_1NotVariableSelect__coll__graph.md5 | 1 + ...ioms_1_1NotVariableSelect__coll__graph.svg | 59 + ...s_1_1NotVariableSelect__inherit__graph.map | 7 + ...s_1_1NotVariableSelect__inherit__graph.md5 | 1 + ...s_1_1NotVariableSelect__inherit__graph.svg | 59 + ...ioms_1_1UndefinedVarException-members.html | 91 + ...xd_1_1idioms_1_1UndefinedVarException.html | 142 + ..._1_1UndefinedVarException__coll__graph.map | 7 + ..._1_1UndefinedVarException__coll__graph.md5 | 1 + ..._1_1UndefinedVarException__coll__graph.svg | 58 + ...1UndefinedVarException__inherit__graph.map | 7 + ...1UndefinedVarException__inherit__graph.md5 | 1 + ...1UndefinedVarException__inherit__graph.svg | 58 + structnixd_1_1idioms_1_1VLAException.html | 105 + ...1_1idioms_1_1VLAException__coll__graph.map | 5 + ...1_1idioms_1_1VLAException__coll__graph.md5 | 1 + ...1_1idioms_1_1VLAException__coll__graph.svg | 39 + ...idioms_1_1VLAException__inherit__graph.map | 9 + ...idioms_1_1VLAException__inherit__graph.md5 | 1 + ...idioms_1_1VLAException__inherit__graph.svg | 76 + ...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 | 182 + ...nixd_1_1util_1_1PipedProc__coll__graph.map | 5 + ...nixd_1_1util_1_1PipedProc__coll__graph.md5 | 1 + ...nixd_1_1util_1_1PipedProc__coll__graph.svg | 42 + ...ookupAnalysis_1_1LookupResult-members.html | 92 + ...ariableLookupAnalysis_1_1LookupResult.html | 141 + 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 | 201 + structnixt_1_1HookExprAssert-members.html | 96 + structnixt_1_1HookExprAssert.html | 271 + structnixt_1_1HookExprAssert__coll__graph.map | 5 + structnixt_1_1HookExprAssert__coll__graph.md5 | 1 + structnixt_1_1HookExprAssert__coll__graph.svg | 39 + ...nixt_1_1HookExprAssert__inherit__graph.map | 5 + ...nixt_1_1HookExprAssert__inherit__graph.md5 | 1 + ...nixt_1_1HookExprAssert__inherit__graph.svg | 39 + structnixt_1_1HookExprAttrs-members.html | 96 + structnixt_1_1HookExprAttrs.html | 271 + structnixt_1_1HookExprAttrs__coll__graph.map | 5 + structnixt_1_1HookExprAttrs__coll__graph.md5 | 1 + structnixt_1_1HookExprAttrs__coll__graph.svg | 39 + ...tnixt_1_1HookExprAttrs__inherit__graph.map | 5 + ...tnixt_1_1HookExprAttrs__inherit__graph.md5 | 1 + ...tnixt_1_1HookExprAttrs__inherit__graph.svg | 39 + structnixt_1_1HookExprCall-members.html | 96 + structnixt_1_1HookExprCall.html | 271 + structnixt_1_1HookExprCall__coll__graph.map | 5 + structnixt_1_1HookExprCall__coll__graph.md5 | 1 + structnixt_1_1HookExprCall__coll__graph.svg | 39 + ...ctnixt_1_1HookExprCall__inherit__graph.map | 5 + ...ctnixt_1_1HookExprCall__inherit__graph.md5 | 1 + ...ctnixt_1_1HookExprCall__inherit__graph.svg | 39 + ...nixt_1_1HookExprConcatStrings-members.html | 96 + structnixt_1_1HookExprConcatStrings.html | 271 + ..._1_1HookExprConcatStrings__coll__graph.map | 5 + ..._1_1HookExprConcatStrings__coll__graph.md5 | 1 + ..._1_1HookExprConcatStrings__coll__graph.svg | 39 + ...1HookExprConcatStrings__inherit__graph.map | 5 + ...1HookExprConcatStrings__inherit__graph.md5 | 1 + ...1HookExprConcatStrings__inherit__graph.svg | 39 + structnixt_1_1HookExprFloat-members.html | 96 + structnixt_1_1HookExprFloat.html | 271 + structnixt_1_1HookExprFloat__coll__graph.map | 5 + structnixt_1_1HookExprFloat__coll__graph.md5 | 1 + structnixt_1_1HookExprFloat__coll__graph.svg | 39 + ...tnixt_1_1HookExprFloat__inherit__graph.map | 5 + ...tnixt_1_1HookExprFloat__inherit__graph.md5 | 1 + ...tnixt_1_1HookExprFloat__inherit__graph.svg | 39 + structnixt_1_1HookExprIf-members.html | 96 + structnixt_1_1HookExprIf.html | 271 + structnixt_1_1HookExprIf__coll__graph.map | 5 + structnixt_1_1HookExprIf__coll__graph.md5 | 1 + structnixt_1_1HookExprIf__coll__graph.svg | 39 + structnixt_1_1HookExprIf__inherit__graph.map | 5 + structnixt_1_1HookExprIf__inherit__graph.md5 | 1 + structnixt_1_1HookExprIf__inherit__graph.svg | 39 + structnixt_1_1HookExprInt-members.html | 96 + structnixt_1_1HookExprInt.html | 271 + structnixt_1_1HookExprInt__coll__graph.map | 5 + structnixt_1_1HookExprInt__coll__graph.md5 | 1 + structnixt_1_1HookExprInt__coll__graph.svg | 39 + structnixt_1_1HookExprInt__inherit__graph.map | 5 + structnixt_1_1HookExprInt__inherit__graph.md5 | 1 + structnixt_1_1HookExprInt__inherit__graph.svg | 39 + structnixt_1_1HookExprLambda-members.html | 96 + structnixt_1_1HookExprLambda.html | 271 + structnixt_1_1HookExprLambda__coll__graph.map | 5 + structnixt_1_1HookExprLambda__coll__graph.md5 | 1 + structnixt_1_1HookExprLambda__coll__graph.svg | 39 + ...nixt_1_1HookExprLambda__inherit__graph.map | 5 + ...nixt_1_1HookExprLambda__inherit__graph.md5 | 1 + ...nixt_1_1HookExprLambda__inherit__graph.svg | 39 + structnixt_1_1HookExprLet-members.html | 96 + structnixt_1_1HookExprLet.html | 271 + structnixt_1_1HookExprLet__coll__graph.map | 5 + structnixt_1_1HookExprLet__coll__graph.md5 | 1 + structnixt_1_1HookExprLet__coll__graph.svg | 39 + structnixt_1_1HookExprLet__inherit__graph.map | 5 + structnixt_1_1HookExprLet__inherit__graph.md5 | 1 + structnixt_1_1HookExprLet__inherit__graph.svg | 39 + structnixt_1_1HookExprList-members.html | 96 + structnixt_1_1HookExprList.html | 271 + structnixt_1_1HookExprList__coll__graph.map | 5 + structnixt_1_1HookExprList__coll__graph.md5 | 1 + structnixt_1_1HookExprList__coll__graph.svg | 39 + ...ctnixt_1_1HookExprList__inherit__graph.map | 5 + ...ctnixt_1_1HookExprList__inherit__graph.md5 | 1 + ...ctnixt_1_1HookExprList__inherit__graph.svg | 39 + structnixt_1_1HookExprOpAnd-members.html | 96 + structnixt_1_1HookExprOpAnd.html | 271 + structnixt_1_1HookExprOpAnd__coll__graph.map | 5 + structnixt_1_1HookExprOpAnd__coll__graph.md5 | 1 + structnixt_1_1HookExprOpAnd__coll__graph.svg | 39 + ...tnixt_1_1HookExprOpAnd__inherit__graph.map | 5 + ...tnixt_1_1HookExprOpAnd__inherit__graph.md5 | 1 + ...tnixt_1_1HookExprOpAnd__inherit__graph.svg | 39 + ...nixt_1_1HookExprOpConcatLists-members.html | 96 + structnixt_1_1HookExprOpConcatLists.html | 271 + ..._1_1HookExprOpConcatLists__coll__graph.map | 5 + ..._1_1HookExprOpConcatLists__coll__graph.md5 | 1 + ..._1_1HookExprOpConcatLists__coll__graph.svg | 39 + ...1HookExprOpConcatLists__inherit__graph.map | 5 + ...1HookExprOpConcatLists__inherit__graph.md5 | 1 + ...1HookExprOpConcatLists__inherit__graph.svg | 39 + structnixt_1_1HookExprOpEq-members.html | 96 + structnixt_1_1HookExprOpEq.html | 271 + structnixt_1_1HookExprOpEq__coll__graph.map | 5 + structnixt_1_1HookExprOpEq__coll__graph.md5 | 1 + structnixt_1_1HookExprOpEq__coll__graph.svg | 39 + ...ctnixt_1_1HookExprOpEq__inherit__graph.map | 5 + ...ctnixt_1_1HookExprOpEq__inherit__graph.md5 | 1 + ...ctnixt_1_1HookExprOpEq__inherit__graph.svg | 39 + structnixt_1_1HookExprOpHasAttr-members.html | 96 + structnixt_1_1HookExprOpHasAttr.html | 271 + ...nixt_1_1HookExprOpHasAttr__coll__graph.map | 5 + ...nixt_1_1HookExprOpHasAttr__coll__graph.md5 | 1 + ...nixt_1_1HookExprOpHasAttr__coll__graph.svg | 39 + ...t_1_1HookExprOpHasAttr__inherit__graph.map | 5 + ...t_1_1HookExprOpHasAttr__inherit__graph.md5 | 1 + ...t_1_1HookExprOpHasAttr__inherit__graph.svg | 39 + structnixt_1_1HookExprOpImpl-members.html | 96 + structnixt_1_1HookExprOpImpl.html | 271 + structnixt_1_1HookExprOpImpl__coll__graph.map | 5 + structnixt_1_1HookExprOpImpl__coll__graph.md5 | 1 + structnixt_1_1HookExprOpImpl__coll__graph.svg | 39 + ...nixt_1_1HookExprOpImpl__inherit__graph.map | 5 + ...nixt_1_1HookExprOpImpl__inherit__graph.md5 | 1 + ...nixt_1_1HookExprOpImpl__inherit__graph.svg | 39 + structnixt_1_1HookExprOpNEq-members.html | 96 + structnixt_1_1HookExprOpNEq.html | 271 + structnixt_1_1HookExprOpNEq__coll__graph.map | 5 + structnixt_1_1HookExprOpNEq__coll__graph.md5 | 1 + structnixt_1_1HookExprOpNEq__coll__graph.svg | 39 + ...tnixt_1_1HookExprOpNEq__inherit__graph.map | 5 + ...tnixt_1_1HookExprOpNEq__inherit__graph.md5 | 1 + ...tnixt_1_1HookExprOpNEq__inherit__graph.svg | 39 + structnixt_1_1HookExprOpNot-members.html | 96 + structnixt_1_1HookExprOpNot.html | 271 + structnixt_1_1HookExprOpNot__coll__graph.map | 5 + structnixt_1_1HookExprOpNot__coll__graph.md5 | 1 + structnixt_1_1HookExprOpNot__coll__graph.svg | 39 + ...tnixt_1_1HookExprOpNot__inherit__graph.map | 5 + ...tnixt_1_1HookExprOpNot__inherit__graph.md5 | 1 + ...tnixt_1_1HookExprOpNot__inherit__graph.svg | 39 + structnixt_1_1HookExprOpOr-members.html | 96 + structnixt_1_1HookExprOpOr.html | 271 + structnixt_1_1HookExprOpOr__coll__graph.map | 5 + structnixt_1_1HookExprOpOr__coll__graph.md5 | 1 + structnixt_1_1HookExprOpOr__coll__graph.svg | 39 + ...ctnixt_1_1HookExprOpOr__inherit__graph.map | 5 + ...ctnixt_1_1HookExprOpOr__inherit__graph.md5 | 1 + ...ctnixt_1_1HookExprOpOr__inherit__graph.svg | 39 + structnixt_1_1HookExprOpUpdate-members.html | 96 + structnixt_1_1HookExprOpUpdate.html | 271 + ...tnixt_1_1HookExprOpUpdate__coll__graph.map | 5 + ...tnixt_1_1HookExprOpUpdate__coll__graph.md5 | 1 + ...tnixt_1_1HookExprOpUpdate__coll__graph.svg | 39 + ...xt_1_1HookExprOpUpdate__inherit__graph.map | 5 + ...xt_1_1HookExprOpUpdate__inherit__graph.md5 | 1 + ...xt_1_1HookExprOpUpdate__inherit__graph.svg | 39 + structnixt_1_1HookExprPath-members.html | 96 + structnixt_1_1HookExprPath.html | 271 + structnixt_1_1HookExprPath__coll__graph.map | 5 + structnixt_1_1HookExprPath__coll__graph.md5 | 1 + structnixt_1_1HookExprPath__coll__graph.svg | 39 + ...ctnixt_1_1HookExprPath__inherit__graph.map | 5 + ...ctnixt_1_1HookExprPath__inherit__graph.md5 | 1 + ...ctnixt_1_1HookExprPath__inherit__graph.svg | 39 + structnixt_1_1HookExprPos-members.html | 96 + structnixt_1_1HookExprPos.html | 271 + structnixt_1_1HookExprPos__coll__graph.map | 5 + structnixt_1_1HookExprPos__coll__graph.md5 | 1 + structnixt_1_1HookExprPos__coll__graph.svg | 39 + structnixt_1_1HookExprPos__inherit__graph.map | 5 + structnixt_1_1HookExprPos__inherit__graph.md5 | 1 + structnixt_1_1HookExprPos__inherit__graph.svg | 39 + structnixt_1_1HookExprSelect-members.html | 96 + structnixt_1_1HookExprSelect.html | 271 + structnixt_1_1HookExprSelect__coll__graph.map | 5 + structnixt_1_1HookExprSelect__coll__graph.md5 | 1 + structnixt_1_1HookExprSelect__coll__graph.svg | 39 + ...nixt_1_1HookExprSelect__inherit__graph.map | 5 + ...nixt_1_1HookExprSelect__inherit__graph.md5 | 1 + ...nixt_1_1HookExprSelect__inherit__graph.svg | 39 + structnixt_1_1HookExprString-members.html | 96 + structnixt_1_1HookExprString.html | 271 + structnixt_1_1HookExprString__coll__graph.map | 5 + structnixt_1_1HookExprString__coll__graph.md5 | 1 + structnixt_1_1HookExprString__coll__graph.svg | 39 + ...nixt_1_1HookExprString__inherit__graph.map | 5 + ...nixt_1_1HookExprString__inherit__graph.md5 | 1 + ...nixt_1_1HookExprString__inherit__graph.svg | 39 + structnixt_1_1HookExprVar-members.html | 96 + structnixt_1_1HookExprVar.html | 271 + structnixt_1_1HookExprVar__coll__graph.map | 5 + structnixt_1_1HookExprVar__coll__graph.md5 | 1 + structnixt_1_1HookExprVar__coll__graph.svg | 39 + structnixt_1_1HookExprVar__inherit__graph.map | 5 + structnixt_1_1HookExprVar__inherit__graph.md5 | 1 + structnixt_1_1HookExprVar__inherit__graph.svg | 39 + structnixt_1_1HookExprWith-members.html | 96 + structnixt_1_1HookExprWith.html | 271 + structnixt_1_1HookExprWith__coll__graph.map | 5 + structnixt_1_1HookExprWith__coll__graph.md5 | 1 + structnixt_1_1HookExprWith__coll__graph.svg | 39 + ...ctnixt_1_1HookExprWith__inherit__graph.map | 5 + ...ctnixt_1_1HookExprWith__inherit__graph.md5 | 1 + ...ctnixt_1_1HookExprWith__inherit__graph.svg | 39 + structnixt_1_1PtrPool-members.html | 93 + structnixt_1_1PtrPool.html | 216 + ...ctnixt_1_1RecursiveASTVisitor-members.html | 94 + structnixt_1_1RecursiveASTVisitor.html | 253 + ...tnixt_1_1detail_1_1EvalCacheF-members.html | 91 + structnixt_1_1detail_1_1EvalCacheF.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 + support_8py.html | 105 + support_8py_source.html | 109 + 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 + 2670 files changed, 205730 insertions(+) create mode 100644 .nojekyll create mode 100644 AST_8cpp.html create mode 100644 AST_8cpp_source.html create mode 100644 AST_8h.html create mode 100644 AST_8h_source.html create mode 100644 ArrayRef_8h.html create mode 100644 ArrayRef_8h_source.html create mode 100644 AttrSetClient_8cpp.html create mode 100644 AttrSetClient_8cpp_source.html create mode 100644 AttrSetClient_8h.html create mode 100644 AttrSetClient_8h_source.html create mode 100644 AttrSetProvider_8cpp.html create mode 100644 AttrSetProvider_8cpp_source.html create mode 100644 AttrSetProvider_8h.html create mode 100644 AttrSetProvider_8h_source.html create mode 100644 AttrSet_8cpp.html create mode 100644 AttrSet_8cpp_source.html create mode 100644 AttrSet_8h.html create mode 100644 AttrSet_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 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 BinOps_8inc.html create mode 100644 BinOps_8inc_source.html create mode 100644 CodeAction_8cpp.html create mode 100644 CodeAction_8cpp_source.html create mode 100644 CommandLine_2Configuration_8cpp.html create mode 100644 CommandLine_2Configuration_8cpp_source.html create mode 100644 CommandLine_2Configuration_8h.html create mode 100644 CommandLine_2Configuration_8h_source.html create mode 100644 Completion_8cpp.html create mode 100644 Completion_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_2Configuration_8cpp.html create mode 100644 Controller_2Configuration_8cpp_source.html create mode 100644 Controller_2Configuration_8h.html create mode 100644 Controller_2Configuration_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 Definition_8cpp.html create mode 100644 Definition_8cpp_source.html create mode 100644 Definition_8h.html create mode 100644 Definition_8h_source.html create mode 100644 Deserialize_8h.html create mode 100644 Deserialize_8h_source.html create mode 100644 DiagnosticEnum_8h_8py.html create mode 100644 DiagnosticEnum_8h_8py_source.html create mode 100644 Diagnostic_8cpp.html create mode 100644 Diagnostic_8cpp_8py.html create mode 100644 Diagnostic_8cpp_8py_source.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 DocumentHighlight_8cpp.html create mode 100644 DocumentHighlight_8cpp_source.html create mode 100644 DocumentLink_8cpp.html create mode 100644 DocumentLink_8cpp_source.html create mode 100644 DocumentSymbol_8cpp.html create mode 100644 DocumentSymbol_8cpp_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_8h.html create mode 100644 EvalClient_8h_source.html create mode 100644 EvalProvider_8h.html create mode 100644 EvalProvider_8h_source.html create mode 100644 Exception_8h.html create mode 100644 Exception_8h_source.html create mode 100644 Expr_8h.html create mode 100644 Expr_8h_source.html create mode 100644 FindReferences_8cpp.html create mode 100644 FindReferences_8cpp_source.html create mode 100644 Flake_8cpp.html create mode 100644 Flake_8cpp_source.html create mode 100644 Flake_8h.html create mode 100644 Flake_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 Format_8cpp.html create mode 100644 Format_8cpp_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 If-example.html create mode 100644 InitEval_8h.html create mode 100644 InitEval_8h_source.html create mode 100644 InlayHints_8cpp.html create mode 100644 InlayHints_8cpp_source.html create mode 100644 JSONDiagnostic_8cpp.html create mode 100644 JSONDiagnostic_8cpp_source.html create mode 100644 JSONDiagnostic_8h.html create mode 100644 JSONDiagnostic_8h_source.html create mode 100644 JSON_8cpp.html create mode 100644 JSON_8cpp_source.html create mode 100644 JSON_8h.html create mode 100644 JSON_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 Launch_8cpp.html create mode 100644 Launch_8cpp_source.html create mode 100644 Launch_8h.html create mode 100644 Launch_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_8cpp.html create mode 100644 NixTU_8cpp_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 Options_8cpp.html create mode 100644 Options_8cpp_source.html create mode 100644 Options_8h.html create mode 100644 Options_8h_source.html create mode 100644 OwnedRegion_8h.html create mode 100644 OwnedRegion_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 Rename_8cpp.html create mode 100644 Rename_8cpp_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 SemanticTokens_8cpp.html create mode 100644 SemanticTokens_8cpp_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 StreamProc_8cpp.html create mode 100644 StreamProc_8cpp_source.html create mode 100644 StreamProc_8h.html create mode 100644 StreamProc_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 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 Value_8cpp.html create mode 100644 Value_8cpp_source.html create mode 100644 Value_8h.html create mode 100644 Value_8h_source.html create mode 100644 VariableLookup_8cpp.html create mode 100644 VariableLookup_8cpp_source.html create mode 100644 VariableLookup_8h.html create mode 100644 VariableLookup_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 classdiagnostic_1_1Diagnostic-members.html create mode 100644 classdiagnostic_1_1Diagnostic.html create mode 100644 classdiagnostic_1_1Diagnostic__coll__graph.map create mode 100644 classdiagnostic_1_1Diagnostic__coll__graph.md5 create mode 100644 classdiagnostic_1_1Diagnostic__coll__graph.svg create mode 100644 classdiagnostic_1_1Diagnostic__inherit__graph.map create mode 100644 classdiagnostic_1_1Diagnostic__inherit__graph.md5 create mode 100644 classdiagnostic_1_1Diagnostic__inherit__graph.svg 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 classnixd_1_1AttrSetClient-members.html create mode 100644 classnixd_1_1AttrSetClient.html create mode 100644 classnixd_1_1AttrSetClientProc-members.html create mode 100644 classnixd_1_1AttrSetClientProc.html create mode 100644 classnixd_1_1AttrSetClient__coll__graph.map create mode 100644 classnixd_1_1AttrSetClient__coll__graph.md5 create mode 100644 classnixd_1_1AttrSetClient__coll__graph.svg create mode 100644 classnixd_1_1AttrSetClient__inherit__graph.map create mode 100644 classnixd_1_1AttrSetClient__inherit__graph.md5 create mode 100644 classnixd_1_1AttrSetClient__inherit__graph.svg create mode 100644 classnixd_1_1AttrSetProvider-members.html create mode 100644 classnixd_1_1AttrSetProvider.html create mode 100644 classnixd_1_1AttrSetProvider__coll__graph.map create mode 100644 classnixd_1_1AttrSetProvider__coll__graph.md5 create mode 100644 classnixd_1_1AttrSetProvider__coll__graph.svg create mode 100644 classnixd_1_1AttrSetProvider__inherit__graph.map create mode 100644 classnixd_1_1AttrSetProvider__inherit__graph.md5 create mode 100644 classnixd_1_1AttrSetProvider__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_1JSONParseException-members.html create mode 100644 classnixd_1_1JSONParseException.html create mode 100644 classnixd_1_1JSONParseException__coll__graph.map create mode 100644 classnixd_1_1JSONParseException__coll__graph.md5 create mode 100644 classnixd_1_1JSONParseException__coll__graph.svg create mode 100644 classnixd_1_1JSONParseException__inherit__graph.map create mode 100644 classnixd_1_1JSONParseException__inherit__graph.md5 create mode 100644 classnixd_1_1JSONParseException__inherit__graph.svg create mode 100644 classnixd_1_1JSONSchemaException-members.html create mode 100644 classnixd_1_1JSONSchemaException.html create mode 100644 classnixd_1_1JSONSchemaException__coll__graph.map create mode 100644 classnixd_1_1JSONSchemaException__coll__graph.md5 create mode 100644 classnixd_1_1JSONSchemaException__coll__graph.svg create mode 100644 classnixd_1_1JSONSchemaException__inherit__graph.map create mode 100644 classnixd_1_1JSONSchemaException__inherit__graph.md5 create mode 100644 classnixd_1_1JSONSchemaException__inherit__graph.svg create mode 100644 classnixd_1_1LLVMErrorException-members.html create mode 100644 classnixd_1_1LLVMErrorException.html create mode 100644 classnixd_1_1LLVMErrorException__coll__graph.map create mode 100644 classnixd_1_1LLVMErrorException__coll__graph.md5 create mode 100644 classnixd_1_1LLVMErrorException__coll__graph.svg create mode 100644 classnixd_1_1LLVMErrorException__inherit__graph.map create mode 100644 classnixd_1_1LLVMErrorException__inherit__graph.md5 create mode 100644 classnixd_1_1LLVMErrorException__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_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_1Definition-members.html create mode 100644 classnixf_1_1Definition.html 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_1Dot-members.html create mode 100644 classnixf_1_1Dot.html create mode 100644 classnixf_1_1Dot__coll__graph.map create mode 100644 classnixf_1_1Dot__coll__graph.md5 create mode 100644 classnixf_1_1Dot__coll__graph.svg create mode 100644 classnixf_1_1Dot__inherit__graph.map create mode 100644 classnixf_1_1Dot__inherit__graph.md5 create mode 100644 classnixf_1_1Dot__inherit__graph.svg create mode 100644 classnixf_1_1EnvNode-members.html create mode 100644 classnixf_1_1EnvNode.html 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_1ExprSPath-members.html create mode 100644 classnixf_1_1ExprSPath.html create mode 100644 classnixf_1_1ExprSPath__coll__graph.map create mode 100644 classnixf_1_1ExprSPath__coll__graph.md5 create mode 100644 classnixf_1_1ExprSPath__coll__graph.svg create mode 100644 classnixf_1_1ExprSPath__inherit__graph.map create mode 100644 classnixf_1_1ExprSPath__inherit__graph.md5 create mode 100644 classnixf_1_1ExprSPath__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_1ParentMapAnalysis-members.html create mode 100644 classnixf_1_1ParentMapAnalysis.html 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 classnixf_1_1VariableLookupAnalysis-members.html create mode 100644 classnixf_1_1VariableLookupAnalysis.html create mode 100644 clipboard.js create mode 100644 closed.png create mode 100644 configuration_8md.html create mode 100644 cookie.js create mode 100644 dev_8md.html create mode 100644 diagnostic_8py.html create mode 100644 diagnostic_8py_source.html create mode 100644 dir_000001_000010.html create mode 100644 dir_000002_000004.html create mode 100644 dir_000003_000012.html create mode 100644 dir_000003_000018.html create mode 100644 dir_000004_000008.html create mode 100644 dir_000004_000016.html create mode 100644 dir_000004_000018.html create mode 100644 dir_000004_000027.html create mode 100644 dir_000004_000033.html create mode 100644 dir_000005_000012.html create mode 100644 dir_000005_000016.html create mode 100644 dir_000005_000018.html create mode 100644 dir_000008_000017.html create mode 100644 dir_000008_000018.html create mode 100644 dir_000008_000027.html create mode 100644 dir_000008_000033.html create mode 100644 dir_000009_000012.html create mode 100644 dir_000009_000017.html create mode 100644 dir_000009_000018.html create mode 100644 dir_000012_000016.html create mode 100644 dir_000012_000017.html create mode 100644 dir_000012_000018.html create mode 100644 dir_000014_000011.html create mode 100644 dir_000015_000012.html create mode 100644 dir_000015_000016.html create mode 100644 dir_000015_000017.html create mode 100644 dir_000015_000018.html create mode 100644 dir_000021_000016.html create mode 100644 dir_000021_000017.html create mode 100644 dir_000021_000018.html create mode 100644 dir_000026_000010.html create mode 100644 dir_000027_000018.html create mode 100644 dir_000028_000012.html create mode 100644 dir_000029_000000.html create mode 100644 dir_000030_000010.html create mode 100644 dir_000031_000010.html create mode 100644 dir_000032_000013.html create mode 100644 dir_000033_000018.html create mode 100644 dir_000034_000012.html create mode 100644 dir_000035_000010.html create mode 100644 dir_000036_000012.html create mode 100644 dir_000036_000017.html create mode 100644 dir_000036_000018.html create mode 100644 dir_0842f02ee6fc0ecc9c7973a56a3aa437.html create mode 100644 dir_0842f02ee6fc0ecc9c7973a56a3aa437_dep.map create mode 100644 dir_0842f02ee6fc0ecc9c7973a56a3aa437_dep.md5 create mode 100644 dir_0842f02ee6fc0ecc9c7973a56a3aa437_dep.svg create mode 100644 dir_0a80291a1162a19961e2bbfd790094c7.html create mode 100644 dir_0a80291a1162a19961e2bbfd790094c7_dep.map create mode 100644 dir_0a80291a1162a19961e2bbfd790094c7_dep.md5 create mode 100644 dir_0a80291a1162a19961e2bbfd790094c7_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_1b739488bd9a560c1a1a4ec4ac74c381.html create mode 100644 dir_1b739488bd9a560c1a1a4ec4ac74c381_dep.map create mode 100644 dir_1b739488bd9a560c1a1a4ec4ac74c381_dep.md5 create mode 100644 dir_1b739488bd9a560c1a1a4ec4ac74c381_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_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_272f3262a55b8c6cb4d459b3d2979355.html create mode 100644 dir_272f3262a55b8c6cb4d459b3d2979355_dep.map create mode 100644 dir_272f3262a55b8c6cb4d459b3d2979355_dep.md5 create mode 100644 dir_272f3262a55b8c6cb4d459b3d2979355_dep.svg create mode 100644 dir_2dfd61e782002e6a63843e36bf78a91c.html create mode 100644 dir_2dfd61e782002e6a63843e36bf78a91c_dep.map create mode 100644 dir_2dfd61e782002e6a63843e36bf78a91c_dep.md5 create mode 100644 dir_2dfd61e782002e6a63843e36bf78a91c_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_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_338dd3c7b4c4659d51339d29f870875c.html create mode 100644 dir_338dd3c7b4c4659d51339d29f870875c_dep.map create mode 100644 dir_338dd3c7b4c4659d51339d29f870875c_dep.md5 create mode 100644 dir_338dd3c7b4c4659d51339d29f870875c_dep.svg create mode 100644 dir_398406baf6d7c3e11cd5f7be25d09d6d.html create mode 100644 dir_398406baf6d7c3e11cd5f7be25d09d6d_dep.map create mode 100644 dir_398406baf6d7c3e11cd5f7be25d09d6d_dep.md5 create mode 100644 dir_398406baf6d7c3e11cd5f7be25d09d6d_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_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_5d9174fd82c34d170442a81ddb0d3867.html create mode 100644 dir_5d9174fd82c34d170442a81ddb0d3867_dep.map create mode 100644 dir_5d9174fd82c34d170442a81ddb0d3867_dep.md5 create mode 100644 dir_5d9174fd82c34d170442a81ddb0d3867_dep.svg create mode 100644 dir_5def0a8c33681ccffd5a1a329ca9c6c2.html create mode 100644 dir_5def0a8c33681ccffd5a1a329ca9c6c2_dep.map create mode 100644 dir_5def0a8c33681ccffd5a1a329ca9c6c2_dep.md5 create mode 100644 dir_5def0a8c33681ccffd5a1a329ca9c6c2_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_6072663c54edb131dd9eabf55cf77072.html create mode 100644 dir_6072663c54edb131dd9eabf55cf77072_dep.map create mode 100644 dir_6072663c54edb131dd9eabf55cf77072_dep.md5 create mode 100644 dir_6072663c54edb131dd9eabf55cf77072_dep.svg create mode 100644 dir_7690759852530585c31e8e562ca9f92d.html create mode 100644 dir_7690759852530585c31e8e562ca9f92d_dep.map create mode 100644 dir_7690759852530585c31e8e562ca9f92d_dep.md5 create mode 100644 dir_7690759852530585c31e8e562ca9f92d_dep.svg create mode 100644 dir_78474edbfdb26b7810ef0ed54a6ffeb0.html create mode 100644 dir_78474edbfdb26b7810ef0ed54a6ffeb0_dep.map create mode 100644 dir_78474edbfdb26b7810ef0ed54a6ffeb0_dep.md5 create mode 100644 dir_78474edbfdb26b7810ef0ed54a6ffeb0_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_8710806578cad174ffcb5e19312c912a.html create mode 100644 dir_8710806578cad174ffcb5e19312c912a_dep.map create mode 100644 dir_8710806578cad174ffcb5e19312c912a_dep.md5 create mode 100644 dir_8710806578cad174ffcb5e19312c912a_dep.svg create mode 100644 dir_978717066d8678c437a210f61244a087.html create mode 100644 dir_978717066d8678c437a210f61244a087_dep.map create mode 100644 dir_978717066d8678c437a210f61244a087_dep.md5 create mode 100644 dir_978717066d8678c437a210f61244a087_dep.svg create mode 100644 dir_9e27054b909c25724b28a0b7e56ac908.html create mode 100644 dir_9e27054b909c25724b28a0b7e56ac908_dep.map create mode 100644 dir_9e27054b909c25724b28a0b7e56ac908_dep.md5 create mode 100644 dir_9e27054b909c25724b28a0b7e56ac908_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_ace1bc4bdf9378a7354e2dacfa3269ed.html create mode 100644 dir_ace1bc4bdf9378a7354e2dacfa3269ed_dep.map create mode 100644 dir_ace1bc4bdf9378a7354e2dacfa3269ed_dep.md5 create mode 100644 dir_ace1bc4bdf9378a7354e2dacfa3269ed_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_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_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_c7c53a0769b4ad4e9ba220fbe05bc880.html create mode 100644 dir_c7c53a0769b4ad4e9ba220fbe05bc880_dep.map create mode 100644 dir_c7c53a0769b4ad4e9ba220fbe05bc880_dep.md5 create mode 100644 dir_c7c53a0769b4ad4e9ba220fbe05bc880_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_fae1b722d580b1d4896c7d9500c560d0.html create mode 100644 dir_fae1b722d580b1d4896c7d9500c560d0_dep.map create mode 100644 dir_fae1b722d580b1d4896c7d9500c560d0_dep.md5 create mode 100644 dir_fae1b722d580b1d4896c7d9500c560d0_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 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 examples.html create mode 100644 features_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_j.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_q.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 globals_type.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_2nixd_2Protocol_2Protocol_8h.html create mode 100644 include_2nixd_2Protocol_2Protocol_8h_source.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_141.map create mode 100644 inherit_graph_141.md5 create mode 100644 inherit_graph_141.svg create mode 100644 inherit_graph_142.map create mode 100644 inherit_graph_142.md5 create mode 100644 inherit_graph_142.svg create mode 100644 inherit_graph_143.map create mode 100644 inherit_graph_143.md5 create mode 100644 inherit_graph_143.svg create mode 100644 inherit_graph_144.map create mode 100644 inherit_graph_144.md5 create mode 100644 inherit_graph_144.svg create mode 100644 inherit_graph_145.map create mode 100644 inherit_graph_145.md5 create mode 100644 inherit_graph_145.svg create mode 100644 inherit_graph_146.map create mode 100644 inherit_graph_146.md5 create mode 100644 inherit_graph_146.svg create mode 100644 inherit_graph_147.map create mode 100644 inherit_graph_147.md5 create mode 100644 inherit_graph_147.svg create mode 100644 inherit_graph_148.map create mode 100644 inherit_graph_148.md5 create mode 100644 inherit_graph_148.svg create mode 100644 inherit_graph_149.map create mode 100644 inherit_graph_149.md5 create mode 100644 inherit_graph_149.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_150.map create mode 100644 inherit_graph_150.md5 create mode 100644 inherit_graph_150.svg create mode 100644 inherit_graph_151.map create mode 100644 inherit_graph_151.md5 create mode 100644 inherit_graph_151.svg create mode 100644 inherit_graph_152.map create mode 100644 inherit_graph_152.md5 create mode 100644 inherit_graph_152.svg create mode 100644 inherit_graph_153.map create mode 100644 inherit_graph_153.md5 create mode 100644 inherit_graph_153.svg create mode 100644 inherit_graph_154.map create mode 100644 inherit_graph_154.md5 create mode 100644 inherit_graph_154.svg create mode 100644 inherit_graph_155.map create mode 100644 inherit_graph_155.md5 create mode 100644 inherit_graph_155.svg create mode 100644 inherit_graph_156.map create mode 100644 inherit_graph_156.md5 create mode 100644 inherit_graph_156.svg create mode 100644 inherit_graph_157.map create mode 100644 inherit_graph_157.md5 create mode 100644 inherit_graph_157.svg create mode 100644 inherit_graph_158.map create mode 100644 inherit_graph_158.md5 create mode 100644 inherit_graph_158.svg create mode 100644 inherit_graph_159.map create mode 100644 inherit_graph_159.md5 create mode 100644 inherit_graph_159.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_160.map create mode 100644 inherit_graph_160.md5 create mode 100644 inherit_graph_160.svg create mode 100644 inherit_graph_161.map create mode 100644 inherit_graph_161.md5 create mode 100644 inherit_graph_161.svg create mode 100644 inherit_graph_162.map create mode 100644 inherit_graph_162.md5 create mode 100644 inherit_graph_162.svg create mode 100644 inherit_graph_163.map create mode 100644 inherit_graph_163.md5 create mode 100644 inherit_graph_163.svg create mode 100644 inherit_graph_164.map create mode 100644 inherit_graph_164.md5 create mode 100644 inherit_graph_164.svg create mode 100644 inherit_graph_165.map create mode 100644 inherit_graph_165.md5 create mode 100644 inherit_graph_165.svg create mode 100644 inherit_graph_166.map create mode 100644 inherit_graph_166.md5 create mode 100644 inherit_graph_166.svg create mode 100644 inherit_graph_167.map create mode 100644 inherit_graph_167.md5 create mode 100644 inherit_graph_167.svg create mode 100644 inherit_graph_168.map create mode 100644 inherit_graph_168.md5 create mode 100644 inherit_graph_168.svg create mode 100644 inherit_graph_169.map create mode 100644 inherit_graph_169.md5 create mode 100644 inherit_graph_169.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_170.map create mode 100644 inherit_graph_170.md5 create mode 100644 inherit_graph_170.svg create mode 100644 inherit_graph_171.map create mode 100644 inherit_graph_171.md5 create mode 100644 inherit_graph_171.svg create mode 100644 inherit_graph_172.map create mode 100644 inherit_graph_172.md5 create mode 100644 inherit_graph_172.svg create mode 100644 inherit_graph_173.map create mode 100644 inherit_graph_173.md5 create mode 100644 inherit_graph_173.svg create mode 100644 inherit_graph_174.map create mode 100644 inherit_graph_174.md5 create mode 100644 inherit_graph_174.svg create mode 100644 inherit_graph_175.map create mode 100644 inherit_graph_175.md5 create mode 100644 inherit_graph_175.svg create mode 100644 inherit_graph_176.map create mode 100644 inherit_graph_176.md5 create mode 100644 inherit_graph_176.svg create mode 100644 inherit_graph_177.map create mode 100644 inherit_graph_177.md5 create mode 100644 inherit_graph_177.svg create mode 100644 inherit_graph_178.map create mode 100644 inherit_graph_178.md5 create mode 100644 inherit_graph_178.svg create mode 100644 inherit_graph_179.map create mode 100644 inherit_graph_179.md5 create mode 100644 inherit_graph_179.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_180.map create mode 100644 inherit_graph_180.md5 create mode 100644 inherit_graph_180.svg create mode 100644 inherit_graph_181.map create mode 100644 inherit_graph_181.md5 create mode 100644 inherit_graph_181.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 lib_2Protocol_2Protocol_8cpp.html create mode 100644 lib_2Protocol_2Protocol_8cpp_source.html create mode 100644 libnixf_2README_8md.html create mode 100644 libnixf_2include_2nixf_2Sema_2ParentMap_8h.html create mode 100644 libnixf_2include_2nixf_2Sema_2ParentMap_8h_source.html create mode 100644 libnixf_2src_2Sema_2ParentMap_8cpp.html create mode 100644 libnixf_2src_2Sema_2ParentMap_8cpp_source.html create mode 100644 libnixt_2README_8md.html create mode 100644 libnixt_2include_2nixt_2ParentMap_8h.html create mode 100644 libnixt_2include_2nixt_2ParentMap_8h_source.html create mode 100644 libnixt_2lib_2ParentMap_8cpp.html create mode 100644 libnixt_2lib_2ParentMap_8cpp_source.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_libnixf_2README.html create mode 100644 md_libnixt_2README.html create mode 100644 md_nixd_2docs_2configuration.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_2features.html create mode 100644 md_nixd_2lspserver_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 namespaceDiagnostic.html create mode 100644 namespaceDiagnosticEnum.html create mode 100644 namespacediagnostic.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_a.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_h.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_h.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 namespacenixd.html create mode 100644 namespacenixd_1_1idioms.html create mode 100644 namespacenixd_1_1rpc.html create mode 100644 namespacenixd_1_1rpcMethod.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 namespacesupport.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 nixd-attrset-eval_8cpp.html create mode 100644 nixd-attrset-eval_8cpp_source.html create mode 100644 nixd_2lspserver_2README_8md.html create mode 100644 nixd_8cpp.html create mode 100644 nixd_8cpp_source.html create mode 100644 nixf-tidy_8cpp.html create mode 100644 nixf-tidy_8cpp_source.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_14.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_12.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_16.js create mode 100644 search/functions_17.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/namespaces_3.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_10.js create mode 100644 search/typedefs_11.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/typedefs_f.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_15.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__coll__graph.map create mode 100644 structlspserver_1_1ExecuteCommandParams__coll__graph.md5 create mode 100644 structlspserver_1_1ExecuteCommandParams__coll__graph.svg 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_1ProgressParams__coll__graph.map create mode 100644 structlspserver_1_1ProgressParams__coll__graph.md5 create mode 100644 structlspserver_1_1ProgressParams__coll__graph.svg 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_1WorkDoneProgressCreateParams__coll__graph.map create mode 100644 structlspserver_1_1WorkDoneProgressCreateParams__coll__graph.md5 create mode 100644 structlspserver_1_1WorkDoneProgressCreateParams__coll__graph.svg 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 structnixd_1_1AttrPathCompleteParams-members.html create mode 100644 structnixd_1_1AttrPathCompleteParams.html create mode 100644 structnixd_1_1AttrPathInfoResponse-members.html create mode 100644 structnixd_1_1AttrPathInfoResponse.html create mode 100644 structnixd_1_1AttrPathInfoResponse__coll__graph.map create mode 100644 structnixd_1_1AttrPathInfoResponse__coll__graph.md5 create mode 100644 structnixd_1_1AttrPathInfoResponse__coll__graph.svg create mode 100644 structnixd_1_1CannotFindVarException-members.html create mode 100644 structnixd_1_1CannotFindVarException.html create mode 100644 structnixd_1_1CannotFindVarException__coll__graph.map create mode 100644 structnixd_1_1CannotFindVarException__coll__graph.md5 create mode 100644 structnixd_1_1CannotFindVarException__coll__graph.svg create mode 100644 structnixd_1_1CannotFindVarException__inherit__graph.map create mode 100644 structnixd_1_1CannotFindVarException__inherit__graph.md5 create mode 100644 structnixd_1_1CannotFindVarException__inherit__graph.svg create mode 100644 structnixd_1_1Configuration-members.html create mode 100644 structnixd_1_1Configuration.html create mode 100644 structnixd_1_1Configuration_1_1Diagnostic-members.html create mode 100644 structnixd_1_1Configuration_1_1Diagnostic.html create mode 100644 structnixd_1_1Configuration_1_1Formatting-members.html create mode 100644 structnixd_1_1Configuration_1_1Formatting.html create mode 100644 structnixd_1_1Configuration_1_1NixpkgsProvider-members.html create mode 100644 structnixd_1_1Configuration_1_1NixpkgsProvider.html create mode 100644 structnixd_1_1Configuration_1_1OptionProvider-members.html create mode 100644 structnixd_1_1Configuration_1_1OptionProvider.html create mode 100644 structnixd_1_1Configuration__coll__graph.map create mode 100644 structnixd_1_1Configuration__coll__graph.md5 create mode 100644 structnixd_1_1Configuration__coll__graph.svg create mode 100644 structnixd_1_1OptionDescription-members.html create mode 100644 structnixd_1_1OptionDescription.html create mode 100644 structnixd_1_1OptionField-members.html create mode 100644 structnixd_1_1OptionField.html create mode 100644 structnixd_1_1OptionType-members.html create mode 100644 structnixd_1_1OptionType.html create mode 100644 structnixd_1_1PackageDescription-members.html create mode 100644 structnixd_1_1PackageDescription.html create mode 100644 structnixd_1_1StreamProc-members.html create mode 100644 structnixd_1_1StreamProc.html create mode 100644 structnixd_1_1ValueMeta-members.html create mode 100644 structnixd_1_1ValueMeta.html create mode 100644 structnixd_1_1idioms_1_1DynamicNameException-members.html create mode 100644 structnixd_1_1idioms_1_1DynamicNameException.html create mode 100644 structnixd_1_1idioms_1_1DynamicNameException__coll__graph.map create mode 100644 structnixd_1_1idioms_1_1DynamicNameException__coll__graph.md5 create mode 100644 structnixd_1_1idioms_1_1DynamicNameException__coll__graph.svg create mode 100644 structnixd_1_1idioms_1_1DynamicNameException__inherit__graph.map create mode 100644 structnixd_1_1idioms_1_1DynamicNameException__inherit__graph.md5 create mode 100644 structnixd_1_1idioms_1_1DynamicNameException__inherit__graph.svg create mode 100644 structnixd_1_1idioms_1_1IdiomException.html create mode 100644 structnixd_1_1idioms_1_1IdiomException__coll__graph.map create mode 100644 structnixd_1_1idioms_1_1IdiomException__coll__graph.md5 create mode 100644 structnixd_1_1idioms_1_1IdiomException__coll__graph.svg create mode 100644 structnixd_1_1idioms_1_1IdiomException__inherit__graph.map create mode 100644 structnixd_1_1idioms_1_1IdiomException__inherit__graph.md5 create mode 100644 structnixd_1_1idioms_1_1IdiomException__inherit__graph.svg create mode 100644 structnixd_1_1idioms_1_1IdiomSelectorException.html create mode 100644 structnixd_1_1idioms_1_1IdiomSelectorException__coll__graph.map create mode 100644 structnixd_1_1idioms_1_1IdiomSelectorException__coll__graph.md5 create mode 100644 structnixd_1_1idioms_1_1IdiomSelectorException__coll__graph.svg create mode 100644 structnixd_1_1idioms_1_1IdiomSelectorException__inherit__graph.map create mode 100644 structnixd_1_1idioms_1_1IdiomSelectorException__inherit__graph.md5 create mode 100644 structnixd_1_1idioms_1_1IdiomSelectorException__inherit__graph.svg create mode 100644 structnixd_1_1idioms_1_1NoLocationForBuiltinVariable-members.html create mode 100644 structnixd_1_1idioms_1_1NoLocationForBuiltinVariable.html create mode 100644 structnixd_1_1idioms_1_1NoLocationForBuiltinVariable__coll__graph.map create mode 100644 structnixd_1_1idioms_1_1NoLocationForBuiltinVariable__coll__graph.md5 create mode 100644 structnixd_1_1idioms_1_1NoLocationForBuiltinVariable__coll__graph.svg create mode 100644 structnixd_1_1idioms_1_1NoLocationForBuiltinVariable__inherit__graph.map create mode 100644 structnixd_1_1idioms_1_1NoLocationForBuiltinVariable__inherit__graph.md5 create mode 100644 structnixd_1_1idioms_1_1NoLocationForBuiltinVariable__inherit__graph.svg create mode 100644 structnixd_1_1idioms_1_1NoSuchVarException-members.html create mode 100644 structnixd_1_1idioms_1_1NoSuchVarException.html create mode 100644 structnixd_1_1idioms_1_1NoSuchVarException__coll__graph.map create mode 100644 structnixd_1_1idioms_1_1NoSuchVarException__coll__graph.md5 create mode 100644 structnixd_1_1idioms_1_1NoSuchVarException__coll__graph.svg create mode 100644 structnixd_1_1idioms_1_1NoSuchVarException__inherit__graph.map create mode 100644 structnixd_1_1idioms_1_1NoSuchVarException__inherit__graph.md5 create mode 100644 structnixd_1_1idioms_1_1NoSuchVarException__inherit__graph.svg create mode 100644 structnixd_1_1idioms_1_1NotAnIdiomException-members.html create mode 100644 structnixd_1_1idioms_1_1NotAnIdiomException.html create mode 100644 structnixd_1_1idioms_1_1NotAnIdiomException__coll__graph.map create mode 100644 structnixd_1_1idioms_1_1NotAnIdiomException__coll__graph.md5 create mode 100644 structnixd_1_1idioms_1_1NotAnIdiomException__coll__graph.svg create mode 100644 structnixd_1_1idioms_1_1NotAnIdiomException__inherit__graph.map create mode 100644 structnixd_1_1idioms_1_1NotAnIdiomException__inherit__graph.md5 create mode 100644 structnixd_1_1idioms_1_1NotAnIdiomException__inherit__graph.svg create mode 100644 structnixd_1_1idioms_1_1NotVariableSelect-members.html create mode 100644 structnixd_1_1idioms_1_1NotVariableSelect.html create mode 100644 structnixd_1_1idioms_1_1NotVariableSelect__coll__graph.map create mode 100644 structnixd_1_1idioms_1_1NotVariableSelect__coll__graph.md5 create mode 100644 structnixd_1_1idioms_1_1NotVariableSelect__coll__graph.svg create mode 100644 structnixd_1_1idioms_1_1NotVariableSelect__inherit__graph.map create mode 100644 structnixd_1_1idioms_1_1NotVariableSelect__inherit__graph.md5 create mode 100644 structnixd_1_1idioms_1_1NotVariableSelect__inherit__graph.svg create mode 100644 structnixd_1_1idioms_1_1UndefinedVarException-members.html create mode 100644 structnixd_1_1idioms_1_1UndefinedVarException.html create mode 100644 structnixd_1_1idioms_1_1UndefinedVarException__coll__graph.map create mode 100644 structnixd_1_1idioms_1_1UndefinedVarException__coll__graph.md5 create mode 100644 structnixd_1_1idioms_1_1UndefinedVarException__coll__graph.svg create mode 100644 structnixd_1_1idioms_1_1UndefinedVarException__inherit__graph.map create mode 100644 structnixd_1_1idioms_1_1UndefinedVarException__inherit__graph.md5 create mode 100644 structnixd_1_1idioms_1_1UndefinedVarException__inherit__graph.svg create mode 100644 structnixd_1_1idioms_1_1VLAException.html create mode 100644 structnixd_1_1idioms_1_1VLAException__coll__graph.map create mode 100644 structnixd_1_1idioms_1_1VLAException__coll__graph.md5 create mode 100644 structnixd_1_1idioms_1_1VLAException__coll__graph.svg create mode 100644 structnixd_1_1idioms_1_1VLAException__inherit__graph.map create mode 100644 structnixd_1_1idioms_1_1VLAException__inherit__graph.md5 create mode 100644 structnixd_1_1idioms_1_1VLAException__inherit__graph.svg 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 structnixf_1_1VariableLookupAnalysis_1_1LookupResult-members.html create mode 100644 structnixf_1_1VariableLookupAnalysis_1_1LookupResult.html 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_1HookExprAssert-members.html create mode 100644 structnixt_1_1HookExprAssert.html create mode 100644 structnixt_1_1HookExprAssert__coll__graph.map create mode 100644 structnixt_1_1HookExprAssert__coll__graph.md5 create mode 100644 structnixt_1_1HookExprAssert__coll__graph.svg create mode 100644 structnixt_1_1HookExprAssert__inherit__graph.map create mode 100644 structnixt_1_1HookExprAssert__inherit__graph.md5 create mode 100644 structnixt_1_1HookExprAssert__inherit__graph.svg create mode 100644 structnixt_1_1HookExprAttrs-members.html create mode 100644 structnixt_1_1HookExprAttrs.html create mode 100644 structnixt_1_1HookExprAttrs__coll__graph.map create mode 100644 structnixt_1_1HookExprAttrs__coll__graph.md5 create mode 100644 structnixt_1_1HookExprAttrs__coll__graph.svg create mode 100644 structnixt_1_1HookExprAttrs__inherit__graph.map create mode 100644 structnixt_1_1HookExprAttrs__inherit__graph.md5 create mode 100644 structnixt_1_1HookExprAttrs__inherit__graph.svg create mode 100644 structnixt_1_1HookExprCall-members.html create mode 100644 structnixt_1_1HookExprCall.html create mode 100644 structnixt_1_1HookExprCall__coll__graph.map create mode 100644 structnixt_1_1HookExprCall__coll__graph.md5 create mode 100644 structnixt_1_1HookExprCall__coll__graph.svg create mode 100644 structnixt_1_1HookExprCall__inherit__graph.map create mode 100644 structnixt_1_1HookExprCall__inherit__graph.md5 create mode 100644 structnixt_1_1HookExprCall__inherit__graph.svg create mode 100644 structnixt_1_1HookExprConcatStrings-members.html create mode 100644 structnixt_1_1HookExprConcatStrings.html create mode 100644 structnixt_1_1HookExprConcatStrings__coll__graph.map create mode 100644 structnixt_1_1HookExprConcatStrings__coll__graph.md5 create mode 100644 structnixt_1_1HookExprConcatStrings__coll__graph.svg create mode 100644 structnixt_1_1HookExprConcatStrings__inherit__graph.map create mode 100644 structnixt_1_1HookExprConcatStrings__inherit__graph.md5 create mode 100644 structnixt_1_1HookExprConcatStrings__inherit__graph.svg create mode 100644 structnixt_1_1HookExprFloat-members.html create mode 100644 structnixt_1_1HookExprFloat.html create mode 100644 structnixt_1_1HookExprFloat__coll__graph.map create mode 100644 structnixt_1_1HookExprFloat__coll__graph.md5 create mode 100644 structnixt_1_1HookExprFloat__coll__graph.svg create mode 100644 structnixt_1_1HookExprFloat__inherit__graph.map create mode 100644 structnixt_1_1HookExprFloat__inherit__graph.md5 create mode 100644 structnixt_1_1HookExprFloat__inherit__graph.svg create mode 100644 structnixt_1_1HookExprIf-members.html create mode 100644 structnixt_1_1HookExprIf.html create mode 100644 structnixt_1_1HookExprIf__coll__graph.map create mode 100644 structnixt_1_1HookExprIf__coll__graph.md5 create mode 100644 structnixt_1_1HookExprIf__coll__graph.svg create mode 100644 structnixt_1_1HookExprIf__inherit__graph.map create mode 100644 structnixt_1_1HookExprIf__inherit__graph.md5 create mode 100644 structnixt_1_1HookExprIf__inherit__graph.svg create mode 100644 structnixt_1_1HookExprInt-members.html create mode 100644 structnixt_1_1HookExprInt.html create mode 100644 structnixt_1_1HookExprInt__coll__graph.map create mode 100644 structnixt_1_1HookExprInt__coll__graph.md5 create mode 100644 structnixt_1_1HookExprInt__coll__graph.svg create mode 100644 structnixt_1_1HookExprInt__inherit__graph.map create mode 100644 structnixt_1_1HookExprInt__inherit__graph.md5 create mode 100644 structnixt_1_1HookExprInt__inherit__graph.svg create mode 100644 structnixt_1_1HookExprLambda-members.html create mode 100644 structnixt_1_1HookExprLambda.html create mode 100644 structnixt_1_1HookExprLambda__coll__graph.map create mode 100644 structnixt_1_1HookExprLambda__coll__graph.md5 create mode 100644 structnixt_1_1HookExprLambda__coll__graph.svg create mode 100644 structnixt_1_1HookExprLambda__inherit__graph.map create mode 100644 structnixt_1_1HookExprLambda__inherit__graph.md5 create mode 100644 structnixt_1_1HookExprLambda__inherit__graph.svg create mode 100644 structnixt_1_1HookExprLet-members.html create mode 100644 structnixt_1_1HookExprLet.html create mode 100644 structnixt_1_1HookExprLet__coll__graph.map create mode 100644 structnixt_1_1HookExprLet__coll__graph.md5 create mode 100644 structnixt_1_1HookExprLet__coll__graph.svg create mode 100644 structnixt_1_1HookExprLet__inherit__graph.map create mode 100644 structnixt_1_1HookExprLet__inherit__graph.md5 create mode 100644 structnixt_1_1HookExprLet__inherit__graph.svg create mode 100644 structnixt_1_1HookExprList-members.html create mode 100644 structnixt_1_1HookExprList.html create mode 100644 structnixt_1_1HookExprList__coll__graph.map create mode 100644 structnixt_1_1HookExprList__coll__graph.md5 create mode 100644 structnixt_1_1HookExprList__coll__graph.svg create mode 100644 structnixt_1_1HookExprList__inherit__graph.map create mode 100644 structnixt_1_1HookExprList__inherit__graph.md5 create mode 100644 structnixt_1_1HookExprList__inherit__graph.svg create mode 100644 structnixt_1_1HookExprOpAnd-members.html create mode 100644 structnixt_1_1HookExprOpAnd.html create mode 100644 structnixt_1_1HookExprOpAnd__coll__graph.map create mode 100644 structnixt_1_1HookExprOpAnd__coll__graph.md5 create mode 100644 structnixt_1_1HookExprOpAnd__coll__graph.svg create mode 100644 structnixt_1_1HookExprOpAnd__inherit__graph.map create mode 100644 structnixt_1_1HookExprOpAnd__inherit__graph.md5 create mode 100644 structnixt_1_1HookExprOpAnd__inherit__graph.svg create mode 100644 structnixt_1_1HookExprOpConcatLists-members.html create mode 100644 structnixt_1_1HookExprOpConcatLists.html create mode 100644 structnixt_1_1HookExprOpConcatLists__coll__graph.map create mode 100644 structnixt_1_1HookExprOpConcatLists__coll__graph.md5 create mode 100644 structnixt_1_1HookExprOpConcatLists__coll__graph.svg create mode 100644 structnixt_1_1HookExprOpConcatLists__inherit__graph.map create mode 100644 structnixt_1_1HookExprOpConcatLists__inherit__graph.md5 create mode 100644 structnixt_1_1HookExprOpConcatLists__inherit__graph.svg create mode 100644 structnixt_1_1HookExprOpEq-members.html create mode 100644 structnixt_1_1HookExprOpEq.html create mode 100644 structnixt_1_1HookExprOpEq__coll__graph.map create mode 100644 structnixt_1_1HookExprOpEq__coll__graph.md5 create mode 100644 structnixt_1_1HookExprOpEq__coll__graph.svg create mode 100644 structnixt_1_1HookExprOpEq__inherit__graph.map create mode 100644 structnixt_1_1HookExprOpEq__inherit__graph.md5 create mode 100644 structnixt_1_1HookExprOpEq__inherit__graph.svg create mode 100644 structnixt_1_1HookExprOpHasAttr-members.html create mode 100644 structnixt_1_1HookExprOpHasAttr.html create mode 100644 structnixt_1_1HookExprOpHasAttr__coll__graph.map create mode 100644 structnixt_1_1HookExprOpHasAttr__coll__graph.md5 create mode 100644 structnixt_1_1HookExprOpHasAttr__coll__graph.svg create mode 100644 structnixt_1_1HookExprOpHasAttr__inherit__graph.map create mode 100644 structnixt_1_1HookExprOpHasAttr__inherit__graph.md5 create mode 100644 structnixt_1_1HookExprOpHasAttr__inherit__graph.svg create mode 100644 structnixt_1_1HookExprOpImpl-members.html create mode 100644 structnixt_1_1HookExprOpImpl.html create mode 100644 structnixt_1_1HookExprOpImpl__coll__graph.map create mode 100644 structnixt_1_1HookExprOpImpl__coll__graph.md5 create mode 100644 structnixt_1_1HookExprOpImpl__coll__graph.svg create mode 100644 structnixt_1_1HookExprOpImpl__inherit__graph.map create mode 100644 structnixt_1_1HookExprOpImpl__inherit__graph.md5 create mode 100644 structnixt_1_1HookExprOpImpl__inherit__graph.svg create mode 100644 structnixt_1_1HookExprOpNEq-members.html create mode 100644 structnixt_1_1HookExprOpNEq.html create mode 100644 structnixt_1_1HookExprOpNEq__coll__graph.map create mode 100644 structnixt_1_1HookExprOpNEq__coll__graph.md5 create mode 100644 structnixt_1_1HookExprOpNEq__coll__graph.svg create mode 100644 structnixt_1_1HookExprOpNEq__inherit__graph.map create mode 100644 structnixt_1_1HookExprOpNEq__inherit__graph.md5 create mode 100644 structnixt_1_1HookExprOpNEq__inherit__graph.svg create mode 100644 structnixt_1_1HookExprOpNot-members.html create mode 100644 structnixt_1_1HookExprOpNot.html create mode 100644 structnixt_1_1HookExprOpNot__coll__graph.map create mode 100644 structnixt_1_1HookExprOpNot__coll__graph.md5 create mode 100644 structnixt_1_1HookExprOpNot__coll__graph.svg create mode 100644 structnixt_1_1HookExprOpNot__inherit__graph.map create mode 100644 structnixt_1_1HookExprOpNot__inherit__graph.md5 create mode 100644 structnixt_1_1HookExprOpNot__inherit__graph.svg create mode 100644 structnixt_1_1HookExprOpOr-members.html create mode 100644 structnixt_1_1HookExprOpOr.html create mode 100644 structnixt_1_1HookExprOpOr__coll__graph.map create mode 100644 structnixt_1_1HookExprOpOr__coll__graph.md5 create mode 100644 structnixt_1_1HookExprOpOr__coll__graph.svg create mode 100644 structnixt_1_1HookExprOpOr__inherit__graph.map create mode 100644 structnixt_1_1HookExprOpOr__inherit__graph.md5 create mode 100644 structnixt_1_1HookExprOpOr__inherit__graph.svg create mode 100644 structnixt_1_1HookExprOpUpdate-members.html create mode 100644 structnixt_1_1HookExprOpUpdate.html create mode 100644 structnixt_1_1HookExprOpUpdate__coll__graph.map create mode 100644 structnixt_1_1HookExprOpUpdate__coll__graph.md5 create mode 100644 structnixt_1_1HookExprOpUpdate__coll__graph.svg create mode 100644 structnixt_1_1HookExprOpUpdate__inherit__graph.map create mode 100644 structnixt_1_1HookExprOpUpdate__inherit__graph.md5 create mode 100644 structnixt_1_1HookExprOpUpdate__inherit__graph.svg create mode 100644 structnixt_1_1HookExprPath-members.html create mode 100644 structnixt_1_1HookExprPath.html create mode 100644 structnixt_1_1HookExprPath__coll__graph.map create mode 100644 structnixt_1_1HookExprPath__coll__graph.md5 create mode 100644 structnixt_1_1HookExprPath__coll__graph.svg create mode 100644 structnixt_1_1HookExprPath__inherit__graph.map create mode 100644 structnixt_1_1HookExprPath__inherit__graph.md5 create mode 100644 structnixt_1_1HookExprPath__inherit__graph.svg create mode 100644 structnixt_1_1HookExprPos-members.html create mode 100644 structnixt_1_1HookExprPos.html create mode 100644 structnixt_1_1HookExprPos__coll__graph.map create mode 100644 structnixt_1_1HookExprPos__coll__graph.md5 create mode 100644 structnixt_1_1HookExprPos__coll__graph.svg create mode 100644 structnixt_1_1HookExprPos__inherit__graph.map create mode 100644 structnixt_1_1HookExprPos__inherit__graph.md5 create mode 100644 structnixt_1_1HookExprPos__inherit__graph.svg create mode 100644 structnixt_1_1HookExprSelect-members.html create mode 100644 structnixt_1_1HookExprSelect.html create mode 100644 structnixt_1_1HookExprSelect__coll__graph.map create mode 100644 structnixt_1_1HookExprSelect__coll__graph.md5 create mode 100644 structnixt_1_1HookExprSelect__coll__graph.svg create mode 100644 structnixt_1_1HookExprSelect__inherit__graph.map create mode 100644 structnixt_1_1HookExprSelect__inherit__graph.md5 create mode 100644 structnixt_1_1HookExprSelect__inherit__graph.svg create mode 100644 structnixt_1_1HookExprString-members.html create mode 100644 structnixt_1_1HookExprString.html create mode 100644 structnixt_1_1HookExprString__coll__graph.map create mode 100644 structnixt_1_1HookExprString__coll__graph.md5 create mode 100644 structnixt_1_1HookExprString__coll__graph.svg create mode 100644 structnixt_1_1HookExprString__inherit__graph.map create mode 100644 structnixt_1_1HookExprString__inherit__graph.md5 create mode 100644 structnixt_1_1HookExprString__inherit__graph.svg create mode 100644 structnixt_1_1HookExprVar-members.html create mode 100644 structnixt_1_1HookExprVar.html create mode 100644 structnixt_1_1HookExprVar__coll__graph.map create mode 100644 structnixt_1_1HookExprVar__coll__graph.md5 create mode 100644 structnixt_1_1HookExprVar__coll__graph.svg create mode 100644 structnixt_1_1HookExprVar__inherit__graph.map create mode 100644 structnixt_1_1HookExprVar__inherit__graph.md5 create mode 100644 structnixt_1_1HookExprVar__inherit__graph.svg create mode 100644 structnixt_1_1HookExprWith-members.html create mode 100644 structnixt_1_1HookExprWith.html create mode 100644 structnixt_1_1HookExprWith__coll__graph.map create mode 100644 structnixt_1_1HookExprWith__coll__graph.md5 create mode 100644 structnixt_1_1HookExprWith__coll__graph.svg create mode 100644 structnixt_1_1HookExprWith__inherit__graph.map create mode 100644 structnixt_1_1HookExprWith__inherit__graph.md5 create mode 100644 structnixt_1_1HookExprWith__inherit__graph.svg 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_1EvalCacheF-members.html create mode 100644 structnixt_1_1detail_1_1EvalCacheF.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 support_8py.html create mode 100644 support_8py_source.html 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 diff --git a/.nojekyll b/.nojekyll new file mode 100644 index 000000000..e69de29bb diff --git a/AST_8cpp.html b/AST_8cpp.html new file mode 100644 index 000000000..8850d4cd6 --- /dev/null +++ b/AST_8cpp.html @@ -0,0 +1,92 @@ + + + + + + + +nixd: AST.cpp File Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
AST.cpp File Reference
+
+
+
#include "AST.h"
+#include "nixd/Protocol/AttrSet.h"
+#include <unordered_set>
+
+

Go to the source code of this file.

+
+ + + + diff --git a/AST_8cpp_source.html b/AST_8cpp_source.html new file mode 100644 index 000000000..3c89020c6 --- /dev/null +++ b/AST_8cpp_source.html @@ -0,0 +1,478 @@ + + + + + + + +nixd: AST.cpp Source File + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
AST.cpp
+
+
+Go to the documentation of this file.
1#include "AST.h"
+
2
+ +
4
+
5#include <unordered_set>
+
6
+
7using namespace nixf;
+
8
+
9namespace {
+
10
+
11/// \brief The attrpath contains dynamic attrname.
+
12struct AttrPathHasDynamicError : std::exception {
+
13 [[nodiscard]] const char *what() const noexcept override {
+
14 return "the attrpath has dynamic attribute name";
+
15 }
+
16};
+
17
+
18/// \brief Find nested attrpath.
+
19/// e.g. a.b.c.d
+
20/// ^<- a.b.c.d
+
21/// { a = 1; b = { c = d; }; }
+
22/// ^ b.c
+
23///
+
24/// SelectAttrPath := { a.b.c.d = 1; }
+
25/// ^~~~~~~<--------- such "selection"
+
26/// ValueAttrPath := N is a "value", find how it's nested.
+
27void getSelectAttrPath(const nixf::AttrName &N,
+ +
29 std::vector<std::string> &Path) {
+
30 const nixf::Node *Up = PM.query(N);
+
31 assert(Up && "Naked attrname!");
+
32 assert(Up->kind() == Node::NK_AttrPath &&
+
33 "Invoked in non-attrpath name! (Slipped inherit?)");
+
34 const auto &APath = static_cast<const nixf::AttrPath &>(*Up);
+
35 // Iterate on attr names
+
36 Path.reserve(APath.names().size());
+
37 for (const auto &Name : APath.names()) {
+
38 if (!Name->isStatic())
+
39 throw AttrPathHasDynamicError();
+
40 Path.emplace_back(Name->staticName());
+
41 if (Name.get() == &N)
+
42 break;
+
43 }
+
44}
+
45
+
46/// \copydoc getSelectAttrPath
+
47void getValueAttrPath(const nixf::Node &N, const nixf::ParentMapAnalysis &PM,
+
48 std::vector<std::string> &Path) {
+
49 if (PM.isRoot(N))
+
50 return;
+
51
+
52 const nixf::Node *Up = PM.query(N);
+
53 if (!Up)
+
54 return;
+
55
+
56 Up = PM.upExpr(*Up);
+
57
+
58 if (!Up)
+
59 return;
+
60
+
61 // Only attrs can "nest something"
+
62 if (Up->kind() != Node::NK_ExprAttrs)
+
63 return;
+
64
+
65 std::vector<std::string_view> Basic;
+
66 // Recursively search up all nested entries
+
67 if (!PM.isRoot(*Up))
+
68 getValueAttrPath(*Up, PM, Path);
+
69
+
70 // Find out how "N" gets nested.
+
71 const auto &UpAttrs = static_cast<const nixf::ExprAttrs &>(*Up);
+
72 assert(UpAttrs.binds() && "empty binds cannot nest anything!");
+
73 for (const std::shared_ptr<nixf::Node> &Attr : UpAttrs.binds()->bindings()) {
+
74 assert(Attr);
+
75 if (Attr->kind() == Node::NK_Inherit) // Cannot deal with inherits
+
76 continue;
+
77 assert(Attr->kind() == Node::NK_Binding);
+
78 const auto &Binding = static_cast<const nixf::Binding &>(*Attr);
+
79 if (Binding.value().get() == &N) {
+
80 getSelectAttrPath(*Binding.path().names().back(), PM, Path);
+
81 return;
+
82 }
+
83 }
+
84 assert(false && "must have corresbonding value");
+
85 __builtin_unreachable();
+
86}
+
87
+
88void getNestedAttrPath(const nixf::AttrName &N,
+ +
90 std::vector<std::string> &Path) {
+
91 if (const auto *Expr = PM.upExpr(N))
+
92 getValueAttrPath(*Expr, PM, Path);
+
93 getSelectAttrPath(N, PM, Path);
+
94}
+
95
+
96} // namespace
+
97
+
+
98[[nodiscard]] const EnvNode *nixd::upEnv(const nixf::Node &Desc,
+
99 const VariableLookupAnalysis &VLA,
+
100 const ParentMapAnalysis &PM) {
+
101 const nixf::Node *N = &Desc; // @nonnull
+
102 while (!VLA.env(N) && PM.query(*N) && !PM.isRoot(*N))
+
103 N = PM.query(*N);
+
104 assert(N);
+
105 return VLA.env(N);
+
106}
+
+
107
+
+ +
109 const ParentMapAnalysis &PM) {
+
110 // Firstly find the first "env" enclosed with this variable.
+
111 const EnvNode *Env = upEnv(N, VLA, PM);
+
112 if (!Env)
+
113 return false;
+
114
+
115 // Then, search up until there are some `with`.
+
116 for (; Env; Env = Env->parent()) {
+
117 if (!Env->isWith())
+
118 continue;
+
119 // this env is "with" expression.
+
120 const Node *With = Env->syntax();
+
121 assert(With && With->kind() == Node::NK_ExprWith);
+
122 const Node *WithBody = static_cast<const ExprWith &>(*With).with();
+
123 if (!WithBody)
+
124 continue; // skip incomplete with epxression.
+
125
+
126 // Se if it is "ExprVar“. Stupid.
+
127 if (WithBody->kind() != Node::NK_ExprVar)
+
128 continue;
+
129
+
130 // Hardcoded "pkgs", even more stupid.
+
131 if (static_cast<const ExprVar &>(*WithBody).id().name() == idioms::Pkgs)
+
132 return true;
+
133 }
+
134 return false;
+
135}
+
+
136
+
137// Idioms.
+
138namespace {
+
139
+
140using IdiomSetT = std::unordered_set<std::string_view>;
+
141
+
142IdiomSetT IdiomSet{nixd::idioms::Pkgs, nixd::idioms::Lib};
+
143
+
144auto ItLib = IdiomSet.find(nixd::idioms::Lib);
+
145auto ItPkgs = IdiomSet.find(nixd::idioms::Pkgs);
+
146
+
147nixd::Selector getKnownIdiomSelector(IdiomSetT::iterator It) {
+
148 // Unknown name, cannot deal with it.
+
149 if (It == IdiomSet.end())
+ +
151
+
152 return [&]() -> nixd::Selector {
+
153 if (It == ItLib) {
+
154 return {std::string(nixd::idioms::Lib)};
+
155 }
+
156 if (It == ItPkgs) {
+
157 return {};
+
158 }
+
159 assert(false && "Unhandled idiom iterator?");
+
160 __builtin_unreachable();
+
161 return {};
+
162 }();
+
163}
+
164
+
165nixd::Selector varSelector(const nixf::ExprVar &Var) {
+
166 return getKnownIdiomSelector(IdiomSet.find(Var.id().name()));
+
167};
+
168
+
169nixd::Selector withSelector(const nixf::ExprWith &With,
+ +
171 const nixf::ParentMapAnalysis &PM) {
+
172 if (!With.with())
+ +
174 switch (With.with()->kind()) {
+
175 case Node::NK_ExprVar:
+ +
177 static_cast<const nixf::ExprVar &>(*With.with()), VLA, PM);
+
178 case Node::NK_ExprSelect:
+ +
180 static_cast<const nixf::ExprSelect &>(*With.with()), VLA, PM);
+
181 default:
+
182 break;
+
183 }
+ +
185}
+
186
+
187} // namespace
+
188
+
+ +
190 nixd::Selector BaseSelector) {
+
191 if (Select.path())
+ +
193 *static_cast<const nixf::AttrPath *>(Select.path()),
+
194 std::move(BaseSelector));
+
195 return BaseSelector;
+
196}
+
+
197
+ +
+ + +
201 const nixf::ParentMapAnalysis &PM) {
+
202 // Only check if the variable can be recogonized by some idiom.
+
203
+ +
205 auto Result = VLA.query(Var);
+
206 switch (Result.Kind) {
+
207 case ResultKind::Undefined:
+
208 case ResultKind::Defined:
+
209 return varSelector(Var);
+
210 case ResultKind::FromWith: {
+
211 assert(Result.Def && "FromWith variables should contains definition");
+
212 const nixf::Definition &Def = *Result.Def;
+
213 if (!Def.syntax())
+
214 throw NotAnIdiomException();
+
215
+
216 // The syntax
+
217 //
+
218 // with pkgs; with lib; [ ]
+
219 //
+
220 // does provide both "pkgs" + "lib" scopes.
+
221 //
+
222 // However, in current implementation we will only consider nested "with".
+
223 // That is, only "lib" variables will be considered.
+
224 const nixf::Node &Syntax = *Def.syntax();
+
225 const nixf::Node *With = PM.query(Syntax);
+
226 assert(With && "parent of kwWith should be the with expression");
+
227 assert(With->kind() == nixf::Node::NK_ExprWith);
+
228 Selector WithSelector =
+
229 withSelector(static_cast<const nixf::ExprWith &>(*With), VLA, PM);
+
230
+
231 // Append variable name after "with" expression selector.
+
232 // e.g.
+
233 //
+
234 // with pkgs; [ fo ]
+
235 // ^
+
236 // The result will be {pkgs, fo}
+
237 WithSelector.emplace_back(Var.id().name());
+
238
+
239 return WithSelector;
+
240 }
+
241 case ResultKind::NoSuchVar:
+
242 throw NoSuchVarException();
+
243 }
+
244 assert(false && "switch fallthrough!");
+
245 __builtin_unreachable();
+
246 return {};
+
247}
+
+
248
+
+ +
250 Selector BaseSelector) {
+
251 const auto &Names = AP.names();
+
252 for (const auto &Name : Names) {
+
253 if (!Name->isStatic())
+
254 throw DynamicNameException();
+
255 BaseSelector.emplace_back(Name->staticName());
+
256 }
+
257 return BaseSelector;
+
258}
+
+
259
+
+ + +
262 const nixf::ParentMapAnalysis &PM) {
+
263 if (Sel.expr().kind() != Node::NK_ExprVar)
+
264 throw NotVariableSelect();
+
265
+
266 const auto &Var = static_cast<ExprVar &>(Sel.expr());
+
267
+
268 auto BaseSelector = mkVarSelector(Var, VLA, PM);
+
269
+
270 return mkSelector(Sel, std::move(BaseSelector));
+
271}
+
+
272
+
273std::pair<std::vector<std::string>, std::string>
+
+ +
275 if (N.kind() != Node::NK_Identifier)
+
276 return {};
+
277
+
278 // FIXME: impl scoped packages
+
279 std::string Prefix = static_cast<const Identifier &>(N).name();
+
280 return {{}, Prefix};
+
281}
+
+
282
+
+ +
284 const nixf::ParentMapAnalysis &PM,
+
285 std::vector<std::string> &Path) {
+
286 using R = nixd::FindAttrPathResult;
+
287 // If this is in "inherit", don't consider it is an attrpath.
+
288 if (PM.upTo(N, Node::NK_Inherit))
+
289 return R::Inherit;
+
290
+
291 if (const Node *Name = PM.upTo(N, Node::NK_AttrName)) {
+
292 try {
+
293 getNestedAttrPath(static_cast<const AttrName &>(*Name), PM, Path);
+
294 } catch (AttrPathHasDynamicError &E) {
+
295 return R::WithDynamic;
+
296 }
+
297 return R::OK;
+
298 }
+
299
+
300 // Consider this is an "extra" dot.
+
301 if (const Node *DotNode = PM.upTo(N, Node::NK_Dot)) {
+
302 const auto &D = static_cast<const Dot &>(*DotNode);
+
303
+
304 if (D.prev().kind() != Node::NK_AttrName)
+
305 return R::NotAttrPath;
+
306
+
307 try {
+
308 getNestedAttrPath(static_cast<const AttrName &>(D.prev()), PM, Path);
+
309 Path.emplace_back("");
+
310 return R::OK;
+
311 } catch (AttrPathHasDynamicError &E) {
+
312 return R::WithDynamic;
+
313 }
+
314 }
+
315
+
316 return R::NotAttrPath;
+
317}
+
+
This file declares some common analysis (tree walk) on the AST.
+
Types used in nixpkgs provider.
+ + +
const std::vector< std::shared_ptr< AttrName > > & names() const
Definition Attrs.h:100
+ +
const AttrPath & path() const
Definition Attrs.h:128
+
const std::shared_ptr< Expr > & value() const
Definition Attrs.h:133
+
Represents a definition.
+
const Node * syntax() const
+
Holds a "." in the language.
Definition Basic.h:126
+
A set of variable definitions, which may inherit parent environment.
+
bool isWith() const
+
const Node * syntax() const
Where this node comes from.
+
EnvNode * parent() const
+ + +
Expr & expr() const
Definition Expr.h:20
+
AttrPath * path() const
Definition Expr.h:27
+ +
const Identifier & id() const
Definition Simple.h:200
+ +
Expr * with() const
Definition Expr.h:172
+ +
Identifier. Variable names, attribute names, etc.
Definition Basic.h:114
+
const std::string & name() const
Definition Basic.h:120
+ +
NodeKind kind() const
Definition Basic.h:34
+ +
const Node * upExpr(const Node &N) const
Search up until the node becomes a concrete expression. a ^<--— ID -> ExprVar.
+
static bool isRoot(const Node *Up, const Node &N)
+
const Node * upTo(const Node &N, Node::NodeKind Kind) const
Search up until some kind of node is found.
+
const Node * query(const Node &N) const
+ +
const EnvNode * env(const Node *N) const
+ +
LookupResult query(const ExprVar &Var) const
Query the which name/with binds to specific varaible.
+
std::string Path
Definition Path.h:24
+
Selector mkVarSelector(const nixf::ExprVar &Var, const nixf::VariableLookupAnalysis &VLA, const nixf::ParentMapAnalysis &PM)
Construct a nixd::Selector from Var.
Definition AST.cpp:199
+
Selector mkSelector(const nixf::AttrPath &AP, Selector BaseSelector)
Construct a nixd::Selector from AP.
Definition AST.cpp:249
+
constexpr std::string_view Pkgs
Hardcoded name for "pkgs.xxx", or "with pkgs;".
Definition AST.h:20
+
constexpr std::string_view Lib
Hardcoded name for nixpkgs "lib".
Definition AST.h:26
+
FindAttrPathResult findAttrPath(const nixf::Node &N, const nixf::ParentMapAnalysis &PM, std::vector< std::string > &Path)
Heuristically find attrpath suitable for "attrpath" completion.
Definition AST.cpp:283
+
const nixf::EnvNode * upEnv(const nixf::Node &Desc, const nixf::VariableLookupAnalysis &VLA, const nixf::ParentMapAnalysis &PM)
Search up until there are some node associated with "EnvNode".
Definition AST.cpp:98
+
bool havePackageScope(const nixf::Node &N, const nixf::VariableLookupAnalysis &VLA, const nixf::ParentMapAnalysis &PM)
Determine whether or not some node has enclosed "with pkgs; [ ]".
Definition AST.cpp:108
+
std::vector< std::string > Selector
A list of strings that "select"s into a attribute set.
Definition AttrSet.h:42
+
FindAttrPathResult
Definition AST.h:119
+
std::pair< std::vector< std::string >, std::string > getScopeAndPrefix(const nixf::Node &N, const nixf::ParentMapAnalysis &PM)
get variable scope, and it's prefix name.
Definition AST.cpp:274
+ +
The attrpath has a dynamic name, thus it cannot be trivially transformed to "static" selector.
Definition AST.h:71
+
No such variable.
Definition AST.h:49
+
The pattern of this variable cannot be recognized by known idioms.
Definition AST.h:34
+ +
+ + + + diff --git a/AST_8h.html b/AST_8h.html new file mode 100644 index 000000000..870a61498 --- /dev/null +++ b/AST_8h.html @@ -0,0 +1,185 @@ + + + + + + + +nixd: AST.h File Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
AST.h File Reference
+
+
+ +

This file declares some common analysis (tree walk) on the AST. +More...

+
#include "nixd/Protocol/AttrSet.h"
+#include <nixf/Basic/Nodes/Expr.h>
+#include <nixf/Sema/ParentMap.h>
+#include <nixf/Sema/VariableLookup.h>
+#include <exception>
+
+

Go to the source code of this file.

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

+Classes

struct  nixd::idioms::IdiomException
 
struct  nixd::idioms::IdiomSelectorException
 Exceptions scoped in nixd::mkIdiomSelector. More...
 
struct  nixd::idioms::NotAnIdiomException
 The pattern of this variable cannot be recognized by known idioms. More...
 
struct  nixd::idioms::VLAException
 
struct  nixd::idioms::NoLocationForBuiltinVariable
 
struct  nixd::idioms::NoSuchVarException
 No such variable. More...
 
struct  nixd::idioms::UndefinedVarException
 
struct  nixd::idioms::DynamicNameException
 The attrpath has a dynamic name, thus it cannot be trivially transformed to "static" selector. More...
 
struct  nixd::idioms::NotVariableSelect
 
+ + + + + +

+Namespaces

namespace  nixd
 
namespace  nixd::idioms
 
+ + + +

+Enumerations

enum class  nixd::FindAttrPathResult { nixd::OK +, nixd::Inherit +, nixd::NotAttrPath +, nixd::WithDynamic + }
 
+ + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

Selector nixd::idioms::mkVarSelector (const nixf::ExprVar &Var, const nixf::VariableLookupAnalysis &VLA, const nixf::ParentMapAnalysis &PM)
 Construct a nixd::Selector from Var.
 
Selector nixd::idioms::mkSelector (const nixf::AttrPath &AP, Selector BaseSelector)
 Construct a nixd::Selector from AP.
 
Selector nixd::idioms::mkSelector (const nixf::ExprSelect &Select, Selector BaseSelector)
 Construct a nixd::Selector from Select.
 
Selector nixd::idioms::mkSelector (const nixf::ExprSelect &Select, const nixf::VariableLookupAnalysis &VLA, const nixf::ParentMapAnalysis &PM)
 Construct a nixd::Selector from Select.
 
const nixf::EnvNodenixd::upEnv (const nixf::Node &Desc, const nixf::VariableLookupAnalysis &VLA, const nixf::ParentMapAnalysis &PM)
 Search up until there are some node associated with "EnvNode".
 
bool nixd::havePackageScope (const nixf::Node &N, const nixf::VariableLookupAnalysis &VLA, const nixf::ParentMapAnalysis &PM)
 Determine whether or not some node has enclosed "with pkgs; [ ]".
 
std::pair< std::vector< std::string >, std::string > nixd::getScopeAndPrefix (const nixf::Node &N, const nixf::ParentMapAnalysis &PM)
 get variable scope, and it's prefix name.
 
FindAttrPathResult nixd::findAttrPath (const nixf::Node &N, const nixf::ParentMapAnalysis &PM, std::vector< std::string > &Path)
 Heuristically find attrpath suitable for "attrpath" completion.
 
+ + + + + + + +

+Variables

constexpr std::string_view nixd::idioms::Pkgs = "pkgs"
 Hardcoded name for "pkgs.xxx", or "with pkgs;".
 
constexpr std::string_view nixd::idioms::Lib = "lib"
 Hardcoded name for nixpkgs "lib".
 
+

Detailed Description

+

This file declares some common analysis (tree walk) on the AST.

+ +

Definition in file AST.h.

+
+ + + + diff --git a/AST_8h_source.html b/AST_8h_source.html new file mode 100644 index 000000000..8c1716052 --- /dev/null +++ b/AST_8h_source.html @@ -0,0 +1,294 @@ + + + + + + + +nixd: AST.h Source File + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
AST.h
+
+
+Go to the documentation of this file.
1/// \file
+
2/// \brief This file declares some common analysis (tree walk) on the AST.
+
3
+ +
5
+ + + +
9
+
10#include <exception>
+
11
+
12namespace nixd {
+
13
+
+
14namespace idioms {
+
15
+
16/// \brief Hardcoded name for "pkgs.xxx", or "with pkgs;"
+
17///
+
18/// Assume that the value of this variable have the same structure with `import
+
19/// nixpkgs {}
+
20constexpr inline std::string_view Pkgs = "pkgs";
+
21
+
22/// \brief Hardcoded name for nixpkgs "lib"
+
23///
+
24/// Assume that the value of this variable is "nixpkgs lib".
+
25/// e.g. lib.genAttrs.
+
26constexpr inline std::string_view Lib = "lib";
+
27
+
28struct IdiomException : std::exception {};
+
29
+
30/// \brief Exceptions scoped in nixd::mkIdiomSelector
+
31struct IdiomSelectorException : std::exception {};
+
32
+
33/// \brief The pattern of this variable cannot be recognized by known idioms.
+
+ +
+
35 [[nodiscard]] const char *what() const noexcept override {
+
36 return "not an idiom";
+
37 }
+
+
38};
+
+
39
+
40struct VLAException : std::exception {};
+
41
+
+
42struct NoLocationForBuiltinVariable : std::exception {
+
+
43 [[nodiscard]] const char *what() const noexcept override {
+
44 return "builtins are defined in the interpreter, not in the Nix files";
+
45 }
+
+
46};
+
+
47
+
48/// \brief No such variable.
+
+ +
+
50 [[nodiscard]] const char *what() const noexcept override {
+
51 return "no such variable";
+
52 }
+
+
53};
+
+
54
+
+ +
+
56 [[nodiscard]] const char *what() const noexcept override {
+
57 return "undefined variable";
+
58 }
+
+
59};
+
+
60
+
61/// \brief Construct a nixd::Selector from \p Var.
+
62///
+
63/// Try to heuristically find a selector of a variable, based on some known
+
64/// idioms.
+ + +
67 const nixf::ParentMapAnalysis &PM);
+
68
+
69/// \brief The attrpath has a dynamic name, thus it cannot be trivially
+
70/// transformed to "static" selector.
+
+ +
+
72 [[nodiscard]] const char *what() const noexcept override {
+
73 return "dynamic attribute path encountered";
+
74 }
+
+
75};
+
+
76
+
+ +
+
78 [[nodiscard]] const char *what() const noexcept override {
+
79 return "the base expression of the select is not a variable";
+
80 }
+
+
81};
+
+
82
+
83/// \brief Construct a nixd::Selector from \p AP.
+
84Selector mkSelector(const nixf::AttrPath &AP, Selector BaseSelector);
+
85
+
86/// \brief Construct a nixd::Selector from \p Select.
+
87Selector mkSelector(const nixf::ExprSelect &Select, Selector BaseSelector);
+
88
+
89/// \brief Construct a nixd::Selector from \p Select.
+ + +
92 const nixf::ParentMapAnalysis &PM);
+
93
+
94} // namespace idioms
+
+
95
+
96/// \brief Search up until there are some node associated with "EnvNode".
+
97[[nodiscard]] const nixf::EnvNode *
+
98upEnv(const nixf::Node &Desc, const nixf::VariableLookupAnalysis &VLA,
+
99 const nixf::ParentMapAnalysis &PM);
+
100
+
101/// \brief Determine whether or not some node has enclosed "with pkgs; [ ]"
+
102///
+
103/// Yes, this evaluation isn't flawless. What if the identifier isn't "pkgs"? We
+
104/// can't dynamically evaluate everything each time and invalidate them
+
105/// immediately after document updates. Therefore, this heuristic method
+
106/// represents a trade-off between performance considerations.
+
107[[nodiscard]] bool havePackageScope(const nixf::Node &N,
+ +
109 const nixf::ParentMapAnalysis &PM);
+
110
+
111/// \brief get variable scope, and it's prefix name.
+
112///
+
113/// Nixpkgs has some packages scoped in "nested" attrs.
+
114/// e.g. llvmPackages, pythonPackages.
+
115/// Try to find these name as a pre-selected scope, the last value is "prefix".
+
116std::pair<std::vector<std::string>, std::string>
+ +
118
+
+ +
120 OK,
+
121 Inherit,
+ + +
124};
+
+
125
+
126/// \brief Heuristically find attrpath suitable for "attrpath" completion.
+
127/// \param[out] Path the attrpath.
+ +
129 const nixf::ParentMapAnalysis &PM,
+
130 std::vector<std::string> &Path);
+
131
+
132} // namespace nixd
+
Types used in nixpkgs provider.
+ +
Lookup variable names, from it's parent scope.
+ +
A set of variable definitions, which may inherit parent environment.
+ + + + + +
ParentMap analysis.
+
std::string Path
Definition Path.h:24
+
Selector mkVarSelector(const nixf::ExprVar &Var, const nixf::VariableLookupAnalysis &VLA, const nixf::ParentMapAnalysis &PM)
Construct a nixd::Selector from Var.
Definition AST.cpp:199
+
Selector mkSelector(const nixf::AttrPath &AP, Selector BaseSelector)
Construct a nixd::Selector from AP.
Definition AST.cpp:249
+
constexpr std::string_view Pkgs
Hardcoded name for "pkgs.xxx", or "with pkgs;".
Definition AST.h:20
+
constexpr std::string_view Lib
Hardcoded name for nixpkgs "lib".
Definition AST.h:26
+ +
FindAttrPathResult findAttrPath(const nixf::Node &N, const nixf::ParentMapAnalysis &PM, std::vector< std::string > &Path)
Heuristically find attrpath suitable for "attrpath" completion.
Definition AST.cpp:283
+
const nixf::EnvNode * upEnv(const nixf::Node &Desc, const nixf::VariableLookupAnalysis &VLA, const nixf::ParentMapAnalysis &PM)
Search up until there are some node associated with "EnvNode".
Definition AST.cpp:98
+
bool havePackageScope(const nixf::Node &N, const nixf::VariableLookupAnalysis &VLA, const nixf::ParentMapAnalysis &PM)
Determine whether or not some node has enclosed "with pkgs; [ ]".
Definition AST.cpp:108
+
std::vector< std::string > Selector
A list of strings that "select"s into a attribute set.
Definition AttrSet.h:42
+
FindAttrPathResult
Definition AST.h:119
+ + + + +
std::pair< std::vector< std::string >, std::string > getScopeAndPrefix(const nixf::Node &N, const nixf::ParentMapAnalysis &PM)
get variable scope, and it's prefix name.
Definition AST.cpp:274
+
The attrpath has a dynamic name, thus it cannot be trivially transformed to "static" selector.
Definition AST.h:71
+
const char * what() const noexcept override
Definition AST.h:72
+ +
Exceptions scoped in nixd::mkIdiomSelector.
Definition AST.h:31
+ +
const char * what() const noexcept override
Definition AST.h:43
+
No such variable.
Definition AST.h:49
+
const char * what() const noexcept override
Definition AST.h:50
+
The pattern of this variable cannot be recognized by known idioms.
Definition AST.h:34
+
const char * what() const noexcept override
Definition AST.h:35
+ +
const char * what() const noexcept override
Definition AST.h:78
+ +
const char * what() const noexcept override
Definition AST.h:56
+ +
+ + + + diff --git a/ArrayRef_8h.html b/ArrayRef_8h.html new file mode 100644 index 000000000..0ffe0b831 --- /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 EvalCache 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..1cd7a0cce --- /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 EvalCache 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/AttrSetClient_8cpp.html b/AttrSetClient_8cpp.html new file mode 100644 index 000000000..e0819ae40 --- /dev/null +++ b/AttrSetClient_8cpp.html @@ -0,0 +1,92 @@ + + + + + + + +nixd: AttrSetClient.cpp File Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
AttrSetClient.cpp File Reference
+
+
+
#include "nixd-config.h"
+#include "nixd/Eval/AttrSetClient.h"
+#include <signal.h>
+
+

Go to the source code of this file.

+
+ + + + diff --git a/AttrSetClient_8cpp_source.html b/AttrSetClient_8cpp_source.html new file mode 100644 index 000000000..43c208b40 --- /dev/null +++ b/AttrSetClient_8cpp_source.html @@ -0,0 +1,159 @@ + + + + + + + +nixd: AttrSetClient.cpp Source File + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
AttrSetClient.cpp
+
+
+Go to the documentation of this file.
1#include "nixd-config.h"
+
2
+ +
4
+
5#include <signal.h> // NOLINT(modernize-deprecated-headers)
+
6
+
7using namespace nixd;
+
8using namespace lspserver;
+
9
+ +
25
+
+
26const char *AttrSetClient::getExe() {
+
27 if (const char *Env = std::getenv("NIXD_ATTRSET_EVAL"))
+
28 return Env;
+
29 return NIXD_LIBEXEC "/nixd-attrset-eval";
+
30}
+
+
31
+
+
32AttrSetClientProc::AttrSetClientProc(const std::function<int()> &Action)
+
33 : Proc(Action), Client(Proc.mkIn(), Proc.mkOut()),
+
34 Input([this]() { Client.run(); }) {}
+
+
35
+
+ +
37 if (!kill(Proc.proc().PID, 0))
+
38 return &Client;
+
39 return nullptr;
+
40}
+
+ + + +
AttrSetClient * client()
Check if the process is still alive.
+
AttrSetClientProc(const std::function< int()> &Action)
+ +
static const char * getExe()
+
AttrSetClient(std::unique_ptr< lspserver::InboundPort > In, std::unique_ptr< lspserver::OutboundPort > Out)
+
Whether current platform treats paths case insensitively.
Definition Connection.h:11
+
constexpr std::string_view Exit
Definition AttrSet.h:34
+
constexpr std::string_view EvalExpr
Definition AttrSet.h:29
+
constexpr std::string_view OptionInfo
Definition AttrSet.h:32
+
constexpr std::string_view AttrPathInfo
Definition AttrSet.h:30
+
constexpr std::string_view OptionComplete
Definition AttrSet.h:33
+
constexpr std::string_view AttrPathComplete
Definition AttrSet.h:31
+ +
bool fromJSON(const llvm::json::Value &Params, Configuration::Diagnostic &R, llvm::json::Path P)
+
util::PipedProc & proc() const
Definition StreamProc.h:27
+ +
+ + + + diff --git a/AttrSetClient_8h.html b/AttrSetClient_8h.html new file mode 100644 index 000000000..25e0e24fb --- /dev/null +++ b/AttrSetClient_8h.html @@ -0,0 +1,109 @@ + + + + + + + +nixd: AttrSetClient.h File Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
AttrSetClient.h File Reference
+
+
+
#include "nixd/Protocol/AttrSet.h"
+#include "nixd/Support/StreamProc.h"
+#include <lspserver/LSPServer.h>
+#include <thread>
+
+

Go to the source code of this file.

+ + + + + + +

+Classes

class  nixd::AttrSetClient
 
class  nixd::AttrSetClientProc
 
+ + + +

+Namespaces

namespace  nixd
 
+
+ + + + diff --git a/AttrSetClient_8h_source.html b/AttrSetClient_8h_source.html new file mode 100644 index 000000000..856e2fc21 --- /dev/null +++ b/AttrSetClient_8h_source.html @@ -0,0 +1,226 @@ + + + + + + + +nixd: AttrSetClient.h Source File + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
AttrSetClient.h
+
+
+Go to the documentation of this file.
1#pragma once
+
2
+ + +
5
+ +
7
+
8#include <thread>
+
9
+
10namespace nixd {
+
11
+
+ +
13
+
14 llvm::unique_function<void(const EvalExprParams &Params,
+ +
16 EvalExpr;
+
17
+
18 llvm::unique_function<void(const AttrPathInfoParams &Params,
+ +
20 AttrPathInfo;
+
21
+
22 llvm::unique_function<void(
+
23 const AttrPathCompleteParams &Params,
+ +
25 AttrPathComplete;
+
26
+
27 llvm::unique_function<void(const AttrPathInfoParams &Params,
+ +
29 OptionInfo;
+
30
+
31 llvm::unique_function<void(const AttrPathCompleteParams &Params,
+ +
33 OptionComplete;
+
34
+
35 llvm::unique_function<void(std::nullptr_t)> Exit;
+
36
+
37public:
+
38 AttrSetClient(std::unique_ptr<lspserver::InboundPort> In,
+
39 std::unique_ptr<lspserver::OutboundPort> Out);
+
40
+
41 /// \brief Request eval some expression.
+
42 /// The expression should be evaluted to attrset.
+
+
43 void evalExpr(const EvalExprParams &Params,
+ +
45 return EvalExpr(Params, std::move(Reply));
+
46 }
+
+
47
+
+
48 void attrpathInfo(const AttrPathInfoParams &Params,
+ +
50 AttrPathInfo(Params, std::move(Reply));
+
51 }
+
+
52
+
+ + +
55 AttrPathComplete(Params, std::move(Reply));
+
56 }
+
+
57
+
+
58 void optionInfo(const AttrPathInfoParams &Params,
+ +
60 OptionInfo(Params, std::move(Reply));
+
61 }
+
+
62
+
+ + +
65 OptionComplete(Params, std::move(Reply));
+
66 }
+
+
67
+
68 void exit() { Exit(nullptr); }
+
69
+
70 /// Get executable path for launching the server.
+
71 /// \returns null terminated string.
+
72 static const char *getExe();
+
73};
+
+
74
+
+ +
76 StreamProc Proc;
+
77 AttrSetClient Client;
+
78 std::thread Input;
+
79
+
80public:
+
81 /// \brief Check if the process is still alive
+
82 /// \returns nullptr if it has been dead.
+ +
+ +
85 Client.exit();
+
86 Client.closeInbound();
+
87 Input.join();
+
88 }
+
+
89
+
90 /// \see StreamProc::StreamProc
+
91 AttrSetClientProc(const std::function<int()> &Action);
+
92};
+
+
93
+
94} // namespace nixd
+
Types used in nixpkgs provider.
+ + + +
void closeInbound()
Close the inbound port.
Definition LSPServer.h:91
+ + +
AttrSetClient * client()
Check if the process is still alive.
+
AttrSetClientProc(const std::function< int()> &Action)
+ +
static const char * getExe()
+
void optionInfo(const AttrPathInfoParams &Params, lspserver::Callback< OptionInfoResponse > Reply)
+
AttrSetClient(std::unique_ptr< lspserver::InboundPort > In, std::unique_ptr< lspserver::OutboundPort > Out)
+
void attrpathInfo(const AttrPathInfoParams &Params, lspserver::Callback< AttrPathInfoResponse > Reply)
+ +
void attrpathComplete(const AttrPathCompleteParams &Params, lspserver::Callback< AttrPathCompleteResponse > Reply)
+
void optionComplete(const AttrPathCompleteParams &Params, lspserver::Callback< OptionCompleteResponse > Reply)
+
void evalExpr(const EvalExprParams &Params, lspserver::Callback< EvalExprResponse > Reply)
Request eval some expression. The expression should be evaluted to attrset.
+
llvm::unique_function< void(llvm::Expected< T >)> Callback
Definition Function.h:14
+ +
std::string EvalExprParams
Definition AttrSet.h:38
+
Selector AttrPathInfoParams
Definition AttrSet.h:47
+ + +
+ + + + diff --git a/AttrSetProvider_8cpp.html b/AttrSetProvider_8cpp.html new file mode 100644 index 000000000..4799a3782 --- /dev/null +++ b/AttrSetProvider_8cpp.html @@ -0,0 +1,96 @@ + + + + + + + +nixd: AttrSetProvider.cpp File Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
AttrSetProvider.cpp File Reference
+
+
+
#include "nixd/Eval/AttrSetProvider.h"
+#include "nixd/Protocol/AttrSet.h"
+#include "lspserver/Protocol.h"
+#include <nix/attr-path.hh>
+#include <nix/nixexpr.hh>
+#include <nix/store-api.hh>
+#include <nixt/Value.h>
+
+

Go to the source code of this file.

+
+ + + + diff --git a/AttrSetProvider_8cpp_source.html b/AttrSetProvider_8cpp_source.html new file mode 100644 index 000000000..da9f2f47f --- /dev/null +++ b/AttrSetProvider_8cpp_source.html @@ -0,0 +1,508 @@ + + + + + + + +nixd: AttrSetProvider.cpp Source File + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
AttrSetProvider.cpp
+
+
+Go to the documentation of this file.
+ +
3
+ +
5
+
6#include <nix/attr-path.hh>
+
7#include <nix/nixexpr.hh>
+
8#include <nix/store-api.hh>
+
9#include <nixt/Value.h>
+
10
+
11using namespace nixd;
+
12using namespace lspserver;
+
13
+
14namespace {
+
15
+
16constexpr int MaxItems = 30;
+
17
+
18void fillString(nix::EvalState &State, nix::Value &V,
+
19 const std::vector<std::string_view> &AttrPath,
+
20 std::optional<std::string> &Field) {
+
21 try {
+
22 nix::Value &Select = nixt::selectStringViews(State, V, AttrPath);
+
23 State.forceValue(Select, nix::noPos);
+
24 if (Select.type() == nix::ValueType::nString)
+
25 Field = Select.string.c_str;
+
26 } catch (std::exception &E) {
+
27 Field = std::nullopt;
+
28 }
+
29}
+
30
+
31/// Describe the value as if \p Package is actually a nixpkgs package.
+
32PackageDescription describePackage(nix::EvalState &State, nix::Value &Package) {
+ +
34 fillString(State, Package, {"name"}, R.Name);
+
35 fillString(State, Package, {"pname"}, R.PName);
+
36 fillString(State, Package, {"version"}, R.Version);
+
37 fillString(State, Package, {"meta", "description"}, R.Description);
+
38 fillString(State, Package, {"meta", "longDescription"}, R.LongDescription);
+
39 fillString(State, Package, {"meta", "position"}, R.Position);
+
40 fillString(State, Package, {"meta", "homepage"}, R.Homepage);
+
41 return R;
+
42}
+
43
+
44std::optional<Location> locationOf(nix::PosTable &PTable, nix::Value &V) {
+
45 nix::PosIdx P = V.determinePos(nix::noPos);
+
46 if (!P)
+
47 return std::nullopt;
+
48
+
49 nix::Pos NixPos = PTable[P];
+
50 const auto *SP = std::get_if<nix::SourcePath>(&NixPos.origin);
+
51
+
52 if (!SP)
+
53 return std::nullopt;
+
54
+
55 Position LPos = {
+
56 .line = static_cast<int>(NixPos.line - 1),
+
57 .character = static_cast<int>(NixPos.column - 1),
+
58 };
+
59
+
60 return Location{
+
61 .uri = URIForFile::canonicalize(SP->path.abs(), SP->path.abs()),
+
62 .range = {LPos, LPos},
+
63 };
+
64}
+
65
+
66ValueMeta metadataOf(nix::EvalState &State, nix::Value &V) {
+
67 return {
+
68 .Type = V.type(true),
+
69 .Location = locationOf(State.positions, V),
+
70 };
+
71}
+
72
+
73void fillUnsafeGetAttrPosLocation(nix::EvalState &State, nix::Value &V,
+ +
75 State.forceValue(V, nix::noPos);
+
76 nix::Value &File = nixt::selectAttr(State, V, State.symbols.create("file"));
+
77 nix::Value &Line = nixt::selectAttr(State, V, State.symbols.create("line"));
+
78 nix::Value &Column =
+
79 nixt::selectAttr(State, V, State.symbols.create("column"));
+
80
+
81 if (File.type() == nix::ValueType::nString)
+
82 Loc.uri = URIForFile::canonicalize(File.c_str(), File.c_str());
+
83
+
84 if (Line.type() == nix::ValueType::nInt &&
+
85 Column.type() == nix::ValueType::nInt) {
+
86
+
87 // Nix position starts from "1" however lsp starts from zero.
+
88 lspserver::Position Pos = {static_cast<int>(Line.integer) - 1,
+
89 static_cast<int>(Column.integer) - 1};
+
90 Loc.range = {Pos, Pos};
+
91 }
+
92}
+
93
+
94void fillOptionDeclarationPositions(nix::EvalState &State, nix::Value &V,
+ +
96 State.forceValue(V, nix::noPos);
+
97 if (V.type() != nix::ValueType::nList)
+
98 return;
+
99 for (nix::Value *Item : V.listItems()) {
+
100 // Each item should have "column", "line", "file" fields.
+ + +
103 R.Declarations.emplace_back(std::move(Loc));
+
104 }
+
105}
+
106
+
107void fillOptionDeclarations(nix::EvalState &State, nix::Value &V,
+ +
109 // Eval declarations
+
110 try {
+ +
112 State, V, State.symbols.create("declarationPositions"));
+
113
+
114 State.forceValue(DeclarationPositions, nix::noPos);
+
115 // A list of positions, in unsafeGetAttrPos format.
+ +
117 } catch (nix::AttrPathNotFound &E) {
+
118 // FIXME: fallback to "declarations"
+
119 return;
+
120 }
+
121}
+
122
+
123void fillOptionType(nix::EvalState &State, nix::Value &VType, OptionType &R) {
+
124 fillString(State, VType, {"description"}, R.Description);
+
125 fillString(State, VType, {"name"}, R.Name);
+
126}
+
127
+
128void fillOptionDescription(nix::EvalState &State, nix::Value &V,
+ +
130 fillString(State, V, {"description"}, R.Description);
+
131 fillOptionDeclarations(State, V, R);
+
132 // FIXME: add definitions location.
+
133 if (V.type() == nix::ValueType::nAttrs) [[likely]] {
+
134 assert(V.attrs);
+
135 if (auto *It = V.attrs->find(State.symbols.create("type"));
+
136 It != V.attrs->end()) [[likely]] {
+ +
138 fillOptionType(State, *It->value, Type);
+
139 R.Type = std::move(Type);
+
140 }
+
141
+
142 if (auto *It = V.attrs->find(State.symbols.create("example"));
+
143 It != V.attrs->end()) {
+
144 State.forceValue(*It->value, It->pos);
+
145
+
146 // In nixpkgs some examples are nested in "literalExpression"
+
147 if (nixt::checkField(State, *It->value, "_type", "literalExpression")) {
+
148 R.Example = nixt::getFieldString(State, *It->value, "text");
+
149 } else {
+
150 std::ostringstream OS;
+
151 It->value->print(State.symbols, OS);
+
152 R.Example = OS.str();
+
153 }
+
154 }
+
155 }
+
156}
+
157
+
158} // namespace
+
159
+
+
160AttrSetProvider::AttrSetProvider(std::unique_ptr<InboundPort> In,
+
161 std::unique_ptr<OutboundPort> Out)
+
162 : LSPServer(std::move(In), std::move(Out)),
+
163 State(new nix::EvalState({}, nix::openStore())) {
+ + + + + + + + + +
173}
+
+
174
+
+ +
176 const std::string &Name,
+
177 lspserver::Callback<std::optional<std::string>> Reply) {
+
178 try {
+
179 nix::Expr *AST = state().parseExprFromString(
+
180 Name, state().rootPath(nix::CanonPath::fromCwd()));
+
181 state().eval(AST, Nixpkgs);
+
182 Reply(std::nullopt);
+
183 return;
+
184 } catch (const nix::BaseError &Err) {
+
185 Reply(error(Err.info().msg.str()));
+
186 return;
+
187 } catch (const std::exception &Err) {
+
188 Reply(error(Err.what()));
+
189 return;
+
190 }
+
191}
+
+
192
+
+ +
194 const AttrPathInfoParams &AttrPath,
+ + +
197 Reply([&]() -> llvm::Expected<RespT> {
+
198 try {
+
199 if (AttrPath.empty())
+
200 return error("attrpath is empty!");
+
201
+
202 nix::Value &V = nixt::selectStrings(state(), Nixpkgs, AttrPath);
+
203 state().forceValue(V, nix::noPos);
+
204 return RespT{
+
205 .Meta = metadataOf(state(), V),
+
206 .PackageDesc = describePackage(state(), V),
+
207 };
+
208 } catch (const nix::BaseError &Err) {
+
209 return error(Err.info().msg.str());
+
210 } catch (const std::exception &Err) {
+
211 return error(Err.what());
+
212 }
+
213 }());
+
214}
+
+
215
+
+ + + +
219 try {
+
220 nix::Value &Scope = nixt::selectStrings(state(), Nixpkgs, Params.Scope);
+
221
+
222 state().forceValue(Scope, nix::noPos);
+
223
+
224 if (Scope.type() != nix::ValueType::nAttrs) {
+
225 Reply(error("scope is not an attrset"));
+
226 return;
+
227 }
+
228
+
229 std::vector<std::string> Names;
+
230 int Num = 0;
+
231
+
232 // FIXME: we may want to use "Trie" to speedup the string searching.
+
233 // However as my (roughtly) profiling the critical in this loop is
+
234 // evaluating package details.
+
235 // "Trie"s may not beneficial becausae it cannot speedup eval.
+
236 for (const auto *AttrPtr :
+
237 Scope.attrs->lexicographicOrder(state().symbols)) {
+
238 const nix::Attr &Attr = *AttrPtr;
+
239 const std::string Name = state().symbols[Attr.name];
+
240 if (Name.starts_with(Params.Prefix)) {
+
241 ++Num;
+
242 Names.emplace_back(Name);
+
243 // We set this a very limited number as to speedup
+
244 if (Num > MaxItems)
+
245 break;
+
246 }
+
247 }
+
248 Reply(std::move(Names));
+
249 return;
+
250 } catch (const nix::BaseError &Err) {
+
251 Reply(error(Err.info().msg.str()));
+
252 return;
+
253 } catch (const std::exception &Err) {
+
254 Reply(error(Err.what()));
+
255 return;
+
256 }
+
257}
+
+
258
+
+ +
260 const AttrPathInfoParams &AttrPath,
+ +
262 try {
+
263 if (AttrPath.empty()) {
+
264 Reply(error("attrpath is empty!"));
+
265 return;
+
266 }
+
267
+
268 nix::Value Option = nixt::selectOptions(
+
269 state(), Nixpkgs, nixt::toSymbols(state().symbols, AttrPath));
+
270
+ +
272
+
273 fillOptionDescription(state(), Option, R);
+
274
+
275 Reply(std::move(R));
+
276 return;
+
277 } catch (const nix::BaseError &Err) {
+
278 Reply(error(Err.info().msg.str()));
+
279 return;
+
280 } catch (const std::exception &Err) {
+
281 Reply(error(Err.what()));
+
282 return;
+
283 }
+
284}
+
+
285
+
+ + + +
289 try {
+
290 nix::Value Scope = nixt::selectOptions(
+
291 state(), Nixpkgs, nixt::toSymbols(state().symbols, Params.Scope));
+
292
+
293 state().forceValue(Scope, nix::noPos);
+
294
+
295 if (Scope.type() != nix::ValueType::nAttrs) {
+
296 Reply(error("scope is not an attrset"));
+
297 return;
+
298 }
+
299
+
300 if (nixt::isOption(state(), Scope)) {
+
301 Reply(error("scope is already an option"));
+
302 return;
+
303 }
+
304
+
305 std::vector<OptionField> Response;
+
306
+
307 // FIXME: we may want to use "Trie" to speedup the string searching.
+
308 // However as my (roughtly) profiling the critical in this loop is
+
309 // evaluating package details.
+
310 // "Trie"s may not beneficial becausae it cannot speedup eval.
+
311 for (const auto *AttrPtr :
+
312 Scope.attrs->lexicographicOrder(state().symbols)) {
+
313 const nix::Attr &Attr = *AttrPtr;
+
314 std::string Name = state().symbols[Attr.name];
+
315 if (Name.starts_with(Params.Prefix)) {
+
316 // Add a new "OptionField", see it's type.
+
317 assert(Attr.value);
+ +
319 NewField.Name = Name;
+
320 if (nixt::isOption(state(), *Attr.value)) {
+ +
322 fillOptionDescription(state(), *Attr.value, Desc);
+
323 NewField.Description = std::move(Desc);
+
324 }
+
325 Response.emplace_back(std::move(NewField));
+
326 // We set this a very limited number as to speedup
+
327 if (Response.size() >= MaxItems)
+
328 break;
+
329 }
+
330 }
+
331 Reply(std::move(Response));
+
332 return;
+
333 } catch (const nix::BaseError &Err) {
+
334 Reply(error(Err.info().msg.str()));
+
335 return;
+
336 } catch (const std::exception &Err) {
+
337 Reply(error(Err.what()));
+
338 return;
+
339 }
+
340}
+
+
Dedicated worker for evaluating attrset.
+
Types used in nixpkgs provider.
+ + +
HandlerRegistry Registry
Definition LSPServer.h:55
+
void onOptionInfo(const AttrPathInfoParams &AttrPath, lspserver::Callback< OptionInfoResponse > Reply)
Provide option information on given attrpath.
+
void onAttrPathInfo(const AttrPathInfoParams &AttrPath, lspserver::Callback< AttrPathInfoResponse > Reply)
Query attrpath information.
+
void onEvalExpr(const EvalExprParams &Name, lspserver::Callback< EvalExprResponse > Reply)
Eval an expression, use it for furthur requests.
+
AttrSetProvider(std::unique_ptr< lspserver::InboundPort > In, std::unique_ptr< lspserver::OutboundPort > Out)
+
void onAttrPathComplete(const AttrPathCompleteParams &Params, lspserver::Callback< AttrPathCompleteResponse > Reply)
Complete attrpath entries.
+
void onOptionComplete(const AttrPathCompleteParams &Params, lspserver::Callback< OptionCompleteResponse > Reply)
Complete attrpath entries. However dive into submodules while selecting.
+ +
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
+ + + + +
Definition Kinds.h:6
+
constexpr std::string_view EvalExpr
Definition AttrSet.h:29
+
constexpr std::string_view OptionInfo
Definition AttrSet.h:32
+
constexpr std::string_view AttrPathInfo
Definition AttrSet.h:30
+
constexpr std::string_view OptionComplete
Definition AttrSet.h:33
+
constexpr std::string_view AttrPathComplete
Definition AttrSet.h:31
+ +
bool fromJSON(const llvm::json::Value &Params, Configuration::Diagnostic &R, llvm::json::Path P)
+
Selector AttrPathInfoParams
Definition AttrSet.h:47
+
std::optional< std::string_view > getFieldString(nix::EvalState &State, nix::Value &V, std::string_view Field)
Definition Value.cpp:23
+
bool isOption(nix::EvalState &State, nix::Value &V)
Definition Value.cpp:46
+
bool checkField(nix::EvalState &State, nix::Value &V, std::string_view Field, std::string_view Pred)
Check if value V is an attrset, has the field, and equals to Pred.
Definition Value.cpp:36
+
nix::Value & selectStrings(nix::EvalState &State, nix::Value &V, const std::vector< std::string > &AttrPath)
Given an attrpath in nix::Value V, select it.
Definition Value.h:61
+
nix::Value selectOptions(nix::EvalState &State, nix::Value &V, std::vector< nix::Symbol >::const_iterator Begin, std::vector< nix::Symbol >::const_iterator End)
Select the option declaration list, V, dive into "submodules".
Definition Value.cpp:158
+
std::vector< nix::Symbol > toSymbols(nix::SymbolTable &STable, const std::vector< std::string > &Names)
Transform a vector of string into a vector of nix symbols.
Definition Value.cpp:63
+
nix::Value & selectAttr(nix::EvalState &State, nix::Value &V, nix::Symbol Attr)
Select attribute Attr.
Definition Value.cpp:84
+
nix::Value & selectStringViews(nix::EvalState &State, nix::Value &V, const std::vector< std::string_view > &AttrPath)
Given an attrpath in nix::Value V, select it.
Definition Value.h:68
+
void addMethod(llvm::StringRef Method, ThisT *This, void(ThisT::*Handler)(const Param &, Callback< Result >))
Definition LSPBinder.h:57
+ +
URIForFile uri
The text document's URI.
+ +
int line
Line position in a document (zero-based).
+
static URIForFile canonicalize(llvm::StringRef AbsPath, llvm::StringRef TUPath)
+ + + +
std::optional< std::string > Description
Definition AttrSet.h:115
+
std::optional< std::string > Example
Definition AttrSet.h:118
+
std::optional< OptionType > Type
Definition AttrSet.h:119
+
std::vector< lspserver::Location > Declarations
Definition AttrSet.h:116
+ +
std::string Name
Definition AttrSet.h:127
+ +
std::optional< std::string > Description
Definition AttrSet.h:106
+
std::optional< std::string > Name
Definition AttrSet.h:107
+ +
std::optional< std::string > Name
Definition AttrSet.h:50
+
std::optional< std::string > Version
Definition AttrSet.h:52
+
std::optional< std::string > PName
Definition AttrSet.h:51
+
std::optional< std::string > Description
Definition AttrSet.h:53
+
std::optional< std::string > LongDescription
Definition AttrSet.h:54
+
std::optional< std::string > Position
Definition AttrSet.h:55
+
std::optional< std::string > Homepage
Definition AttrSet.h:56
+
General metadata of all nix::Values.
Definition AttrSet.h:64
+
int Type
Type of this value.
Definition AttrSet.h:66
+
+ + + + diff --git a/AttrSetProvider_8h.html b/AttrSetProvider_8h.html new file mode 100644 index 000000000..791d6cf84 --- /dev/null +++ b/AttrSetProvider_8h.html @@ -0,0 +1,122 @@ + + + + + + + +nixd: AttrSetProvider.h File Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
AttrSetProvider.h File Reference
+
+
+ +

Dedicated worker for evaluating attrset. +More...

+
#include "nixd/Protocol/AttrSet.h"
+#include "lspserver/LSPServer.h"
+#include <nix/eval.hh>
+#include <memory>
+
+

Go to the source code of this file.

+ + + + + +

+Classes

class  nixd::AttrSetProvider
 Main RPC class for attrset provider. More...
 
+ + + +

+Namespaces

namespace  nixd
 
+

Detailed Description

+

Dedicated worker for evaluating attrset.

+

Motivation: eval things in attrset (e.g. nixpkgs). (packages, functions ...)

+

Observation:

    +
  1. Fast: eval (import <nixpkgs> { }).
  2. +
  3. Slow: eval a whole NixOS config until some node is being touched.
  4. +
+

This worker is designed to answer "packages"/"functions" in nixpkgs, but not limited to it.

+

For time-saving: Once a value is evaluated. It basically assume it will not change. That is, any workspace editing will not invalidate the value.

+ +

Definition in file AttrSetProvider.h.

+
+ + + + diff --git a/AttrSetProvider_8h_source.html b/AttrSetProvider_8h_source.html new file mode 100644 index 000000000..bb6138a39 --- /dev/null +++ b/AttrSetProvider_8h_source.html @@ -0,0 +1,180 @@ + + + + + + + +nixd: AttrSetProvider.h Source File + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
AttrSetProvider.h
+
+
+Go to the documentation of this file.
1/// \file
+
2/// \brief Dedicated worker for evaluating attrset.
+
3///
+
4/// Motivation: eval things in attrset (e.g. nixpkgs). (packages, functions ...)
+
5///
+
6/// Observation:
+
7/// 1. Fast: eval (import <nixpkgs> { }).
+
8/// 2. Slow: eval a whole NixOS config until some node is being touched.
+
9///
+
10/// This worker is designed to answer "packages"/"functions" in nixpkgs, but not
+
11/// limited to it.
+
12///
+
13/// For time-saving:
+
14/// Once a value is evaluated. It basically assume it will not change.
+
15/// That is, any workspace editing will not invalidate the value.
+
16///
+
17
+
18#pragma once
+
19
+ +
21
+
22#include "lspserver/LSPServer.h"
+
23
+
24#include <nix/eval.hh>
+
25
+
26#include <memory>
+
27
+
28namespace nixd {
+
29
+
30/// \brief Main RPC class for attrset provider.
+
+ +
32
+
33 std::unique_ptr<nix::EvalState> State;
+
34
+
35 nix::Value Nixpkgs;
+
36
+
37 /// Convenient method for get state. Basically assume this->State is not null
+
38 nix::EvalState &state() {
+
39 assert(State && "State should be allocated by ctor!");
+
40 return *State;
+
41 }
+
42
+
43public:
+
44 AttrSetProvider(std::unique_ptr<lspserver::InboundPort> In,
+
45 std::unique_ptr<lspserver::OutboundPort> Out);
+
46
+
47 /// \brief Eval an expression, use it for furthur requests.
+
48 void onEvalExpr(const EvalExprParams &Name,
+ +
50
+
51 /// \brief Query attrpath information.
+
52 void onAttrPathInfo(const AttrPathInfoParams &AttrPath,
+ +
54
+
55 /// \brief Complete attrpath entries.
+ + +
58
+
59 /// \brief Provide option information on given attrpath.
+
60 void onOptionInfo(const AttrPathInfoParams &AttrPath,
+ +
62
+
63 /// \brief Complete attrpath entries. However dive into submodules while
+
64 /// selecting.
+
65 ///
+
66 /// FIXME: suppport list names. i.e. `foo.*.submodule`
+ + +
69};
+
+
70
+
71} // namespace nixd
+
Types used in nixpkgs provider.
+ + +
Main RPC class for attrset provider.
+
void onOptionInfo(const AttrPathInfoParams &AttrPath, lspserver::Callback< OptionInfoResponse > Reply)
Provide option information on given attrpath.
+
void onAttrPathInfo(const AttrPathInfoParams &AttrPath, lspserver::Callback< AttrPathInfoResponse > Reply)
Query attrpath information.
+
void onEvalExpr(const EvalExprParams &Name, lspserver::Callback< EvalExprResponse > Reply)
Eval an expression, use it for furthur requests.
+
AttrSetProvider(std::unique_ptr< lspserver::InboundPort > In, std::unique_ptr< lspserver::OutboundPort > Out)
+
void onAttrPathComplete(const AttrPathCompleteParams &Params, lspserver::Callback< AttrPathCompleteResponse > Reply)
Complete attrpath entries.
+
void onOptionComplete(const AttrPathCompleteParams &Params, lspserver::Callback< OptionCompleteResponse > Reply)
Complete attrpath entries. However dive into submodules while selecting.
+
llvm::unique_function< void(llvm::Expected< T >)> Callback
Definition Function.h:14
+ +
std::string EvalExprParams
Definition AttrSet.h:38
+
Selector AttrPathInfoParams
Definition AttrSet.h:47
+ +
+ + + + diff --git a/AttrSet_8cpp.html b/AttrSet_8cpp.html new file mode 100644 index 000000000..479207fea --- /dev/null +++ b/AttrSet_8cpp.html @@ -0,0 +1,90 @@ + + + + + + + +nixd: AttrSet.cpp File Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
AttrSet.cpp File Reference
+
+
+ +

Go to the source code of this file.

+
+ + + + diff --git a/AttrSet_8cpp_source.html b/AttrSet_8cpp_source.html new file mode 100644 index 000000000..61ae4ae96 --- /dev/null +++ b/AttrSet_8cpp_source.html @@ -0,0 +1,271 @@ + + + + + + + +nixd: AttrSet.cpp Source File + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
AttrSet.cpp
+
+
+Go to the documentation of this file.
+
2
+
3using namespace nixd;
+
4using namespace llvm::json;
+
5
+
+ +
7 return Object{
+
8 {"Description", Params.Description},
+
9 {"Name", Params.Name},
+
10 };
+
11}
+
+
12
+
13bool nixd::fromJSON(const Value &Params, OptionType &R, Path P) {
+
14 ObjectMapper O(Params, P);
+
15 return O //
+
16 && O.mapOptional("Description", R.Description) //
+
17 && O.mapOptional("Name", R.Name);
+
18}
+
19
+
+ +
21 return Object{
+
22 {"Description", Params.Description},
+
23 {"Declarations", Params.Declarations},
+
24 {"Definitions", Params.Definitions},
+
25 {"Example", Params.Example},
+
26 {"Type", Params.Type},
+
27 };
+
28}
+
+
29bool nixd::fromJSON(const Value &Params, OptionDescription &R, Path P) {
+
30 ObjectMapper O(Params, P);
+
31 return O //
+
32 && O.mapOptional("Description", R.Description) //
+
33 && O.mapOptional("Declarations", R.Declarations) //
+
34 && O.mapOptional("Definitions", R.Definitions) //
+
35 && O.mapOptional("Example", R.Example) //
+
36 && O.mapOptional("Type", R.Type) //
+
37 ;
+
38}
+
39
+
+ +
41 return Object{
+
42 {"Name", Params.Name},
+
43 {"Description", Params.Description},
+
44 };
+
45}
+
+
46bool nixd::fromJSON(const Value &Params, OptionField &R, Path P) {
+
47 ObjectMapper O(Params, P);
+
48 return O //
+
49 && O.mapOptional("Description", R.Description) //
+
50 && O.mapOptional("Name", R.Name) //
+
51 ;
+
52}
+
53
+
+ +
55 return Object{
+
56 {"Name", Params.Name},
+
57 {"PName", Params.PName},
+
58 {"Version", Params.Version},
+
59 {"Description", Params.Description},
+
60 {"LongDescription", Params.LongDescription},
+
61 {"Position", Params.Position},
+
62 {"Homepage", Params.Homepage},
+
63 };
+
64}
+
+
65
+
+
66bool nixd::fromJSON(const llvm::json::Value &Params, PackageDescription &R,
+
67 llvm::json::Path P) {
+
68 ObjectMapper O(Params, P);
+
69 return O //
+
70 && O.map("Name", R.Name) //
+
71 && O.map("PName", R.PName) //
+
72 && O.map("Version", R.Version) //
+
73 && O.map("Description", R.Description) //
+
74 && O.map("LongDescription", R.LongDescription) //
+
75 && O.map("Position", R.Position) //
+
76 && O.map("Homepage", R.Homepage) //
+
77 ;
+
78}
+
+
79
+
+ +
81 return Object{
+
82 {"Type", Params.Type},
+
83 {"Location", Params.Location},
+
84 };
+
85}
+
+
86
+
+
87bool nixd::fromJSON(const llvm::json::Value &Params, ValueMeta &R,
+
88 llvm::json::Path P) {
+
89 ObjectMapper O(Params, P);
+
90 return O //
+
91 && O.map("Type", R.Type) //
+
92 && O.mapOptional("Location", R.Location) //
+
93 ;
+
94}
+
+
95
+
+ +
97 return Object{
+
98 {"Meta", Params.Meta},
+
99 {"PackageDesc", Params.PackageDesc},
+
100 };
+
101}
+
+
102
+
+
103bool nixd::fromJSON(const llvm::json::Value &Params, AttrPathInfoResponse &R,
+
104 llvm::json::Path P) {
+
105 ObjectMapper O(Params, P);
+
106 return O //
+
107 && O.map("Meta", R.Meta) //
+
108 && O.mapOptional("PackageDesc", R.PackageDesc) //
+
109 ;
+
110}
+
+
111
+
+ +
113 return Object{{"Scope", Params.Scope}, {"Prefix", Params.Prefix}};
+
114}
+
+
+
115bool nixd::fromJSON(const llvm::json::Value &Params, AttrPathCompleteParams &R,
+
116 llvm::json::Path P) {
+
117 ObjectMapper O(Params, P);
+
118 return O //
+
119 && O.map("Scope", R.Scope) //
+
120 && O.map("Prefix", R.Prefix) //
+
121 ;
+
122}
+
+
Types used in nixpkgs provider.
+
std::string Path
Definition Path.h:24
+ + +
bool fromJSON(const llvm::json::Value &Params, Configuration::Diagnostic &R, llvm::json::Path P)
+
llvm::json::Value toJSON(const PackageDescription &Params)
Definition AttrSet.cpp:54
+ + +
std::string Prefix
Search for packages prefixed with this "prefix".
Definition AttrSet.h:96
+ +
ValueMeta Meta
General value description.
Definition AttrSet.h:83
+
PackageDescription PackageDesc
Package description of the attribute path, if available.
Definition AttrSet.h:86
+ +
std::vector< lspserver::Location > Definitions
Definition AttrSet.h:117
+
std::optional< std::string > Description
Definition AttrSet.h:115
+
std::optional< std::string > Example
Definition AttrSet.h:118
+
std::optional< OptionType > Type
Definition AttrSet.h:119
+
std::vector< lspserver::Location > Declarations
Definition AttrSet.h:116
+ +
std::optional< OptionDescription > Description
Definition AttrSet.h:128
+
std::string Name
Definition AttrSet.h:127
+ +
std::optional< std::string > Description
Definition AttrSet.h:106
+
std::optional< std::string > Name
Definition AttrSet.h:107
+ +
std::optional< std::string > Name
Definition AttrSet.h:50
+
std::optional< std::string > Version
Definition AttrSet.h:52
+
std::optional< std::string > PName
Definition AttrSet.h:51
+
std::optional< std::string > Description
Definition AttrSet.h:53
+
std::optional< std::string > LongDescription
Definition AttrSet.h:54
+
std::optional< std::string > Position
Definition AttrSet.h:55
+
std::optional< std::string > Homepage
Definition AttrSet.h:56
+
General metadata of all nix::Values.
Definition AttrSet.h:64
+
std::optional< lspserver::Location > Location
Location of the value.
Definition AttrSet.h:74
+
int Type
Type of this value.
Definition AttrSet.h:66
+
+ + + + diff --git a/AttrSet_8h.html b/AttrSet_8h.html new file mode 100644 index 000000000..735e6425c --- /dev/null +++ b/AttrSet_8h.html @@ -0,0 +1,202 @@ + + + + + + + +nixd: AttrSet.h File Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
AttrSet.h File Reference
+
+
+ +

Types used in nixpkgs provider. +More...

+
#include <optional>
+#include <string>
+#include <vector>
+#include <llvm/Support/JSON.h>
+#include <lspserver/Protocol.h>
+#include <nix/value.hh>
+
+

Go to the source code of this file.

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

+Classes

struct  nixd::PackageDescription
 
struct  nixd::ValueMeta
 General metadata of all nix::Values. More...
 
struct  nixd::AttrPathInfoResponse
 
struct  nixd::AttrPathCompleteParams
 
struct  nixd::OptionType
 
struct  nixd::OptionDescription
 
struct  nixd::OptionField
 
+ + + + + +

+Namespaces

namespace  nixd
 
namespace  nixd::rpcMethod
 
+ + + + + + + + + + + + + + + + + + + + +

+Typedefs

using nixd::EvalExprParams = std::string
 
using nixd::EvalExprResponse = std::optional<std::string>
 
using nixd::Selector = std::vector<std::string>
 A list of strings that "select"s into a attribute set.
 
using nixd::PackageInfoParams = Selector
 
using nixd::OptionInfoParams = Selector
 
using nixd::AttrPathInfoParams = Selector
 
using nixd::AttrPathCompleteResponse = std::vector<std::string>
 
using nixd::OptionInfoResponse = OptionDescription
 
using nixd::OptionCompleteResponse = std::vector<OptionField>
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

llvm::json::Value nixd::toJSON (const PackageDescription &Params)
 
bool nixd::fromJSON (const llvm::json::Value &Params, PackageDescription &R, llvm::json::Path P)
 
llvm::json::Value nixd::toJSON (const ValueMeta &Params)
 
bool nixd::fromJSON (const llvm::json::Value &Params, ValueMeta &R, llvm::json::Path P)
 
llvm::json::Value nixd::toJSON (const AttrPathInfoResponse &Params)
 
bool nixd::fromJSON (const llvm::json::Value &Params, AttrPathInfoResponse &R, llvm::json::Path P)
 
llvm::json::Value nixd::toJSON (const AttrPathCompleteParams &Params)
 
bool nixd::fromJSON (const llvm::json::Value &Params, AttrPathCompleteParams &R, llvm::json::Path P)
 
llvm::json::Value nixd::toJSON (const OptionType &Params)
 
bool nixd::fromJSON (const llvm::json::Value &Params, OptionType &R, llvm::json::Path P)
 
llvm::json::Value nixd::toJSON (const OptionDescription &Params)
 
bool nixd::fromJSON (const llvm::json::Value &Params, OptionDescription &R, llvm::json::Path P)
 
llvm::json::Value nixd::toJSON (const OptionField &Params)
 
bool nixd::fromJSON (const llvm::json::Value &Params, OptionField &R, llvm::json::Path P)
 
+ + + + + + + + + + + + + +

+Variables

constexpr std::string_view nixd::rpcMethod::EvalExpr = "attrset/evalExpr"
 
constexpr std::string_view nixd::rpcMethod::AttrPathInfo = "attrset/attrpathInfo"
 
constexpr std::string_view nixd::rpcMethod::AttrPathComplete = "attrset/attrpathComplete"
 
constexpr std::string_view nixd::rpcMethod::OptionInfo = "attrset/optionInfo"
 
constexpr std::string_view nixd::rpcMethod::OptionComplete = "attrset/optionComplete"
 
constexpr std::string_view nixd::rpcMethod::Exit = "exit"
 
+

Detailed Description

+

Types used in nixpkgs provider.

+ +

Definition in file AttrSet.h.

+
+ + + + diff --git a/AttrSet_8h_source.html b/AttrSet_8h_source.html new file mode 100644 index 000000000..592d1a4fd --- /dev/null +++ b/AttrSet_8h_source.html @@ -0,0 +1,294 @@ + + + + + + + +nixd: AttrSet.h Source File + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
AttrSet.h
+
+
+Go to the documentation of this file.
1/// \file
+
2/// \brief Types used in nixpkgs provider.
+
3
+
4#pragma once
+
5
+
6#include <optional>
+
7#include <string>
+
8#include <vector>
+
9
+
10#include <llvm/Support/JSON.h>
+
11#include <lspserver/Protocol.h>
+
12
+
13// https://github.com/NixOS/nix/issues/11136
+
14#ifdef __clang__
+
15#pragma clang diagnostic push
+
16#pragma clang diagnostic ignored "-Wdocumentation"
+
17#endif
+
18
+
19#include <nix/value.hh>
+
20
+
21#ifdef __clang__
+
22#pragma clang diagnostic pop
+
23#endif
+
24
+
25namespace nixd {
+
26
+
+
27namespace rpcMethod {
+
28
+
29constexpr inline std::string_view EvalExpr = "attrset/evalExpr";
+
30constexpr inline std::string_view AttrPathInfo = "attrset/attrpathInfo";
+
31constexpr inline std::string_view AttrPathComplete = "attrset/attrpathComplete";
+
32constexpr inline std::string_view OptionInfo = "attrset/optionInfo";
+
33constexpr inline std::string_view OptionComplete = "attrset/optionComplete";
+
34constexpr inline std::string_view Exit = "exit";
+
35
+
36} // namespace rpcMethod
+
+
37
+
38using EvalExprParams = std::string;
+
39using EvalExprResponse = std::optional<std::string>;
+
40
+
41/// \brief A list of strings that "select"s into a attribute set.
+
42using Selector = std::vector<std::string>;
+
43
+ + +
46
+ +
48
+
+ +
50 std::optional<std::string> Name;
+
51 std::optional<std::string> PName;
+
52 std::optional<std::string> Version;
+
53 std::optional<std::string> Description;
+
54 std::optional<std::string> LongDescription;
+
55 std::optional<std::string> Position;
+
56 std::optional<std::string> Homepage;
+
57};
+
+
58
+
59llvm::json::Value toJSON(const PackageDescription &Params);
+
60bool fromJSON(const llvm::json::Value &Params, PackageDescription &R,
+
61 llvm::json::Path P);
+
62
+
63/// \brief General metadata of all `nix::Value`s
+
+
64struct ValueMeta {
+
65 /// \brief Type of this value.
+
66 int Type;
+
67
+
68 /// \brief Location of the value.
+
69 ///
+
70 /// This presence of this value is determined by the nix evaluator.
+
71 /// In nix 2.19.x and later:
+
72 /// 1. It is available only for attribute sets and lambdas.
+
73 /// 2. There is no practical "range" information, only the starting point.
+
74 std::optional<lspserver::Location> Location;
+
75};
+
+
76
+
77llvm::json::Value toJSON(const ValueMeta &Params);
+
78bool fromJSON(const llvm::json::Value &Params, ValueMeta &R,
+
79 llvm::json::Path P);
+
80
+
+ +
82 /// \brief General value description
+ +
84
+
85 /// \brief Package description of the attribute path, if available.
+ +
87};
+
+
88
+
89llvm::json::Value toJSON(const AttrPathInfoResponse &Params);
+
90bool fromJSON(const llvm::json::Value &Params, AttrPathInfoResponse &R,
+
91 llvm::json::Path P);
+
92
+
+ + +
95 /// \brief Search for packages prefixed with this "prefix"
+
96 std::string Prefix;
+
97};
+
+
98
+
99llvm::json::Value toJSON(const AttrPathCompleteParams &Params);
+
100bool fromJSON(const llvm::json::Value &Params, AttrPathCompleteParams &R,
+
101 llvm::json::Path P);
+
102
+
103using AttrPathCompleteResponse = std::vector<std::string>;
+
104
+
+ +
106 std::optional<std::string> Description;
+
107 std::optional<std::string> Name;
+
108};
+
+
109
+
110llvm::json::Value toJSON(const OptionType &Params);
+
111bool fromJSON(const llvm::json::Value &Params, OptionType &R,
+
112 llvm::json::Path P);
+
113
+
+ +
115 std::optional<std::string> Description;
+
116 std::vector<lspserver::Location> Declarations;
+
117 std::vector<lspserver::Location> Definitions;
+
118 std::optional<std::string> Example;
+
119 std::optional<OptionType> Type;
+
120};
+
+
121
+
122llvm::json::Value toJSON(const OptionDescription &Params);
+
123bool fromJSON(const llvm::json::Value &Params, OptionDescription &R,
+
124 llvm::json::Path P);
+
125
+
+ +
127 std::string Name;
+
128 std::optional<OptionDescription> Description;
+
129};
+
+
130
+
131llvm::json::Value toJSON(const OptionField &Params);
+
132bool fromJSON(const llvm::json::Value &Params, OptionField &R,
+
133 llvm::json::Path P);
+
134
+ +
136
+
137using OptionCompleteResponse = std::vector<OptionField>;
+
138
+
139} // namespace nixd
+ +
constexpr std::string_view Exit
Definition AttrSet.h:34
+
constexpr std::string_view EvalExpr
Definition AttrSet.h:29
+
constexpr std::string_view OptionInfo
Definition AttrSet.h:32
+
constexpr std::string_view AttrPathInfo
Definition AttrSet.h:30
+
constexpr std::string_view OptionComplete
Definition AttrSet.h:33
+
constexpr std::string_view AttrPathComplete
Definition AttrSet.h:31
+ +
std::string EvalExprParams
Definition AttrSet.h:38
+
bool fromJSON(const llvm::json::Value &Params, Configuration::Diagnostic &R, llvm::json::Path P)
+
llvm::json::Value toJSON(const PackageDescription &Params)
Definition AttrSet.cpp:54
+
std::vector< std::string > AttrPathCompleteResponse
Definition AttrSet.h:103
+
Selector PackageInfoParams
Definition AttrSet.h:44
+
std::vector< std::string > Selector
A list of strings that "select"s into a attribute set.
Definition AttrSet.h:42
+
Selector AttrPathInfoParams
Definition AttrSet.h:47
+
std::vector< OptionField > OptionCompleteResponse
Definition AttrSet.h:137
+
Selector OptionInfoParams
Definition AttrSet.h:45
+
std::optional< std::string > EvalExprResponse
Definition AttrSet.h:39
+ + +
std::string Prefix
Search for packages prefixed with this "prefix".
Definition AttrSet.h:96
+ +
ValueMeta Meta
General value description.
Definition AttrSet.h:83
+
PackageDescription PackageDesc
Package description of the attribute path, if available.
Definition AttrSet.h:86
+ +
std::vector< lspserver::Location > Definitions
Definition AttrSet.h:117
+
std::optional< std::string > Description
Definition AttrSet.h:115
+
std::optional< std::string > Example
Definition AttrSet.h:118
+
std::optional< OptionType > Type
Definition AttrSet.h:119
+
std::vector< lspserver::Location > Declarations
Definition AttrSet.h:116
+ +
std::optional< OptionDescription > Description
Definition AttrSet.h:128
+
std::string Name
Definition AttrSet.h:127
+ +
std::optional< std::string > Description
Definition AttrSet.h:106
+
std::optional< std::string > Name
Definition AttrSet.h:107
+ +
std::optional< std::string > Name
Definition AttrSet.h:50
+
std::optional< std::string > Version
Definition AttrSet.h:52
+
std::optional< std::string > PName
Definition AttrSet.h:51
+
std::optional< std::string > Description
Definition AttrSet.h:53
+
std::optional< std::string > LongDescription
Definition AttrSet.h:54
+
std::optional< std::string > Position
Definition AttrSet.h:55
+
std::optional< std::string > Homepage
Definition AttrSet.h:56
+
General metadata of all nix::Values.
Definition AttrSet.h:64
+
std::optional< lspserver::Location > Location
Location of the value.
Definition AttrSet.h:74
+
int Type
Type of this value.
Definition AttrSet.h:66
+
+ + + + 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..fece7e22d --- /dev/null +++ b/Attrs_8h_source.html @@ -0,0 +1,529 @@ + + + + + + + +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 const AttrNameKind Kind;
+
16 const std::shared_ptr<Identifier> ID;
+
17 const std::shared_ptr<ExprString> String;
+
18 const 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), ID(std::move(ID)) {
+
25 assert(this->ID && "ID must not be null");
+
26 }
+
+
27
+
+
28 AttrName(std::shared_ptr<ExprString> String)
+
29 : Node(NK_AttrName, String->range()), Kind(ANK_String),
+
30 String(std::move(String)) {
+
31 assert(this->String && "String must not be null");
+
32 }
+
+
33
+
+
34 AttrName(std::shared_ptr<Interpolation> Interp)
+
35 : Node(NK_AttrName, Interp->range()), Kind(ANK_Interpolation),
+
36 Interp(std::move(Interp)) {
+
37 assert(this->Interp && "Interpolation must not be null");
+
38 }
+
+
39
+
+
40 [[nodiscard]] bool isStatic() const {
+
41 if (Kind == ANK_ID)
+
42 return true;
+
43 if (Kind == ANK_Interpolation)
+
44 return false;
+
45
+
46 assert(Kind == ANK_String);
+
47 return string().isLiteral();
+
48 }
+
+
49
+
+
50 [[nodiscard]] const std::string &staticName() const {
+
51 assert(isStatic() && "must be static");
+
52 if (Kind == ANK_ID)
+
53 return id()->name();
+
54 assert(Kind == ANK_String);
+
55 return string().literal();
+
56 }
+
+
57
+
+
58 [[nodiscard]] const Interpolation &interpolation() const {
+
59 assert(Kind == ANK_Interpolation);
+
60 assert(Interp && "Interpolation must not be null");
+
61 return *Interp;
+
62 }
+
+
63
+
+
64 [[nodiscard]] const std::shared_ptr<Identifier> &id() const {
+
65 assert(Kind == ANK_ID);
+
66 return ID;
+
67 }
+
+
68
+
+
69 [[nodiscard]] const ExprString &string() const {
+
70 assert(Kind == ANK_String);
+
71 assert(String && "String must not be null");
+
72 return *String;
+
73 }
+
+
74
+
+
75 [[nodiscard]] ChildVector children() const override {
+
76 switch (Kind) {
+
77 case ANK_ID:
+
78 return {ID.get()};
+
79 case ANK_String:
+
80 return {String.get()};
+ +
82 return {Interp.get()};
+
83 default:
+
84 assert(false && "invalid AttrNameKind");
+
85 }
+
86 __builtin_unreachable();
+
87 }
+
+
88};
+
+
89
+
+
90class AttrPath : public Node {
+
91 const std::vector<std::shared_ptr<AttrName>> Names;
+
92 const std::vector<std::shared_ptr<Dot>> Dots;
+
93
+
94public:
+
+
95 AttrPath(LexerCursorRange Range, std::vector<std::shared_ptr<AttrName>> Names,
+
96 std::vector<std::shared_ptr<Dot>> Dots)
+
97 : Node(NK_AttrPath, Range), Names(std::move(Names)),
+
98 Dots(std::move(Dots)) {}
+
+
99
+
+
100 [[nodiscard]] const std::vector<std::shared_ptr<AttrName>> &names() const {
+
101 return Names;
+
102 }
+
+
103
+
+
104 [[nodiscard]] ChildVector children() const override {
+
105 ChildVector Children;
+
106 Children.reserve(Names.size() + Dots.size());
+
107 for (const auto &Name : Names)
+
108 Children.push_back(Name.get());
+
109 for (const auto &Dot : Dots)
+
110 Children.emplace_back(Dot.get());
+
111 return Children;
+
112 }
+
+
113};
+
+
114
+
+
115class Binding : public Node {
+
116 const std::shared_ptr<AttrPath> Path;
+
117 const std::shared_ptr<Expr> Value;
+
118
+
119public:
+
+
120 Binding(LexerCursorRange Range, std::shared_ptr<AttrPath> Path,
+
121 std::shared_ptr<Expr> Value)
+
122 : Node(NK_Binding, Range), Path(std::move(Path)),
+
123 Value(std::move(Value)) {
+
124 assert(this->Path && "Path must not be null");
+
125 // Value can be null, if missing in the syntax.
+
126 }
+
+
127
+
+
128 [[nodiscard]] const AttrPath &path() const {
+
129 assert(Path && "Path must not be null");
+
130 return *Path;
+
131 }
+
+
132
+
133 [[nodiscard]] const std::shared_ptr<Expr> &value() const { return Value; }
+
134
+
+
135 [[nodiscard]] ChildVector children() const override {
+
136 return {Path.get(), Value.get()};
+
137 }
+
+
138};
+
+
139
+
+
140class Inherit : public Node {
+
141 const std::vector<std::shared_ptr<AttrName>> Names;
+
142 const std::shared_ptr<Expr> E;
+
143
+
144public:
+
+
145 Inherit(LexerCursorRange Range, std::vector<std::shared_ptr<AttrName>> Names,
+
146 std::shared_ptr<Expr> E)
+
147 : Node(NK_Inherit, Range), Names(std::move(Names)), E(std::move(E)) {}
+
+
148
+
+
149 [[nodiscard]] const std::vector<std::shared_ptr<AttrName>> &names() const {
+
150 return Names;
+
151 }
+
+
152
+
153 [[nodiscard]] bool hasExpr() { return E != nullptr; }
+
154
+
155 [[nodiscard]] const std::shared_ptr<Expr> &expr() const { return E; }
+
156
+
+
157 [[nodiscard]] ChildVector children() const override {
+
158 ChildVector Children;
+
159 Children.reserve(Names.size() + 1);
+
160 for (const auto &Name : Names) {
+
161 Children.push_back(Name.get());
+
162 }
+
163 Children.push_back(E.get());
+
164 return Children;
+
165 }
+
+
166};
+
+
167
+
+
168class Binds : public Node {
+
169 const std::vector<std::shared_ptr<Node>> Bindings;
+
170
+
171public:
+
+
172 Binds(LexerCursorRange Range, std::vector<std::shared_ptr<Node>> Bindings)
+
173 : Node(NK_Binds, Range), Bindings(std::move(Bindings)) {}
+
+
174
+
+
175 [[nodiscard]] const std::vector<std::shared_ptr<Node>> &bindings() const {
+
176 return Bindings;
+
177 }
+
+
178
+
+
179 [[nodiscard]] ChildVector children() const override {
+
180 ChildVector Children;
+
181 Children.reserve(Bindings.size());
+
182 for (const auto &Binding : Bindings) {
+
183 Children.push_back(Binding.get());
+
184 }
+
185 return Children;
+
186 }
+
+
187};
+
+
188
+
+ +
190public:
+
+
191 enum class AttributeKind {
+
192 /// a = b;
+
193 Plain,
+
194 /// inherit a b c;
+
195 Inherit,
+
196 /// inherit (expr) a b c
+ +
198 };
+
+
199
+
200private:
+
201 const std::shared_ptr<Node> Key;
+
202 const std::shared_ptr<Expr> Value;
+
203 AttributeKind Kind;
+
204
+
205public:
+
+
206 Attribute(std::shared_ptr<Node> Key, std::shared_ptr<Expr> Value,
+
207 AttributeKind Kind)
+
208 : Key(std::move(Key)), Value(std::move(Value)), Kind(Kind) {
+
209 assert(this->Key && "Key must not be null");
+
210 }
+
+
211
+
212 [[nodiscard]] Node &key() const { return *Key; }
+
213
+
214 [[nodiscard]] Expr *value() const { return Value.get(); }
+
215
+
216 [[nodiscard]] AttributeKind kind() const { return Kind; }
+
217
+
+
218 [[nodiscard]] bool fromInherit() const {
+
219 return Kind == AttributeKind::InheritFrom || Kind == AttributeKind::Inherit;
+
220 }
+
+
221};
+
+
222
+
223/// \brief Attribute set after deduplication.
+
224///
+
225/// Represeting the attribute set suitable for variable lookups, evaluation.
+
226///
+
227/// The attrset cannot have duplicate keys, and keys will be desugared to strict
+
228/// K-V form.
+
229///
+
230/// e.g. `{ a.b.c = 1 }` -> `{ a = { b = { c = 1; }; }; }`
+
+ +
232private:
+
233 // These fields are in-complete during semantic analysis.
+
234 // So they explicitly marked as mutable
+
235 /*mutable*/ std::map<std::string, Attribute> Static;
+
236 /*mutable*/ std::vector<Attribute> Dynamic;
+
237
+
238 const Misc *Recursive;
+
239
+
240 friend class Sema;
+
241
+
242public:
+
243 SemaAttrs(Misc *Recursive) : Recursive(Recursive) {}
+
+
244 SemaAttrs(std::map<std::string, Attribute> Static,
+
245 std::vector<Attribute> Dynamic, Misc *Recursive)
+
246 : Static(std::move(Static)), Dynamic(std::move(Dynamic)),
+
247 Recursive(Recursive) {}
+
+
248
+
249 /// \brief Static attributes, do not require evaluation to get the key.
+
250 ///
+
251 /// e.g. `{ a = 1; b = 2; }`
+
+
252 [[nodiscard]] const std::map<std::string, Attribute> &staticAttrs() const {
+
253 return Static;
+
254 }
+
+
255
+
256 /// \brief Dynamic attributes, require evaluation to get the key.
+
257 ///
+
258 /// e.g. `{ "${asdasda}" = "asdasd"; }`
+
+
259 [[nodiscard]] const std::vector<Attribute> &dynamicAttrs() const {
+
260 return Dynamic;
+
261 }
+
+
262
+
263 /// \brief If the attribute set is `rec`.
+
264 [[nodiscard]] bool isRecursive() const { return Recursive; }
+
265};
+
+
266
+
+
267class ExprAttrs : public Expr {
+
268 const std::shared_ptr<Binds> Body;
+
269 const std::shared_ptr<Misc> Rec;
+
270 SemaAttrs SA; // Let this mutable for "Sema" class only.
+
271 friend class Sema;
+
272
+
273public:
+
+
274 ExprAttrs(LexerCursorRange Range, std::shared_ptr<Binds> Body,
+
275 std::shared_ptr<Misc> Rec, SemaAttrs SA)
+
276 : Expr(NK_ExprAttrs, Range), Body(std::move(Body)), Rec(std::move(Rec)),
+
277 SA(std::move(SA)) {}
+
+
278
+
279 [[nodiscard]] const Binds *binds() const { return Body.get(); }
+
280 [[nodiscard]] const Misc *rec() const { return Rec.get(); }
+
281
+
282 [[nodiscard]] bool isRecursive() const { return Rec != nullptr; }
+
283
+
284 [[nodiscard]] const SemaAttrs &sema() const { return SA; }
+
285
+
+
286 [[nodiscard]] ChildVector children() const override {
+
287 return {Body.get(), Rec.get()};
+
288 }
+
+
289};
+
+
290
+
291} // namespace nixf
+ + + +
const std::string & staticName() const
Definition Attrs.h:50
+
AttrName(std::shared_ptr< Interpolation > Interp)
Definition Attrs.h:34
+
const std::shared_ptr< Identifier > & id() const
Definition Attrs.h:64
+
AttrName(std::shared_ptr< ExprString > String)
Definition Attrs.h:28
+
AttrNameKind kind() const
Definition Attrs.h:21
+
const ExprString & string() const
Definition Attrs.h:69
+
bool isStatic() const
Definition Attrs.h:40
+
const Interpolation & interpolation() const
Definition Attrs.h:58
+
ChildVector children() const override
Definition Attrs.h:75
+ +
@ ANK_Interpolation
Definition Attrs.h:12
+ + +
AttrName(std::shared_ptr< Identifier > ID, LexerCursorRange Range)
Definition Attrs.h:23
+ +
AttrPath(LexerCursorRange Range, std::vector< std::shared_ptr< AttrName > > Names, std::vector< std::shared_ptr< Dot > > Dots)
Definition Attrs.h:95
+
ChildVector children() const override
Definition Attrs.h:104
+
const std::vector< std::shared_ptr< AttrName > > & names() const
Definition Attrs.h:100
+ +
Node & key() const
Definition Attrs.h:212
+
Expr * value() const
Definition Attrs.h:214
+
AttributeKind kind() const
Definition Attrs.h:216
+
bool fromInherit() const
Definition Attrs.h:218
+ +
@ InheritFrom
inherit (expr) a b c
+ + +
Attribute(std::shared_ptr< Node > Key, std::shared_ptr< Expr > Value, AttributeKind Kind)
Definition Attrs.h:206
+ +
const AttrPath & path() const
Definition Attrs.h:128
+
Binding(LexerCursorRange Range, std::shared_ptr< AttrPath > Path, std::shared_ptr< Expr > Value)
Definition Attrs.h:120
+
ChildVector children() const override
Definition Attrs.h:135
+
const std::shared_ptr< Expr > & value() const
Definition Attrs.h:133
+ +
ChildVector children() const override
Definition Attrs.h:179
+
Binds(LexerCursorRange Range, std::vector< std::shared_ptr< Node > > Bindings)
Definition Attrs.h:172
+
const std::vector< std::shared_ptr< Node > > & bindings() const
Definition Attrs.h:175
+
Holds a "." in the language.
Definition Basic.h:126
+ +
bool isRecursive() const
Definition Attrs.h:282
+
ChildVector children() const override
Definition Attrs.h:286
+
const SemaAttrs & sema() const
Definition Attrs.h:284
+
const Misc * rec() const
Definition Attrs.h:280
+
ExprAttrs(LexerCursorRange Range, std::shared_ptr< Binds > Body, std::shared_ptr< Misc > Rec, SemaAttrs SA)
Definition Attrs.h:274
+
const Binds * binds() const
Definition Attrs.h:279
+ +
bool isLiteral() const
Definition Simple.h:130
+
const std::string & literal() const
Definition Simple.h:135
+ + +
const std::shared_ptr< Expr > & expr() const
Definition Attrs.h:155
+
const std::vector< std::shared_ptr< AttrName > > & names() const
Definition Attrs.h:149
+
ChildVector children() const override
Definition Attrs.h:157
+
bool hasExpr()
Definition Attrs.h:153
+
Inherit(LexerCursorRange Range, std::vector< std::shared_ptr< AttrName > > Names, std::shared_ptr< Expr > E)
Definition Attrs.h:145
+
${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:231
+
SemaAttrs(std::map< std::string, Attribute > Static, std::vector< Attribute > Dynamic, Misc *Recursive)
Definition Attrs.h:244
+
SemaAttrs(Misc *Recursive)
Definition Attrs.h:243
+
bool isRecursive() const
If the attribute set is rec.
Definition Attrs.h:264
+
const std::vector< Attribute > & dynamicAttrs() const
Dynamic attributes, require evaluation to get the key.
Definition Attrs.h:259
+
const std::map< std::string, Attribute > & staticAttrs() const
Static attributes, do not require evaluation to get the key.
Definition Attrs.h:252
+ + +
+ + + + diff --git a/AutoCloseFD_8cpp.html b/AutoCloseFD_8cpp.html new file mode 100644 index 000000000..9f9a97dca --- /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/Support/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..d9c2e7a72 --- /dev/null +++ b/AutoCloseFD_8cpp_source.html @@ -0,0 +1,132 @@ + + + + + + + +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
+
+ +
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:8
+ + + + + + + +
bool fromJSON(const llvm::json::Value &Params, Configuration::Diagnostic &R, llvm::json::Path P)
+
+ + + + diff --git a/AutoCloseFD_8h.html b/AutoCloseFD_8h.html new file mode 100644 index 000000000..115d9825c --- /dev/null +++ b/AutoCloseFD_8h.html @@ -0,0 +1,107 @@ + + + + + + + +nixd: AutoCloseFD.h File Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
AutoCloseFD.h File Reference
+
+
+
#include <cerrno>
+
+

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..dcd473177 --- /dev/null +++ b/AutoCloseFD_8h_source.html @@ -0,0 +1,135 @@ + + + + + + + +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
+
+
5namespace nixd::util {
+
6
+
7/// \brief File Descriptor RAII wrapper
+
+ +
9public:
+
10 using FDTy = int;
+
11
+
12private:
+
13 static constexpr FDTy ReleasedFD = -EBADF;
+
14 FDTy FD;
+
15
+
16public:
+
17 AutoCloseFD(FDTy FD);
+
18 AutoCloseFD(const AutoCloseFD &) = delete;
+
19 AutoCloseFD(AutoCloseFD &&That) noexcept;
+
20
+
21 [[nodiscard]] bool isReleased() const;
+
22 static bool isReleased(FDTy FD);
+
23
+ +
25
+
26 [[nodiscard]] FDTy get() const;
+
27 void release();
+
28};
+
+
29
+
30} // namespace nixd::util
+
+
File Descriptor RAII wrapper.
Definition AutoCloseFD.h:8
+ +
AutoCloseFD(const AutoCloseFD &)=delete
+ + + + + + +
+ + + + diff --git a/AutoRemoveShm_8cpp.html b/AutoRemoveShm_8cpp.html new file mode 100644 index 000000000..3282d9bd0 --- /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..b3d7cd67e --- /dev/null +++ b/AutoRemoveShm_8cpp_source.html @@ -0,0 +1,112 @@ + + + + + + + +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)
+ +
bool fromJSON(const llvm::json::Value &Params, Configuration::Diagnostic &R, llvm::json::Path P)
+
+ + + + diff --git a/AutoRemoveShm_8h.html b/AutoRemoveShm_8h.html new file mode 100644 index 000000000..136203c6d --- /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..af41c7b4f --- /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..29dbe7186 --- /dev/null +++ b/Basic_8h.html @@ -0,0 +1,166 @@ + + + + + + + +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...
 
class  nixf::Dot
 Holds a "." in the language. 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..7e315f1af --- /dev/null +++ b/Basic_8h_source.html @@ -0,0 +1,311 @@ + + + + + + + +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 const std::string Name;
+
116
+
117public:
+
+
118 Identifier(LexerCursorRange Range, std::string Name)
+
119 : Node(NK_Identifier, 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/// \brief Holds a "." in the language.
+
+
126class Dot : public Node {
+
127 const Node *Prev;
+
128 const Node *Next;
+
129
+
130public:
+
+
131 Dot(LexerCursorRange Range, const Node *Prev, const Node *Next)
+
132 : Node(NK_Dot, Range), Prev(Prev), Next(Next) {
+
133 assert(Prev);
+
134 }
+
+
135
+
136 [[nodiscard]] ChildVector children() const override { return {}; }
+
137
+
+
138 [[nodiscard]] const Node &prev() const {
+
139 assert(Prev);
+
140 return *Prev;
+
141 }
+
+
142 [[nodiscard]] const Node *next() const { return Next; }
+
143};
+
+
144
+
145} // namespace nixf
+ + +
Holds a "." in the language.
Definition Basic.h:126
+
ChildVector children() const override
Definition Basic.h:136
+
const Node & prev() const
Definition Basic.h:138
+
Dot(LexerCursorRange Range, const Node *Prev, const Node *Next)
Definition Basic.h:131
+
const Node * next() const
Definition Basic.h:142
+ +
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/BinOps_8inc.html b/BinOps_8inc.html new file mode 100644 index 000000000..974ba51b4 --- /dev/null +++ b/BinOps_8inc.html @@ -0,0 +1,89 @@ + + + + + + + +nixd: BinOps.inc File Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
BinOps.inc File Reference
+
+
+ +

Go to the source code of this file.

+
+ + + + diff --git a/BinOps_8inc_source.html b/BinOps_8inc_source.html new file mode 100644 index 000000000..533b9ea30 --- /dev/null +++ b/BinOps_8inc_source.html @@ -0,0 +1,103 @@ + + + + + + + +nixd: BinOps.inc Source File + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
BinOps.inc
+
+
+Go to the documentation of this file.
1#ifdef BinOp
+
2
+
3BinOp(OpEq, "==")
+
4BinOp(OpNEq, "!=")
+
5BinOp(OpAnd, "&&")
+
6BinOp(OpOr, "||")
+
7BinOp(OpImpl, "->")
+
8BinOp(OpUpdate, "//")
+
9BinOp(OpConcatLists, "++")
+
10
+
11#endif // BinOp
+
+ + + + diff --git a/CodeAction_8cpp.html b/CodeAction_8cpp.html new file mode 100644 index 000000000..49b4f5418 --- /dev/null +++ b/CodeAction_8cpp.html @@ -0,0 +1,107 @@ + + + + + + + +nixd: CodeAction.cpp File Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
CodeAction.cpp File Reference
+
+
+ +

Implementation of Code Action. +More...

+
#include "Convert.h"
+#include "nixd/Controller/Controller.h"
+#include <boost/asio/post.hpp>
+
+

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..bf85b330e --- /dev/null +++ b/CodeAction_8cpp_source.html @@ -0,0 +1,177 @@ + + + + + + + +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 "Convert.h"
+
7
+ +
9
+
10#include <boost/asio/post.hpp>
+
11
+
12namespace nixd {
+
13
+
14using namespace llvm::json;
+
15using namespace lspserver;
+
16
+
17void Controller::onCodeAction(const lspserver::CodeActionParams &Params,
+
18 Callback<std::vector<CodeAction>> Reply) {
+
19 std::string File(Params.textDocument.uri.file());
+
20 Range Range = Params.range;
+
21 auto Action = [Reply = std::move(Reply), File, Range, this]() mutable {
+
22 if (auto TU = getTU(File, Reply)) {
+
23 std::vector<nixf::Diagnostic> Diagnostics = TU->diagnostics();
+
24 std::vector<CodeAction> Actions;
+
25 Actions.reserve(Diagnostics.size());
+
26 for (const nixf::Diagnostic &D : Diagnostics) {
+
27 auto DRange = toLSPRange(TU->src(), D.range());
+
28 if (!Range.overlap(DRange))
+
29 continue;
+
30
+
31 // Add fixes.
+
32 for (const nixf::Fix &F : D.fixes()) {
+
33 std::vector<TextEdit> Edits;
+
34 Edits.reserve(F.edits().size());
+
35 for (const nixf::TextEdit &TE : F.edits()) {
+
36 Edits.emplace_back(TextEdit{
+
37 .range = toLSPRange(TU->src(), TE.oldRange()),
+
38 .newText = std::string(TE.newText()),
+
39 });
+
40 }
+
41 using Changes = std::map<std::string, std::vector<TextEdit>>;
+
42 std::string FileURI = URIForFile::canonicalize(File, File).uri();
+
43 WorkspaceEdit WE{.changes = Changes{
+
44 {std::move(FileURI), std::move(Edits)},
+
45 }};
+
46 Actions.emplace_back(CodeAction{
+
47 .title = F.message(),
+
48 .kind = std::string(CodeAction::QUICKFIX_KIND),
+
49 .edit = std::move(WE),
+
50 });
+
51 }
+
52 }
+
53 Reply(std::move(Actions));
+
54 }
+
55 };
+
56 boost::asio::post(Pool, std::move(Action));
+
57}
+
58
+
59} // 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
+ + +
lspserver::Range toLSPRange(llvm::StringRef Code, const nixf::LexerCursorRange &R)
Definition Convert.cpp:40
+ +
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/CommandLine_2Configuration_8cpp.html b/CommandLine_2Configuration_8cpp.html new file mode 100644 index 000000000..5430c15ab --- /dev/null +++ b/CommandLine_2Configuration_8cpp.html @@ -0,0 +1,104 @@ + + + + + + + +nixd: Configuration.cpp File Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Configuration.cpp File Reference
+
+
+ +

This file implements CLI initialized configuration. +More...

+
#include "nixd/CommandLine/Configuration.h"
+#include "nixd/CommandLine/Options.h"
+#include "nixd/Controller/Configuration.h"
+#include "nixd/Support/JSON.h"
+#include "lspserver/Logger.h"
+#include <llvm/Support/CommandLine.h>
+#include <llvm/Support/JSON.h>
+#include <string>
+
+

Go to the source code of this file.

+

Detailed Description

+

This file implements CLI initialized configuration.

+ +

Definition in file CommandLine/Configuration.cpp.

+
+ + + + diff --git a/CommandLine_2Configuration_8cpp_source.html b/CommandLine_2Configuration_8cpp_source.html new file mode 100644 index 000000000..ec2bd07b0 --- /dev/null +++ b/CommandLine_2Configuration_8cpp_source.html @@ -0,0 +1,137 @@ + + + + + + + +nixd: Configuration.cpp Source File + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
CommandLine/Configuration.cpp
+
+
+Go to the documentation of this file.
1/// \file
+
2/// \brief This file implements CLI initialized configuration.
+
3
+ + + +
7#include "nixd/Support/JSON.h"
+
8
+
9#include "lspserver/Logger.h"
+
10
+
11#include <llvm/Support/CommandLine.h>
+
12#include <llvm/Support/JSON.h>
+
13
+
14#include <string>
+
15
+
16using namespace nixd;
+
17using namespace llvm::cl;
+
18
+
19namespace {
+
20
+
21opt<std::string> DefaultConfigJSON{"config",
+
22 desc("JSON-encoded initial configuration"),
+
23 init(""), cat(NixdCategory)};
+
24
+
25} // namespace
+
26
+
+ +
28 if (DefaultConfigJSON.empty())
+
29 return {};
+
30
+ +
32}
+
+
Allow default configuration being passed via CLI.
+
Declares workspace configuration schema.
+ + + + +
bool fromJSON(const llvm::json::Value &Params, Configuration::Diagnostic &R, llvm::json::Path P)
+
llvm::cl::OptionCategory NixdCategory
+
nixd::Configuration parseCLIConfig()
Parse the CLI flag and initialize the config nixd::DefaultConfig.
+
llvm::json::Value parse(llvm::StringRef JSON)
Definition JSON.cpp:5
+ +
+ + + + diff --git a/CommandLine_2Configuration_8h.html b/CommandLine_2Configuration_8h.html new file mode 100644 index 000000000..191119795 --- /dev/null +++ b/CommandLine_2Configuration_8h.html @@ -0,0 +1,113 @@ + + + + + + + +nixd: Configuration.h File Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
Configuration.h File Reference
+
+
+ +

Allow default configuration being passed via CLI. +More...

+
#include "nixd/Controller/Configuration.h"
+#include <exception>
+
+

Go to the source code of this file.

+ + + + +

+Namespaces

namespace  nixd
 
+ + + + +

+Functions

nixd::Configuration nixd::parseCLIConfig ()
 Parse the CLI flag and initialize the config nixd::DefaultConfig.
 
+

Detailed Description

+

Allow default configuration being passed via CLI.

+ +

Definition in file CommandLine/Configuration.h.

+
+ + + + diff --git a/CommandLine_2Configuration_8h_source.html b/CommandLine_2Configuration_8h_source.html new file mode 100644 index 000000000..82a84f5ea --- /dev/null +++ b/CommandLine_2Configuration_8h_source.html @@ -0,0 +1,112 @@ + + + + + + + +nixd: Configuration.h Source File + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
CommandLine/Configuration.h
+
+
+Go to the documentation of this file.
1/// \file
+
2/// \brief Allow default configuration being passed via CLI
+
3#pragma once
+
4
+ +
6
+
7#include <exception>
+
8
+
+
9namespace nixd {
+
10
+
11/// \brief Parse the CLI flag and initialize the config nixd::DefaultConfig
+ +
13
+
14} // namespace nixd
+
+
Declares workspace configuration schema.
+ +
nixd::Configuration parseCLIConfig()
Parse the CLI flag and initialize the config nixd::DefaultConfig.
+ +
+ + + + diff --git a/Completion_8cpp.html b/Completion_8cpp.html new file mode 100644 index 000000000..ceab38102 --- /dev/null +++ b/Completion_8cpp.html @@ -0,0 +1,165 @@ + + + + + + + +nixd: Completion.cpp File Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
Completion.cpp File Reference
+
+
+ +

Implementation of Code Completion. +More...

+
#include "AST.h"
+#include "Convert.h"
+#include "lspserver/Protocol.h"
+#include "nixd/Controller/Controller.h"
+#include "nixd/Protocol/AttrSet.h"
+#include <nixf/Sema/VariableLookup.h>
+#include <boost/asio/post.hpp>
+#include <exception>
+#include <semaphore>
+#include <set>
+#include <unordered_set>
+#include <utility>
+
+

Go to the source code of this file.

+ + + + + + + + +

+Macros

#define DBG   DBGPREFIX ": "
 
#define DBGPREFIX   "completion/var"
 
#define DBGPREFIX   "completion/select"
 
+

Detailed Description

+

Implementation of Code Completion.

+ +

Definition in file Completion.cpp.

+

Macro Definition Documentation

+ +

◆ DBG

+ +
+
+ + + + +
#define DBG   DBGPREFIX ": "
+
+ +

Definition at line 304 of file Completion.cpp.

+ +
+
+ +

◆ DBGPREFIX [1/2]

+ +
+
+ + + + +
#define DBGPREFIX   "completion/var"
+
+ +
+
+ +

◆ DBGPREFIX [2/2]

+ +
+
+ + + + +
#define DBGPREFIX   "completion/select"
+
+ +
+
+
+ + + + diff --git a/Completion_8cpp_source.html b/Completion_8cpp_source.html new file mode 100644 index 000000000..298ac821b --- /dev/null +++ b/Completion_8cpp_source.html @@ -0,0 +1,647 @@ + + + + + + + +nixd: Completion.cpp Source File + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Completion.cpp
+
+
+Go to the documentation of this file.
1/// \file
+
2/// \brief Implementation of [Code Completion].
+
3/// [Code Completion]:
+
4/// https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#textDocument_completion
+
5
+
6#include "AST.h"
+
7#include "Convert.h"
+
8
+ +
10
+ + +
13
+ +
15
+
16#include <boost/asio/post.hpp>
+
17
+
18#include <exception>
+
19#include <semaphore>
+
20#include <set>
+
21#include <unordered_set>
+
22#include <utility>
+
23
+
24using namespace nixd;
+
25using namespace lspserver;
+
26using namespace nixf;
+
27
+
28namespace {
+
29
+
30/// Set max completion size to this value, we don't want to send large lists
+
31/// because of slow IO.
+
32/// Items exceed this size should be marked "incomplete" and recomputed.
+
33constexpr int MaxCompletionSize = 30;
+
34
+
35CompletionItemKind OptionKind = CompletionItemKind::Constructor;
+
36CompletionItemKind OptionAttrKind = CompletionItemKind::Class;
+
37
+
38struct ExceedSizeError : std::exception {
+
39 [[nodiscard]] const char *what() const noexcept override {
+
40 return "Size exceeded";
+
41 }
+
42};
+
43
+
44void addItem(std::vector<CompletionItem> &Items, CompletionItem Item) {
+
45 if (Items.size() >= MaxCompletionSize) {
+
46 throw ExceedSizeError();
+
47 }
+
48 Items.emplace_back(std::move(Item));
+
49}
+
50
+
51class VLACompletionProvider {
+
52 const VariableLookupAnalysis &VLA;
+
53
+
54 static CompletionItemKind getCompletionItemKind(const Definition &Def) {
+
55 if (Def.isBuiltin()) {
+
56 return CompletionItemKind::Keyword;
+
57 }
+
58 return CompletionItemKind::Variable;
+
59 }
+
60
+
61 /// Collect definition on some env, and also it's ancestors.
+
62 void collectDef(std::vector<CompletionItem> &Items, const EnvNode *Env,
+
63 const std::string &Prefix) {
+
64 if (!Env)
+
65 return;
+
66 collectDef(Items, Env->parent(), Prefix);
+
67 for (const auto &[Name, Def] : Env->defs()) {
+
68 if (Name.starts_with(
+
69 "__")) // These names are nix internal implementation, skip.
+
70 continue;
+
71 assert(Def);
+
72 if (Name.starts_with(Prefix)) {
+
73 addItem(Items, CompletionItem{
+
74 .label = Name,
+
75 .kind = getCompletionItemKind(*Def),
+
76 });
+
77 }
+
78 }
+
79 }
+
80
+
81public:
+
82 VLACompletionProvider(const VariableLookupAnalysis &VLA) : VLA(VLA) {}
+
83
+
84 /// Perform code completion right after this node.
+
85 void complete(const nixf::ExprVar &Desc, std::vector<CompletionItem> &Items,
+
86 const ParentMapAnalysis &PM) {
+
87 std::string Prefix = Desc.id().name();
+
88 collectDef(Items, upEnv(Desc, VLA, PM), Prefix);
+
89 }
+
90};
+
91
+
92/// \brief Provide completions by IPC. Asking nixpkgs provider.
+
93/// We simply select nixpkgs in separate process, thus this value does not need
+
94/// to be cached. (It is already cached in separate process.)
+
95///
+
96/// Currently, this procedure is explicitly blocked (synchronized). Because
+
97/// query nixpkgs value is relatively fast. In the future there might be nixd
+
98/// index, for performance.
+
99class NixpkgsCompletionProvider {
+
100
+
101 AttrSetClient &NixpkgsClient;
+
102
+
103public:
+
104 NixpkgsCompletionProvider(AttrSetClient &NixpkgsClient)
+
105 : NixpkgsClient(NixpkgsClient) {}
+
106
+
107 void resolvePackage(std::vector<std::string> Scope, std::string Name,
+
108 CompletionItem &Item) {
+
109 std::binary_semaphore Ready(0);
+ +
111 auto OnReply = [&Ready, &Desc](llvm::Expected<AttrPathInfoResponse> Resp) {
+
112 if (Resp)
+
113 Desc = *Resp;
+
114 Ready.release();
+
115 };
+
116 Scope.emplace_back(std::move(Name));
+
117 NixpkgsClient.attrpathInfo(Scope, std::move(OnReply));
+
118 Ready.acquire();
+
119 // Format "detail" and document.
+
120 const PackageDescription &PD = Desc.PackageDesc;
+ +
122 .kind = MarkupKind::Markdown,
+
123 .value = PD.Description.value_or("") + "\n\n" +
+
124 PD.LongDescription.value_or(""),
+
125 };
+
126 Item.detail = PD.Version.value_or("?");
+
127 }
+
128
+
129 /// \brief Ask nixpkgs provider, give us a list of names. (thunks)
+
130 void completePackages(const AttrPathCompleteParams &Params,
+
131 std::vector<CompletionItem> &Items) {
+
132 std::binary_semaphore Ready(0);
+
133 std::vector<std::string> Names;
+
134 auto OnReply = [&Ready,
+
135 &Names](llvm::Expected<AttrPathCompleteResponse> Resp) {
+
136 if (!Resp) {
+
137 lspserver::elog("nixpkgs evaluator reported: {0}", Resp.takeError());
+
138 Ready.release();
+
139 return;
+
140 }
+
141 Names = *Resp; // Copy response to waiting thread.
+
142 Ready.release();
+
143 };
+
144 // Send request.
+
145 NixpkgsClient.attrpathComplete(Params, std::move(OnReply));
+
146 Ready.acquire();
+
147 // Now we have "Names", use these to fill "Items".
+
148 for (const auto &Name : Names) {
+
149 if (Name.starts_with(Params.Prefix)) {
+
150 addItem(Items, CompletionItem{
+
151 .label = Name,
+
152 .kind = CompletionItemKind::Field,
+
153 .data = llvm::formatv("{0}", toJSON(Params)),
+
154 });
+
155 }
+
156 }
+
157 }
+
158};
+
159
+
160/// \brief Provide completion list by nixpkgs module system (options).
+
161class OptionCompletionProvider {
+
162 AttrSetClient &OptionClient;
+
163
+
164 // Where is the module set. (e.g. nixos)
+
165 std::string ModuleOrigin;
+
166
+
167 // Wheter the client support code snippets.
+
168 bool ClientSupportSnippet;
+
169
+
170 static std::string escapeCharacters(const std::set<char> &Charset,
+
171 const std::string &Origin) {
+
172 // Escape characters listed in charset.
+
173 std::string Ret;
+
174 Ret.reserve(Origin.size());
+
175 for (const auto Ch : Origin) {
+
176 if (Charset.contains(Ch)) {
+
177 Ret += "\\";
+
178 Ret += Ch;
+
179 } else {
+
180 Ret += Ch;
+
181 }
+
182 }
+
183 return Ret;
+
184 }
+
185
+
186 void fillInsertText(CompletionItem &Item, const std::string &Name,
+
187 const OptionDescription &Desc) const {
+
188 if (!ClientSupportSnippet) {
+
189 Item.insertTextFormat = InsertTextFormat::PlainText;
+
190 Item.insertText = Name + " = " + Desc.Example.value_or("") + ";";
+
191 return;
+
192 }
+
193 Item.insertTextFormat = InsertTextFormat::Snippet;
+
194 Item.insertText =
+
195 Name + " = " +
+
196 "${1:" + escapeCharacters({'\\', '$', '}'}, Desc.Example.value_or("")) +
+
197 "}" + ";";
+
198 }
+
199
+
200public:
+
201 OptionCompletionProvider(AttrSetClient &OptionClient,
+
202 std::string ModuleOrigin, bool ClientSupportSnippet)
+
203 : OptionClient(OptionClient), ModuleOrigin(std::move(ModuleOrigin)),
+
204 ClientSupportSnippet(ClientSupportSnippet) {}
+
205
+
206 void completeOptions(std::vector<std::string> Scope, std::string Prefix,
+
207 std::vector<CompletionItem> &Items) {
+
208 std::binary_semaphore Ready(0);
+ +
210 auto OnReply = [&Ready,
+
211 &Names](llvm::Expected<OptionCompleteResponse> Resp) {
+
212 if (!Resp) {
+
213 lspserver::elog("option worker reported: {0}", Resp.takeError());
+
214 Ready.release();
+
215 return;
+
216 }
+
217 Names = *Resp; // Copy response to waiting thread.
+
218 Ready.release();
+
219 };
+
220 // Send request.
+
221 AttrPathCompleteParams Params{std::move(Scope), std::move(Prefix)};
+
222 OptionClient.optionComplete(Params, std::move(OnReply));
+
223 Ready.acquire();
+
224 // Now we have "Names", use these to fill "Items".
+
225 for (const nixd::OptionField &Field : Names) {
+
226 CompletionItem Item;
+
227
+
228 Item.label = Field.Name;
+
229 Item.detail = ModuleOrigin;
+
230
+
231 if (Field.Description) {
+
232 const OptionDescription &Desc = *Field.Description;
+
233 Item.kind = OptionKind;
+
234 fillInsertText(Item, Field.Name, Desc);
+ +
236 .kind = MarkupKind::Markdown,
+
237 .value = Desc.Description.value_or(""),
+
238 };
+
239 Item.detail += " | "; // separater between origin and type desc.
+
240 if (Desc.Type) {
+
241 std::string TypeName = Desc.Type->Name.value_or("");
+
242 std::string TypeDesc = Desc.Type->Description.value_or("");
+
243 Item.detail += llvm::formatv("{0} ({1})", TypeName, TypeDesc);
+
244 } else {
+
245 Item.detail += "? (missing type)";
+
246 }
+
247 addItem(Items, std::move(Item));
+
248 } else {
+
249 Item.kind = OptionAttrKind;
+
250 addItem(Items, std::move(Item));
+
251 }
+
252 }
+
253 }
+
254};
+
255
+
256void completeAttrName(const std::vector<std::string> &Scope,
+
257 const std::string &Prefix,
+
258 Controller::OptionMapTy &Options, bool CompletionSnippets,
+
259 std::vector<CompletionItem> &List) {
+
260 for (const auto &[Name, Provider] : Options) {
+
261 AttrSetClient *Client = Options.at(Name)->client();
+
262 if (!Client) [[unlikely]] {
+
263 elog("skipped client {0} as it is dead", Name);
+
264 continue;
+
265 }
+
266 OptionCompletionProvider OCP(*Client, Name, CompletionSnippets);
+
267 OCP.completeOptions(Scope, Prefix, List);
+
268 }
+
269}
+
270
+
271void completeAttrPath(const Node &N, const ParentMapAnalysis &PM,
+
272 std::mutex &OptionsLock, Controller::OptionMapTy &Options,
+
273 bool Snippets,
+
274 std::vector<lspserver::CompletionItem> &Items) {
+
275 std::vector<std::string> Scope;
+
276 using PathResult = FindAttrPathResult;
+
277 auto R = findAttrPath(N, PM, Scope);
+
278 if (R == PathResult::OK) {
+
279 // Construct request.
+
280 std::string Prefix = Scope.back();
+
281 Scope.pop_back();
+
282 {
+
283 std::lock_guard _(OptionsLock);
+
284 completeAttrName(Scope, Prefix, Options, Snippets, Items);
+
285 }
+
286 }
+
287}
+
288
+
289AttrPathCompleteParams mkParams(nixd::Selector Sel, bool IsComplete) {
+
290 if (IsComplete || Sel.empty()) {
+
291 return {
+
292 .Scope = std::move(Sel),
+
293 .Prefix = "",
+
294 };
+
295 }
+
296 std::string Back = std::move(Sel.back());
+
297 Sel.pop_back();
+
298 return {
+
299 .Scope = Sel,
+
300 .Prefix = std::move(Back),
+
301 };
+
302}
+
303
+
304#define DBG DBGPREFIX ": "
+
305
+
306void completeVarName(const VariableLookupAnalysis &VLA,
+
307 const ParentMapAnalysis &PM, const nixf::ExprVar &N,
+
308 AttrSetClient &Client, std::vector<CompletionItem> &List) {
+
309#define DBGPREFIX "completion/var"
+
310
+
311 VLACompletionProvider VLAP(VLA);
+
312 VLAP.complete(N, List, PM);
+
313
+
314 // Try to complete the name by known idioms.
+
315 try {
+
316 Selector Sel = idioms::mkVarSelector(N, VLA, PM);
+
317
+
318 // Clickling "pkgs" does not make sense for variable completion
+
319 if (Sel.empty())
+
320 return;
+
321
+
322 // Invoke nixpkgs provider to get the completion list.
+
323 NixpkgsCompletionProvider NCP(Client);
+
324 // Variable names are always incomplete.
+
325 NCP.completePackages(mkParams(Sel, /*IsComplete=*/false), List);
+
326 } catch (ExceedSizeError &) {
+
327 // Let "onCompletion" catch this exception to set "inComplete" field.
+
328 throw;
+
329 } catch (std::exception &E) {
+
330 return log(DBG "skipped, reason: {0}", E.what());
+
331 }
+
332
+
333#undef DBGPREFIX
+
334}
+
335
+
336/// \brief Complete a "select" expression.
+
337/// \param IsComplete Whether or not the last element of the selector is
+
338/// effectively incomplete.
+
339/// e.g.
+
340/// - incomplete: `lib.gen|`
+
341/// - complete: `lib.attrset.|`
+
342void completeSelect(const nixf::ExprSelect &Select, AttrSetClient &Client,
+ +
344 const nixf::ParentMapAnalysis &PM, bool IsComplete,
+
345 std::vector<CompletionItem> &List) {
+
346#define DBGPREFIX "completion/select"
+
347 // The base expr for selecting.
+
348 const nixf::Expr &BaseExpr = Select.expr();
+
349
+
350 // Determine that the name is one of special names interesting
+
351 // for nix language. If it is not a simple variable, skip this
+
352 // case.
+
353 if (BaseExpr.kind() != Node::NK_ExprVar) {
+
354 return;
+
355 }
+
356
+
357 const auto &Var = static_cast<const nixf::ExprVar &>(BaseExpr);
+
358 // Ask nixpkgs provider to get idioms completion.
+
359 NixpkgsCompletionProvider NCP(Client);
+
360
+
361 try {
+
362 Selector Sel =
+
363 idioms::mkSelector(Select, idioms::mkVarSelector(Var, VLA, PM));
+
364 NCP.completePackages(mkParams(Sel, IsComplete), List);
+
365 } catch (ExceedSizeError &) {
+
366 // Let "onCompletion" catch this exception to set "inComplete" field.
+
367 throw;
+
368 } catch (std::exception &E) {
+
369 return log(DBG "skipped, reason: {0}", E.what());
+
370 }
+
371
+
372#undef DBGPREFIX
+
373}
+
374
+
375} // namespace
+
376
+
377void Controller::onCompletion(const CompletionParams &Params,
+ +
379 auto Action = [Reply = std::move(Reply), URI = Params.textDocument.uri,
+
380 Pos = toNixfPosition(Params.position), this]() mutable {
+
381 std::string File(URI.file());
+
382 if (std::shared_ptr<NixTU> TU = getTU(File, Reply)) [[likely]] {
+
383 if (std::shared_ptr<nixf::Node> AST = getAST(*TU, Reply)) [[likely]] {
+
384 const nixf::Node *Desc = AST->descend({Pos, Pos});
+
385 if (!Desc) {
+
386 Reply(error("cannot find corresponding node on given position"));
+
387 return;
+
388 }
+
389 if (!Desc->children().empty()) {
+
390 Reply(CompletionList{});
+
391 return;
+
392 }
+
393 const nixf::Node &N = *Desc;
+
394 const ParentMapAnalysis &PM = *TU->parentMap();
+
395 const Node *MaybeUpExpr = PM.upExpr(N);
+
396 if (!MaybeUpExpr) {
+
397 // If there is no concrete expression containing the cursor
+
398 // Reply an empty list.
+
399 Reply(CompletionList{});
+
400 return;
+
401 }
+
402 // Otherwise, construct the completion list from a set of providers.
+
403 const Node &UpExpr = *MaybeUpExpr;
+
404 Reply([&]() -> CompletionList {
+
405 CompletionList List;
+
406 const VariableLookupAnalysis &VLA = *TU->variableLookup();
+
407 try {
+
408 switch (UpExpr.kind()) {
+
409 // In these cases, assume the cursor have "variable" scoping.
+
410 case Node::NK_ExprVar: {
+
411 completeVarName(VLA, PM,
+
412 static_cast<const nixf::ExprVar &>(UpExpr),
+
413 *nixpkgsClient(), List.items);
+
414 break;
+
415 }
+
416 // A "select" expression. e.g.
+
417 // foo.a|
+
418 // foo.|
+
419 // foo.a.bar|
+
420 case Node::NK_ExprSelect: {
+
421 const auto &Select =
+
422 static_cast<const nixf::ExprSelect &>(UpExpr);
+
423 completeSelect(Select, *nixpkgsClient(), VLA, PM,
+
424 N.kind() == Node::NK_Dot, List.items);
+
425 break;
+
426 }
+
427 case Node::NK_ExprAttrs: {
+
428 completeAttrPath(N, PM, OptionsLock, Options,
+
429 ClientCaps.CompletionSnippets, List.items);
+
430 break;
+
431 }
+
432 default:
+
433 break;
+
434 }
+
435 } catch (ExceedSizeError &Err) {
+
436 List.isIncomplete = true;
+
437 }
+
438 return List;
+
439 }());
+
440 }
+
441 }
+
442 };
+
443 boost::asio::post(Pool, std::move(Action));
+
444}
+
445
+
446void Controller::onCompletionItemResolve(const CompletionItem &Params,
+ +
448
+
449 auto Action = [Params, Reply = std::move(Reply), this]() mutable {
+
450 if (Params.data.empty()) {
+
451 Reply(Params);
+
452 return;
+
453 }
+ +
455 auto EV = llvm::json::parse(Params.data);
+
456 if (!EV) {
+
457 // If the json value cannot be parsed, this is very unlikely to happen.
+
458 Reply(EV.takeError());
+
459 return;
+
460 }
+
461
+
462 llvm::json::Path::Root Root;
+
463 fromJSON(*EV, Req, Root);
+
464
+
465 // FIXME: handle null nixpkgsClient()
+
466 NixpkgsCompletionProvider NCP(*nixpkgsClient());
+
467 CompletionItem Resp = Params;
+
468 NCP.resolvePackage(Req.Scope, Params.label, Resp);
+
469
+
470 Reply(std::move(Resp));
+
471 };
+
472 boost::asio::post(Pool, std::move(Action));
+
473}
+
This file declares some common analysis (tree walk) on the AST.
+
Types used in nixpkgs provider.
+
#define DBG
+ +
Convert between LSP and nixf types.
+
Lookup variable names, from it's parent scope.
+ + +
void attrpathInfo(const AttrPathInfoParams &Params, lspserver::Callback< AttrPathInfoResponse > Reply)
+
void attrpathComplete(const AttrPathCompleteParams &Params, lspserver::Callback< AttrPathCompleteResponse > Reply)
+
void optionComplete(const AttrPathCompleteParams &Params, lspserver::Callback< OptionCompleteResponse > Reply)
+
std::map< std::string, std::unique_ptr< AttrSetClientProc > > OptionMapTy
Definition Controller.h:21
+
Represents a definition.
+
bool isBuiltin() const
+
A set of variable definitions, which may inherit parent environment.
+
EnvNode * parent() const
+ +
Expr & expr() const
Definition Expr.h:20
+ +
const Identifier & id() const
Definition Simple.h:200
+ +
const std::string & name() const
Definition Basic.h:120
+ +
NodeKind kind() const
Definition Basic.h:34
+
virtual ChildVector children() const =0
+ +
const Node * upExpr(const Node &N) const
Search up until the node becomes a concrete expression. a ^<--— ID -> ExprVar.
+ + + +
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
+
void elog(const char *Fmt, Ts &&...Vals)
Definition Logger.h:52
+
CompletionItemKind
The kind of a completion entry.
+ + +
void log(const char *Fmt, Ts &&...Vals)
Definition Logger.h:58
+
Selector mkVarSelector(const nixf::ExprVar &Var, const nixf::VariableLookupAnalysis &VLA, const nixf::ParentMapAnalysis &PM)
Construct a nixd::Selector from Var.
Definition AST.cpp:199
+
Selector mkSelector(const nixf::AttrPath &AP, Selector BaseSelector)
Construct a nixd::Selector from AP.
Definition AST.cpp:249
+ +
bool fromJSON(const llvm::json::Value &Params, Configuration::Diagnostic &R, llvm::json::Path P)
+
llvm::json::Value toJSON(const PackageDescription &Params)
Definition AttrSet.cpp:54
+
FindAttrPathResult findAttrPath(const nixf::Node &N, const nixf::ParentMapAnalysis &PM, std::vector< std::string > &Path)
Heuristically find attrpath suitable for "attrpath" completion.
Definition AST.cpp:283
+
const nixf::EnvNode * upEnv(const nixf::Node &Desc, const nixf::VariableLookupAnalysis &VLA, const nixf::ParentMapAnalysis &PM)
Search up until there are some node associated with "EnvNode".
Definition AST.cpp:98
+
std::vector< std::string > Selector
A list of strings that "select"s into a attribute set.
Definition AttrSet.h:42
+
FindAttrPathResult
Definition AST.h:119
+
nixf::Position toNixfPosition(const lspserver::Position &P)
Definition Convert.cpp:32
+
std::vector< OptionField > OptionCompleteResponse
Definition AttrSet.h:137
+ + + + + + + +
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.
+ + + + +
Position position
The position inside the text document.
+
TextDocumentIdentifier textDocument
The text document.
+ + +
std::string Prefix
Search for packages prefixed with this "prefix".
Definition AttrSet.h:96
+ +
PackageDescription PackageDesc
Package description of the attribute path, if available.
Definition AttrSet.h:86
+ +
std::optional< std::string > Description
Definition AttrSet.h:115
+
std::optional< std::string > Example
Definition AttrSet.h:118
+
std::optional< OptionType > Type
Definition AttrSet.h:119
+ + +
std::optional< std::string > Version
Definition AttrSet.h:52
+
std::optional< std::string > Description
Definition AttrSet.h:53
+
std::optional< std::string > LongDescription
Definition AttrSet.h:54
+
+ + + + diff --git a/Connection_8cpp.html b/Connection_8cpp.html new file mode 100644 index 000000000..779d9d2fb --- /dev/null +++ b/Connection_8cpp.html @@ -0,0 +1,121 @@ + + + + + + + +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 <llvm/Support/CommandLine.h>
+#include <poll.h>
+#include <sys/poll.h>
+#include <sys/stat.h>
+#include <csignal>
+#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..635e13262 --- /dev/null +++ b/Connection_8cpp_source.html @@ -0,0 +1,419 @@ + + + + + + + +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#include <llvm/Support/CommandLine.h>
+
7
+
8#include <poll.h>
+
9#include <sys/poll.h>
+
10#include <sys/stat.h>
+
11
+
12#include <csignal>
+
13#include <cstdint>
+
14#include <cstdio>
+
15#include <memory>
+
16#include <optional>
+
17#include <system_error>
+
18
+
19namespace {
+
20
+
21llvm::cl::opt<int> ClientProcessID{
+
22 "clientProcessId",
+
23 llvm::cl::desc(
+
24 "Client process ID, if this PID died, the server should exit."),
+
25 llvm::cl::init(getppid())};
+
26
+
27} // namespace
+
28
+
29namespace lspserver {
+
30
+
31static llvm::json::Object encodeError(llvm::Error Error) {
+
32 std::string Message;
+ +
34 auto HandlerFn = [&](const LSPError &E) -> llvm::Error {
+
35 Message = E.Message;
+
36 Code = E.Code;
+
37 return llvm::Error::success();
+
38 };
+
39 if (llvm::Error Unhandled = llvm::handleErrors(std::move(Error), HandlerFn))
+
40 Message = llvm::toString(std::move(Unhandled));
+
41
+
42 return llvm::json::Object{
+
43 {"message", std::move(Message)},
+
44 {"code", int64_t(Code)},
+
45 };
+
46}
+
47
+
48/// Decode the given JSON object into an error.
+
+
49llvm::Error decodeError(const llvm::json::Object &O) {
+
50 llvm::StringRef Message =
+
51 O.getString("message").value_or("Unspecified error");
+
52 if (std::optional<int64_t> Code = O.getInteger("code"))
+
53 return llvm::make_error<LSPError>(Message.str(), ErrorCode(*Code));
+
54 return llvm::make_error<llvm::StringError>(llvm::inconvertibleErrorCode(),
+
55 Message.str());
+
56}
+
+
57
+
+
58void OutboundPort::notify(llvm::StringRef Method, llvm::json::Value Params) {
+
59 sendMessage(llvm::json::Object{
+
60 {"jsonrpc", "2.0"},
+
61 {"method", Method},
+
62 {"params", std::move(Params)},
+
63 });
+
64}
+
+
+
65void OutboundPort::call(llvm::StringRef Method, llvm::json::Value Params,
+
66 llvm::json::Value ID) {
+
67 sendMessage(llvm::json::Object{
+
68 {"jsonrpc", "2.0"},
+
69 {"id", std::move(ID)},
+
70 {"method", Method},
+
71 {"params", std::move(Params)},
+
72 });
+
73}
+
+
+
74void OutboundPort::reply(llvm::json::Value ID,
+
75 llvm::Expected<llvm::json::Value> Result) {
+
76 if (Result) {
+
77 sendMessage(llvm::json::Object{
+
78 {"jsonrpc", "2.0"},
+
79 {"id", std::move(ID)},
+
80 {"result", std::move(*Result)},
+
81 });
+
82 } else {
+
83 sendMessage(llvm::json::Object{
+
84 {"jsonrpc", "2.0"},
+
85 {"id", std::move(ID)},
+
86 {"error", encodeError(Result.takeError())},
+
87 });
+
88 }
+
89}
+
+
90
+
+
91void OutboundPort::sendMessage(llvm::json::Value Message) {
+
92 // Make sure our outputs are not interleaving between messages (json)
+
93 vlog(">>> {0}", Message);
+
94 std::lock_guard<std::mutex> Guard(Mutex);
+
95 OutputBuffer.clear();
+
96 llvm::raw_svector_ostream SVecOS(OutputBuffer);
+
97 SVecOS << (Pretty ? llvm::formatv("{0:2}", Message)
+
98 : llvm::formatv("{0}", Message));
+
99 Outs << "Content-Length: " << OutputBuffer.size() << "\r\n\r\n"
+
100 << OutputBuffer;
+
101 Outs.flush();
+
102}
+
+
103
+
+
104bool InboundPort::dispatch(llvm::json::Value Message, MessageHandler &Handler) {
+
105 // Message must be an object with "jsonrpc":"2.0".
+
106 auto *Object = Message.getAsObject();
+
107 if (!Object ||
+
108 Object->getString("jsonrpc") != std::optional<llvm::StringRef>("2.0")) {
+
109 elog("Not a JSON-RPC 2.0 message: {0:2}", Message);
+
110 return false;
+
111 }
+
112 // ID may be any JSON value. If absent, this is a notification.
+
113 std::optional<llvm::json::Value> ID;
+
114 if (auto *I = Object->get("id"))
+
115 ID = std::move(*I);
+
116 auto Method = Object->getString("method");
+
117 if (!Method) { // This is a response.
+
118 if (!ID) {
+
119 elog("No method and no response ID: {0:2}", Message);
+
120 return false;
+
121 }
+
122 if (auto *Err = Object->getObject("error"))
+
123 // TODO: Logging & reply errors.
+
124 return Handler.onReply(std::move(*ID), decodeError(*Err));
+
125 // Result should be given, use null if not.
+
126 llvm::json::Value Result = nullptr;
+
127 if (auto *R = Object->get("result"))
+
128 Result = std::move(*R);
+
129 return Handler.onReply(std::move(*ID), std::move(Result));
+
130 }
+
131 // Params should be given, use null if not.
+
132 llvm::json::Value Params = nullptr;
+
133 if (auto *P = Object->get("params"))
+
134 Params = std::move(*P);
+
135
+
136 if (ID)
+
137 return Handler.onCall(*Method, std::move(Params), std::move(*ID));
+
138 return Handler.onNotify(*Method, std::move(Params));
+
139}
+
+
140
+
+
141bool readLine(int fd, const std::atomic<bool> &Close,
+
142 llvm::SmallString<128> &Line) {
+
143 Line.clear();
+
144
+
145 std::vector<pollfd> FDs;
+
146 FDs.emplace_back(pollfd{
+
147 fd,
+
148 POLLIN | POLLPRI,
+
149 0,
+
150 });
+
151 for (;;) {
+
152 char Ch;
+
153 // FIXME: inefficient
+
154 int Poll = poll(FDs.data(), FDs.size(), 1000);
+
155 if (Poll < 0)
+
156 return false;
+
157 if (Close)
+
158 return false;
+
159
+
160 if (FDs[0].revents & POLLIN) {
+
161 ssize_t BytesRead = read(fd, &Ch, 1);
+
162 if (BytesRead == -1) {
+
163 if (errno != EINTR)
+
164 return false;
+
165 } else if (BytesRead == 0)
+
166 return false;
+
167 else {
+
168 if (Ch == '\n')
+
169 return true;
+
170 Line += Ch;
+
171 }
+
172 }
+
173
+
174 if (kill(ClientProcessID, 0) < 0) {
+
175 // Parent died.
+
176 return false;
+
177 }
+
178 }
+
179}
+
+
180
+
+ +
182 unsigned long long ContentLength = 0;
+
183 llvm::SmallString<128> Line;
+
184 while (true) {
+
185 if (!readLine(In, Close, Line))
+
186 return false;
+
187
+
188 llvm::StringRef LineRef = Line;
+
189
+
190 // Content-Length is a mandatory header, and the only one we handle.
+
191 if (LineRef.consume_front("Content-Length: ")) {
+
192 llvm::getAsUnsignedInteger(LineRef.trim(), 0, ContentLength);
+
193 continue;
+
194 }
+
195 // An empty line indicates the end of headers.
+
196 // Go ahead and read the JSON.
+
197 if (LineRef.trim().empty())
+
198 break;
+
199 // It's another header, ignore it.
+
200 }
+
201
+ +
203 for (size_t Pos = 0, Read; Pos < ContentLength; Pos += Read) {
+
204
+
205 Read = read(In, JSONString.data() + Pos, ContentLength - Pos);
+
206
+
207 if (Read == 0) {
+
208 elog("Input was aborted. Read only {0} bytes of expected {1}.", Pos,
+ +
210 return false;
+
211 }
+
212 }
+
213 return true;
+
214}
+
+
215
+
+ +
217 JSONString.clear();
+
218 llvm::SmallString<128> Line;
+
219 bool IsInputBlock = false;
+
220 while (readLine(In, Close, Line)) {
+
221 auto LineRef = Line.str().trim();
+
222 if (IsInputBlock) {
+
223 // We are in input blocks, read lines and append JSONString.
+
224 if (LineRef.startswith("#")) // comment
+
225 continue;
+
226
+
227 // End of the block
+
228 if (LineRef.startswith("```")) {
+
229 IsInputBlock = false;
+
230 break;
+
231 }
+
232
+
233 JSONString += Line;
+
234 } else {
+
235 if (LineRef.startswith("```json"))
+
236 IsInputBlock = true;
+
237 }
+
238 }
+
239 return true; // Including at EOF
+
240}
+
+
241
+
+ +
243 switch (StreamStyle) {
+
244
+ + + + +
249 break;
+
250 }
+
251 assert(false && "Invalid stream style");
+ +
253}
+
+
254
+
+ +
256 std::string JSONString;
+
257 llvm::SmallString<128> Line;
+
258
+
259 for (;;) {
+
260 if (readMessage(JSONString)) {
+
261 vlog("<<< {0}", JSONString);
+
262 if (auto ExpectedParsedJSON = llvm::json::parse(JSONString)) {
+ +
264 return;
+
265 } else {
+
266 auto Err = ExpectedParsedJSON.takeError();
+
267 elog("The received json cannot be parsed, reason: {0}", Err);
+
268 return;
+
269 }
+
270 } else {
+
271 return;
+
272 }
+
273 }
+
274}
+
+
275
+
276} // namespace lspserver
+ + +
bool dispatch(llvm::json::Value Message, MessageHandler &Handler)
+
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)
+ + +
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.
+ +
bool fromJSON(const llvm::json::Value &, URIForFile &, llvm::json::Path)
+ + +
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..2c77b250a --- /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..dacfe1d06 --- /dev/null +++ b/Connection_8h_source.html @@ -0,0 +1,228 @@ + + + + + + + +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 handler 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
+ +
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 &Handler);
+
64
+ +
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
+
+ +
bool dispatch(llvm::json::Value Message, MessageHandler &Handler)
+
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)
+ + +
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
+
bool fromJSON(const llvm::json::Value &, URIForFile &, llvm::json::Path)
+ + + + +
+ + + + diff --git a/Controller_2Configuration_8cpp.html b/Controller_2Configuration_8cpp.html new file mode 100644 index 000000000..757227278 --- /dev/null +++ b/Controller_2Configuration_8cpp.html @@ -0,0 +1,92 @@ + + + + + + + +nixd: Configuration.cpp File Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Configuration.cpp File Reference
+
+
+
#include "nixd/Controller/Controller.h"
+#include "nixd/Eval/Launch.h"
+#include <boost/asio/post.hpp>
+
+

Go to the source code of this file.

+
+ + + + diff --git a/Controller_2Configuration_8cpp_source.html b/Controller_2Configuration_8cpp_source.html new file mode 100644 index 000000000..b3bcffadc --- /dev/null +++ b/Controller_2Configuration_8cpp_source.html @@ -0,0 +1,255 @@ + + + + + + + +nixd: Configuration.cpp Source File + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Controller/Configuration.cpp
+
+
+Go to the documentation of this file.
+
2#include "nixd/Eval/Launch.h"
+
3
+
4#include <boost/asio/post.hpp>
+
5
+
6using namespace nixd;
+
7using namespace lspserver;
+
8using llvm::json::ObjectMapper;
+
9using llvm::json::Value;
+
10
+ +
12 llvm::json::Path P) {
+
13 ObjectMapper O(Params, P);
+
14 return O && O.mapOptional("suppress", R.suppress);
+
15}
+
16
+ +
18 llvm::json::Path P) {
+
19 // If it is a single string, treat it as a single vector
+
20 if (auto Str = Params.getAsString()) {
+
21 R.command = {Str->str()};
+
22 return true;
+
23 }
+
24 ObjectMapper O(Params, P);
+
25 return O && O.mapOptional("command", R.command);
+
26}
+
27
+ +
29 llvm::json::Path P) {
+
30 ObjectMapper O(Params, P);
+
31 return O && O.mapOptional("expr", R.expr);
+
32}
+
33
+ +
35 llvm::json::Path P) {
+
36 ObjectMapper O(Params, P);
+
37 return O && O.mapOptional("expr", R.expr);
+
38}
+
39
+
40bool nixd::fromJSON(const Value &Params, Configuration &R, llvm::json::Path P) {
+
41 ObjectMapper O(Params, P);
+
42 return O //
+
43 && O.mapOptional("formatting", R.formatting) //
+
44 && O.mapOptional("options", R.options) //
+
45 && O.mapOptional("nixpkgs", R.nixpkgs) //
+
46 && O.mapOptional("diagnostic", R.diagnostic) //
+
47 ;
+
48}
+
49
+
50void Controller::onDidChangeConfiguration(
+ +
52 // FIXME: incrementally change?
+
53 fetchConfig();
+
54}
+
55
+
56void Controller::updateConfig(Configuration NewConfig) {
+
57 std::lock_guard G(ConfigLock);
+
58 Config = std::move(NewConfig);
+
59
+
60 if (!Config.nixpkgs.expr.empty()) {
+
61 /// Evaluate nixpkgs and options, using user-provided config.
+
62 if (nixpkgsClient()) {
+
63 evalExprWithProgress(*nixpkgsClient(), Config.nixpkgs.expr,
+
64 "nixpkgs entries");
+
65 }
+
66 }
+
67 if (!Config.options.empty()) {
+
68 std::lock_guard _(OptionsLock);
+
69 // For each option configuration, update the worker.
+
70 for (const auto &[Name, Opt] : Config.options) {
+
71 auto &Client = Options[Name];
+
72 if (!Client) {
+
73 // If it does not exist. Launch a new client.
+
74 startOption(Name, Client);
+
75 }
+
76 assert(Client);
+
77 evalExprWithProgress(*Client->client(), Opt.expr, Name);
+
78 }
+
79 }
+
80
+
81 // Update the diagnostic part.
+
82 updateSuppressed(Config.diagnostic.suppress);
+
83
+
84 // After all, notify all AST modules the diagnostic set has been updated.
+
85 std::lock_guard TUsGuard(TUsLock);
+
86 for (const auto &[File, TU] : TUs) {
+
87 publishDiagnostics(File, std::nullopt, TU->src(), TU->diagnostics());
+
88 }
+
89}
+
90
+
91void Controller::fetchConfig() {
+
92 auto Action = [this](llvm::Expected<llvm::json::Value> Resp) mutable {
+
93 if (!Resp) {
+
94 elog("workspace/configuration: {0}", Resp.takeError());
+
95 return;
+
96 }
+
97
+
98 // LSP response is a json array, just take the first.
+
99 if (Resp->kind() != llvm::json::Value::Array) {
+
100 lspserver::elog("workspace/configuration response is not an array: {0}",
+
101 *Resp);
+
102 return;
+
103 }
+
104 const Value &FirstConfig = Resp->getAsArray()->front();
+
105
+
106 // Run this job in the thread pool. Don't block input thread.
+
107 auto ConfigAction = [this, FirstConfig]() mutable {
+
108 // Parse the config
+ +
110 llvm::json::Path::Root P;
+
111 if (!fromJSON(FirstConfig, NewConfig, P)) {
+
112 elog("workspace/configuration: parse error {0}", P.getError());
+
113 return;
+
114 }
+
115
+
116 // OK, update the config
+
117 updateConfig(std::move(NewConfig));
+
118 };
+
119
+
120 boost::asio::post(Pool, std::move(ConfigAction));
+
121 };
+
122 workspaceConfiguration({.items = {ConfigurationItem{.section = "nixd"}}},
+
123 std::move(Action));
+
124}
+
125
+
126void Controller::workspaceConfiguration(
+ + +
129 if (ClientCaps.WorkspaceConfiguration) {
+
130 WorkspaceConfiguration(Params, std::move(Reply));
+
131 } else {
+
132 Reply(lspserver::error("client does not support workspace configuration"));
+
133 }
+
134}
+ + + +
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
+
void elog(const char *Fmt, Ts &&...Vals)
Definition Logger.h:52
+ + +
bool fromJSON(const llvm::json::Value &Params, Configuration::Diagnostic &R, llvm::json::Path P)
+
void startOption(const std::string &Name, std::unique_ptr< AttrSetClientProc > &Worker)
Definition Launch.cpp:36
+ + + + + + + + + + +
std::string expr
Expression to eval. Treat it as "import <nixpkgs> { }".
+ +
std::string expr
Expression to eval. Select this attrset as eval .options.
+ +
struct nixd::Configuration::Formatting formatting
+
std::map< std::string, OptionProvider > options
+
struct nixd::Configuration::Diagnostic diagnostic
+
struct nixd::Configuration::NixpkgsProvider nixpkgs
+
+ + + + diff --git a/Controller_2Configuration_8h.html b/Controller_2Configuration_8h.html new file mode 100644 index 000000000..5e0e1ff68 --- /dev/null +++ b/Controller_2Configuration_8h.html @@ -0,0 +1,136 @@ + + + + + + + +nixd: Configuration.h File Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
Configuration.h File Reference
+
+
+ +

Declares workspace configuration schema. +More...

+
#include <llvm/Support/JSON.h>
+#include <map>
+#include <string>
+#include <vector>
+
+

Go to the source code of this file.

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

+Classes

struct  nixd::Configuration
 
struct  nixd::Configuration::Formatting
 
struct  nixd::Configuration::OptionProvider
 
struct  nixd::Configuration::NixpkgsProvider
 
struct  nixd::Configuration::Diagnostic
 
+ + + +

+Namespaces

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

+Functions

bool nixd::fromJSON (const llvm::json::Value &Params, Configuration::Diagnostic &R, llvm::json::Path P)
 
bool nixd::fromJSON (const llvm::json::Value &Params, Configuration::Formatting &R, llvm::json::Path P)
 
bool nixd::fromJSON (const llvm::json::Value &Params, Configuration::OptionProvider &R, llvm::json::Path P)
 
bool nixd::fromJSON (const llvm::json::Value &Params, Configuration::NixpkgsProvider &R, llvm::json::Path P)
 
bool nixd::fromJSON (const llvm::json::Value &Params, Configuration &R, llvm::json::Path P)
 
+

Detailed Description

+

Declares workspace configuration schema.

+ +

Definition in file Controller/Configuration.h.

+
+ + + + diff --git a/Controller_2Configuration_8h_source.html b/Controller_2Configuration_8h_source.html new file mode 100644 index 000000000..b00a79290 --- /dev/null +++ b/Controller_2Configuration_8h_source.html @@ -0,0 +1,171 @@ + + + + + + + +nixd: Configuration.h Source File + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Controller/Configuration.h
+
+
+Go to the documentation of this file.
1/// \file
+
2/// \brief Declares workspace configuration schema
+
3#pragma once
+
4
+
5#include <llvm/Support/JSON.h>
+
6
+
7#include <map>
+
8#include <string>
+
9#include <vector>
+
10
+
11namespace nixd {
+
12
+
13// NOLINTBEGIN(readability-identifier-naming)
+
+ +
+
15 struct Formatting {
+
16 std::vector<std::string> command = {"nixfmt"};
+ +
+
18
+
+ +
20 /// \brief Expression to eval. Select this attrset as eval .options
+
21 std::string expr;
+
22 };
+
+
23
+
24 std::map<std::string, OptionProvider> options;
+
25
+
+ +
27 /// \brief Expression to eval. Treat it as "import <nixpkgs> { }"
+
28 std::string expr;
+ +
+
30
+
+
31 struct Diagnostic {
+
32 std::vector<std::string> suppress;
+ +
+
34};
+
+
35
+
36bool fromJSON(const llvm::json::Value &Params, Configuration::Diagnostic &R,
+
37 llvm::json::Path P);
+
38
+
39bool fromJSON(const llvm::json::Value &Params, Configuration::Formatting &R,
+
40 llvm::json::Path P);
+
41
+
42bool fromJSON(const llvm::json::Value &Params, Configuration::OptionProvider &R,
+
43 llvm::json::Path P);
+
44
+
45bool fromJSON(const llvm::json::Value &Params,
+
46 Configuration::NixpkgsProvider &R, llvm::json::Path P);
+
47
+
48bool fromJSON(const llvm::json::Value &Params, Configuration &R,
+
49 llvm::json::Path P);
+
50
+
51// NOLINTEND(readability-identifier-naming)
+
52
+
53} // namespace nixd
+ + +
bool fromJSON(const llvm::json::Value &Params, Configuration::Diagnostic &R, llvm::json::Path P)
+ + + + + +
std::string expr
Expression to eval. Treat it as "import <nixpkgs> { }".
+ +
std::string expr
Expression to eval. Select this attrset as eval .options.
+ +
struct nixd::Configuration::Formatting formatting
+
std::map< std::string, OptionProvider > options
+
struct nixd::Configuration::Diagnostic diagnostic
+
struct nixd::Configuration::NixpkgsProvider nixpkgs
+
+ + + + diff --git a/Controller_8h.html b/Controller_8h.html new file mode 100644 index 000000000..8106420ae --- /dev/null +++ b/Controller_8h.html @@ -0,0 +1,113 @@ + + + + + + + +nixd: Controller.h File Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
Controller.h File Reference
+
+
+
#include "Configuration.h"
+#include "EvalClient.h"
+#include "NixTU.h"
+#include "lspserver/DraftStore.h"
+#include "lspserver/LSPServer.h"
+#include "lspserver/Protocol.h"
+#include "nixd/Eval/AttrSetClient.h"
+#include "nixf/Basic/Diagnostic.h"
+#include <boost/asio/thread_pool.hpp>
+#include <set>
+
+

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..9c7d0640a --- /dev/null +++ b/Controller_8h_source.html @@ -0,0 +1,382 @@ + + + + + + + +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 "Configuration.h"
+
4#include "EvalClient.h"
+
5#include "NixTU.h"
+
6
+ + + + + +
12
+
13#include <boost/asio/thread_pool.hpp>
+
14
+
15#include <set>
+
16
+
17namespace nixd {
+
18
+
+ +
20public:
+
21 using OptionMapTy = std::map<std::string, std::unique_ptr<AttrSetClientProc>>;
+
22
+
23private:
+
24 std::unique_ptr<OwnedEvalClient> Eval;
+
25
+
26 // Use this worker for evaluating nixpkgs.
+
27 std::unique_ptr<AttrSetClientProc> NixpkgsEval;
+
28
+
29 std::mutex OptionsLock;
+
30 // Map of option providers.
+
31 //
+
32 // e.g. "nixos" -> nixos worker
+
33 // "home-manager" -> home-manager worker
+
34 OptionMapTy Options; // GUARDED_BY(OptionsLock)
+
35
+
36 AttrSetClientProc &nixpkgsEval() {
+
37 assert(NixpkgsEval);
+
38 return *NixpkgsEval;
+
39 }
+
40
+
41 AttrSetClient *nixpkgsClient() { return nixpkgsEval().client(); }
+
42
+
43 void evalExprWithProgress(AttrSetClient &Client, const EvalExprParams &Params,
+
44 std::string_view Description);
+
45
+ +
47
+ +
49
+
50 std::mutex ConfigLock;
+
51 Configuration Config; // GUARDED_BY(ConfigLock)
+
52
+
53 llvm::unique_function<void(const lspserver::ConfigurationParams &,
+ +
55 WorkspaceConfiguration;
+
56
+
57 void workspaceConfiguration(const lspserver::ConfigurationParams &Params,
+ +
59
+
60 /// \brief Update the configuration, do necessary adjusting for updates.
+
61 ///
+
62 /// \example If asked to change eval settings, send eval requests to workers.
+
63 void updateConfig(Configuration NewConfig);
+
64
+
65 /// \brief Get configuration from LSP client. Update the config.
+
66 void fetchConfig();
+
67
+
68 llvm::unique_function<void(const lspserver::PublishDiagnosticsParams &)>
+
69 PublishDiagnostic;
+
70 llvm::unique_function<void(const lspserver::WorkDoneProgressCreateParams &,
+ +
72 CreateWorkDoneProgress;
+
73
+
74 void
+
75 createWorkDoneProgress(const lspserver::WorkDoneProgressCreateParams &Params);
+
76
+
77 llvm::unique_function<void(
+ +
79 BeginWorkDoneProgress;
+
80
+
81 void beginWorkDoneProgress(
+ +
83 &Params) {
+
84 if (ClientCaps.WorkDoneProgress)
+
85 BeginWorkDoneProgress(Params);
+
86 }
+
87
+
88 llvm::unique_function<void(
+ +
90 ReportWorkDoneProgress;
+
91
+
92 void reportWorkDoneProgress(
+ +
94 &Params) {
+
95 if (ClientCaps.WorkDoneProgress)
+
96 ReportWorkDoneProgress(Params);
+
97 }
+
98
+
99 llvm::unique_function<void(
+ +
101 EndWorkDoneProgress;
+
102
+
103 void endWorkDoneProgress(
+ +
105 if (ClientCaps.WorkDoneProgress)
+
106 EndWorkDoneProgress(Params);
+
107 }
+
108
+
109 std::mutex TUsLock;
+
110 llvm::StringMap<std::shared_ptr<NixTU>> TUs;
+
111
+
112 template <class T>
+
113 std::shared_ptr<NixTU> getTU(std::string File,
+
114 lspserver::Callback<T> &Reply) {
+
115 using lspserver::error;
+
116 std::lock_guard G(TUsLock);
+
117 if (!TUs.count(File)) [[unlikely]] {
+
118 Reply(T{}); // Reply a default constructed response.
+
119 lspserver::elog("cannot get translation unit: {0}", File);
+
120 return nullptr;
+
121 }
+
122 return TUs[File];
+
123 }
+
124
+
125 template <class T>
+
126 std::shared_ptr<nixf::Node> getAST(const NixTU &TU,
+
127 lspserver::Callback<T> &Reply) {
+
128 using lspserver::error;
+
129 if (!TU.ast()) {
+
130 Reply(T{});
+
131 lspserver::elog("AST is null on this unit");
+
132 return nullptr;
+
133 }
+
134 return TU.ast();
+
135 }
+
136
+
137 boost::asio::thread_pool Pool;
+
138
+
139 /// Action right after a document is added (including updates).
+
140 void actOnDocumentAdd(lspserver::PathRef File,
+
141 std::optional<int64_t> Version);
+
142
+
143 void removeDocument(lspserver::PathRef File);
+
144
+
145 void onInitialize(const lspserver::InitializeParams &Params,
+ +
147
+
148 void onInitialized(const lspserver::InitializedParams &Params);
+
149
+
150 bool ReceivedShutdown = false;
+
151
+
152 void onShutdown(const lspserver::NoParams &,
+ +
154
+
155 void onDocumentDidOpen(const lspserver::DidOpenTextDocumentParams &Params);
+
156
+
157 void
+
158 onDocumentDidChange(const lspserver::DidChangeTextDocumentParams &Params);
+
159
+
160 void onDocumentDidClose(const lspserver::DidCloseTextDocumentParams &Params);
+
161
+
162 void
+
163 onCodeAction(const lspserver::CodeActionParams &Params,
+
164 lspserver::Callback<std::vector<lspserver::CodeAction>> Reply);
+
165
+
166 void onHover(const lspserver::TextDocumentPositionParams &Params,
+
167 lspserver::Callback<std::optional<lspserver::Hover>> Reply);
+
168
+
169 void onDocumentSymbol(
+ +
171 lspserver::Callback<std::vector<lspserver::DocumentSymbol>> Reply);
+
172
+
173 void onSemanticTokens(const lspserver::SemanticTokensParams &Params,
+ +
175
+
176 void
+
177 onInlayHint(const lspserver::InlayHintsParams &Params,
+
178 lspserver::Callback<std::vector<lspserver::InlayHint>> Reply);
+
179
+
180 void onCompletion(const lspserver::CompletionParams &Params,
+ +
182
+
183 void
+
184 onCompletionItemResolve(const lspserver::CompletionItem &Params,
+ +
186
+
187 void onDefinition(const lspserver::TextDocumentPositionParams &Params,
+ +
189
+
190 void
+
191 onReferences(const lspserver::TextDocumentPositionParams &Params,
+
192 lspserver::Callback<std::vector<lspserver::Location>> Reply);
+
193
+
194 void onDocumentHighlight(
+ +
196 lspserver::Callback<std::vector<lspserver::DocumentHighlight>> Reply);
+
197
+
198 void onDocumentLink(
+
199 const lspserver::DocumentLinkParams &Params,
+
200 lspserver::Callback<std::vector<lspserver::DocumentLink>> Reply);
+
201
+
202 std::set<nixf::Diagnostic::DiagnosticKind>
+
203 SuppressedDiagnostics; // GUARDED_BY(SuppressedDiagnosticsLock)
+
204
+
205 std::mutex SuppressedDiagnosticsLock;
+
206
+
207 /// Update the suppressing set. There might be some invalid names, should be
+
208 /// logged then.
+
209 void updateSuppressed(const std::vector<std::string> &Sup);
+
210
+
211 /// Determine whether or not this diagnostic is suppressed.
+
212 bool isSuppressed(nixf::Diagnostic::DiagnosticKind Kind);
+
213 void publishDiagnostics(lspserver::PathRef File,
+
214 std::optional<int64_t> Version, std::string_view Src,
+
215 const std::vector<nixf::Diagnostic> &Diagnostics);
+
216
+
217 void onRename(const lspserver::RenameParams &Params,
+ +
219
+
220 void onPrepareRename(const lspserver::TextDocumentPositionParams &Params,
+ +
222
+
223 void onFormat(const lspserver::DocumentFormattingParams &Params,
+
224 lspserver::Callback<std::vector<lspserver::TextEdit>> Reply);
+
225
+
226 //---------------------------------------------------------------------------/
+
227 // Workspace features
+
228 //---------------------------------------------------------------------------/
+
229 void onDidChangeConfiguration(
+ +
231
+
232public:
+
233 Controller(std::unique_ptr<lspserver::InboundPort> In,
+
234 std::unique_ptr<lspserver::OutboundPort> Out);
+
235
+
236 ~Controller() override { Pool.join(); }
+
237
+
238 bool isReadyToEval() { return Eval && Eval->ready(); }
+
239};
+
+
240
+
241} // namespace nixd
+ +
Declares workspace configuration schema.
+ + + + + + + + +
AttrSetClient * client()
Check if the process is still alive.
+ + +
~Controller() override
Definition Controller.h:236
+ +
Controller(std::unique_ptr< lspserver::InboundPort > In, std::unique_ptr< lspserver::OutboundPort > Out)
Definition Support.cpp:68
+
std::map< std::string, std::unique_ptr< AttrSetClientProc > > OptionMapTy
Definition Controller.h:21
+ +
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
+
void elog(const char *Fmt, Ts &&...Vals)
Definition Logger.h:52
+ +
llvm::StringRef PathRef
Definition Path.h:27
+ +
std::string EvalExprParams
Definition AttrSet.h:38
+ + + + + + + + + + + +
Parameters for the document link request.
+ + +
A parameter literal used in inlay hint requests.
+ + + + +
Body of textDocument/semanticTokens/full request.
+ + +
+ + + + diff --git a/Convert_8cpp.html b/Convert_8cpp.html new file mode 100644 index 000000000..ddf942cb7 --- /dev/null +++ b/Convert_8cpp.html @@ -0,0 +1,93 @@ + + + + + + + +nixd: Convert.cpp File Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Convert.cpp File Reference
+
+
+
#include "Convert.h"
+#include "nixf/Basic/Diagnostic.h"
+#include "lspserver/SourceCode.h"
+#include <llvm/ADT/StringRef.h>
+
+

Go to the source code of this file.

+
+ + + + diff --git a/Convert_8cpp_source.html b/Convert_8cpp_source.html new file mode 100644 index 000000000..80493816d --- /dev/null +++ b/Convert_8cpp_source.html @@ -0,0 +1,199 @@ + + + + + + + +nixd: Convert.cpp Source File + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Convert.cpp
+
+
+Go to the documentation of this file.
1#include "Convert.h"
+
2
+ +
4
+ +
6
+
7#include <llvm/ADT/StringRef.h>
+
8
+
9using namespace lspserver;
+
10
+
+
11int nixd::getLSPSeverity(nixf::Diagnostic::DiagnosticKind Kind) {
+
12 switch (nixf::Diagnostic::severity(Kind)) {
+ + +
15 return 1;
+ +
17 return 2;
+ +
19 return 3;
+ +
21 return 4;
+
22 }
+
23 assert(false && "Invalid severity");
+ +
25}
+
+
26
+
+ +
28 const nixf::LexerCursor &P) {
+
29 return lspserver::offsetToPosition(Code, P.offset());
+
30}
+
+
31
+
+ +
33 return {P.line, P.character};
+
34}
+
+
35
+ +
39
+
+ +
41 const nixf::LexerCursorRange &R) {
+
42 return lspserver::Range{toLSPPosition(Code, R.lCur()),
+
43 toLSPPosition(Code, R.rCur())};
+
44}
+
+
45
+
46llvm::SmallVector<lspserver::DiagnosticTag, 1>
+
+
47nixd::toLSPTags(const std::vector<nixf::DiagnosticTag> &Tags) {
+
48 llvm::SmallVector<lspserver::DiagnosticTag, 1> Result;
+
49 Result.reserve(Tags.size());
+
50 for (const nixf::DiagnosticTag &Tag : Tags) {
+
51 switch (Tag) {
+ +
53 Result.emplace_back(DiagnosticTag::Unnecessary);
+
54 break;
+ +
56 Result.emplace_back(DiagnosticTag::Deprecated);
+
57 break;
+
58 }
+
59 }
+
60 return Result;
+
61}
+
+
Convert between LSP and nixf types.
+ + +
@ DS_Warning
A warning.
Definition Diagnostic.h:160
+
@ DS_Fatal
shouldn't eval the code, e.g. parsing error.
Definition Diagnostic.h:156
+
@ DS_Info
An information.
Definition Diagnostic.h:162
+ +
@ DS_Error
trigger an error in nix, but we can recover & eval the code.
Definition Diagnostic.h:158
+
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
+
std::size_t offset() const
Offset in the source file, starting from 0.
Definition Range.h:102
+ + +
Whether current platform treats paths case insensitively.
Definition Connection.h:11
+
bool fromJSON(const llvm::json::Value &, URIForFile &, llvm::json::Path)
+
Position offsetToPosition(llvm::StringRef Code, size_t Offset)
+
int getLSPSeverity(nixf::Diagnostic::DiagnosticKind Kind)
Definition Convert.cpp:11
+
nixf::PositionRange toNixfRange(const lspserver::Range &P)
Definition Convert.cpp:36
+
lspserver::Position toLSPPosition(llvm::StringRef Code, const nixf::LexerCursor &P)
Definition Convert.cpp:27
+
nixf::Position toNixfPosition(const lspserver::Position &P)
Definition Convert.cpp:32
+
lspserver::Range toLSPRange(llvm::StringRef Code, const nixf::LexerCursorRange &R)
Definition Convert.cpp:40
+
llvm::SmallVector< lspserver::DiagnosticTag, 1 > toLSPTags(const std::vector< nixf::DiagnosticTag > &Tags)
Definition Convert.cpp:47
+
DiagnosticTag
Definition Diagnostic.h:74
+ + + +
int line
Line position in a document (zero-based).
+ + +
Position start
The range's start position.
+
Position end
The range's end position.
+
+ + + + diff --git a/Convert_8h.html b/Convert_8h.html new file mode 100644 index 000000000..936b0acc1 --- /dev/null +++ b/Convert_8h.html @@ -0,0 +1,123 @@ + + + + + + + +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 (llvm::StringRef Code, const nixf::LexerCursor &P)
 
nixf::Position nixd::toNixfPosition (const lspserver::Position &P)
 
nixf::PositionRange nixd::toNixfRange (const lspserver::Range &P)
 
lspserver::Range nixd::toLSPRange (llvm::StringRef Code, 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..a05546cce --- /dev/null +++ b/Convert_8h_source.html @@ -0,0 +1,136 @@ + + + + + + + +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
+
13lspserver::Position toLSPPosition(llvm::StringRef Code,
+
14 const nixf::LexerCursor &P);
+
15
+ +
17
+ +
19
+
20lspserver::Range toLSPRange(llvm::StringRef Code,
+
21 const nixf::LexerCursorRange &R);
+
22
+
23int getLSPSeverity(nixf::Diagnostic::DiagnosticKind Kind);
+
24
+
25llvm::SmallVector<lspserver::DiagnosticTag, 1>
+
26toLSPTags(const std::vector<nixf::DiagnosticTag> &Tags);
+
27
+
28} // namespace nixd
+ + + +
A point in the source file.
Definition Range.h:57
+ + + + +
int getLSPSeverity(nixf::Diagnostic::DiagnosticKind Kind)
Definition Convert.cpp:11
+
nixf::PositionRange toNixfRange(const lspserver::Range &P)
Definition Convert.cpp:36
+
lspserver::Position toLSPPosition(llvm::StringRef Code, const nixf::LexerCursor &P)
Definition Convert.cpp:27
+
nixf::Position toNixfPosition(const lspserver::Position &P)
Definition Convert.cpp:32
+
lspserver::Range toLSPRange(llvm::StringRef Code, const nixf::LexerCursorRange &R)
Definition Convert.cpp:40
+
llvm::SmallVector< lspserver::DiagnosticTag, 1 > toLSPTags(const std::vector< nixf::DiagnosticTag > &Tags)
Definition Convert.cpp:47
+ + +
+ + + + diff --git a/Definition_8cpp.html b/Definition_8cpp.html new file mode 100644 index 000000000..69c99a97b --- /dev/null +++ b/Definition_8cpp.html @@ -0,0 +1,173 @@ + + + + + + + +nixd: Definition.cpp File Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
Definition.cpp File Reference
+
+
+ +

Implementation of [Go to Definition]. +More...

+
#include "Definition.h"
+#include "AST.h"
+#include "Convert.h"
+#include "nixd/Controller/Controller.h"
+#include "nixd/Protocol/AttrSet.h"
+#include "lspserver/Protocol.h"
+#include <boost/asio/post.hpp>
+#include <llvm/Support/Error.h>
+#include <llvm/Support/JSON.h>
+#include <nixf/Basic/Nodes/Attrs.h>
+#include <nixf/Basic/Nodes/Basic.h>
+#include <nixf/Basic/Nodes/Expr.h>
+#include <nixf/Sema/ParentMap.h>
+#include <nixf/Sema/VariableLookup.h>
+#include <exception>
+#include <semaphore>
+
+

Go to the source code of this file.

+ + + + + + + + +

+Typedefs

using LookupResult = VariableLookupAnalysis::LookupResult
 
using ResultKind = VariableLookupAnalysis::LookupResultKind
 
using Locations = std::vector<Location>
 
+

Detailed Description

+

Implementation of [Go to Definition].

+ +

Definition in file Definition.cpp.

+

Typedef Documentation

+ +

◆ Locations

+ +
+
+ + + + +
using Locations = std::vector<Location>
+
+ +

Definition at line 37 of file Definition.cpp.

+ +
+
+ +

◆ LookupResult

+ +
+
+ +

Definition at line 35 of file Definition.cpp.

+ +
+
+ +

◆ ResultKind

+ +
+
+ +

Definition at line 36 of file Definition.cpp.

+ +
+
+
+ + + + diff --git a/Definition_8cpp_source.html b/Definition_8cpp_source.html new file mode 100644 index 000000000..a95491d29 --- /dev/null +++ b/Definition_8cpp_source.html @@ -0,0 +1,571 @@ + + + + + + + +nixd: Definition.cpp Source File + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Definition.cpp
+
+
+Go to the documentation of this file.
1/// \file
+
2/// \brief Implementation of [Go to Definition]
+
3/// [Go to Definition]:
+
4/// https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#textDocument_definition
+
5
+
6#include "Definition.h"
+
7#include "AST.h"
+
8#include "Convert.h"
+
9
+ + +
12
+
13#include "lspserver/Protocol.h"
+
14
+
15#include <boost/asio/post.hpp>
+
16
+
17#include <llvm/Support/Error.h>
+
18#include <llvm/Support/JSON.h>
+
19
+ + + +
23#include <nixf/Sema/ParentMap.h>
+ +
25
+
26#include <exception>
+
27#include <semaphore>
+
28
+
29using namespace nixd;
+
30using namespace nixd::idioms;
+
31using namespace nixf;
+
32using namespace lspserver;
+
33using namespace llvm;
+
34
+ + +
37using Locations = std::vector<Location>;
+
38
+
39namespace {
+
40
+ +
42 const ParentMapAnalysis &PMA,
+
43 const VariableLookupAnalysis &VLA) {
+
44 // If "N" is a definition itself, just return it.
+
45 if (const Definition *Def = VLA.toDef(N))
+
46 return Def;
+
47
+
48 // If N is inside an attrset, it maybe an "AttrName", let's look for it.
+
49 const Node *Parent = PMA.query(N);
+
50 if (Parent && Parent->kind() == Node::NK_AttrName)
+
51 return VLA.toDef(*Parent);
+
52
+
53 return nullptr;
+
54}
+
55
+
56// Special case, variable in "inherit"
+
57// inherit name
+
58// ^~~~<--- this is an "AttrName", not variable.
+
59const ExprVar *findInheritVar(const Node &N, const ParentMapAnalysis &PMA,
+
60 const VariableLookupAnalysis &VLA) {
+
61 if (const Node *Up = PMA.upTo(N, Node::NK_Inherit)) {
+
62 const Node *UpAn = PMA.upTo(N, Node::NK_AttrName);
+
63 if (!UpAn)
+
64 return nullptr;
+
65 const auto &Inh = static_cast<const Inherit &>(*Up);
+
66 const auto &AN = static_cast<const AttrName &>(*UpAn);
+
67
+
68 // Skip:
+
69 //
+
70 // inherit (expr) name1 name2;
+
71 //
+
72 if (Inh.expr())
+
73 return nullptr;
+
74
+
75 // Skip dynamic.
+
76 if (!AN.isStatic())
+
77 return nullptr;
+
78
+
79 // This attrname will be desugared into an "ExprVar".
+
80 Up = PMA.upTo(Inh, Node::NK_ExprAttrs);
+
81 if (!Up)
+
82 return nullptr;
+
83
+
84 const SemaAttrs &SA = static_cast<const ExprAttrs &>(*Up).sema();
+
85 const Node *Var = SA.staticAttrs().at(AN.staticName()).value();
+
86 assert(Var->kind() == Node::NK_ExprVar);
+
87 return static_cast<const ExprVar *>(Var);
+
88 }
+
89 return nullptr;
+
90}
+
91
+
92const ExprVar *findVar(const Node &N, const ParentMapAnalysis &PMA,
+
93 const VariableLookupAnalysis &VLA) {
+
94 if (const ExprVar *InVar = findInheritVar(N, PMA, VLA))
+
95 return InVar;
+
96
+
97 return static_cast<const ExprVar *>(PMA.upTo(N, Node::NK_ExprVar));
+
98}
+
99
+ +
101 const VariableLookupAnalysis &VLA) {
+
102 LookupResult Result = VLA.query(static_cast<const ExprVar &>(Var));
+
103
+
104 if (Result.Kind == ResultKind::Undefined)
+
105 throw UndefinedVarException();
+
106
+
107 if (Result.Kind == ResultKind::NoSuchVar)
+
108 throw NoSuchVarException();
+
109
+
110 assert(Result.Def);
+
111
+
112 return *Result.Def;
+
113}
+
114
+
115/// \brief Convert nixf::Definition to lspserver::Location
+
116Location convertToLocation(llvm::StringRef Src, const Definition &Def,
+
117 URIForFile URI) {
+
118 if (!Def.syntax())
+ +
120 assert(Def.syntax());
+
121 return Location{
+
122 .uri = std::move(URI),
+
123 .range = toLSPRange(Src, Def.syntax()->range()),
+
124 };
+
125}
+
126
+
127struct NoLocationsFoundInNixpkgsException : std::exception {
+
128 [[nodiscard]] const char *what() const noexcept override {
+
129 return "no locations found in nixpkgs";
+
130 }
+
131};
+
132
+
133class WorkerReportedException : std::exception {
+
134 llvm::Error E;
+
135
+
136public:
+
137 WorkerReportedException(llvm::Error E) : E(std::move(E)){};
+
138
+
139 llvm::Error takeError() { return std::move(E); }
+
140 [[nodiscard]] const char *what() const noexcept override {
+
141 return "worker reported some error";
+
142 }
+
143};
+
144
+
145/// \brief Resolve definition by invoking nixpkgs provider.
+
146///
+
147/// Useful for users inspecting nixpkgs packages. For example, someone clicks
+
148/// "with pkgs; [ hello ]", it's better to goto nixpkgs position, instead of
+
149/// "with pkgs;"
+
150class NixpkgsDefinitionProvider {
+
151 AttrSetClient &NixpkgsClient;
+
152
+
153 /// \brief Parse nix-rolled location: file:line -> lsp Location
+
154 static Location parseLocation(std::string_view Position) {
+
155 // Firstly, find ":"
+
156 auto Pos = Position.find_first_of(':');
+
157 if (Pos == std::string_view::npos) {
+
158 return Location{
+ +
160 .range = {{0, 0}, {0, 0}},
+
161 };
+
162 }
+
163 int PosL = std::stoi(std::string(Position.substr(Pos + 1)));
+ +
165 std::string_view File = Position.substr(0, Pos);
+
166 return Location{
+ +
168 .range = {P, P},
+
169 };
+
170 }
+
171
+
172public:
+
173 NixpkgsDefinitionProvider(AttrSetClient &NixpkgsClient)
+
174 : NixpkgsClient(NixpkgsClient) {}
+
175
+ +
177 std::binary_semaphore Ready(0);
+ +
179 auto OnReply = [&Ready, &Desc](llvm::Expected<AttrPathInfoResponse> Resp) {
+
180 if (Resp)
+
181 Desc = *Resp;
+
182 else
+
183 Desc = Resp.takeError();
+
184 Ready.release();
+
185 };
+
186 NixpkgsClient.attrpathInfo(Sel, std::move(OnReply));
+
187 Ready.acquire();
+
188
+
189 if (!Desc)
+
190 throw WorkerReportedException(Desc.takeError());
+
191
+
192 // Prioritize package location if it exists.
+
193 if (const std::optional<std::string> &Position = Desc->PackageDesc.Position)
+ +
195
+
196 // Use the location in "ValueMeta".
+
197 if (const auto &Loc = Desc->Meta.Location)
+
198 return Locations{*Loc};
+
199
+
200 throw NoLocationsFoundInNixpkgsException();
+
201 }
+
202};
+
203
+
204/// \brief Try to get "location" by invoking options worker
+
205class OptionsDefinitionProvider {
+
206 AttrSetClient &Client;
+
207
+
208public:
+
209 OptionsDefinitionProvider(AttrSetClient &Client) : Client(Client) {}
+
210 void resolveLocations(const std::vector<std::string> &Params,
+
211 Locations &Locs) {
+
212 std::binary_semaphore Ready(0);
+
213 Expected<OptionInfoResponse> Info = error("not replied");
+ +
215 auto OnReply = [&Ready, &Info](llvm::Expected<OptionInfoResponse> Resp) {
+
216 Info = std::move(Resp);
+
217 Ready.release();
+
218 };
+
219 // Send request.
+
220
+
221 Client.optionInfo(Params, std::move(OnReply));
+
222 Ready.acquire();
+
223
+
224 if (!Info) {
+
225 elog("getting locations: {0}", Info.takeError());
+
226 return;
+
227 }
+
228
+
229 for (const auto &Decl : Info->Declarations)
+
230 Locs.emplace_back(Decl);
+
231 }
+
232};
+
233
+
234/// \brief Get the locations of some attribute path.
+
235///
+
236/// Usually this function will return a list of option declarations via RPC
+ +
238 std::mutex &OptionsLock,
+
239 Controller::OptionMapTy &Options) {
+ +
241 std::vector<std::string> Scope;
+
242 auto R = findAttrPath(N, PM, Scope);
+ +
244 if (R == PathResult::OK) {
+
245 std::lock_guard _(OptionsLock);
+
246 // For each option worker, try to get it's decl position.
+
247 for (const auto &[_, Client] : Options) {
+
248 if (AttrSetClient *C = Client->client()) {
+
249 OptionsDefinitionProvider ODP(*C);
+
250 ODP.resolveLocations(Scope, Locs);
+
251 }
+
252 }
+
253 }
+
254 return Locs;
+
255}
+
256
+
257/// \brief Get nixpkgs definition from a selector.
+ +
259 AttrSetClient &NixpkgsClient) {
+
260 try {
+
261 // Ask nixpkgs provider information about this selector.
+
262 NixpkgsDefinitionProvider NDP(NixpkgsClient);
+
263 return NDP.resolveSelector(Sel);
+
264 } catch (NoLocationsFoundInNixpkgsException &E) {
+
265 elog("definition/idiom: {0}", E.what());
+
266 } catch (WorkerReportedException &E) {
+
267 elog("definition/idiom/worker: {0}", E.takeError());
+
268 }
+
269 return {};
+
270}
+
271
+
272/// \brief Get definiton of select expressions.
+ +
274 const ParentMapAnalysis &PM,
+
275 AttrSetClient &NixpkgsClient) {
+
276 // Currently we can only deal with idioms.
+
277 // Maybe more data-flow analysis will be added though.
+
278 try {
+
279 return defineNixpkgsSelector(mkSelector(Sel, VLA, PM), NixpkgsClient);
+
280 } catch (IdiomSelectorException &E) {
+
281 elog("defintion/idiom/selector: {0}", E.what());
+
282 }
+
283 return {};
+
284}
+
285
+ +
287 const URIForFile &URI, llvm::StringRef Src) {
+
288 const Definition &Def = findVarDefinition(Var, VLA);
+
289 return {convertToLocation(Src, Def, URI)};
+
290}
+
291
+
292template <class T>
+
293std::vector<T> mergeVec(std::vector<T> A, const std::vector<T> &B) {
+
294 A.insert(A.end(), B.begin(), B.end());
+
295 return A;
+
296}
+
297
+
298llvm::Expected<Locations>
+ +
300 const ParentMapAnalysis &PM, AttrSetClient &NixpkgsClient,
+
301 const URIForFile &URI, llvm::StringRef Src) {
+
302 try {
+ +
304
+
305 // Nixpkgs locations.
+
306 try {
+ + +
309 return mergeVec(std::move(StaticLocs), NixpkgsLocs);
+
310 } catch (std::exception &E) {
+
311 elog("definition/idiom/selector: {0}", E.what());
+
312 return StaticLocs;
+
313 }
+
314 } catch (std::exception &E) {
+
315 elog("definition/static: {0}", E.what());
+
316 return Locations{};
+
317 }
+
318 return error("unreachable code! Please submit an issue");
+
319}
+
320
+
321/// \brief Squash a vector into smaller json variant.
+
322template <class T> llvm::json::Value squash(std::vector<T> List) {
+
323 std::size_t Size = List.size();
+
324 switch (Size) {
+
325 case 0:
+
326 return nullptr;
+
327 case 1:
+
328 return std::move(List.back());
+
329 default:
+
330 break;
+
331 }
+
332 return std::move(List);
+
333}
+
334
+
335template <class T>
+
336llvm::Expected<llvm::json::Value> squash(llvm::Expected<std::vector<T>> List) {
+
337 if (!List)
+
338 return List.takeError();
+
339 return squash(std::move(*List));
+
340}
+
341
+
342} // namespace
+
343
+
+ +
345 const ParentMapAnalysis &PMA,
+
346 const VariableLookupAnalysis &VLA) {
+
347 const ExprVar *Var = findVar(N, PMA, VLA);
+
348 if (!Var) [[unlikely]] {
+
349 if (const Definition *Def = findSelfDefinition(N, PMA, VLA))
+
350 return *Def;
+ +
352 }
+
353 assert(Var->kind() == Node::NK_ExprVar);
+
354 return findVarDefinition(*Var, VLA);
+
355}
+
+
356
+
357void Controller::onDefinition(const TextDocumentPositionParams &Params,
+ +
359 auto Action = [Reply = std::move(Reply), URI = Params.textDocument.uri,
+
360 Pos = toNixfPosition(Params.position), this]() mutable {
+
361 std::string File(URI.file());
+
362 if (std::shared_ptr<NixTU> TU = getTU(File, Reply)) [[likely]] {
+
363 if (std::shared_ptr<Node> AST = getAST(*TU, Reply)) [[likely]] {
+
364 const VariableLookupAnalysis &VLA = *TU->variableLookup();
+
365 const ParentMapAnalysis &PM = *TU->parentMap();
+
366 const Node *MaybeN = AST->descend({Pos, Pos});
+
367 if (!MaybeN) [[unlikely]] {
+
368 Reply(error("cannot find AST node on given position"));
+
369 return;
+
370 }
+
371 const Node &N = *MaybeN;
+
372 const Node *MaybeUpExpr = PM.upExpr(N);
+
373 if (!MaybeUpExpr) {
+
374 Reply(nullptr);
+
375 return;
+
376 }
+
377
+
378 const Node &UpExpr = *MaybeUpExpr;
+
379
+
380 return Reply(squash([&]() -> llvm::Expected<Locations> {
+
381 // Special case for inherited names.
+
382 if (const ExprVar *Var = findInheritVar(N, PM, VLA))
+
383 return defineVar(*Var, VLA, PM, *nixpkgsClient(), URI, TU->src());
+
384
+
385 switch (UpExpr.kind()) {
+
386 case Node::NK_ExprVar: {
+
387 const auto &Var = static_cast<const ExprVar &>(UpExpr);
+
388 return defineVar(Var, VLA, PM, *nixpkgsClient(), URI, TU->src());
+
389 }
+
390 case Node::NK_ExprSelect: {
+
391 const auto &Sel = static_cast<const ExprSelect &>(UpExpr);
+
392 return defineSelect(Sel, VLA, PM, *nixpkgsClient());
+
393 }
+
394 case Node::NK_ExprAttrs:
+
395 return defineAttrPath(N, PM, OptionsLock, Options);
+
396 default:
+
397 break;
+
398 }
+
399 return error("unknown node type for definition");
+
400 }()));
+
401 }
+
402 }
+
403 };
+
404 boost::asio::post(Pool, std::move(Action));
+
405}
+
This file declares some common analysis (tree walk) on the AST.
+
Types used in nixpkgs provider.
+ + + +
Convert between LSP and nixf types.
+
std::vector< Location > Locations
+ + +
Lookup variable names, from it's parent scope.
+ + +
void optionInfo(const AttrPathInfoParams &Params, lspserver::Callback< OptionInfoResponse > Reply)
+
void attrpathInfo(const AttrPathInfoParams &Params, lspserver::Callback< AttrPathInfoResponse > Reply)
+
std::map< std::string, std::unique_ptr< AttrSetClientProc > > OptionMapTy
Definition Controller.h:21
+ +
Represents a definition.
+
const Node * syntax() const
+ +
const SemaAttrs & sema() const
Definition Attrs.h:284
+ + + + +
const Node * descend(PositionRange Range) const
Descendant node that contains the given range.
Definition Basic.h:49
+
NodeKind kind() const
Definition Basic.h:34
+
LexerCursorRange range() const
Definition Basic.h:35
+ +
const Node * upTo(const Node &N, Node::NodeKind Kind) const
Search up until some kind of node is found.
+
const Node * query(const Node &N) const
+ +
Position()=default
+
Attribute set after deduplication.
Definition Attrs.h:231
+
const std::map< std::string, Attribute > & staticAttrs() const
Static attributes, do not require evaluation to get the key.
Definition Attrs.h:252
+ + +
const Definition * toDef(const Node &N) const
Get definition record for some name.
+
LookupResult query(const ExprVar &Var) const
Query the which name/with binds to specific varaible.
+
ParentMap analysis.
+ + +
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
+
@ Info
An information message.
+
void elog(const char *Fmt, Ts &&...Vals)
Definition Logger.h:52
+ + +
Selector mkVarSelector(const nixf::ExprVar &Var, const nixf::VariableLookupAnalysis &VLA, const nixf::ParentMapAnalysis &PM)
Construct a nixd::Selector from Var.
Definition AST.cpp:199
+
Selector mkSelector(const nixf::AttrPath &AP, Selector BaseSelector)
Construct a nixd::Selector from AP.
Definition AST.cpp:249
+ +
bool fromJSON(const llvm::json::Value &Params, Configuration::Diagnostic &R, llvm::json::Path P)
+
FindAttrPathResult findAttrPath(const nixf::Node &N, const nixf::ParentMapAnalysis &PM, std::vector< std::string > &Path)
Heuristically find attrpath suitable for "attrpath" completion.
Definition AST.cpp:283
+
std::vector< std::string > Selector
A list of strings that "select"s into a attribute set.
Definition AttrSet.h:42
+
FindAttrPathResult
Definition AST.h:119
+
nixf::Position toNixfPosition(const lspserver::Position &P)
Definition Convert.cpp:32
+
const nixf::Definition & findDefinition(const nixf::Node &N, const nixf::ParentMapAnalysis &PMA, const nixf::VariableLookupAnalysis &VLA)
Heuristically find definition on some node.
+
lspserver::Range toLSPRange(llvm::StringRef Code, const nixf::LexerCursorRange &R)
Definition Convert.cpp:40
+
std::vector< OptionField > OptionCompleteResponse
Definition AttrSet.h:137
+ + +
URIForFile uri
The text document's URI.
+ + + +
static URIForFile canonicalize(llvm::StringRef AbsPath, llvm::StringRef TUPath)
+ +
Exceptions scoped in nixd::mkIdiomSelector.
Definition AST.h:31
+ +
No such variable.
Definition AST.h:49
+ + +
+ + + + diff --git a/Definition_8h.html b/Definition_8h.html new file mode 100644 index 000000000..74892d55a --- /dev/null +++ b/Definition_8h.html @@ -0,0 +1,113 @@ + + + + + + + +nixd: Definition.h File Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
Definition.h File Reference
+
+
+
#include "nixf/Sema/ParentMap.h"
+#include "nixf/Sema/VariableLookup.h"
+#include <llvm/Support/Error.h>
+
+

Go to the source code of this file.

+ + + + +

+Classes

struct  nixd::CannotFindVarException
 
+ + + +

+Namespaces

namespace  nixd
 
+ + + + +

+Functions

const nixf::Definitionnixd::findDefinition (const nixf::Node &N, const nixf::ParentMapAnalysis &PMA, const nixf::VariableLookupAnalysis &VLA)
 Heuristically find definition on some node.
 
+
+ + + + diff --git a/Definition_8h_source.html b/Definition_8h_source.html new file mode 100644 index 000000000..779a017c6 --- /dev/null +++ b/Definition_8h_source.html @@ -0,0 +1,128 @@ + + + + + + + +nixd: Definition.h Source File + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Definition.h
+
+
+Go to the documentation of this file.
1#pragma once
+
2
+ + +
5
+
6#include <llvm/Support/Error.h>
+
7
+
8namespace nixd {
+
9
+
+
10struct CannotFindVarException : std::exception {
+
+
11 [[nodiscard]] const char *what() const noexcept override {
+
12 return "cannot find variable on given node";
+
13 }
+
+
14};
+
+
15
+
16/// \brief Heuristically find definition on some node
+ +
18 const nixf::ParentMapAnalysis &PMA,
+ +
20
+
21} // namespace nixd
+
Lookup variable names, from it's parent scope.
+
Represents a definition.
+ + + +
ParentMap analysis.
+ +
bool fromJSON(const llvm::json::Value &Params, Configuration::Diagnostic &R, llvm::json::Path P)
+
const nixf::Definition & findDefinition(const nixf::Node &N, const nixf::ParentMapAnalysis &PMA, const nixf::VariableLookupAnalysis &VLA)
Heuristically find definition on some node.
+ +
const char * what() const noexcept override
Definition Definition.h:11
+
+ + + + diff --git a/Deserialize_8h.html b/Deserialize_8h.html new file mode 100644 index 000000000..bf542348b --- /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 EvalCache 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..3bc5c8e8b --- /dev/null +++ b/Deserialize_8h_source.html @@ -0,0 +1,147 @@ + + + + + + + +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`.
+ +
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 EvalCache 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.
+
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)
+
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/DiagnosticEnum_8h_8py.html b/DiagnosticEnum_8h_8py.html new file mode 100644 index 000000000..d0daefc53 --- /dev/null +++ b/DiagnosticEnum_8h_8py.html @@ -0,0 +1,105 @@ + + + + + + + +nixd: DiagnosticEnum.h.py File Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
DiagnosticEnum.h.py File Reference
+
+
+ +

Go to the source code of this file.

+ + + + +

+Namespaces

namespace  DiagnosticEnum
 
+ + + + + +

+Variables

 DiagnosticEnum.output = open(sys.argv[1], "w")
 
 DiagnosticEnum._
 
+
+ + + + diff --git a/DiagnosticEnum_8h_8py_source.html b/DiagnosticEnum_8h_8py_source.html new file mode 100644 index 000000000..967e8cfc1 --- /dev/null +++ b/DiagnosticEnum_8h_8py_source.html @@ -0,0 +1,109 @@ + + + + + + + +nixd: DiagnosticEnum.h.py Source File + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
DiagnosticEnum.h.py
+
+
+Go to the documentation of this file.
1# Generate "DiagnosticEnum.h"
+
2import sys
+
3
+
4from support import lines
+
5from diagnostic import diagnostics
+
6
+
7
+
8output = open(sys.argv[1], "w")
+
9_ = output.write(
+
10 lines(
+
11 [
+
12 "enum DiagnosticKind {",
+
13 *map(lambda x: f" DK_{x['cname']},", diagnostics),
+
14 "};",
+
15 ]
+
16 )
+
17)
+
+ + + + diff --git a/Diagnostic_8cpp.html b/Diagnostic_8cpp.html new file mode 100644 index 000000000..b2481accd --- /dev/null +++ b/Diagnostic_8cpp.html @@ -0,0 +1,159 @@ + + + + + + + +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"
+
+

Go to the source code of this file.

+ + + + + + +

+Macros

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

Macro Definition Documentation

+ +

◆ 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_8py.html b/Diagnostic_8cpp_8py.html new file mode 100644 index 000000000..58f9ebf08 --- /dev/null +++ b/Diagnostic_8cpp_8py.html @@ -0,0 +1,117 @@ + + + + + + + +nixd: Diagnostic.cpp.py File Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
Diagnostic.cpp.py File Reference
+
+
+ +

Go to the source code of this file.

+ + + + +

+Namespaces

namespace  Diagnostic
 
+ + + + + + + + + +

+Functions

list[str] Diagnostic.gen_parse_id ()
 
list[str] Diagnostic.gen_message ()
 
list[str] Diagnostic.gen_serverity ()
 
list[str] Diagnostic.gen_sname ()
 
+ + + + + +

+Variables

 Diagnostic.output = open(sys.argv[1], "w")
 
 Diagnostic._
 
+
+ + + + diff --git a/Diagnostic_8cpp_8py_source.html b/Diagnostic_8cpp_8py_source.html new file mode 100644 index 000000000..ff0521be1 --- /dev/null +++ b/Diagnostic_8cpp_8py_source.html @@ -0,0 +1,224 @@ + + + + + + + +nixd: Diagnostic.cpp.py Source File + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Diagnostic.cpp.py
+
+
+Go to the documentation of this file.
1# Generate "DiagnosticEnum.h"
+
2from functools import reduce
+
3from operator import add
+
4import sys
+
5
+
6from diagnostic import Diagnostic, diagnostics
+
7from support import lines, indent
+
8
+
9
+
+
10def gen_parse_id() -> list[str]:
+
11 def gen_case(d: Diagnostic) -> list[str]:
+
12 return [
+
13 "{" f'"{d["sname"]}", Diagnostic::DK_{d["cname"]}' "},",
+
14 ]
+
15
+
16 return [
+
17 "std::optional<Diagnostic::DiagnosticKind> Diagnostic::parseKind(std::string_view SName) {",
+
18 *map(
+
19 indent,
+
20 [
+
21 "static std::unordered_map<std::string_view, nixf::Diagnostic::DiagnosticKind> DKMap {",
+
22 *map(indent, reduce(add, map(gen_case, diagnostics))),
+
23 "};",
+
24 "",
+
25 "auto It = DKMap.find(SName);",
+
26 "if (It != DKMap.end())",
+
27 " return It->second;",
+
28 "return std::nullopt;",
+
29 ],
+
30 ),
+
31 "}",
+
32 ]
+
33
+
34
+
+
+
35def gen_message() -> list[str]:
+
36 "Generate nixf::Diagnostic::message implementation"
+
37
+
38 def gen_case(d: Diagnostic) -> list[str]:
+
39 return [
+
40 f'case DK_{d["cname"]}:',
+
41 indent(f'return "{d["message"]}";'),
+
42 ]
+
43
+
44 return [
+
45 "const char *Diagnostic::message(DiagnosticKind Kind) {",
+
46 *map(
+
47 indent,
+
48 [
+
49 "switch(Kind) {",
+
50 *reduce(add, map(gen_case, diagnostics)),
+
51 "}",
+
52 "__builtin_unreachable();",
+
53 ],
+
54 ),
+
55 "}",
+
56 ]
+
57
+
58
+
+
+
59def gen_serverity() -> list[str]:
+
60 "Generate nixf::Diagnostic::severity implementation"
+
61
+
62 def gen_case(d: Diagnostic) -> list[str]:
+
63 return [
+
64 f'case DK_{d["cname"]}:',
+
65 indent(f'return DS_{d["severity"]};'),
+
66 ]
+
67
+
68 return [
+
69 "Diagnostic::Severity Diagnostic::severity(DiagnosticKind Kind) {",
+
70 *map(
+
71 indent,
+
72 [
+
73 "switch(Kind) {",
+
74 *reduce(add, map(gen_case, diagnostics)),
+
75 "}",
+
76 "__builtin_unreachable();",
+
77 ],
+
78 ),
+
79 "}",
+
80 ]
+
81
+
82
+
+
+
83def gen_sname() -> list[str]:
+
84 "Generate nixf::Diagnostic::sname implementation"
+
85
+
86 def gen_case(d: Diagnostic) -> list[str]:
+
87 return [
+
88 f'case DK_{d["cname"]}:',
+
89 indent(f'return "{d["sname"]}";'),
+
90 ]
+
91
+
92 return [
+
93 "const char *Diagnostic::sname(DiagnosticKind Kind) {",
+
94 *map(
+
95 indent,
+
96 [
+
97 "switch(Kind) {",
+
98 *reduce(add, map(gen_case, diagnostics)),
+
99 "}",
+
100 "__builtin_unreachable();",
+
101 ],
+
102 ),
+
103 "}",
+
104 ]
+
105
+
106
+
+
107output = open(sys.argv[1], "w")
+
108_ = output.write(
+
109 lines(
+
110 [
+
111 '#include "nixf/Basic/Diagnostic.h"',
+
112 "#include <unordered_map>",
+
113 "using namespace nixf;",
+
114 *gen_sname(),
+
115 *gen_serverity(),
+
116 *gen_message(),
+
117 *gen_parse_id(),
+
118 ]
+
119 )
+
120)
+
list[str] gen_parse_id()
+
list[str] gen_sname()
+
list[str] gen_serverity()
+
list[str] gen_message()
+
+ + + + diff --git a/Diagnostic_8cpp_source.html b/Diagnostic_8cpp_source.html new file mode 100644 index 000000000..63e1cce26 --- /dev/null +++ b/Diagnostic_8cpp_source.html @@ -0,0 +1,159 @@ + + + + + + + +nixd: Diagnostic.cpp Source File + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Diagnostic.cpp
+
+
+Go to the documentation of this file.
+
2
+
3#include <sstream>
+
4
+
5using namespace nixf;
+
6
+
7namespace {
+
8
+
9std::string simpleFormat(const char *Fmt,
+
10 const std::vector<std::string> &Args) {
+
11 std::stringstream SS;
+
12 std::size_t ArgIdx = 0;
+
13 for (const char *Cur = Fmt; *Cur;) {
+
14 if (*Cur == '{' && *(Cur + 1) == '}') {
+
15 SS << Args[ArgIdx++];
+
16 Cur += 2;
+
17 } else {
+
18 SS << *Cur;
+
19 ++Cur;
+
20 }
+
21 }
+
22 return SS.str();
+
23}
+
24
+
25} // namespace
+
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
+
+
39const char *nixf::Note::message(NoteKind Kind) {
+
40 switch (Kind) {
+
41#define DIAG_NOTE(SNAME, CNAME, MESSAGE) \
+
42 case NK_##CNAME: \
+
43 return MESSAGE;
+ +
45#undef DIAG_NOTE
+
46 }
+
47 assert(false && "Invalid diagnostic kind");
+
48 __builtin_unreachable();
+
49}
+
+
50
+
+
51std::string PartialDiagnostic::format() const {
+
52 return simpleFormat(message(), Args);
+
53}
+
+ + +
const char * message() const override
Definition Diagnostic.h:139
+
virtual const char * sname() const
Definition Diagnostic.h:133
+
NoteKind
Internal kind.
Definition Diagnostic.h:117
+
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..58a16e7e7 --- /dev/null +++ b/Diagnostic_8h.html @@ -0,0 +1,162 @@ + + + + + + + +nixd: Diagnostic.h File Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
Diagnostic.h File Reference
+
+
+
#include "Range.h"
+#include <cassert>
+#include <optional>
+#include <string>
+#include <utility>
+#include <vector>
+#include "NoteKinds.inc"
+#include "DiagnosticEnum.h"
+
+

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,
 
+ + + +

+Enumerations

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

Macro Definition Documentation

+ +

◆ DIAG_NOTE

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

Definition at line 118 of file Diagnostic.h.

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

Implementation of PublishDiagnostics Notification. +More...

+
#include "Convert.h"
+#include "nixd/Controller/Controller.h"
+#include <nixf/Basic/Diagnostic.h>
+#include <mutex>
+#include <optional>
+
+

Go to the source code of this file.

+

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..6c617d2b8 --- /dev/null +++ b/Diagnostics_8cpp_source.html @@ -0,0 +1,235 @@ + + + + + + + +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 "Convert.h"
+
7
+ +
9
+ +
11
+
12#include <mutex>
+
13#include <optional>
+
14
+
15using namespace nixd;
+
16using namespace llvm::json;
+
17using namespace lspserver;
+
18
+
19void Controller::updateSuppressed(const std::vector<std::string> &Sup) {
+
20 // Acquire the lock because the set needs to be written.
+
21 std::lock_guard _(SuppressedDiagnosticsLock);
+
22 // Clear the set, just construct a new one.
+
23 SuppressedDiagnostics.clear();
+
24
+
25 // For each element, see if the name matches some declared name.
+
26 // If so, insert the set.
+
27 for (const auto &Name : Sup) {
+
28 if (auto DK = nixf::Diagnostic::parseKind(Name)) {
+
29 SuppressedDiagnostics.insert(*DK);
+
30 } else {
+
31 // The name is not listed in knwon names. Log error here
+
32 lspserver::elog("diagnostic suppressing sname {0} is unknown", Name);
+
33 }
+
34 }
+
35}
+
36
+
37bool Controller::isSuppressed(nixf::Diagnostic::DiagnosticKind Kind) {
+
38 std::lock_guard _(SuppressedDiagnosticsLock);
+
39 return SuppressedDiagnostics.contains(Kind);
+
40}
+
41
+
42void Controller::publishDiagnostics(
+
43 PathRef File, std::optional<int64_t> Version, std::string_view Src,
+
44 const std::vector<nixf::Diagnostic> &Diagnostics) {
+
45 std::vector<Diagnostic> LSPDiags;
+
46 LSPDiags.reserve(Diagnostics.size());
+
47 for (const nixf::Diagnostic &D : Diagnostics) {
+
48 // Before actually doing anything,
+
49 // let's check if the diagnostic is suppressed.
+
50 // If suppressed, just skip it.
+
51 if (isSuppressed(D.kind()))
+
52 continue;
+
53
+
54 // Format the message.
+
55 std::string Message = D.format();
+
56
+
57 // Add fix information.
+
58 if (!D.fixes().empty()) {
+
59 Message += " (";
+
60 if (D.fixes().size() == 1) {
+
61 Message += "fix available";
+
62 } else {
+
63 Message += std::to_string(D.fixes().size());
+
64 Message += " fixes available";
+
65 }
+
66 Message += ")";
+
67 }
+
68
+
69 Diagnostic &Diag = LSPDiags.emplace_back(Diagnostic{
+
70 .range = toLSPRange(Src, D.range()),
+
71 .severity = getLSPSeverity(D.kind()),
+
72 .code = D.sname(),
+
73 .source = "nixf",
+
74 .message = Message,
+
75 .tags = toLSPTags(D.tags()),
+
76 .relatedInformation = std::vector<DiagnosticRelatedInformation>{},
+
77 });
+
78
+
79 assert(Diag.relatedInformation && "Must be initialized");
+
80 Diag.relatedInformation->reserve(D.notes().size());
+
81 for (const nixf::Note &N : D.notes()) {
+
82 Diag.relatedInformation->emplace_back(DiagnosticRelatedInformation{
+
83 .location =
+ + +
86 .range = toLSPRange(Src, N.range()),
+
87 },
+
88 .message = N.format(),
+
89 });
+
90 }
+
91 auto Notes = D.notes();
+
92 auto DRange = Diag.range;
+
93
+
94 for (const nixf::Note &N : Notes) {
+
95 LSPDiags.emplace_back(Diagnostic{
+
96 .range = toLSPRange(Src, N.range()),
+
97 .severity = 4,
+
98 .code = N.sname(),
+
99 .source = "nixf",
+
100 .message = N.format(),
+
101 .tags = toLSPTags(N.tags()),
+
102 .relatedInformation =
+
103 std::vector<DiagnosticRelatedInformation>{
+ +
105 .location =
+
106 Location{
+ +
108 .range = DRange,
+
109 },
+
110 .message = "original diagnostic",
+
111 }},
+
112 });
+
113 }
+
114 }
+
115 PublishDiagnostic({
+ +
117 .diagnostics = std::move(LSPDiags),
+
118 .version = Version,
+
119 });
+
120}
+ +
Convert between LSP and nixf types.
+ +
Diagnostic::DiagnosticKind DK
Definition Lexer.cpp:39
+ +
static std::optional< Diagnostic::DiagnosticKind > parseKind(std::string_view SName)
Parse diagnostic "cname" to diagnostic id.
+ + + +
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
+ +
int getLSPSeverity(nixf::Diagnostic::DiagnosticKind Kind)
Definition Convert.cpp:11
+
bool fromJSON(const llvm::json::Value &Params, Configuration::Diagnostic &R, llvm::json::Path P)
+
lspserver::Range toLSPRange(llvm::StringRef Code, const nixf::LexerCursorRange &R)
Definition Convert.cpp:40
+
llvm::SmallVector< lspserver::DiagnosticTag, 1 > toLSPTags(const std::vector< nixf::DiagnosticTag > &Tags)
Definition Convert.cpp:47
+ +
Location location
The location of this related diagnostic information.
+ +
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..e52c761bd --- /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 EvalCache 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..10050e6a7 --- /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 EvalCache 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..f7062f675 --- /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 EvalCache 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..6af6450d5 --- /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 EvalCache 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/DocumentHighlight_8cpp.html b/DocumentHighlight_8cpp.html new file mode 100644 index 000000000..82212b9dd --- /dev/null +++ b/DocumentHighlight_8cpp.html @@ -0,0 +1,104 @@ + + + + + + + +nixd: DocumentHighlight.cpp File Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
DocumentHighlight.cpp File Reference
+
+
+ +

This implements Document Highlight. +More...

+
#include "Convert.h"
+#include "Definition.h"
+#include "nixd/Controller/Controller.h"
+#include <boost/asio/post.hpp>
+#include <lspserver/Protocol.h>
+#include <nixf/Sema/ParentMap.h>
+#include <nixf/Sema/VariableLookup.h>
+#include <exception>
+
+

Go to the source code of this file.

+

Detailed Description

+

This implements Document Highlight.

+ +

Definition in file DocumentHighlight.cpp.

+
+ + + + diff --git a/DocumentHighlight_8cpp_source.html b/DocumentHighlight_8cpp_source.html new file mode 100644 index 000000000..f742ce367 --- /dev/null +++ b/DocumentHighlight_8cpp_source.html @@ -0,0 +1,200 @@ + + + + + + + +nixd: DocumentHighlight.cpp Source File + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
DocumentHighlight.cpp
+
+
+Go to the documentation of this file.
1/// \file
+
2/// \brief This implements [Document Highlight].
+
3/// [Document Highlight]:
+
4/// https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#textDocument_documentHighlight
+
5
+
6#include "Convert.h"
+
7#include "Definition.h"
+
8
+ +
10
+
11#include <boost/asio/post.hpp>
+
12#include <lspserver/Protocol.h>
+
13#include <nixf/Sema/ParentMap.h>
+ +
15
+
16#include <exception>
+
17
+
18using namespace lspserver;
+
19using namespace nixd;
+
20using namespace llvm;
+
21using namespace nixf;
+
22
+
23namespace {
+
24
+
25std::vector<DocumentHighlight> highlight(const nixf::Node &Desc,
+
26 const ParentMapAnalysis &PMA,
+
27 const VariableLookupAnalysis &VLA,
+
28 const URIForFile &URI,
+
29 llvm::StringRef Src) {
+
30 // Find "definition"
+
31 auto Def = findDefinition(Desc, PMA, VLA);
+
32
+
33 std::vector<DocumentHighlight> Highlights;
+
34 // OK, iterate all uses.
+
35 for (const auto *Use : Def.uses()) {
+
36 assert(Use);
+
37 Highlights.emplace_back(DocumentHighlight{
+
38 .range = toLSPRange(Src, Use->range()),
+
39 .kind = DocumentHighlightKind::Read,
+
40 });
+
41 }
+
42 if (Def.syntax()) {
+
43 const Node &Syntax = *Def.syntax();
+
44 Highlights.emplace_back(DocumentHighlight{
+
45 .range = toLSPRange(Src, Syntax.range()),
+
46 .kind = DocumentHighlightKind::Write,
+
47 });
+
48 }
+
49
+
50 return Highlights;
+
51}
+
52
+
53} // namespace
+
54
+
55void Controller::onDocumentHighlight(
+ +
57 Callback<std::vector<DocumentHighlight>> Reply) {
+
58 auto Action = [Reply = std::move(Reply), URI = Params.textDocument.uri,
+
59 Pos = toNixfPosition(Params.position), this]() mutable {
+
60 std::string File(URI.file());
+
61 if (std::shared_ptr<NixTU> TU = getTU(File, Reply)) [[likely]] {
+
62 if (std::shared_ptr<nixf::Node> AST = getAST(*TU, Reply)) [[likely]] {
+
63 const nixf::Node *Desc = AST->descend({Pos, Pos});
+
64 if (!Desc) {
+
65 Reply(error("cannot find corresponding node on given position"));
+
66 return;
+
67 }
+
68 try {
+
69 const auto &PM = *TU->parentMap();
+
70 const auto &VLA = *TU->variableLookup();
+
71 return Reply(highlight(*Desc, PM, VLA, URI, TU->src()));
+
72 } catch (std::exception &E) {
+
73 elog("textDocument/documentHighlight failed: {0}", E.what());
+
74 return Reply(std::vector<DocumentHighlight>{});
+
75 }
+
76 }
+
77 }
+
78 };
+
79 boost::asio::post(Pool, std::move(Action));
+
80}
+ +
Convert between LSP and nixf types.
+ +
Lookup variable names, from it's parent scope.
+ + +
const Node * descend(PositionRange Range) const
Descendant node that contains the given range.
Definition Basic.h:49
+
LexerCursorRange range() const
Definition Basic.h:35
+ + +
ParentMap analysis.
+ + +
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
+
void elog(const char *Fmt, Ts &&...Vals)
Definition Logger.h:52
+ + +
bool fromJSON(const llvm::json::Value &Params, Configuration::Diagnostic &R, llvm::json::Path P)
+
nixf::Position toNixfPosition(const lspserver::Position &P)
Definition Convert.cpp:32
+
const nixf::Definition & findDefinition(const nixf::Node &N, const nixf::ParentMapAnalysis &PMA, const nixf::VariableLookupAnalysis &VLA)
Heuristically find definition on some node.
+
lspserver::Range toLSPRange(llvm::StringRef Code, const nixf::LexerCursorRange &R)
Definition Convert.cpp:40
+ + +
Range range
The range this highlight applies to.
+ + +
+ + + + diff --git a/DocumentLink_8cpp.html b/DocumentLink_8cpp.html new file mode 100644 index 000000000..78a2b5a8a --- /dev/null +++ b/DocumentLink_8cpp.html @@ -0,0 +1,108 @@ + + + + + + + +nixd: DocumentLink.cpp File Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
DocumentLink.cpp File Reference
+
+
+ +

Implementation of Document Link. +More...

+
#include "Convert.h"
+#include "nixd/Controller/Controller.h"
+#include <boost/asio/post.hpp>
+#include <filesystem>
+
+

Go to the source code of this file.

+

Detailed Description

+

Implementation of Document Link.

+

In Nix language, there are a few interesting constructs worth highlighting:

+
    +
  1. URL literal. Writing URls directly without quotes, supported by vscode.
  2. +
  3. Path. (Append "default.nix", perhaps)
  4. +
  5. Search Path <> FIXME: support search path.
  6. +
  7. Home Path: (begins with ~) FIXME: support home path.
  8. +
  9. Flake Reference FIXME: support flake ref
  10. +
+ +

Definition in file DocumentLink.cpp.

+
+ + + + diff --git a/DocumentLink_8cpp_source.html b/DocumentLink_8cpp_source.html new file mode 100644 index 000000000..f2b8ef521 --- /dev/null +++ b/DocumentLink_8cpp_source.html @@ -0,0 +1,203 @@ + + + + + + + +nixd: DocumentLink.cpp Source File + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
DocumentLink.cpp
+
+
+Go to the documentation of this file.
1/// \file
+
2/// \brief Implementation of [Document Link].
+
3/// [Document Link]:
+
4/// https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#textDocument_documentLink
+
5///
+
6/// In Nix language, there are a few interesting constructs worth highlighting:
+
7///
+
8/// 1. URL literal. Writing URls directly without quotes, supported by vscode.
+
9/// 2. Path. (Append "default.nix", perhaps)
+
10/// 3. Search Path <>
+
11/// FIXME: support search path.
+
12/// 4. Home Path: (begins with ~)
+
13/// FIXME: support home path.
+
14/// 5. Flake Reference
+
15/// FIXME: support flake ref
+
16///
+
17
+
18#include "Convert.h"
+
19
+ +
21
+
22#include <boost/asio/post.hpp>
+
23
+
24#include <filesystem>
+
25
+
26using namespace nixd;
+
27using namespace lspserver;
+
28using namespace nixf;
+
29
+
30namespace {
+
31
+
32/// \brief Resolve expr path to "real" path.
+
33std::optional<std::string> resolveExprPath(const std::string &BasePath,
+
34 const std::string &ExprPath) {
+
35
+
36 namespace fs = std::filesystem;
+
37 // FIXME: we do not use complete "symbolic resolve" here.
+
38 fs::path Path = fs::absolute((BasePath)).remove_filename().append(ExprPath);
+
39
+
40 if (!fs::exists(Path))
+
41 return std::nullopt;
+
42
+
43 if (fs::is_directory(Path))
+
44 return Path.append("default.nix");
+
45
+
46 return Path;
+
47}
+
48
+
49void dfs(const Node *N, const std::string &BasePath,
+
50 std::vector<DocumentLink> &Links, llvm::StringRef Src) {
+
51 if (!N)
+
52 return;
+
53
+
54 switch (N->kind()) {
+
55 case Node::NK_ExprPath: {
+
56 // Resolve the path.
+
57 const auto &Path = static_cast<const ExprPath &>(*N);
+
58 if (Path.parts().isLiteral()) {
+
59 // Provide literal path linking.
+
60 if (auto Link = resolveExprPath(BasePath, Path.parts().literal())) {
+
61 Links.emplace_back(
+
62 DocumentLink{.range = toLSPRange(Src, N->range()),
+
63 .target = URIForFile::canonicalize(*Link, *Link)});
+
64 }
+
65 }
+
66 return;
+
67 }
+
68 default:
+
69 break;
+
70 }
+
71
+
72 // Traverse on all children
+
73 for (const Node *Ch : N->children()) {
+
74 dfs(Ch, BasePath, Links, Src);
+
75 }
+
76}
+
77
+
78} // namespace
+
79
+
80void Controller::onDocumentLink(
+ +
82 lspserver::Callback<std::vector<DocumentLink>> Reply) {
+
83 auto Action = [File = Params.textDocument.uri.file().str(),
+
84 Reply = std::move(Reply), this]() mutable {
+
85 if (std::shared_ptr<NixTU> TU = getTU(File, Reply)) [[likely]] {
+
86 if (std::shared_ptr<nixf::Node> AST = getAST(*TU, Reply)) [[likely]] {
+
87 // Traverse the AST, provide the links
+
88 std::vector<DocumentLink> Links;
+
89 dfs(AST.get(), File, Links, TU->src());
+
90 Reply(std::move(Links));
+
91 }
+
92 }
+
93 };
+
94 boost::asio::post(Pool, std::move(Action));
+
95}
+ +
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
+
std::string Path
Definition Path.h:24
+ + +
bool fromJSON(const llvm::json::Value &Params, Configuration::Diagnostic &R, llvm::json::Path P)
+
lspserver::Range toLSPRange(llvm::StringRef Code, const nixf::LexerCursorRange &R)
Definition Convert.cpp:40
+ +
Parameters for the document link request.
+ + +
static URIForFile canonicalize(llvm::StringRef AbsPath, llvm::StringRef TUPath)
+
+ + + + diff --git a/DocumentSymbol_8cpp.html b/DocumentSymbol_8cpp.html new file mode 100644 index 000000000..c238e6c89 --- /dev/null +++ b/DocumentSymbol_8cpp.html @@ -0,0 +1,105 @@ + + + + + + + +nixd: DocumentSymbol.cpp File Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
DocumentSymbol.cpp File Reference
+
+
+ +

Implementation of Document Symbol. +More...

+
#include "Convert.h"
+#include "nixd/Controller/Controller.h"
+#include <boost/asio/post.hpp>
+#include <llvm/ADT/StringRef.h>
+#include <lspserver/Protocol.h>
+#include <nixf/Basic/Nodes/Attrs.h>
+#include <nixf/Basic/Nodes/Lambda.h>
+#include <nixf/Sema/VariableLookup.h>
+#include <string>
+
+

Go to the source code of this file.

+

Detailed Description

+

Implementation of Document Symbol.

+ +

Definition in file DocumentSymbol.cpp.

+
+ + + + diff --git a/DocumentSymbol_8cpp_source.html b/DocumentSymbol_8cpp_source.html new file mode 100644 index 000000000..3b53055b0 --- /dev/null +++ b/DocumentSymbol_8cpp_source.html @@ -0,0 +1,378 @@ + + + + + + + +nixd: DocumentSymbol.cpp Source File + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
DocumentSymbol.cpp
+
+
+Go to the documentation of this file.
1/// \file
+
2/// \brief Implementation of [Document Symbol].
+
3/// [Document Symbol]:
+
4/// https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#textDocument_documentSymbol
+
5
+
6#include "Convert.h"
+
7
+ +
9
+
10#include <boost/asio/post.hpp>
+
11#include <llvm/ADT/StringRef.h>
+
12#include <lspserver/Protocol.h>
+ + + +
16
+
17#include <string>
+
18
+
19using namespace nixd;
+
20using namespace lspserver;
+
21using namespace nixf;
+
22
+
23namespace {
+
24
+
25std::string getLambdaName(const ExprLambda &Lambda) {
+
26 if (!Lambda.arg() || !Lambda.arg()->id())
+
27 return "(anonymous lambda)";
+
28 return Lambda.arg()->id()->name();
+
29}
+
30
+ +
32 const ExprLambda &Lambda) {
+
33 if (!Lambda.arg()) {
+
34 return toLSPRange(Src, Lambda.range());
+
35 }
+
36
+
37 if (!Lambda.arg()->id()) {
+
38 assert(Lambda.arg()->formals());
+
39 return toLSPRange(Src, Lambda.arg()->formals()->range());
+
40 }
+
41 return toLSPRange(Src, Lambda.arg()->id()->range());
+
42}
+
43
+
44lspserver::Range getAttrRange(llvm::StringRef Src, const Attribute &Attr) {
+
45 auto LCur = toLSPPosition(Src, Attr.key().lCur());
+
46 if (Attr.value())
+
47 return {LCur, toLSPPosition(Src, Attr.value()->rCur())};
+
48 return {LCur, toLSPPosition(Src, Attr.key().rCur())};
+
49}
+
50
+
51/// Make variable's entry rich.
+ +
53 const VariableLookupAnalysis &VLA) {
+
54 if (Var.id().name() == "true" || Var.id().name() == "false") {
+
55 Sym.kind = SymbolKind::Boolean;
+
56 Sym.detail = "builtin boolean";
+
57 return;
+
58 }
+
59
+
60 if (Var.id().name() == "null") {
+
61 Sym.kind = SymbolKind::Null;
+
62 Sym.detail = "null";
+
63 return;
+
64 }
+
65
+
66 auto Result = VLA.query(Var);
+ +
68 if (Result.Kind == ResultKind::Defined)
+
69 Sym.kind = SymbolKind::Constant;
+
70 else if (Result.Kind == ResultKind::FromWith)
+
71 Sym.kind = SymbolKind::Variable;
+
72 else {
+
73 Sym.deprecated = true;
+
74 return;
+
75 }
+
76
+
77 if (Result.Def->isBuiltin())
+
78 Sym.kind = SymbolKind::Event;
+
79}
+
80
+
81/// Collect document symbol on AST.
+
82void collect(const Node *AST, std::vector<DocumentSymbol> &Symbols,
+
83 const VariableLookupAnalysis &VLA, llvm::StringRef Src) {
+
84 if (!AST)
+
85 return;
+
86 switch (AST->kind()) {
+
87
+
88 case Node::NK_ExprString: {
+
89 const auto &Str = static_cast<const ExprString &>(*AST);
+ +
91 .name = Str.isLiteral() ? Str.literal() : "(dynamic string)",
+
92 .detail = "string",
+
93 .kind = SymbolKind::String,
+
94 .deprecated = false,
+
95 .range = toLSPRange(Src, Str.range()),
+
96 .selectionRange = toLSPRange(Src, Str.range()),
+
97 .children = {},
+
98 };
+
99 Symbols.emplace_back(std::move(Sym));
+
100 break;
+
101 }
+
102 case Node::NK_ExprInt: {
+
103 const auto &Int = static_cast<const ExprInt &>(*AST);
+ +
105 .name = std::to_string(Int.value()),
+
106 .detail = "integer",
+
107 .kind = SymbolKind::Number,
+
108 .deprecated = false,
+
109 .range = toLSPRange(Src, Int.range()),
+
110 .selectionRange = toLSPRange(Src, Int.range()),
+
111 .children = {},
+
112 };
+
113 Symbols.emplace_back(std::move(Sym));
+
114 break;
+
115 }
+
116 case Node::NK_ExprFloat: {
+
117 const auto &Float = static_cast<const ExprFloat &>(*AST);
+ +
119 .name = std::to_string(Float.value()),
+
120 .detail = "float",
+
121 .kind = SymbolKind::Number,
+
122 .deprecated = false,
+
123 .range = toLSPRange(Src, Float.range()),
+
124 .selectionRange = toLSPRange(Src, Float.range()),
+
125 .children = {},
+
126 };
+
127 Symbols.emplace_back(std::move(Sym));
+
128 break;
+
129 }
+
130 case Node::NK_AttrName: {
+
131 const auto &AN = static_cast<const AttrName &>(*AST);
+ +
133 .name = AN.isStatic() ? AN.staticName() : "(dynamic attribute name)",
+
134 .detail = "attribute name",
+
135 .kind = SymbolKind::Property,
+
136 .deprecated = false,
+
137 .range = toLSPRange(Src, AN.range()),
+
138 .selectionRange = toLSPRange(Src, AN.range()),
+
139 .children = {},
+
140 };
+
141 Symbols.emplace_back(std::move(Sym));
+
142 break;
+
143 }
+
144 case Node::NK_ExprVar: {
+
145 const auto &Var = static_cast<const ExprVar &>(*AST);
+ +
147 .name = Var.id().name(),
+
148 .detail = "identifier",
+
149 .kind = SymbolKind::Variable,
+
150 .deprecated = false,
+
151 .range = toLSPRange(Src, Var.range()),
+
152 .selectionRange = toLSPRange(Src, Var.range()),
+
153 .children = {},
+
154 };
+
155 richVar(Var, Sym, VLA);
+
156 Symbols.emplace_back(std::move(Sym));
+
157 break;
+
158 }
+
159 case Node::NK_ExprLambda: {
+
160 std::vector<DocumentSymbol> Children;
+
161 const auto &Lambda = static_cast<const ExprLambda &>(*AST);
+
162 collect(Lambda.body(), Children, VLA, Src);
+ + +
165 .detail = "lambda",
+
166 .kind = SymbolKind::Function,
+
167 .deprecated = false,
+
168 .range = toLSPRange(Src, Lambda.range()),
+
169 .selectionRange = getLambdaSelectionRage(Src, Lambda),
+
170 .children = std::move(Children),
+
171 };
+
172 Symbols.emplace_back(std::move(Sym));
+
173 break;
+
174 }
+
175 case Node::NK_ExprList: {
+
176 std::vector<DocumentSymbol> Children;
+
177 const auto &List = static_cast<const ExprList &>(*AST);
+
178 for (const Node *Ch : AST->children())
+
179 collect(Ch, Children, VLA, Src);
+
180
+ +
182 .name = "{anonymous}",
+
183 .detail = "list",
+
184 .kind = SymbolKind::Array,
+
185 .deprecated = false,
+
186 .range = toLSPRange(Src, List.range()),
+
187 .selectionRange = toLSPRange(Src, List.range()),
+
188 .children = std::move(Children),
+
189 };
+
190 Symbols.emplace_back(std::move(Sym));
+
191 break;
+
192 }
+
193 case Node::NK_ExprAttrs: {
+
194 const SemaAttrs &SA = static_cast<const ExprAttrs &>(*AST).sema();
+
195 for (const auto &[Name, Attr] : SA.staticAttrs()) {
+
196 if (!Attr.value())
+
197 continue;
+
198 std::vector<DocumentSymbol> Children;
+
199 collect(Attr.value(), Children, VLA, Src);
+ +
201 .name = Name,
+
202 .detail = "attribute",
+
203 .kind = SymbolKind::Field,
+
204 .deprecated = false,
+
205 .range = getAttrRange(Src, Attr),
+
206 .selectionRange = toLSPRange(Src, Attr.key().range()),
+
207 .children = std::move(Children),
+
208 };
+
209 Symbols.emplace_back(std::move(Sym));
+
210 }
+
211 for (const nixf::Attribute &Attr : SA.dynamicAttrs()) {
+
212 std::vector<DocumentSymbol> Children;
+
213 collect(Attr.value(), Children, VLA, Src);
+ +
215 .name = "${dynamic attribute}",
+
216 .detail = "attribute",
+
217 .kind = SymbolKind::Field,
+
218 .deprecated = false,
+
219 .range = getAttrRange(Src, Attr),
+
220 .selectionRange = toLSPRange(Src, Attr.key().range()),
+
221 .children = std::move(Children),
+
222 };
+
223 Symbols.emplace_back(std::move(Sym));
+
224 }
+
225 break;
+
226 }
+
227 default:
+
228 // Trivial dispatch. Treat these symbol as same as this level.
+
229 for (const Node *Ch : AST->children())
+
230 collect(Ch, Symbols, VLA, Src);
+
231 break;
+
232 }
+
233}
+
234
+
235} // namespace
+
236
+
237void Controller::onDocumentSymbol(const DocumentSymbolParams &Params,
+
238 Callback<std::vector<DocumentSymbol>> Reply) {
+
239 auto Action = [Reply = std::move(Reply), URI = Params.textDocument.uri,
+
240 this]() mutable {
+
241 if (std::shared_ptr<NixTU> TU = getTU(URI.file().str(), Reply)) {
+
242 if (std::shared_ptr<Node> AST = getAST(*TU, Reply)) {
+
243 std::vector<DocumentSymbol> Symbols;
+
244 collect(AST.get(), Symbols, *TU->variableLookup(), TU->src());
+
245 Reply(std::move(Symbols));
+
246 }
+
247 }
+
248 };
+
249 boost::asio::post(Pool, std::move(Action));
+
250}
+ + +
Convert between LSP and nixf types.
+ +
Lookup variable names, from it's parent scope.
+ + + + +
const SemaAttrs & sema() const
Definition Attrs.h:284
+ + + + + + + +
NodeKind kind() const
Definition Basic.h:34
+
std::string_view src(std::string_view Src) const
Definition Basic.h:63
+
Attribute set after deduplication.
Definition Attrs.h:231
+ + +
LookupResult query(const ExprVar &Var) const
Query the which name/with binds to specific varaible.
+ +
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 &Params, Configuration::Diagnostic &R, llvm::json::Path P)
+
lspserver::Position toLSPPosition(llvm::StringRef Code, const nixf::LexerCursor &P)
Definition Convert.cpp:27
+
lspserver::Range toLSPRange(llvm::StringRef Code, const nixf::LexerCursorRange &R)
Definition Convert.cpp:40
+ + + +
std::string name
The name of this symbol.
+ +
+ + + + diff --git a/DraftStore_8cpp.html b/DraftStore_8cpp.html new file mode 100644 index 000000000..a0c6d5731 --- /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..d196413ce --- /dev/null +++ b/DraftStore_8cpp_source.html @@ -0,0 +1,265 @@ + + + + + + + +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) {
+ +
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,
+ +
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
+
bool fromJSON(const llvm::json::Value &, URIForFile &, llvm::json::Path)
+
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..f245f0406 --- /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..30e31906f --- /dev/null +++ b/DraftStore_8h_source.html @@ -0,0 +1,177 @@ + + + + + + + +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
+
bool fromJSON(const llvm::json::Value &, URIForFile &, llvm::json::Path)
+ +
llvm::StringRef PathRef
Definition Path.h:27
+ + +
std::shared_ptr< const std::string > Contents
Definition DraftStore.h:28
+
+ + + + diff --git a/EvalClient_8h.html b/EvalClient_8h.html new file mode 100644 index 000000000..2d0df0b33 --- /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/Protocol/Protocol.h"
+#include "nixd/Support/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..32aeeb69e --- /dev/null +++ b/EvalClient_8h_source.html @@ -0,0 +1,191 @@ + + + + + + + +nixd: EvalClient.h Source File + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
EvalClient.h
+
+
+Go to the documentation of this file.
1#pragma once
+
2
+ +
4
+ +
6
+ +
8
+
9#include <memory>
+
10#include <thread>
+
11
+
12namespace nixd {
+
13
+
+ +
15 std::atomic<bool> Ready;
+
16
+
17public:
+
18 llvm::unique_function<void(const rpc::RegisterBCParams &)> RegisterBC;
+
19 llvm::unique_function<void(const rpc::ExprValueParams &,
+ + +
22
+
23 EvalClient(std::unique_ptr<lspserver::InboundPort> In,
+
24 std::unique_ptr<lspserver::OutboundPort> Out);
+
25
+
+
26 void onReady(const int &Flags) {
+ +
28 "nix-node-eval({0}) reported it's ready for processing requests",
+
29 Flags);
+
30 Ready = true;
+
31 }
+
+
32
+
33 bool ready() { return Ready; }
+
34};
+
+
35
+
+ +
37 std::unique_ptr<util::PipedProc> Proc;
+
38 std::unique_ptr<llvm::raw_fd_ostream> Stream;
+
39
+
40 std::thread Input;
+
41
+
42public:
+
+
43 OwnedEvalClient(std::unique_ptr<lspserver::InboundPort> In,
+
44 std::unique_ptr<lspserver::OutboundPort> Out,
+
45 std::unique_ptr<util::PipedProc> Proc,
+
46 std::unique_ptr<llvm::raw_fd_ostream> Stream)
+
47 : EvalClient(std::move(In), std::move(Out)), Proc(std::move(Proc)),
+
48 Stream(std::move(Stream)) {
+
49
+
50 Input = std::thread([this]() { run(); });
+
51 }
+
+
52
+
53 util::PipedProc &proc() { return *Proc; }
+
54
+
+
55 ~OwnedEvalClient() override {
+ +
57 Input.join();
+
58 }
+
+
59
+
60 /// Lanch nix-node-eval, with properly handled file descriptors.
+
61 /// System-wide errno will be written into "Fail" variable and thus cannot be
+
62 /// discarded.
+
63 static std::unique_ptr<OwnedEvalClient> create(int &Fail);
+
64};
+
+
65
+
66} // 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)
+
void onReady(const int &Flags)
Definition EvalClient.h:26
+
llvm::unique_function< void(const rpc::RegisterBCParams &) RegisterBC)
Definition EvalClient.h:18
+ +
llvm::unique_function< void(const rpc::ExprValueParams &, lspserver::Callback< rpc::ExprValueResponse >) ExprValue)
Definition EvalClient.h:21
+ +
~OwnedEvalClient() override
Definition EvalClient.h:55
+
static std::unique_ptr< OwnedEvalClient > create(int &Fail)
+
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:43
+
util::PipedProc & proc()
Definition EvalClient.h:53
+ +
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/EvalProvider_8h.html b/EvalProvider_8h.html new file mode 100644 index 000000000..f5bcffad8 --- /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/Protocol/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..7ee4c2bce --- /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
+ +
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)> Ready;
+
23
+
24public:
+
25 EvalProvider(std::unique_ptr<lspserver::InboundPort> In,
+
26 std::unique_ptr<lspserver::OutboundPort> Out);
+
27
+ +
29
+ + +
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/Exception_8h.html b/Exception_8h.html new file mode 100644 index 000000000..b22e8d807 --- /dev/null +++ b/Exception_8h.html @@ -0,0 +1,105 @@ + + + + + + + +nixd: Exception.h File Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
Exception.h File Reference
+
+
+
#include <llvm/Support/Error.h>
+#include <exception>
+
+

Go to the source code of this file.

+ + + + +

+Classes

class  nixd::LLVMErrorException
 
+ + + +

+Namespaces

namespace  nixd
 
+
+ + + + diff --git a/Exception_8h_source.html b/Exception_8h_source.html new file mode 100644 index 000000000..d2292055f --- /dev/null +++ b/Exception_8h_source.html @@ -0,0 +1,116 @@ + + + + + + + +nixd: Exception.h Source File + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Exception.h
+
+
+Go to the documentation of this file.
1#pragma once
+
2
+
3#include <llvm/Support/Error.h>
+
4
+
5#include <exception>
+
6
+
7namespace nixd {
+
8
+
+
9class LLVMErrorException : public std::exception {
+
10 llvm::Error E;
+
11
+
12public:
+
13 LLVMErrorException(llvm::Error E) : E(std::move(E)) {}
+
14
+
15 llvm::Error takeError() { return std::move(E); }
+
16};
+
+
17
+
18} // namespace nixd
+ +
LLVMErrorException(llvm::Error E)
Definition Exception.h:13
+
llvm::Error takeError()
Definition Exception.h:15
+ +
+ + + + 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..fedc3c0fd --- /dev/null +++ b/Expr_8h_source.html @@ -0,0 +1,374 @@ + + + + + + + +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 const std::shared_ptr<Expr> E;
+
9 const std::shared_ptr<AttrPath> Path;
+
10 const 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(), Default.get()};
+
31 }
+
+
32};
+
+
33
+
34/// A call/apply to some function.
+
+
35class ExprCall : public Expr {
+
36 const std::shared_ptr<Expr> Fn;
+
37 const 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
+
+
51 [[nodiscard]] const std::vector<std::shared_ptr<Expr>> &args() const {
+
52 return Args;
+
53 }
+
+
54
+
+
55 [[nodiscard]] ChildVector children() const override {
+
56 ChildVector Children;
+
57 Children.reserve(Args.size() + 1);
+
58 Children.emplace_back(Fn.get());
+
59 for (const auto &Member : Args) {
+
60 Children.emplace_back(Member.get());
+
61 }
+
62 return Children;
+
63 }
+
+
64};
+
+
65
+
+
66class ExprList : public Expr {
+
67 const 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]] ChildVector children() const override {
+
78 ChildVector Children;
+
79 Children.reserve(Elements.size());
+
80 for (const auto &Element : Elements) {
+
81 Children.emplace_back(Element.get());
+
82 }
+
83 return Children;
+
84 }
+
+
85};
+
+
86
+
+
87class ExprIf : public Expr {
+
88 const std::shared_ptr<Expr> Cond;
+
89 const std::shared_ptr<Expr> Then;
+
90 const std::shared_ptr<Expr> Else;
+
91
+
92public:
+
+
93 ExprIf(LexerCursorRange Range, std::shared_ptr<Expr> Cond,
+
94 std::shared_ptr<Expr> Then, std::shared_ptr<Expr> Else)
+
95 : Expr(NK_ExprIf, Range), Cond(std::move(Cond)), Then(std::move(Then)),
+
96 Else(std::move(Else)) {}
+
+
97
+
98 [[nodiscard]] Expr *cond() const { return Cond.get(); }
+
99 [[nodiscard]] Expr *then() const { return Then.get(); }
+
100 [[nodiscard]] Expr *elseExpr() const { return Else.get(); }
+
101
+
+
102 [[nodiscard]] ChildVector children() const override {
+
103 return {Cond.get(), Then.get(), Else.get()};
+
104 }
+
+
105};
+
+
106
+
+
107class ExprAssert : public Expr {
+
108 const std::shared_ptr<Expr> Cond;
+
109 const std::shared_ptr<Expr>
+
110 Value; // If "cond" is true, then "value" is returned.
+
111
+
112public:
+
+
113 ExprAssert(LexerCursorRange Range, std::shared_ptr<Expr> Cond,
+
114 std::shared_ptr<Expr> Value)
+
115 : Expr(NK_ExprAssert, Range), Cond(std::move(Cond)),
+
116 Value(std::move(Value)) {}
+
+
117
+
118 [[nodiscard]] Expr *cond() const { return Cond.get(); }
+
119 [[nodiscard]] Expr *value() const { return Value.get(); }
+
120
+
+
121 [[nodiscard]] ChildVector children() const override {
+
122 return {Cond.get(), Value.get()};
+
123 }
+
+
124};
+
+
125
+
+
126class ExprLet : public Expr {
+
127 // 'let' binds 'in' expr
+
128
+
129 const std::shared_ptr<Misc> KwLet; // 'let', not null
+
130 const std::shared_ptr<Misc> KwIn;
+
131 const std::shared_ptr<Expr> E;
+
132
+
133 const std::shared_ptr<ExprAttrs> Attrs;
+
134
+
135public:
+
+
136 ExprLet(LexerCursorRange Range, std::shared_ptr<Misc> KwLet,
+
137 std::shared_ptr<Misc> KwIn, std::shared_ptr<Expr> E,
+
138 std::shared_ptr<ExprAttrs> Attrs)
+
139 : Expr(NK_ExprLet, Range), KwLet(std::move(KwLet)), KwIn(std::move(KwIn)),
+
140 E(std::move(E)), Attrs(std::move(Attrs)) {
+
141 assert(this->KwLet && "KwLet should not be empty!");
+
142 }
+
+
143
+
+
144 [[nodiscard]] const Binds *binds() const {
+
145 return Attrs ? Attrs->binds() : nullptr;
+
146 }
+
+
147 [[nodiscard]] const ExprAttrs *attrs() const { return Attrs.get(); }
+
148 [[nodiscard]] const Expr *expr() const { return E.get(); }
+
149 [[nodiscard]] const Misc &let() const { return *KwLet; }
+
150 [[nodiscard]] const Misc *in() const { return KwIn.get(); }
+
151
+
+
152 [[nodiscard]] ChildVector children() const override {
+
153 return {KwLet.get(), Attrs.get(), KwIn.get(), E.get()};
+
154 }
+
+
155};
+
+
156
+
+
157class ExprWith : public Expr {
+
158 const std::shared_ptr<Misc> KwWith;
+
159 const std::shared_ptr<Misc> TokSemi;
+
160 const std::shared_ptr<Expr> With;
+
161 const std::shared_ptr<Expr> E;
+
162
+
163public:
+
+
164 ExprWith(LexerCursorRange Range, std::shared_ptr<Misc> KwWith,
+
165 std::shared_ptr<Misc> TokSemi, std::shared_ptr<Expr> With,
+
166 std::shared_ptr<Expr> E)
+
167 : Expr(NK_ExprWith, Range), KwWith(std::move(KwWith)),
+
168 TokSemi(std::move(TokSemi)), With(std::move(With)), E(std::move(E)) {}
+
+
169
+
170 [[nodiscard]] const Misc &kwWith() const { return *KwWith; }
+
171 [[nodiscard]] const Misc *tokSemi() const { return TokSemi.get(); }
+
172 [[nodiscard]] Expr *with() const { return With.get(); }
+
173 [[nodiscard]] Expr *expr() const { return E.get(); }
+
174
+
+
175 [[nodiscard]] ChildVector children() const override {
+
176 return {KwWith.get(), TokSemi.get(), With.get(), E.get()};
+
177 }
+
+
178};
+
+
179
+
180} // namespace nixf
+ + + + +
ExprAssert(LexerCursorRange Range, std::shared_ptr< Expr > Cond, std::shared_ptr< Expr > Value)
Definition Expr.h:113
+
Expr * value() const
Definition Expr.h:119
+
ChildVector children() const override
Definition Expr.h:121
+
Expr * cond() const
Definition Expr.h:118
+ +
A call/apply to some function.
Definition Expr.h:35
+
Expr & fn() const
Definition Expr.h:46
+
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:55
+
const std::vector< std::shared_ptr< Expr > > & args() const
Definition Expr.h:51
+ +
Expr * then() const
Definition Expr.h:99
+
Expr * cond() const
Definition Expr.h:98
+
Expr * elseExpr() const
Definition Expr.h:100
+
ExprIf(LexerCursorRange Range, std::shared_ptr< Expr > Cond, std::shared_ptr< Expr > Then, std::shared_ptr< Expr > Else)
Definition Expr.h:93
+
ChildVector children() const override
Definition Expr.h:102
+ +
const Misc & let() const
Definition Expr.h:149
+
ExprLet(LexerCursorRange Range, std::shared_ptr< Misc > KwLet, std::shared_ptr< Misc > KwIn, std::shared_ptr< Expr > E, std::shared_ptr< ExprAttrs > Attrs)
Definition Expr.h:136
+
const Binds * binds() const
Definition Expr.h:144
+
const ExprAttrs * attrs() const
Definition Expr.h:147
+
const Expr * expr() const
Definition Expr.h:148
+
ChildVector children() const override
Definition Expr.h:152
+
const Misc * in() const
Definition Expr.h:150
+ +
const std::vector< std::shared_ptr< Expr > > & elements() const
Definition Expr.h:73
+
ChildVector children() const override
Definition Expr.h:77
+
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
+ +
const Misc & kwWith() const
Definition Expr.h:170
+
Expr * with() const
Definition Expr.h:172
+
const Misc * tokSemi() const
Definition Expr.h:171
+
ExprWith(LexerCursorRange Range, std::shared_ptr< Misc > KwWith, std::shared_ptr< Misc > TokSemi, std::shared_ptr< Expr > With, std::shared_ptr< Expr > E)
Definition Expr.h:164
+
ChildVector children() const override
Definition Expr.h:175
+
Expr * expr() const
Definition Expr.h:173
+ + +
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/FindReferences_8cpp.html b/FindReferences_8cpp.html new file mode 100644 index 000000000..8fc600eee --- /dev/null +++ b/FindReferences_8cpp.html @@ -0,0 +1,103 @@ + + + + + + + +nixd: FindReferences.cpp File Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
FindReferences.cpp File Reference
+
+
+ +

This implements Find References. +More...

+
#include "Convert.h"
+#include "Definition.h"
+#include "nixd/Controller/Controller.h"
+#include <boost/asio/post.hpp>
+#include <lspserver/Protocol.h>
+#include <nixf/Sema/ParentMap.h>
+#include <nixf/Sema/VariableLookup.h>
+
+

Go to the source code of this file.

+

Detailed Description

+

This implements Find References.

+ +

Definition in file FindReferences.cpp.

+
+ + + + diff --git a/FindReferences_8cpp_source.html b/FindReferences_8cpp_source.html new file mode 100644 index 000000000..fe627fbc7 --- /dev/null +++ b/FindReferences_8cpp_source.html @@ -0,0 +1,191 @@ + + + + + + + +nixd: FindReferences.cpp Source File + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
FindReferences.cpp
+
+
+Go to the documentation of this file.
1/// \file
+
2/// \brief This implements [Find References].
+
3/// [Find References]:
+
4/// https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#textDocument_references
+
5
+
6#include "Convert.h"
+
7#include "Definition.h"
+
8
+ +
10
+
11#include <boost/asio/post.hpp>
+
12#include <lspserver/Protocol.h>
+
13#include <nixf/Sema/ParentMap.h>
+ +
15
+
16using namespace lspserver;
+
17using namespace nixd;
+
18using namespace llvm;
+
19using namespace nixf;
+
20
+
21namespace {
+
22
+
23std::vector<Location> findReferences(const nixf::Node &Desc,
+
24 const ParentMapAnalysis &PMA,
+
25 const VariableLookupAnalysis &VLA,
+
26 const URIForFile &URI,
+
27 llvm::StringRef Src) {
+
28
+
29 // Two steps.
+
30 // 1. Find some "definition" for this node.
+
31 // 2. Find all "uses", and construct the vector.
+
32
+
33 // Find "definition"
+
34 auto Def = findDefinition(Desc, PMA, VLA);
+
35 std::vector<Location> Locations;
+
36 // OK, iterate all uses.
+
37 for (const auto *Use : Def.uses()) {
+
38 assert(Use);
+
39 Locations.emplace_back(Location{
+
40 .uri = URI,
+
41 .range = toLSPRange(Src, Use->range()),
+
42 });
+
43 }
+
44 return Locations;
+
45}
+
46
+
47} // namespace
+
48
+
49void Controller::onReferences(const TextDocumentPositionParams &Params,
+
50 Callback<std::vector<Location>> Reply) {
+
51 auto Action = [Reply = std::move(Reply), URI = Params.textDocument.uri,
+
52 Pos = toNixfPosition(Params.position), this]() mutable {
+
53 std::string File(URI.file());
+
54 if (std::shared_ptr<NixTU> TU = getTU(File, Reply)) [[likely]] {
+
55 if (std::shared_ptr<nixf::Node> AST = getAST(*TU, Reply)) [[likely]] {
+
56 const nixf::Node *Desc = AST->descend({Pos, Pos});
+
57 if (!Desc) {
+
58 return Reply(
+
59 error("cannot find corresponding node on given position"));
+
60 }
+
61 const auto &PM = *TU->parentMap();
+
62 const auto &VLA = *TU->variableLookup();
+
63 try {
+
64 return Reply(findReferences(*Desc, PM, VLA, URI, TU->src()));
+
65 } catch (std::exception &E) {
+
66 return Reply(error("references: {0}", E.what()));
+
67 }
+
68 }
+
69 }
+
70 };
+
71 boost::asio::post(Pool, std::move(Action));
+
72}
+ +
Convert between LSP and nixf types.
+
std::vector< Location > Locations
+ +
Lookup variable names, from it's parent scope.
+ + +
const Node * descend(PositionRange Range) const
Descendant node that contains the given range.
Definition Basic.h:49
+ + +
ParentMap analysis.
+ + +
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
+ + +
bool fromJSON(const llvm::json::Value &Params, Configuration::Diagnostic &R, llvm::json::Path P)
+
nixf::Position toNixfPosition(const lspserver::Position &P)
Definition Convert.cpp:32
+
const nixf::Definition & findDefinition(const nixf::Node &N, const nixf::ParentMapAnalysis &PMA, const nixf::VariableLookupAnalysis &VLA)
Heuristically find definition on some node.
+
lspserver::Range toLSPRange(llvm::StringRef Code, const nixf::LexerCursorRange &R)
Definition Convert.cpp:40
+ + +
URIForFile uri
The text document's URI.
+ + +
+ + + + diff --git a/Flake_8cpp.html b/Flake_8cpp.html new file mode 100644 index 000000000..e4e8253ef --- /dev/null +++ b/Flake_8cpp.html @@ -0,0 +1,90 @@ + + + + + + + +nixd: Flake.cpp File Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Flake.cpp File Reference
+
+
+
#include "nixt/Flake.h"
+
+

Go to the source code of this file.

+
+ + + + diff --git a/Flake_8cpp_source.html b/Flake_8cpp_source.html new file mode 100644 index 000000000..2f27a8938 --- /dev/null +++ b/Flake_8cpp_source.html @@ -0,0 +1,254 @@ + + + + + + + +nixd: Flake.cpp Source File + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Flake.cpp
+
+
+Go to the documentation of this file.
1#include "nixt/Flake.h"
+
2
+
3using namespace nix;
+
4
+
5namespace {
+
6
+
7const char *FlakeCompat = R"(
+
8src:
+
9
+
10let
+
11
+
12 lockFilePath = src + "/flake.lock";
+
13
+
14 lockFile = builtins.fromJSON (builtins.readFile lockFilePath);
+
15
+
16 callFlake4 = flakeSrc: locks:
+
17 let
+
18 flake = import (flakeSrc + "/flake.nix");
+
19
+
20 inputs = builtins.mapAttrs (n: v:
+
21 if v.flake or true
+
22 then callFlake4 (fetchTree (v.locked // v.info)) v.inputs
+
23 else fetchTree (v.locked // v.info)) locks;
+
24
+
25 outputs = flakeSrc // (flake.outputs (inputs // {self = outputs;}));
+
26 in
+
27 assert flake.edition == 201909;
+
28 outputs;
+
29
+
30 callLocklessFlake = flakeSrc:
+
31 let
+
32 flake = import (flakeSrc + "/flake.nix");
+
33 outputs = flakeSrc // (flake.outputs ({ self = outputs; }));
+
34 in outputs;
+
35
+
36 rootSrc = let
+
37 addOutPath = src: { outPath = src; };
+
38 in
+
39 { lastModified = 0; lastModifiedDate = formatSecondsSinceEpoch 0; }
+
40 // (addOutPath src);
+
41
+
42 # Format number of seconds in the Unix epoch as %Y%m%d%H%M%S.
+
43 formatSecondsSinceEpoch = t:
+
44 let
+
45 rem = x: y: x - x / y * y;
+
46 days = t / 86400;
+
47 secondsInDay = rem t 86400;
+
48 hours = secondsInDay / 3600;
+
49 minutes = (rem secondsInDay 3600) / 60;
+
50 seconds = rem t 60;
+
51
+
52 # Courtesy of https://stackoverflow.com/a/32158604.
+
53 z = days + 719468;
+
54 era = (if z >= 0 then z else z - 146096) / 146097;
+
55 doe = z - era * 146097;
+
56 yoe = (doe - doe / 1460 + doe / 36524 - doe / 146096) / 365;
+
57 y = yoe + era * 400;
+
58 doy = doe - (365 * yoe + yoe / 4 - yoe / 100);
+
59 mp = (5 * doy + 2) / 153;
+
60 d = doy - (153 * mp + 2) / 5 + 1;
+
61 m = mp + (if mp < 10 then 3 else -9);
+
62 y' = y + (if m <= 2 then 1 else 0);
+
63
+
64 pad = s: if builtins.stringLength s < 2 then "0" + s else s;
+
65 in "${toString y'}${pad (toString m)}${pad (toString d)}${pad (toString hours)}${pad (toString minutes)}${pad (toString seconds)}";
+
66
+
67 allNodes =
+
68 builtins.mapAttrs
+
69 (key: node:
+
70 let
+
71 sourceInfo =
+
72 if key == lockFile.root
+
73 then rootSrc
+
74 else fetchTree (node.info or {} // removeAttrs node.locked ["dir"]);
+
75
+
76 subdir = if key == lockFile.root then "" else node.locked.dir or "";
+
77
+
78 outPath = sourceInfo + ((if subdir == "" then "" else "/") + subdir);
+
79
+
80 flake = import (outPath + "/flake.nix");
+
81
+
82 inputs = builtins.mapAttrs
+
83 (inputName: inputSpec: allNodes.${resolveInput inputSpec})
+
84 (node.inputs or {});
+
85
+
86 # Resolve a input spec into a node name. An input spec is
+
87 # either a node name, or a 'follows' path from the root
+
88 # node.
+
89 resolveInput = inputSpec:
+
90 if builtins.isList inputSpec
+
91 then getInputByPath lockFile.root inputSpec
+
92 else inputSpec;
+
93
+
94 # Follow an input path (e.g. ["dwarffs" "nixpkgs"]) from the
+
95 # root node, returning the final node.
+
96 getInputByPath = nodeName: path:
+
97 if path == []
+
98 then nodeName
+
99 else
+
100 getInputByPath
+
101 # Since this could be a 'follows' input, call resolveInput.
+
102 (resolveInput lockFile.nodes.${nodeName}.inputs.${builtins.head path})
+
103 (builtins.tail path);
+
104
+
105 outputs = flake.outputs (inputs // { self = result; });
+
106
+
107 result =
+
108 outputs
+
109 # We add the sourceInfo attribute for its metadata, as they are
+
110 # relevant metadata for the flake. However, the outPath of the
+
111 # sourceInfo does not necessarily match the outPath of the flake,
+
112 # as the flake may be in a subdirectory of a source.
+
113 # This is shadowed in the next //
+
114 // sourceInfo
+
115 // {
+
116 # This shadows the sourceInfo.outPath
+
117 inherit outPath;
+
118
+
119 inherit inputs; inherit outputs; inherit sourceInfo; _type = "flake";
+
120 };
+
121
+
122 in
+
123 if node.flake or true then
+
124 assert builtins.isFunction flake.outputs;
+
125 result
+
126 else
+
127 sourceInfo
+
128 )
+
129 lockFile.nodes;
+
130
+
131 result =
+
132 if !(builtins.pathExists lockFilePath)
+
133 then callLocklessFlake rootSrc
+
134 else if lockFile.version == 4
+
135 then callFlake4 rootSrc (lockFile.inputs)
+
136 else if lockFile.version >= 5 && lockFile.version <= 7
+
137 then allNodes.${lockFile.root}
+
138 else throw "lock file '${lockFilePath}' has unsupported version ${toString lockFile.version}";
+
139
+
140in
+
141 result
+
142)";
+
143
+
144} // namespace
+
145
+
146void nixt::callDirtyFlake(EvalState &State, std::string_view Src,
+
147 nix::Value &VRes) {
+
148
+
149 nix::Value *VSrc = State.allocValue();
+
150 VSrc->mkPath(State.rootPath(nix::CanonPath(Src, nix::CanonPath::fromCwd())));
+
151
+
152 auto *VFlakeCompat = State.allocValue();
+
153
+
154 nix::Expr *EFlakeCompat = State.parseExprFromString(
+
155 FlakeCompat, State.rootPath(nix::CanonPath::fromCwd()));
+
156 State.eval(EFlakeCompat, *VFlakeCompat);
+
157
+
158 State.callFunction(*VFlakeCompat, *VSrc, VRes, noPos);
+
159}
+
Utilities about nix flake.
+
Definition Kinds.h:6
+
void callDirtyFlake(nix::EvalState &State, std::string_view SrcPath, nix::Value &VRes)
Call nix flake, but do not use any "fetchers".
+
+ + + + diff --git a/Flake_8h.html b/Flake_8h.html new file mode 100644 index 000000000..e4b6e9377 --- /dev/null +++ b/Flake_8h.html @@ -0,0 +1,114 @@ + + + + + + + +nixd: Flake.h File Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
Flake.h File Reference
+
+
+ +

Utilities about nix flake. +More...

+
#include <nix/eval.hh>
+#include <string_view>
+
+

Go to the source code of this file.

+ + + + + +

+Namespaces

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

+Functions

void nixt::callDirtyFlake (nix::EvalState &State, std::string_view SrcPath, nix::Value &VRes)
 Call nix flake, but do not use any "fetchers".
 
+

Detailed Description

+

Utilities about nix flake.

+ +

Definition in file Flake.h.

+
+ + + + diff --git a/Flake_8h_source.html b/Flake_8h_source.html new file mode 100644 index 000000000..39deb059b --- /dev/null +++ b/Flake_8h_source.html @@ -0,0 +1,110 @@ + + + + + + + +nixd: Flake.h Source File + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Flake.h
+
+
+Go to the documentation of this file.
1/// \file
+
2/// \brief Utilities about nix flake.
+
3
+
4#pragma once
+
5
+
6#include <nix/eval.hh>
+
7
+
8#include <string_view>
+
9
+
10namespace nixt {
+
11
+
12/// Call nix flake, but do not use any "fetchers".
+
13void callDirtyFlake(nix::EvalState &State, std::string_view SrcPath,
+
14 nix::Value &VRes);
+
15
+
16} // namespace nixt
+
Access EvalCache in nix::EvalState.
Definition ArrayRef.h:7
+
void callDirtyFlake(nix::EvalState &State, std::string_view SrcPath, nix::Value &VRes)
Call nix flake, but do not use any "fetchers".
+
+ + + + diff --git a/ForkPiped_8cpp.html b/ForkPiped_8cpp.html new file mode 100644 index 000000000..d2c3419cc --- /dev/null +++ b/ForkPiped_8cpp.html @@ -0,0 +1,93 @@ + + + + + + + +nixd: ForkPiped.cpp File Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
ForkPiped.cpp File Reference
+
+
+
#include "nixd/Support/ForkPiped.h"
+#include <cerrno>
+#include <system_error>
+#include <unistd.h>
+
+

Go to the source code of this file.

+
+ + + + diff --git a/ForkPiped_8cpp_source.html b/ForkPiped_8cpp_source.html new file mode 100644 index 000000000..89685e216 --- /dev/null +++ b/ForkPiped_8cpp_source.html @@ -0,0 +1,141 @@ + + + + + + + +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 <system_error>
+
6#include <unistd.h>
+
7
+
+
8int nixd::forkPiped(int &In, int &Out, int &Err) {
+
9 static constexpr int READ = 0;
+
10 static constexpr int WRITE = 1;
+
11 int PipeIn[2];
+
12 int PipeOut[2];
+
13 int PipeErr[2];
+
14 if (pipe(PipeIn) == -1 || pipe(PipeOut) == -1 || pipe(PipeErr) == -1)
+
15 throw std::system_error(errno, std::generic_category());
+
16
+
17 pid_t Child = fork();
+
18
+
19 if (Child == 0) {
+
20 // Redirect stdin, stdout, stderr.
+
21 close(PipeIn[WRITE]);
+
22 close(PipeOut[READ]);
+
23 close(PipeErr[READ]);
+
24 dup2(PipeIn[READ], STDIN_FILENO);
+
25 dup2(PipeOut[WRITE], STDOUT_FILENO);
+
26 dup2(PipeErr[WRITE], STDERR_FILENO);
+
27 close(PipeIn[READ]);
+
28 close(PipeOut[WRITE]);
+
29 close(PipeErr[WRITE]);
+
30 // Child process.
+
31 return 0;
+
32 }
+
33
+
34 close(PipeIn[READ]);
+
35 close(PipeOut[WRITE]);
+
36 close(PipeErr[WRITE]);
+
37
+
38 if (Child == -1)
+
39 throw std::system_error(errno, std::generic_category());
+
40
+
41 In = PipeIn[WRITE];
+
42 Out = PipeOut[READ];
+
43 Err = PipeOut[READ];
+
44 return Child;
+
45}
+
+ +
int forkPiped(int &In, int &Out, int &Err)
fork this process and create some pipes connected to the new process.
Definition ForkPiped.cpp:8
+
+ + + + diff --git a/ForkPiped_8h.html b/ForkPiped_8h.html new file mode 100644 index 000000000..efb96eda8 --- /dev/null +++ b/ForkPiped_8h.html @@ -0,0 +1,104 @@ + + + + + + + +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
 
+ + + + +

+Functions

int nixd::forkPiped (int &In, int &Out, int &Err)
 fork this process and create some pipes connected to the new process.
 
+
+ + + + diff --git a/ForkPiped_8h_source.html b/ForkPiped_8h_source.html new file mode 100644 index 000000000..3d578c547 --- /dev/null +++ b/ForkPiped_8h_source.html @@ -0,0 +1,108 @@ + + + + + + + +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 {
+
4
+
5/// \brief fork this process and create some pipes connected to the new process.
+
6///
+
7/// stdin, stdout, stderr in the new process will be closed, and these fds could
+
8/// be used to communicate with it.
+
9///
+
10/// \returns pid of child process, in parent.
+
11/// \returns 0 in child.
+
12int forkPiped(int &In, int &Out, int &Err);
+
13
+
14} // namespace nixd
+ +
int forkPiped(int &In, int &Out, int &Err)
fork this process and create some pipes connected to the new process.
Definition ForkPiped.cpp:8
+
+ + + + diff --git a/Format_8cpp.html b/Format_8cpp.html new file mode 100644 index 000000000..d6ebfb291 --- /dev/null +++ b/Format_8cpp.html @@ -0,0 +1,101 @@ + + + + + + + +nixd: Format.cpp File Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Format.cpp File Reference
+
+
+ +

Implementation of Formatting. +More...

+
#include "nixd/Controller/Controller.h"
+#include "nixd/Support/ForkPiped.h"
+#include <boost/asio/post.hpp>
+#include <sys/wait.h>
+
+

Go to the source code of this file.

+

Detailed Description

+

Implementation of Formatting.

+

For now nixd only support "external" formatting. That is, invokes an external command and then let that process do formatting.

+ +

Definition in file Format.cpp.

+
+ + + + diff --git a/Format_8cpp_source.html b/Format_8cpp_source.html new file mode 100644 index 000000000..217b15a4d --- /dev/null +++ b/Format_8cpp_source.html @@ -0,0 +1,206 @@ + + + + + + + +nixd: Format.cpp Source File + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Format.cpp
+
+
+Go to the documentation of this file.
1/// \file
+
2/// \brief Implementation of [Formatting].
+
3/// [Formatting]:
+
4/// https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#textDocument_formatting
+
5///
+
6/// For now nixd only support "external" formatting. That is, invokes an
+
7/// external command and then let that process do formatting.
+
8
+ + +
11
+
12#include <boost/asio/post.hpp>
+
13#include <sys/wait.h>
+
14
+
15using namespace nixd;
+
16using namespace lspserver;
+
17
+
18void Controller::onFormat(const DocumentFormattingParams &Params,
+
19 Callback<std::vector<TextEdit>> Reply) {
+
20 auto Action = [this, Params, Reply = std::move(Reply)]() mutable {
+
21 lspserver::PathRef File = Params.textDocument.uri.file();
+
22 const std::string &Code = *Store.getDraft(File)->Contents;
+
23 // Invokes another process and then read it's stdout.
+
24 std::vector<std::string> FormatCommand;
+
25 {
+
26 // Read from config, get format options.
+
27 std::lock_guard G(ConfigLock);
+ +
29 }
+
30
+
31 if (FormatCommand.empty()) {
+
32 Reply(error("formating command is empty, please set external formatter"));
+
33 return;
+
34 }
+
35
+
36 // Convert vectors to syscall form. This should be cheap.
+
37 std::vector<char *> Syscall;
+
38 Syscall.reserve(FormatCommand.size());
+
39 for (const auto &Str : FormatCommand) {
+
40 // For compatibility with existing C code.
+
41 Syscall.emplace_back(const_cast<char *>(Str.c_str()));
+
42 }
+
43
+
44 // Null terminator.
+
45 Syscall.emplace_back(nullptr);
+
46
+
47 int In;
+
48 int Out;
+
49 int Err;
+
50
+
51 pid_t Child = forkPiped(In, Out, Err);
+
52 if (Child == 0) {
+
53 execvp(Syscall[0], Syscall.data());
+
54 exit(-1);
+
55 }
+
56 // Firstly, send the document to the process stdin.
+
57 // Invoke POSIX write(2) to do such thing.
+
58 const char *Start = Code.c_str();
+
59 const char *End = Code.c_str() + Code.size();
+
60 while (Start != End) {
+
61 if (long Writen = write(In, Start, End - Start); Writen != -1) {
+
62 Start += Writen;
+
63 } else {
+
64 throw std::system_error(errno, std::generic_category());
+
65 }
+
66 }
+
67 close(In);
+
68
+
69 // And, wait for the process.
+
70 int Exit = 0;
+
71 waitpid(Child, &Exit, 0);
+
72
+
73 if (Exit != 0) {
+
74 Reply(error("formatting {0} command exited with {1}", FormatCommand[0],
+
75 Exit));
+
76 return;
+
77 }
+
78
+
79 // Okay, read stdout from it.
+
80 std::string Response;
+
81 while (true) {
+
82 char Buf[1024];
+
83 auto Read = read(Out, Buf, sizeof(Buf));
+
84 if (Read == 0)
+
85 break;
+
86 if (Read < 0)
+
87 throw std::system_error(errno, std::generic_category());
+
88 // Otherwise, append it to "response"
+
89 Response.append(Buf, Read);
+
90 }
+
91
+
92 TextEdit E{{{0, 0}, {INT_MAX, INT_MAX}}, Response};
+
93 Reply(std::vector{E});
+
94 };
+
95
+
96 boost::asio::post(Pool, std::move(Action));
+
97}
+ + +
std::optional< Draft > getDraft(PathRef File) const
+
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::StringRef PathRef
Definition Path.h:27
+
constexpr std::string_view Exit
Definition AttrSet.h:34
+ +
int forkPiped(int &In, int &Out, int &Err)
fork this process and create some pipes connected to the new process.
Definition ForkPiped.cpp:8
+
bool fromJSON(const llvm::json::Value &Params, Configuration::Diagnostic &R, llvm::json::Path P)
+ + + +
struct nixd::Configuration::Formatting formatting
+
+ + + + diff --git a/Function_8h.html b/Function_8h.html new file mode 100644 index 000000000..1c6ca9e37 --- /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..34562e666 --- /dev/null +++ b/Function_8h_source.html @@ -0,0 +1,212 @@ + + + + + + + +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.
+
+ +
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
+
bool fromJSON(const llvm::json::Value &, URIForFile &, llvm::json::Path)
+
+ + + + diff --git a/HackCache_8h.html b/HackCache_8h.html new file mode 100644 index 000000000..9f700cb9d --- /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::EvalCacheF
 
+ + + + + + +

+Namespaces

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

+Typedefs

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

+Functions

FileEvalCachenixt::getFileEvalCache (nix::EvalState &S)
 
+
+ + + + diff --git a/HackCache_8h_source.html b/HackCache_8h_source.html new file mode 100644 index 000000000..e2d82b505 --- /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 EvalCache in \p nix::EvalState
+
2
+
3#pragma once
+
4
+
5#include <nix/eval.hh>
+
6
+
7namespace nixt {
+
8
+
9#if HAVE_BOEHMGC
+
10using FileEvalCache =
+
11 std::map<nix::SourcePath, nix::Value, std::less<nix::SourcePath>,
+
12 traceable_allocator<std::pair<const nix::SourcePath, nix::Value>>>;
+
13#else
+
14using FileEvalCache = 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
+
+
38struct EvalCacheF {
+
39 using type = FileEvalCache nix::EvalState::*;
+
40};
+
+
41
+ +
43
+
44} // namespace detail
+
+
45
+
+
46inline FileEvalCache &getFileEvalCache(nix::EvalState &S) {
+ +
48}
+
+
49
+
50} // namespace nixt
+
Access EvalCache in nix::EvalState.
Definition ArrayRef.h:7
+
std::map< nix::SourcePath, nix::Expr * > FileEvalCache
Definition HackCache.h:14
+
FileEvalCache & getFileEvalCache(nix::EvalState &S)
Definition HackCache.h:46
+ +
FileEvalCache 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..26510e667 --- /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 EvalCache 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..7ff0e56ea --- /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 EvalCache in nix::EvalState.
Definition ArrayRef.h:7
+
+ + + + diff --git a/HookExpr_8h.html b/HookExpr_8h.html new file mode 100644 index 000000000..0a6dd61fc --- /dev/null +++ b/HookExpr_8h.html @@ -0,0 +1,162 @@ + + + + + + + +nixd: HookExpr.h File Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
HookExpr.h File Reference
+
+
+
#include <nix/nixexpr.hh>
+#include <map>
+
+

Go to the source code of this file.

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

+Classes

struct  nixt::HookExprAssert
 
struct  nixt::HookExprAttrs
 
struct  nixt::HookExprCall
 
struct  nixt::HookExprConcatStrings
 
struct  nixt::HookExprFloat
 
struct  nixt::HookExprIf
 
struct  nixt::HookExprInt
 
struct  nixt::HookExprLambda
 
struct  nixt::HookExprLet
 
struct  nixt::HookExprList
 
struct  nixt::HookExprOpAnd
 
struct  nixt::HookExprOpConcatLists
 
struct  nixt::HookExprOpEq
 
struct  nixt::HookExprOpHasAttr
 
struct  nixt::HookExprOpImpl
 
struct  nixt::HookExprOpNEq
 
struct  nixt::HookExprOpNot
 
struct  nixt::HookExprOpOr
 
struct  nixt::HookExprOpUpdate
 
struct  nixt::HookExprPath
 
struct  nixt::HookExprPos
 
struct  nixt::HookExprSelect
 
struct  nixt::HookExprString
 
struct  nixt::HookExprVar
 
struct  nixt::HookExprWith
 
+ + + + +

+Namespaces

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

+Typedefs

using nixt::ValueMap = std::map<std::uintptr_t, nix::Value>
 
using nixt::EnvMap = std::map<std::uintptr_t, nix::Env *>
 
+
+ + + + diff --git a/HookExpr_8h_source.html b/HookExpr_8h_source.html new file mode 100644 index 000000000..bde373151 --- /dev/null +++ b/HookExpr_8h_source.html @@ -0,0 +1,664 @@ + + + + + + + +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
+
+
12struct HookExprAssert : nix::ExprAssert {
+ + +
15 std::uintptr_t Handle;
+
+
16 HookExprAssert(nix::ExprAssert E, ValueMap &VMap, EnvMap &EMap,
+
17 std::uintptr_t Handle)
+
18 : nix::ExprAssert(std::move(E)), VMap(VMap), EMap(EMap), Handle(Handle) {}
+
+
19 void eval(nix::EvalState &State, nix::Env &Env, nix::Value &V) override;
+
20 std::string getName();
+
21};
+
+
22
+
+
23struct HookExprAttrs : nix::ExprAttrs {
+ + +
26 std::uintptr_t Handle;
+
+
27 HookExprAttrs(nix::ExprAttrs E, ValueMap &VMap, EnvMap &EMap,
+
28 std::uintptr_t Handle)
+
29 : nix::ExprAttrs(std::move(E)), VMap(VMap), EMap(EMap), Handle(Handle) {}
+
+
30 void eval(nix::EvalState &State, nix::Env &Env, nix::Value &V) override;
+
31 std::string getName();
+
32};
+
+
33
+
+
34struct HookExprCall : nix::ExprCall {
+ + +
37 std::uintptr_t Handle;
+
+
38 HookExprCall(nix::ExprCall E, ValueMap &VMap, EnvMap &EMap,
+
39 std::uintptr_t Handle)
+
40 : nix::ExprCall(std::move(E)), VMap(VMap), EMap(EMap), Handle(Handle) {}
+
+
41 void eval(nix::EvalState &State, nix::Env &Env, nix::Value &V) override;
+
42 std::string getName();
+
43};
+
+
44
+
+
45struct HookExprConcatStrings : nix::ExprConcatStrings {
+ + +
48 std::uintptr_t Handle;
+
+
49 HookExprConcatStrings(nix::ExprConcatStrings E, ValueMap &VMap, EnvMap &EMap,
+
50 std::uintptr_t Handle)
+
51 : nix::ExprConcatStrings(std::move(E)), VMap(VMap), EMap(EMap),
+
52 Handle(Handle) {}
+
+
53 void eval(nix::EvalState &State, nix::Env &Env, nix::Value &V) override;
+
54 std::string getName();
+
55};
+
+
56
+
+
57struct HookExprFloat : nix::ExprFloat {
+ + +
60 std::uintptr_t Handle;
+
+
61 HookExprFloat(nix::ExprFloat E, ValueMap &VMap, EnvMap &EMap,
+
62 std::uintptr_t Handle)
+
63 : nix::ExprFloat(std::move(E)), VMap(VMap), EMap(EMap), Handle(Handle) {}
+
+
64 void eval(nix::EvalState &State, nix::Env &Env, nix::Value &V) override;
+
65 std::string getName();
+
66};
+
+
67
+
+
68struct HookExprIf : nix::ExprIf {
+ + +
71 std::uintptr_t Handle;
+
+
72 HookExprIf(nix::ExprIf E, ValueMap &VMap, EnvMap &EMap, std::uintptr_t Handle)
+
73 : nix::ExprIf(std::move(E)), VMap(VMap), EMap(EMap), Handle(Handle) {}
+
+
74 void eval(nix::EvalState &State, nix::Env &Env, nix::Value &V) override;
+
75 std::string getName();
+
76};
+
+
77
+
+
78struct HookExprInt : nix::ExprInt {
+ + +
81 std::uintptr_t Handle;
+
+
82 HookExprInt(nix::ExprInt E, ValueMap &VMap, EnvMap &EMap,
+
83 std::uintptr_t Handle)
+
84 : nix::ExprInt(std::move(E)), VMap(VMap), EMap(EMap), Handle(Handle) {}
+
+
85 void eval(nix::EvalState &State, nix::Env &Env, nix::Value &V) override;
+
86 std::string getName();
+
87};
+
+
88
+
+
89struct HookExprLambda : nix::ExprLambda {
+ + +
92 std::uintptr_t Handle;
+
+
93 HookExprLambda(nix::ExprLambda E, ValueMap &VMap, EnvMap &EMap,
+
94 std::uintptr_t Handle)
+
95 : nix::ExprLambda(std::move(E)), VMap(VMap), EMap(EMap), Handle(Handle) {}
+
+
96 void eval(nix::EvalState &State, nix::Env &Env, nix::Value &V) override;
+
97 std::string getName();
+
98};
+
+
99
+
+
100struct HookExprLet : nix::ExprLet {
+ + +
103 std::uintptr_t Handle;
+
+
104 HookExprLet(nix::ExprLet E, ValueMap &VMap, EnvMap &EMap,
+
105 std::uintptr_t Handle)
+
106 : nix::ExprLet(std::move(E)), VMap(VMap), EMap(EMap), Handle(Handle) {}
+
+
107 void eval(nix::EvalState &State, nix::Env &Env, nix::Value &V) override;
+
108 std::string getName();
+
109};
+
+
110
+
+
111struct HookExprList : nix::ExprList {
+ + +
114 std::uintptr_t Handle;
+
+
115 HookExprList(nix::ExprList E, ValueMap &VMap, EnvMap &EMap,
+
116 std::uintptr_t Handle)
+
117 : nix::ExprList(std::move(E)), VMap(VMap), EMap(EMap), Handle(Handle) {}
+
+
118 void eval(nix::EvalState &State, nix::Env &Env, nix::Value &V) override;
+
119 std::string getName();
+
120};
+
+
121
+
+
122struct HookExprOpAnd : nix::ExprOpAnd {
+ + +
125 std::uintptr_t Handle;
+
+
126 HookExprOpAnd(nix::ExprOpAnd E, ValueMap &VMap, EnvMap &EMap,
+
127 std::uintptr_t Handle)
+
128 : nix::ExprOpAnd(std::move(E)), VMap(VMap), EMap(EMap), Handle(Handle) {}
+
+
129 void eval(nix::EvalState &State, nix::Env &Env, nix::Value &V) override;
+
130 std::string getName();
+
131};
+
+
132
+
+
133struct HookExprOpConcatLists : nix::ExprOpConcatLists {
+ + +
136 std::uintptr_t Handle;
+
+
137 HookExprOpConcatLists(nix::ExprOpConcatLists E, ValueMap &VMap, EnvMap &EMap,
+
138 std::uintptr_t Handle)
+
139 : nix::ExprOpConcatLists(std::move(E)), VMap(VMap), EMap(EMap),
+
140 Handle(Handle) {}
+
+
141 void eval(nix::EvalState &State, nix::Env &Env, nix::Value &V) override;
+
142 std::string getName();
+
143};
+
+
144
+
+
145struct HookExprOpEq : nix::ExprOpEq {
+ + +
148 std::uintptr_t Handle;
+
+
149 HookExprOpEq(nix::ExprOpEq E, ValueMap &VMap, EnvMap &EMap,
+
150 std::uintptr_t Handle)
+
151 : nix::ExprOpEq(std::move(E)), VMap(VMap), EMap(EMap), Handle(Handle) {}
+
+
152 void eval(nix::EvalState &State, nix::Env &Env, nix::Value &V) override;
+
153 std::string getName();
+
154};
+
+
155
+
+
156struct HookExprOpHasAttr : nix::ExprOpHasAttr {
+ + +
159 std::uintptr_t Handle;
+
+
160 HookExprOpHasAttr(nix::ExprOpHasAttr E, ValueMap &VMap, EnvMap &EMap,
+
161 std::uintptr_t Handle)
+
162 : nix::ExprOpHasAttr(std::move(E)), VMap(VMap), EMap(EMap),
+
163 Handle(Handle) {}
+
+
164 void eval(nix::EvalState &State, nix::Env &Env, nix::Value &V) override;
+
165 std::string getName();
+
166};
+
+
167
+
+
168struct HookExprOpImpl : nix::ExprOpImpl {
+ + +
171 std::uintptr_t Handle;
+
+
172 HookExprOpImpl(nix::ExprOpImpl E, ValueMap &VMap, EnvMap &EMap,
+
173 std::uintptr_t Handle)
+
174 : nix::ExprOpImpl(std::move(E)), VMap(VMap), EMap(EMap), Handle(Handle) {}
+
+
175 void eval(nix::EvalState &State, nix::Env &Env, nix::Value &V) override;
+
176 std::string getName();
+
177};
+
+
178
+
+
179struct HookExprOpNEq : nix::ExprOpNEq {
+ + +
182 std::uintptr_t Handle;
+
+
183 HookExprOpNEq(nix::ExprOpNEq E, ValueMap &VMap, EnvMap &EMap,
+
184 std::uintptr_t Handle)
+
185 : nix::ExprOpNEq(std::move(E)), VMap(VMap), EMap(EMap), Handle(Handle) {}
+
+
186 void eval(nix::EvalState &State, nix::Env &Env, nix::Value &V) override;
+
187 std::string getName();
+
188};
+
+
189
+
+
190struct HookExprOpNot : nix::ExprOpNot {
+ + +
193 std::uintptr_t Handle;
+
+
194 HookExprOpNot(nix::ExprOpNot E, ValueMap &VMap, EnvMap &EMap,
+
195 std::uintptr_t Handle)
+
196 : nix::ExprOpNot(std::move(E)), VMap(VMap), EMap(EMap), Handle(Handle) {}
+
+
197 void eval(nix::EvalState &State, nix::Env &Env, nix::Value &V) override;
+
198 std::string getName();
+
199};
+
+
200
+
+
201struct HookExprOpOr : nix::ExprOpOr {
+ + +
204 std::uintptr_t Handle;
+
+
205 HookExprOpOr(nix::ExprOpOr E, ValueMap &VMap, EnvMap &EMap,
+
206 std::uintptr_t Handle)
+
207 : nix::ExprOpOr(std::move(E)), VMap(VMap), EMap(EMap), Handle(Handle) {}
+
+
208 void eval(nix::EvalState &State, nix::Env &Env, nix::Value &V) override;
+
209 std::string getName();
+
210};
+
+
211
+
+
212struct HookExprOpUpdate : nix::ExprOpUpdate {
+ + +
215 std::uintptr_t Handle;
+
+
216 HookExprOpUpdate(nix::ExprOpUpdate E, ValueMap &VMap, EnvMap &EMap,
+
217 std::uintptr_t Handle)
+
218 : nix::ExprOpUpdate(std::move(E)), VMap(VMap), EMap(EMap),
+
219 Handle(Handle) {}
+
+
220 void eval(nix::EvalState &State, nix::Env &Env, nix::Value &V) override;
+
221 std::string getName();
+
222};
+
+
223
+
+
224struct HookExprPath : nix::ExprPath {
+ + +
227 std::uintptr_t Handle;
+
+
228 HookExprPath(nix::ExprPath E, ValueMap &VMap, EnvMap &EMap,
+
229 std::uintptr_t Handle)
+
230 : nix::ExprPath(std::move(E)), VMap(VMap), EMap(EMap), Handle(Handle) {
+
231 v.mkPath(&*accessor, s.c_str());
+
232 }
+
+
233 void eval(nix::EvalState &State, nix::Env &Env, nix::Value &V) override;
+
234 std::string getName();
+
235};
+
+
236
+
+
237struct HookExprPos : nix::ExprPos {
+ + +
240 std::uintptr_t Handle;
+
+
241 HookExprPos(nix::ExprPos E, ValueMap &VMap, EnvMap &EMap,
+
242 std::uintptr_t Handle)
+
243 : nix::ExprPos(std::move(E)), VMap(VMap), EMap(EMap), Handle(Handle) {}
+
+
244 void eval(nix::EvalState &State, nix::Env &Env, nix::Value &V) override;
+
245 std::string getName();
+
246};
+
+
247
+
+
248struct HookExprSelect : nix::ExprSelect {
+ + +
251 std::uintptr_t Handle;
+
+
252 HookExprSelect(nix::ExprSelect E, ValueMap &VMap, EnvMap &EMap,
+
253 std::uintptr_t Handle)
+
254 : nix::ExprSelect(std::move(E)), VMap(VMap), EMap(EMap), Handle(Handle) {}
+
+
255 void eval(nix::EvalState &State, nix::Env &Env, nix::Value &V) override;
+
256 std::string getName();
+
257};
+
+
258
+
+
259struct HookExprString : nix::ExprString {
+ + +
262 std::uintptr_t Handle;
+
+
263 HookExprString(nix::ExprString E, ValueMap &VMap, EnvMap &EMap,
+
264 std::uintptr_t Handle)
+
265 : nix::ExprString(std::move(E)), VMap(VMap), EMap(EMap), Handle(Handle) {
+
266 v.mkString(s.data());
+
267 }
+
+
268 void eval(nix::EvalState &State, nix::Env &Env, nix::Value &V) override;
+
269 std::string getName();
+
270};
+
+
271
+
+
272struct HookExprVar : nix::ExprVar {
+ + +
275 std::uintptr_t Handle;
+
+
276 HookExprVar(nix::ExprVar E, ValueMap &VMap, EnvMap &EMap,
+
277 std::uintptr_t Handle)
+
278 : nix::ExprVar(std::move(E)), VMap(VMap), EMap(EMap), Handle(Handle) {}
+
+
279 void eval(nix::EvalState &State, nix::Env &Env, nix::Value &V) override;
+
280 std::string getName();
+
281};
+
+
282
+
+
283struct HookExprWith : nix::ExprWith {
+ + +
286 std::uintptr_t Handle;
+
+
287 HookExprWith(nix::ExprWith E, ValueMap &VMap, EnvMap &EMap,
+
288 std::uintptr_t Handle)
+
289 : nix::ExprWith(std::move(E)), VMap(VMap), EMap(EMap), Handle(Handle) {}
+
+
290 void eval(nix::EvalState &State, nix::Env &Env, nix::Value &V) override;
+
291 std::string getName();
+
292};
+
+
293} // namespace nixt
+
Definition Kinds.h:6
+
Access EvalCache 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
+ + +
std::string getName()
+
HookExprAssert(nix::ExprAssert E, ValueMap &VMap, EnvMap &EMap, std::uintptr_t Handle)
Definition HookExpr.h:16
+
void eval(nix::EvalState &State, nix::Env &Env, nix::Value &V) override
+
std::uintptr_t Handle
Definition HookExpr.h:15
+
ValueMap & VMap
Definition HookExpr.h:13
+ +
ValueMap & VMap
Definition HookExpr.h:24
+
std::string getName()
+ +
void eval(nix::EvalState &State, nix::Env &Env, nix::Value &V) override
+
HookExprAttrs(nix::ExprAttrs E, ValueMap &VMap, EnvMap &EMap, std::uintptr_t Handle)
Definition HookExpr.h:27
+
std::uintptr_t Handle
Definition HookExpr.h:26
+ +
void eval(nix::EvalState &State, nix::Env &Env, nix::Value &V) override
+
std::string getName()
+
ValueMap & VMap
Definition HookExpr.h:35
+ +
HookExprCall(nix::ExprCall E, ValueMap &VMap, EnvMap &EMap, std::uintptr_t Handle)
Definition HookExpr.h:38
+
std::uintptr_t Handle
Definition HookExpr.h:37
+ + +
void eval(nix::EvalState &State, nix::Env &Env, nix::Value &V) override
+ +
std::uintptr_t Handle
Definition HookExpr.h:48
+ +
HookExprConcatStrings(nix::ExprConcatStrings E, ValueMap &VMap, EnvMap &EMap, std::uintptr_t Handle)
Definition HookExpr.h:49
+ +
std::string getName()
+
ValueMap & VMap
Definition HookExpr.h:58
+
std::uintptr_t Handle
Definition HookExpr.h:60
+
HookExprFloat(nix::ExprFloat E, ValueMap &VMap, EnvMap &EMap, std::uintptr_t Handle)
Definition HookExpr.h:61
+
void eval(nix::EvalState &State, nix::Env &Env, nix::Value &V) override
+ + +
std::uintptr_t Handle
Definition HookExpr.h:71
+
HookExprIf(nix::ExprIf E, ValueMap &VMap, EnvMap &EMap, std::uintptr_t Handle)
Definition HookExpr.h:72
+
ValueMap & VMap
Definition HookExpr.h:69
+
void eval(nix::EvalState &State, nix::Env &Env, nix::Value &V) override
+
std::string getName()
+
EnvMap & EMap
Definition HookExpr.h:70
+ +
HookExprInt(nix::ExprInt E, ValueMap &VMap, EnvMap &EMap, std::uintptr_t Handle)
Definition HookExpr.h:82
+
ValueMap & VMap
Definition HookExpr.h:79
+
std::string getName()
+
void eval(nix::EvalState &State, nix::Env &Env, nix::Value &V) override
+
EnvMap & EMap
Definition HookExpr.h:80
+
std::uintptr_t Handle
Definition HookExpr.h:81
+ +
HookExprLambda(nix::ExprLambda E, ValueMap &VMap, EnvMap &EMap, std::uintptr_t Handle)
Definition HookExpr.h:93
+
void eval(nix::EvalState &State, nix::Env &Env, nix::Value &V) override
+
std::uintptr_t Handle
Definition HookExpr.h:92
+ +
std::string getName()
+
ValueMap & VMap
Definition HookExpr.h:90
+ +
HookExprLet(nix::ExprLet E, ValueMap &VMap, EnvMap &EMap, std::uintptr_t Handle)
Definition HookExpr.h:104
+ +
std::string getName()
+
std::uintptr_t Handle
Definition HookExpr.h:103
+
void eval(nix::EvalState &State, nix::Env &Env, nix::Value &V) override
+
ValueMap & VMap
Definition HookExpr.h:101
+ + +
std::uintptr_t Handle
Definition HookExpr.h:114
+
HookExprList(nix::ExprList E, ValueMap &VMap, EnvMap &EMap, std::uintptr_t Handle)
Definition HookExpr.h:115
+
void eval(nix::EvalState &State, nix::Env &Env, nix::Value &V) override
+
std::string getName()
+
ValueMap & VMap
Definition HookExpr.h:112
+ +
std::string getName()
+
void eval(nix::EvalState &State, nix::Env &Env, nix::Value &V) override
+ +
std::uintptr_t Handle
Definition HookExpr.h:125
+
HookExprOpAnd(nix::ExprOpAnd E, ValueMap &VMap, EnvMap &EMap, std::uintptr_t Handle)
Definition HookExpr.h:126
+
ValueMap & VMap
Definition HookExpr.h:123
+ + + +
void eval(nix::EvalState &State, nix::Env &Env, nix::Value &V) override
+ +
HookExprOpConcatLists(nix::ExprOpConcatLists E, ValueMap &VMap, EnvMap &EMap, std::uintptr_t Handle)
Definition HookExpr.h:137
+ + +
HookExprOpEq(nix::ExprOpEq E, ValueMap &VMap, EnvMap &EMap, std::uintptr_t Handle)
Definition HookExpr.h:149
+
void eval(nix::EvalState &State, nix::Env &Env, nix::Value &V) override
+
ValueMap & VMap
Definition HookExpr.h:146
+
std::uintptr_t Handle
Definition HookExpr.h:148
+
std::string getName()
+ + + +
std::uintptr_t Handle
Definition HookExpr.h:159
+ +
void eval(nix::EvalState &State, nix::Env &Env, nix::Value &V) override
+
HookExprOpHasAttr(nix::ExprOpHasAttr E, ValueMap &VMap, EnvMap &EMap, std::uintptr_t Handle)
Definition HookExpr.h:160
+ + + +
std::uintptr_t Handle
Definition HookExpr.h:171
+
HookExprOpImpl(nix::ExprOpImpl E, ValueMap &VMap, EnvMap &EMap, std::uintptr_t Handle)
Definition HookExpr.h:172
+
void eval(nix::EvalState &State, nix::Env &Env, nix::Value &V) override
+ +
std::string getName()
+ +
std::string getName()
+
std::uintptr_t Handle
Definition HookExpr.h:182
+
void eval(nix::EvalState &State, nix::Env &Env, nix::Value &V) override
+
HookExprOpNEq(nix::ExprOpNEq E, ValueMap &VMap, EnvMap &EMap, std::uintptr_t Handle)
Definition HookExpr.h:183
+ +
ValueMap & VMap
Definition HookExpr.h:180
+ +
std::string getName()
+
HookExprOpNot(nix::ExprOpNot E, ValueMap &VMap, EnvMap &EMap, std::uintptr_t Handle)
Definition HookExpr.h:194
+
void eval(nix::EvalState &State, nix::Env &Env, nix::Value &V) override
+ +
std::uintptr_t Handle
Definition HookExpr.h:193
+
ValueMap & VMap
Definition HookExpr.h:191
+ +
std::uintptr_t Handle
Definition HookExpr.h:204
+
ValueMap & VMap
Definition HookExpr.h:202
+
std::string getName()
+
void eval(nix::EvalState &State, nix::Env &Env, nix::Value &V) override
+
HookExprOpOr(nix::ExprOpOr E, ValueMap &VMap, EnvMap &EMap, std::uintptr_t Handle)
Definition HookExpr.h:205
+ + +
std::string getName()
+
void eval(nix::EvalState &State, nix::Env &Env, nix::Value &V) override
+
std::uintptr_t Handle
Definition HookExpr.h:215
+
HookExprOpUpdate(nix::ExprOpUpdate E, ValueMap &VMap, EnvMap &EMap, std::uintptr_t Handle)
Definition HookExpr.h:216
+ + + +
std::string getName()
+
std::uintptr_t Handle
Definition HookExpr.h:227
+
HookExprPath(nix::ExprPath E, ValueMap &VMap, EnvMap &EMap, std::uintptr_t Handle)
Definition HookExpr.h:228
+
ValueMap & VMap
Definition HookExpr.h:225
+ +
void eval(nix::EvalState &State, nix::Env &Env, nix::Value &V) override
+ +
void eval(nix::EvalState &State, nix::Env &Env, nix::Value &V) override
+ +
std::uintptr_t Handle
Definition HookExpr.h:240
+
ValueMap & VMap
Definition HookExpr.h:238
+
HookExprPos(nix::ExprPos E, ValueMap &VMap, EnvMap &EMap, std::uintptr_t Handle)
Definition HookExpr.h:241
+
std::string getName()
+ + +
std::string getName()
+
void eval(nix::EvalState &State, nix::Env &Env, nix::Value &V) override
+
std::uintptr_t Handle
Definition HookExpr.h:251
+ +
HookExprSelect(nix::ExprSelect E, ValueMap &VMap, EnvMap &EMap, std::uintptr_t Handle)
Definition HookExpr.h:252
+ +
std::string getName()
+ + +
HookExprString(nix::ExprString E, ValueMap &VMap, EnvMap &EMap, std::uintptr_t Handle)
Definition HookExpr.h:263
+
void eval(nix::EvalState &State, nix::Env &Env, nix::Value &V) override
+
std::uintptr_t Handle
Definition HookExpr.h:262
+ +
ValueMap & VMap
Definition HookExpr.h:273
+
std::uintptr_t Handle
Definition HookExpr.h:275
+
std::string getName()
+
HookExprVar(nix::ExprVar E, ValueMap &VMap, EnvMap &EMap, std::uintptr_t Handle)
Definition HookExpr.h:276
+ +
void eval(nix::EvalState &State, nix::Env &Env, nix::Value &V) override
+ +
void eval(nix::EvalState &State, nix::Env &Env, nix::Value &V) override
+
std::string getName()
+
ValueMap & VMap
Definition HookExpr.h:284
+
HookExprWith(nix::ExprWith E, ValueMap &VMap, EnvMap &EMap, std::uintptr_t Handle)
Definition HookExpr.h:287
+
std::uintptr_t Handle
Definition HookExpr.h:286
+ +
+ + + + diff --git a/Hover_8cpp.html b/Hover_8cpp.html new file mode 100644 index 000000000..4ee49ea98 --- /dev/null +++ b/Hover_8cpp.html @@ -0,0 +1,104 @@ + + + + + + + +nixd: Hover.cpp File Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Hover.cpp File Reference
+
+
+ +

Implementation of Hover Request. +More...

+
#include "AST.h"
+#include "Convert.h"
+#include "nixd/Controller/Controller.h"
+#include "nixd/Protocol/AttrSet.h"
+#include <boost/asio/post.hpp>
+#include <llvm/Support/Error.h>
+#include <semaphore>
+#include <sstream>
+
+

Go to the source code of this file.

+

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..938d0e303 --- /dev/null +++ b/Hover_8cpp_source.html @@ -0,0 +1,324 @@ + + + + + + + +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 "AST.h"
+
7#include "Convert.h"
+
8
+ + +
11
+
12#include <boost/asio/post.hpp>
+
13
+
14#include <llvm/Support/Error.h>
+
15
+
16#include <semaphore>
+
17#include <sstream>
+
18
+
19using namespace nixd;
+
20using namespace llvm::json;
+
21using namespace nixf;
+
22using namespace lspserver;
+
23
+
24namespace {
+
25
+
26class OptionsHoverProvider {
+
27 AttrSetClient &Client;
+
28
+
29public:
+
30 OptionsHoverProvider(AttrSetClient &Client) : Client(Client) {}
+
31 std::optional<OptionDescription>
+
32 resolveHover(const std::vector<std::string> &Scope) {
+
33 std::binary_semaphore Ready(0);
+
34 std::optional<OptionDescription> Desc;
+
35 auto OnReply = [&Ready, &Desc](llvm::Expected<OptionInfoResponse> Resp) {
+
36 if (Resp)
+
37 Desc = *Resp;
+
38 else
+
39 elog("options hover: {0}", Resp.takeError());
+
40 Ready.release();
+
41 };
+
42
+
43 Client.optionInfo(Scope, std::move(OnReply));
+
44 Ready.acquire();
+
45
+
46 return Desc;
+
47 }
+
48};
+
49
+
50/// \brief Provide package information, library information ... , from nixpkgs.
+
51class NixpkgsHoverProvider {
+
52 AttrSetClient &NixpkgsClient;
+
53
+
54 /// \brief Make markdown documentation by package description
+
55 ///
+
56 /// FIXME: there are many markdown generation in language server.
+
57 /// Maybe we can add structured generating first?
+
58 static std::string mkMarkdown(const PackageDescription &Package) {
+
59 std::ostringstream OS;
+
60 // Make each field a new section
+
61
+
62 if (Package.Name) {
+
63 OS << "`" << *Package.Name << "`";
+
64 OS << "\n";
+
65 }
+
66
+
67 // Make links to homepage.
+
68 if (Package.Homepage) {
+
69 OS << "[homepage](" << *Package.Homepage << ")";
+
70 OS << "\n";
+
71 }
+
72
+
73 if (Package.Description) {
+
74 OS << "## Description"
+
75 << "\n\n";
+
76 OS << *Package.Description;
+
77 OS << "\n\n";
+
78
+
79 if (Package.LongDescription) {
+
80 OS << "\n\n";
+
81 OS << *Package.LongDescription;
+
82 OS << "\n\n";
+
83 }
+
84 }
+
85
+
86 return OS.str();
+
87 }
+
88
+
89public:
+
90 NixpkgsHoverProvider(AttrSetClient &NixpkgsClient)
+
91 : NixpkgsClient(NixpkgsClient) {}
+
92
+
93 std::optional<std::string> resolvePackage(std::vector<std::string> Scope,
+
94 std::string Name) {
+
95 std::binary_semaphore Ready(0);
+
96 std::optional<AttrPathInfoResponse> Desc;
+
97 auto OnReply = [&Ready, &Desc](llvm::Expected<AttrPathInfoResponse> Resp) {
+
98 if (Resp)
+
99 Desc = *Resp;
+
100 else
+
101 elog("nixpkgs provider: {0}", Resp.takeError());
+
102 Ready.release();
+
103 };
+
104 Scope.emplace_back(std::move(Name));
+
105 NixpkgsClient.attrpathInfo(Scope, std::move(OnReply));
+
106 Ready.acquire();
+
107
+
108 if (!Desc)
+
109 return std::nullopt;
+
110
+
111 return mkMarkdown(Desc->PackageDesc);
+
112 }
+
113};
+
114
+
115} // namespace
+
116
+
117void Controller::onHover(const TextDocumentPositionParams &Params,
+
118 Callback<std::optional<Hover>> Reply) {
+
119 auto Action = [Reply = std::move(Reply),
+
120 File = std::string(Params.textDocument.uri.file()),
+
121 RawPos = Params.position, this]() mutable {
+
122 if (std::shared_ptr<NixTU> TU = getTU(File, Reply)) [[likely]] {
+
123 if (std::shared_ptr<nixf::Node> AST = getAST(*TU, Reply)) [[likely]] {
+
124 nixf::Position Pos{RawPos.line, RawPos.character};
+
125 const nixf::Node *N = AST->descend({Pos, Pos});
+
126 if (!N) {
+
127 Reply(std::nullopt);
+
128 return;
+
129 }
+
130 std::string Name = N->name();
+
131 const VariableLookupAnalysis &VLA = *TU->variableLookup();
+
132 const ParentMapAnalysis &PM = *TU->parentMap();
+
133 if (havePackageScope(*N, VLA, PM) && nixpkgsClient()) {
+
134 // Ask nixpkgs client what's current package documentation.
+
135 NixpkgsHoverProvider NHP(*nixpkgsClient());
+
136 auto [Scope, Name] = getScopeAndPrefix(*N, PM);
+
137 if (std::optional<std::string> Doc =
+
138 NHP.resolvePackage(Scope, Name)) {
+
139 Reply(Hover{
+
140 .contents =
+ +
142 .kind = MarkupKind::Markdown,
+
143 .value = std::move(*Doc),
+
144 },
+
145 .range = toLSPRange(TU->src(), N->range()),
+
146 });
+
147 return;
+
148 }
+
149 }
+
150
+
151 std::vector<std::string> Scope;
+
152 auto R = findAttrPath(*N, PM, Scope);
+
153 if (R == FindAttrPathResult::OK) {
+
154 std::lock_guard _(OptionsLock);
+
155 for (const auto &[_, Client] : Options) {
+
156 if (AttrSetClient *C = Client->client()) {
+
157 OptionsHoverProvider OHP(*C);
+
158 std::optional<OptionDescription> Desc = OHP.resolveHover(Scope);
+
159 std::string Docs;
+
160 if (Desc) {
+
161 if (Desc->Type) {
+
162 std::string TypeName = Desc->Type->Name.value_or("");
+
163 std::string TypeDesc = Desc->Type->Description.value_or("");
+
164 Docs += llvm::formatv("{0} ({1})", TypeName, TypeDesc);
+
165 } else {
+
166 Docs += "? (missing type)";
+
167 }
+
168 if (Desc->Description) {
+
169 Docs += "\n\n" + Desc->Description.value_or("");
+
170 }
+
171 Reply(Hover{
+
172 .contents =
+ +
174 .kind = MarkupKind::Markdown,
+
175 .value = std::move(Docs),
+
176 },
+
177 .range = toLSPRange(TU->src(), N->range()),
+
178 });
+
179 return;
+
180 }
+
181 }
+
182 }
+
183 }
+
184
+
185 // Reply it's kind by static analysis
+
186 // FIXME: support more.
+
187 Reply(Hover{
+
188 .contents =
+ +
190 .kind = MarkupKind::Markdown,
+
191 .value = "`" + Name + "`",
+
192 },
+
193 .range = toLSPRange(TU->src(), N->range()),
+
194 });
+
195 }
+
196 }
+
197 };
+
198 boost::asio::post(Pool, std::move(Action));
+
199}
+
This file declares some common analysis (tree walk) on the AST.
+
Types used in nixpkgs provider.
+ +
Convert between LSP and nixf types.
+ +
void optionInfo(const AttrPathInfoParams &Params, lspserver::Callback< OptionInfoResponse > Reply)
+
void attrpathInfo(const AttrPathInfoParams &Params, lspserver::Callback< AttrPathInfoResponse > Reply)
+ +
const Node * descend(PositionRange Range) const
Descendant node that contains the given range.
Definition Basic.h:49
+ + +
int64_t line() const
Definition Range.h:16
+ + +
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
+ + +
bool fromJSON(const llvm::json::Value &Params, Configuration::Diagnostic &R, llvm::json::Path P)
+
FindAttrPathResult findAttrPath(const nixf::Node &N, const nixf::ParentMapAnalysis &PM, std::vector< std::string > &Path)
Heuristically find attrpath suitable for "attrpath" completion.
Definition AST.cpp:283
+
bool havePackageScope(const nixf::Node &N, const nixf::VariableLookupAnalysis &VLA, const nixf::ParentMapAnalysis &PM)
Determine whether or not some node has enclosed "with pkgs; [ ]".
Definition AST.cpp:108
+ +
lspserver::Range toLSPRange(llvm::StringRef Code, const nixf::LexerCursorRange &R)
Definition Convert.cpp:40
+
std::pair< std::vector< std::string >, std::string > getScopeAndPrefix(const nixf::Node &N, const nixf::ParentMapAnalysis &PM)
get variable scope, and it's prefix name.
Definition AST.cpp:274
+ + +
MarkupContent contents
The hover's content.
+ + + + +
+ + + + diff --git a/If-example.html b/If-example.html new file mode 100644 index 000000000..c5ae89518 --- /dev/null +++ b/If-example.html @@ -0,0 +1,85 @@ + + + + + + + +nixd: If + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
If
+
+
+

Update the configuration, do necessary adjusting for updates.

+

Update the configuration, do necessary adjusting for updates. asked to change eval settings, send eval requests to workers.

+
+ + + + diff --git a/InitEval_8h.html b/InitEval_8h.html new file mode 100644 index 000000000..ba2e79f4b --- /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 EvalCache 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..9029963bf --- /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 EvalCache in nix::EvalState.
Definition ArrayRef.h:7
+
void initEval()
Definition InitEval.h:9
+
+ + + + diff --git a/InlayHints_8cpp.html b/InlayHints_8cpp.html new file mode 100644 index 000000000..b6d61be20 --- /dev/null +++ b/InlayHints_8cpp.html @@ -0,0 +1,107 @@ + + + + + + + +nixd: InlayHints.cpp File Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
InlayHints.cpp File Reference
+
+
+ +

Implementation of Inlay Hints. +More...

+
#include "AST.h"
+#include "Convert.h"
+#include "nixd/CommandLine/Options.h"
+#include "nixd/Controller/Controller.h"
+#include <boost/asio/post.hpp>
+#include <llvm/ADT/StringRef.h>
+#include <llvm/Support/CommandLine.h>
+#include <semaphore>
+
+

Go to the source code of this file.

+

Detailed Description

+

Implementation of Inlay Hints.

+

In nixd, "Inlay Hints" are placed after each "package" node, showing it's version.

+

For example

+

nixd[: 1.2.3] nix[: 2.19.3]

+ +

Definition in file InlayHints.cpp.

+
+ + + + diff --git a/InlayHints_8cpp_source.html b/InlayHints_8cpp_source.html new file mode 100644 index 000000000..a98f2320d --- /dev/null +++ b/InlayHints_8cpp_source.html @@ -0,0 +1,260 @@ + + + + + + + +nixd: InlayHints.cpp Source File + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
InlayHints.cpp
+
+
+Go to the documentation of this file.
1/// \file
+
2/// \brief Implementation of [Inlay Hints].
+
3/// [Inlay Hints]:
+
4/// https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#textDocument_inlayHint
+
5///
+
6/// In nixd, "Inlay Hints" are placed after each "package" node, showing it's
+
7/// version.
+
8///
+
9/// For example
+
10///
+
11/// nixd[: 1.2.3]
+
12/// nix[: 2.19.3]
+
13///
+
14///
+
15#include "AST.h"
+
16#include "Convert.h"
+
17
+ + +
20
+
21#include <boost/asio/post.hpp>
+
22
+
23#include <llvm/ADT/StringRef.h>
+
24#include <llvm/Support/CommandLine.h>
+
25
+
26#include <semaphore>
+
27
+
28using namespace nixd;
+
29using namespace nixf;
+
30using namespace lspserver;
+
31using namespace llvm::cl;
+
32
+
33namespace {
+
34
+
35opt<bool> EnableInlayHints{"inlay-hints", desc("Enable/Disable inlay-hints"),
+
36 init(true), cat(NixdCategory)};
+
37
+
38/// Ask nixpkgs provider to compute package information, to get inlay-hints.
+
39class NixpkgsInlayHintsProvider {
+
40 AttrSetClient &NixpkgsProvider;
+
41 const VariableLookupAnalysis &VLA;
+
42 const ParentMapAnalysis &PMA;
+
43
+
44 /// Only positions contained in this range should be computed && added;
+
45 std::optional<nixf::PositionRange> Range;
+
46
+
47 std::vector<InlayHint> &Hints;
+
48
+
49 bool rangeOK(const nixf::PositionRange &R) {
+
50 if (!Range)
+
51 return true; // Always OK if there is no limitation.
+
52 return Range->contains(R);
+
53 }
+
54
+
55 llvm::StringRef Src;
+
56
+
57public:
+
58 NixpkgsInlayHintsProvider(AttrSetClient &NixpkgsProvider,
+
59 const VariableLookupAnalysis &VLA,
+
60 const ParentMapAnalysis &PMA,
+
61 std::optional<lspserver::Range> Range,
+
62 std::vector<InlayHint> &Hints, llvm::StringRef Src)
+
63 : NixpkgsProvider(NixpkgsProvider), VLA(VLA), PMA(PMA), Hints(Hints),
+
64 Src(Src) {
+
65 if (Range)
+
66 this->Range = toNixfRange(*Range);
+
67 }
+
68
+
69 void dfs(const Node *N) {
+
70 if (!N)
+
71 return;
+
72 if (N->kind() == Node::NK_ExprVar) {
+
73 if (havePackageScope(*N, VLA, PMA)) {
+
74 if (!rangeOK(N->positionRange()))
+
75 return;
+
76 // Ask nixpkgs eval to provide it's information.
+
77 // This is relatively slow. Maybe better query a set of packages in the
+
78 // future?
+
79 std::binary_semaphore Ready(0);
+
80 const std::string &Name = static_cast<const ExprVar &>(*N).id().name();
+ +
82 auto OnReply = [&Ready, &R](llvm::Expected<AttrPathInfoResponse> Resp) {
+
83 if (!Resp) {
+
84 Ready.release();
+
85 return;
+
86 }
+
87 R = *Resp;
+
88 Ready.release();
+
89 };
+
90 NixpkgsProvider.attrpathInfo({Name}, std::move(OnReply));
+
91 Ready.acquire();
+
92
+
93 if (const std::optional<std::string> &Version = R.PackageDesc.Version) {
+
94 // Construct inlay hints.
+ +
96 .position = toLSPPosition(Src, N->rCur()),
+
97 .label = ": " + *Version,
+
98 .kind = InlayHintKind::Designator,
+
99 .range = toLSPRange(Src, N->range()),
+
100 };
+
101 Hints.emplace_back(std::move(H));
+
102 }
+
103 }
+
104 }
+
105 // FIXME: process other node kinds. e.g. ExprSelect.
+
106 for (const Node *Ch : N->children())
+
107 dfs(Ch);
+
108 }
+
109};
+
110
+
111} // namespace
+
112
+
113void Controller::onInlayHint(const InlayHintsParams &Params,
+
114 Callback<std::vector<InlayHint>> Reply) {
+
115 // If not enabled, exit early.
+
116 if (!EnableInlayHints)
+
117 return Reply(std::vector<InlayHint>{});
+
118
+
119 auto Action = [Reply = std::move(Reply), URI = Params.textDocument.uri,
+
120 Range = Params.range, this]() mutable {
+
121 std::string File(URI.file());
+
122 if (std::shared_ptr<NixTU> TU = getTU(File, Reply)) [[likely]] {
+
123 if (std::shared_ptr<Node> AST = getAST(*TU, Reply)) [[likely]] {
+
124 // Perform inlay hints computation on the range.
+
125 std::vector<InlayHint> Response;
+
126 NixpkgsInlayHintsProvider NP(*nixpkgsClient(), *TU->variableLookup(),
+
127 *TU->parentMap(), Range, Response,
+
128 TU->src());
+
129 NP.dfs(AST.get());
+
130 Reply(std::move(Response));
+
131 }
+
132 }
+
133 };
+
134 boost::asio::post(Pool, std::move(Action));
+
135}
+
This file declares some common analysis (tree walk) on the AST.
+ +
Convert between LSP and nixf types.
+ + + +
void attrpathInfo(const AttrPathInfoParams &Params, lspserver::Callback< AttrPathInfoResponse > Reply)
+ +
const Identifier & id() const
Definition Simple.h:200
+
const std::string & name() const
Definition Basic.h:120
+ + + + +
Whether current platform treats paths case insensitively.
Definition Connection.h:11
+
llvm::unique_function< void(llvm::Expected< T >)> Callback
Definition Function.h:14
+ + +
nixf::PositionRange toNixfRange(const lspserver::Range &P)
Definition Convert.cpp:36
+
bool fromJSON(const llvm::json::Value &Params, Configuration::Diagnostic &R, llvm::json::Path P)
+
llvm::cl::OptionCategory NixdCategory
+
lspserver::Position toLSPPosition(llvm::StringRef Code, const nixf::LexerCursor &P)
Definition Convert.cpp:27
+
bool havePackageScope(const nixf::Node &N, const nixf::VariableLookupAnalysis &VLA, const nixf::ParentMapAnalysis &PM)
Determine whether or not some node has enclosed "with pkgs; [ ]".
Definition AST.cpp:108
+
lspserver::Range toLSPRange(llvm::StringRef Code, const nixf::LexerCursorRange &R)
Definition Convert.cpp:40
+ + +
Position position
The position of this hint.
+
A parameter literal used in inlay hint requests.
+ + + +
PackageDescription PackageDesc
Package description of the attribute path, if available.
Definition AttrSet.h:86
+
std::optional< std::string > Version
Definition AttrSet.h:52
+
+ + + + diff --git a/JSONDiagnostic_8cpp.html b/JSONDiagnostic_8cpp.html new file mode 100644 index 000000000..53d5f0d73 --- /dev/null +++ b/JSONDiagnostic_8cpp.html @@ -0,0 +1,92 @@ + + + + + + + +nixd: JSONDiagnostic.cpp File Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
JSONDiagnostic.cpp File Reference
+
+
+ +

Go to the source code of this file.

+
+ + + + diff --git a/JSONDiagnostic_8cpp_source.html b/JSONDiagnostic_8cpp_source.html new file mode 100644 index 000000000..d46eac6ef --- /dev/null +++ b/JSONDiagnostic_8cpp_source.html @@ -0,0 +1,184 @@ + + + + + + + +nixd: JSONDiagnostic.cpp Source File + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
JSONDiagnostic.cpp
+
+
+Go to the documentation of this file.
+ +
3#include "nixf/Basic/Range.h"
+
4
+
5using namespace nixf;
+
6using nlohmann::json;
+
7
+
8void nixf::to_json(json &R, const LexerCursor &LC) {
+
9 R = json{
+
10 {"line", LC.line()},
+
11 {"column", LC.column()},
+
12 {"offset", LC.offset()},
+
13 };
+
14}
+
15
+
16void nixf::to_json(json &R, const LexerCursorRange &LCR) {
+
17 R = json{
+
18 {"lCur", LCR.lCur()},
+
19 {"rCur", LCR.rCur()},
+
20 };
+
21}
+
22
+
23void nixf::to_json(json &R, const PartialDiagnostic &PD) {
+
24 R = json{
+
25 {"args", PD.args()},
+
26 {"tag", PD.tags()},
+
27 {"range", PD.range()},
+
28 };
+
29}
+
30
+
31void nixf::to_json(json &R, const Diagnostic &D) {
+
32 to_json(R, static_cast<const PartialDiagnostic &>(D));
+
33 R["kind"] = D.kind();
+
34 R["severity"] = Diagnostic::severity(D.kind());
+
35 R["message"] = D.message();
+
36 R["sname"] = D.sname();
+
37 R["notes"] = D.notes();
+
38 R["fixes"] = D.fixes();
+
39}
+
40
+
41void nixf::to_json(json &R, const Note &N) {
+
42 to_json(R, static_cast<const PartialDiagnostic &>(N));
+
43 R["kind"] = N.kind();
+
44 R["sname"] = N.sname();
+
45 R["message"] = N.message();
+
46}
+
47
+
48void nixf::to_json(json &R, const Fix &F) {
+
49 R = json{
+
50 {"edits", F.edits()},
+
51 {"message", F.message()},
+
52 };
+
53}
+
54
+
55void nixf::to_json(json &R, const TextEdit &D) {
+
56 R = json{
+
57 {"range", D.oldRange()},
+
58 {"newText", D.newText()},
+
59 };
+
60}
+ +
Provide jsonified diagnostic, for other languages/structured output.
+ +
static const char * message(DiagnosticKind Kind)
+
DiagnosticKind kind() const
Definition Diagnostic.h:176
+
static const char * sname(DiagnosticKind Kind)
+
const std::vector< Fix > & fixes() const
Definition Diagnostic.h:207
+
const std::vector< Note > & notes() const
Definition Diagnostic.h:201
+ +
const std::vector< TextEdit > & edits() const
Definition Diagnostic.h:70
+
const std::string & message() const
Definition Diagnostic.h:71
+ +
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
+
std::size_t offset() const
Offset in the source file, starting from 0.
Definition Range.h:102
+
int64_t line() const
Line number, starting from 0.
Definition Range.h:93
+ +
NoteKind kind() const
Definition Diagnostic.h:135
+
static const char * sname(NoteKind Kind)
+
static const char * message(NoteKind Kind)
+ +
const std::vector< std::string > & args() const
Definition Diagnostic.h:92
+
const std::vector< DiagnosticTag > & tags() const
Definition Diagnostic.h:98
+
LexerCursorRange range() const
Definition Diagnostic.h:100
+ +
std::string_view newText() const
Definition Diagnostic.h:54
+
LexerCursorRange oldRange() const
Definition Diagnostic.h:53
+ + +
void to_json(nlohmann::json &R, const LexerCursor &LC)
+
+ + + + diff --git a/JSONDiagnostic_8h.html b/JSONDiagnostic_8h.html new file mode 100644 index 000000000..c0c003f77 --- /dev/null +++ b/JSONDiagnostic_8h.html @@ -0,0 +1,125 @@ + + + + + + + +nixd: JSONDiagnostic.h File Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
JSONDiagnostic.h File Reference
+
+
+ +

Provide jsonified diagnostic, for other languages/structured output. +More...

+
#include "Diagnostic.h"
+#include "nixf/Basic/Range.h"
+#include <nlohmann/json.hpp>
+
+

Go to the source code of this file.

+ + + + +

+Namespaces

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

+Functions

void nixf::to_json (nlohmann::json &R, const LexerCursor &LC)
 
void nixf::to_json (nlohmann::json &R, const LexerCursorRange &LCR)
 
void nixf::to_json (nlohmann::json &R, const PartialDiagnostic &D)
 
void nixf::to_json (nlohmann::json &R, const Diagnostic &D)
 
void nixf::to_json (nlohmann::json &R, const Note &N)
 
void nixf::to_json (nlohmann::json &R, const TextEdit &D)
 
void nixf::to_json (nlohmann::json &R, const Fix &F)
 
+

Detailed Description

+

Provide jsonified diagnostic, for other languages/structured output.

+ +

Definition in file JSONDiagnostic.h.

+
+ + + + diff --git a/JSONDiagnostic_8h_source.html b/JSONDiagnostic_8h_source.html new file mode 100644 index 000000000..c1149e37e --- /dev/null +++ b/JSONDiagnostic_8h_source.html @@ -0,0 +1,136 @@ + + + + + + + +nixd: JSONDiagnostic.h Source File + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
JSONDiagnostic.h
+
+
+Go to the documentation of this file.
1/// \file
+
2/// \brief Provide jsonified diagnostic, for other languages/structured output.
+
3#pragma once
+
4
+
5#include "Diagnostic.h"
+
6#include "nixf/Basic/Range.h"
+
7
+
8#include <nlohmann/json.hpp>
+
9
+
10namespace nixf {
+
11
+
12void to_json // NOLINT(readability-identifier-naming)
+
13 (nlohmann::json &R, const LexerCursor &LC);
+
14
+
15void to_json // NOLINT(readability-identifier-naming)
+
16 (nlohmann::json &R, const LexerCursorRange &LCR);
+
17
+
18void to_json // NOLINT(readability-identifier-naming)
+
19 (nlohmann::json &R, const PartialDiagnostic &D);
+
20
+
21void to_json // NOLINT(readability-identifier-naming)
+
22 (nlohmann::json &R, const Diagnostic &D);
+
23
+
24void to_json // NOLINT(readability-identifier-naming)
+
25 (nlohmann::json &R, const Note &N);
+
26
+
27void to_json // NOLINT(readability-identifier-naming)
+
28 (nlohmann::json &R, const TextEdit &D);
+
29
+
30void to_json // NOLINT(readability-identifier-naming)
+
31 (nlohmann::json &R, const Fix &F);
+
32
+
33} // namespace nixf
+ + + + +
A point in the source file.
Definition Range.h:57
+ + + + + +
void to_json(nlohmann::json &R, const LexerCursor &LC)
+
+ + + + diff --git a/JSON_8cpp.html b/JSON_8cpp.html new file mode 100644 index 000000000..8aaafa985 --- /dev/null +++ b/JSON_8cpp.html @@ -0,0 +1,91 @@ + + + + + + + +nixd: JSON.cpp File Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
JSON.cpp File Reference
+
+
+
#include "nixd/Support/JSON.h"
+#include <llvm/ADT/StringRef.h>
+
+

Go to the source code of this file.

+
+ + + + diff --git a/JSON_8cpp_source.html b/JSON_8cpp_source.html new file mode 100644 index 000000000..724844284 --- /dev/null +++ b/JSON_8cpp_source.html @@ -0,0 +1,107 @@ + + + + + + + +nixd: JSON.cpp Source File + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
JSON.cpp
+
+
+Go to the documentation of this file.
1#include "nixd/Support/JSON.h"
+
2
+
3#include <llvm/ADT/StringRef.h>
+
4
+
+
5llvm::json::Value nixd::parse(llvm::StringRef JSON) {
+
6 llvm::Expected<llvm::json::Value> E = llvm::json::parse(JSON);
+
7 if (!E)
+
8 throw JSONParseException(E.takeError());
+
9 return *E;
+
10}
+
+ + +
llvm::json::Value parse(llvm::StringRef JSON)
Definition JSON.cpp:5
+
+ + + + diff --git a/JSON_8h.html b/JSON_8h.html new file mode 100644 index 000000000..e42bd59e8 --- /dev/null +++ b/JSON_8h.html @@ -0,0 +1,118 @@ + + + + + + + +nixd: JSON.h File Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
JSON.h File Reference
+
+
+
#include "Exception.h"
+#include <llvm/ADT/StringRef.h>
+#include <llvm/Support/JSON.h>
+#include <exception>
+
+

Go to the source code of this file.

+ + + + + + +

+Classes

class  nixd::JSONParseException
 
class  nixd::JSONSchemaException
 
+ + + +

+Namespaces

namespace  nixd
 
+ + + + + + +

+Functions

llvm::json::Value nixd::parse (llvm::StringRef JSON)
 
template<class T >
nixd::fromJSON (const llvm::json::Value &V)
 
+
+ + + + diff --git a/JSON_8h_source.html b/JSON_8h_source.html new file mode 100644 index 000000000..99f036da6 --- /dev/null +++ b/JSON_8h_source.html @@ -0,0 +1,153 @@ + + + + + + + +nixd: JSON.h Source File + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
JSON.h
+
+
+Go to the documentation of this file.
1#pragma once
+
2
+
3#include "Exception.h"
+
4
+
5#include <llvm/ADT/StringRef.h>
+
6#include <llvm/Support/JSON.h>
+
7
+
8#include <exception>
+
9
+
10namespace nixd {
+
11
+
+ +
13public:
+
14 JSONParseException(llvm::Error E) : LLVMErrorException(std::move(E)) {}
+
15
+
+
16 [[nodiscard]] const char *what() const noexcept override {
+
17 return "JSON result cannot be parsed";
+
18 }
+
+
19};
+
+
20
+
+ +
22public:
+
23 JSONSchemaException(llvm::Error E) : LLVMErrorException(std::move(E)) {}
+
24
+
+
25 [[nodiscard]] const char *what() const noexcept override {
+
26 return "JSON schema mismatch";
+
27 }
+
+
28};
+
+
29
+
30llvm::json::Value parse(llvm::StringRef JSON);
+
31
+
+
32template <class T> T fromJSON(const llvm::json::Value &V) {
+
33 llvm::json::Path::Root R;
+
34 T Result;
+
35 if (!fromJSON(V, Result, R))
+
36 throw JSONSchemaException(R.getError());
+
37 return Result;
+
38}
+
+
39
+
40} // namespace nixd
+ + +
const char * what() const noexcept override
Definition JSON.h:16
+
JSONParseException(llvm::Error E)
Definition JSON.h:14
+ +
JSONSchemaException(llvm::Error E)
Definition JSON.h:23
+
const char * what() const noexcept override
Definition JSON.h:25
+ + +
bool fromJSON(const llvm::json::Value &Params, Configuration::Diagnostic &R, llvm::json::Path P)
+
llvm::json::Value parse(llvm::StringRef JSON)
Definition JSON.cpp:5
+
+ + + + diff --git a/Kinds_8cpp.html b/Kinds_8cpp.html new file mode 100644 index 000000000..60ef45aa7 --- /dev/null +++ b/Kinds_8cpp.html @@ -0,0 +1,160 @@ + + + + + + + +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 EvalCache 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 (ek::ExprKind Kind)
 Get printable name of some 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..589cc831d --- /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.
+ +
ExprKind
Enumeration of all kinds of nix::Expr.
Definition Kinds.h:24
+
@ LastExprKind
Definition Kinds.h:31
+
Access EvalCache 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.
Definition Kinds.cpp:22
+
+ + + + diff --git a/Kinds_8h.html b/Kinds_8h.html new file mode 100644 index 000000000..8d7e326ab --- /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 EvalCache 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..bad6a93c2 --- /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 EvalCache 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.
Definition Kinds.cpp:22
+
+ + + + diff --git a/LSPBinder_8h.html b/LSPBinder_8h.html new file mode 100644 index 000000000..462d16d2a --- /dev/null +++ b/LSPBinder_8h.html @@ -0,0 +1,120 @@ + + + + + + + +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>
+
+

Go to the source code of this file.

+ + + + +

+Classes

struct  lspserver::HandlerRegistry
 
+ + + + +

+Namespaces

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

+Functions

template<typename T >
llvm::Expected< Tlspserver::parseParam (const llvm::json::Value &Raw, llvm::StringRef PayloadName, llvm::StringRef PayloadKind)
 
template<>
llvm::Expected< llvm::json::Value > lspserver::parseParam (const llvm::json::Value &Raw, llvm::StringRef PayloadName, llvm::StringRef PayloadKind)
 
+
+ + + + diff --git a/LSPBinder_8h_source.html b/LSPBinder_8h_source.html new file mode 100644 index 000000000..baca27e3f --- /dev/null +++ b/LSPBinder_8h_source.html @@ -0,0 +1,225 @@ + + + + + + + +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
+
10namespace lspserver {
+
11
+
12template <typename T>
+
+
13llvm::Expected<T> parseParam(const llvm::json::Value &Raw,
+
14 llvm::StringRef PayloadName,
+
15 llvm::StringRef PayloadKind) {
+
16 T Result;
+
17 llvm::json::Path::Root Root;
+
18 if (!fromJSON(Raw, Result, Root)) {
+
19 elog("Failed to decode {0} {1}: {2}", PayloadName, PayloadKind,
+
20 Root.getError());
+
21 // Dump the relevant parts of the broken message.
+
22 std::string Context;
+
23 llvm::raw_string_ostream OS(Context);
+
24 Root.printErrorContext(Raw, OS);
+
25 vlog("{0}", OS.str());
+
26 // Report the error (e.g. to the client).
+
27 return llvm::make_error<LSPError>(
+
28 llvm::formatv("failed to decode {0} {1}: {2}", PayloadName, PayloadKind,
+
29 fmt_consume(Root.getError())),
+ +
31 }
+
32 return std::move(Result);
+
33}
+
+
34
+
35template <>
+
36inline llvm::Expected<llvm::json::Value>
+
+
37parseParam(const llvm::json::Value &Raw, llvm::StringRef PayloadName,
+
38 llvm::StringRef PayloadKind) {
+
39 return Raw;
+
40}
+
+
41
+
+ +
43 using JSON = llvm::json::Value;
+
44 template <typename HandlerT>
+
45 using HandlerMap = llvm::StringMap<llvm::unique_function<HandlerT>>;
+
46
+ + + +
50
+
51public:
+
52 /// Bind a handler for an LSP method.
+
53 /// e.g. method("peek", this, &ThisModule::peek);
+
54 /// Handler should be e.g. void peek(const PeekParams&, Callback<PeekResult>);
+
55 /// PeekParams must be JSON-parseable and PeekResult must be serializable.
+
56 template <typename Param, typename Result, typename ThisT>
+
+
57 void addMethod(llvm::StringRef Method, ThisT *This,
+
58 void (ThisT::*Handler)(const Param &, Callback<Result>)) {
+ + +
61 auto P = parseParam<Param>(RawParams, Method, "request");
+
62 if (!P)
+
63 return Reply(P.takeError());
+
64 (This->*Handler)(*P, std::move(Reply));
+
65 };
+
66 }
+
+
67
+
68 /// Bind a handler for an LSP notification.
+
69 /// e.g. notification("poke", this, &ThisModule::poke);
+
70 /// Handler should be e.g. void poke(const PokeParams&);
+
71 /// PokeParams must be JSON-parseable.
+
72 template <typename Param, typename ThisT>
+
+
73 void addNotification(llvm::StringLiteral Method, ThisT *This,
+
74 void (ThisT::*Handler)(const Param &)) {
+ +
76 llvm::Expected<Param> P = parseParam<Param>(RawParams, Method, "request");
+
77 if (!P)
+
78 return llvm::consumeError(P.takeError());
+
79 (This->*Handler)(*P);
+
80 };
+
81 }
+
+
82
+
83 /// Bind a handler for an LSP command.
+
84 /// e.g. command("load", this, &ThisModule::load);
+
85 /// Handler should be e.g. void load(const LoadParams&, Callback<LoadResult>);
+
86 /// LoadParams must be JSON-parseable and LoadResult must be serializable.
+
87 template <typename Param, typename Result, typename ThisT>
+
+
88 void addCommand(llvm::StringLiteral Command, ThisT *This,
+
89 void (ThisT::*Handler)(const Param &, Callback<Result>)) {
+ + +
92 auto P = parseParam<Param>(RawParams, Command, "command");
+
93 if (!P)
+
94 return Reply(P.takeError());
+
95 (This->*Handler)(*P, std::move(Reply));
+
96 };
+
97 }
+
+
98};
+
+
99
+
100} // 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::Expected< T > parseParam(const llvm::json::Value &Raw, llvm::StringRef PayloadName, llvm::StringRef PayloadKind)
Definition LSPBinder.h:13
+
bool fromJSON(const llvm::json::Value &, URIForFile &, llvm::json::Path)
+ +
void elog(const char *Fmt, Ts &&...Vals)
Definition Logger.h:52
+ +
void vlog(const char *Fmt, Ts &&...Vals)
Definition Logger.h:63
+ + +
void addMethod(llvm::StringRef Method, ThisT *This, void(ThisT::*Handler)(const Param &, Callback< Result >))
Definition LSPBinder.h:57
+
llvm::StringMap< llvm::unique_function< HandlerT > > HandlerMap
Definition LSPBinder.h:45
+
void addNotification(llvm::StringLiteral Method, ThisT *This, void(ThisT::*Handler)(const Param &))
Definition LSPBinder.h:73
+
llvm::json::Value JSON
Definition LSPBinder.h:43
+
HandlerMap< void(JSON)> NotificationHandlers
Definition LSPBinder.h:47
+
HandlerMap< void(JSON, Callback< JSON >)> MethodHandlers
Definition LSPBinder.h:48
+
void addCommand(llvm::StringLiteral Command, ThisT *This, void(ThisT::*Handler)(const Param &, Callback< Result >))
Definition LSPBinder.h:88
+
HandlerMap< void(JSON, Callback< JSON >)> CommandHandlers
Definition LSPBinder.h:49
+
+ + + + diff --git a/LSPServer_8cpp.html b/LSPServer_8cpp.html new file mode 100644 index 000000000..80a9caa83 --- /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..e3c7172ac --- /dev/null +++ b/LSPServer_8cpp_source.html @@ -0,0 +1,206 @@ + + + + + + + +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;
+ + +
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);
+ +
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()) {
+ +
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)};
+ +
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
+
bool fromJSON(const llvm::json::Value &, URIForFile &, llvm::json::Path)
+
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:47
+
HandlerMap< void(JSON, Callback< JSON >)> MethodHandlers
Definition LSPBinder.h:48
+
+ + + + diff --git a/LSPServer_8h.html b/LSPServer_8h.html new file mode 100644 index 000000000..ba3b2e8b3 --- /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..3ebd9728b --- /dev/null +++ b/LSPServer_8h_source.html @@ -0,0 +1,219 @@ + + + + + + + +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(
+ +
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
+
bool fromJSON(const llvm::json::Value &, URIForFile &, llvm::json::Path)
+ + +
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..a40153521 --- /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 const std::shared_ptr<Misc> Comma;
+
13 const std::shared_ptr<Identifier> ID;
+
14 const std::shared_ptr<Expr> Default;
+
15 const 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 const std::vector<std::shared_ptr<Formal>> Members;
+
60
+
61 /// Deduplicated formals, useful for encoding
+
62 const 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 const std::shared_ptr<Identifier> ID;
+
92 const 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() const { 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 const std::shared_ptr<LambdaArg> Arg;
+
110 const 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
+ +
Formals * formals() const
Definition Lambda.h:101
+
LambdaArg(LexerCursorRange Range, std::shared_ptr< Identifier > ID, std::shared_ptr< Formals > F)
Definition Lambda.h:95
+
Identifier * id() const
Definition Lambda.h:99
+
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/Launch_8cpp.html b/Launch_8cpp.html new file mode 100644 index 000000000..a8adbe0b0 --- /dev/null +++ b/Launch_8cpp.html @@ -0,0 +1,119 @@ + + + + + + + +nixd: Launch.cpp File Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
Launch.cpp File Reference
+
+
+
#include "nixd/Eval/Launch.h"
+#include "nixd/CommandLine/Options.h"
+#include <llvm/Support/CommandLine.h>
+
+

Go to the source code of this file.

+ + + + +

+Macros

#define NULL_DEVICE   "/dev/null"
 
+

Macro Definition Documentation

+ +

◆ NULL_DEVICE

+ +
+
+ + + + +
#define NULL_DEVICE   "/dev/null"
+
+ +

Definition at line 11 of file Launch.cpp.

+ +

Referenced by nixd::startOption().

+ +
+
+
+ + + + diff --git a/Launch_8cpp_source.html b/Launch_8cpp_source.html new file mode 100644 index 000000000..e209f4678 --- /dev/null +++ b/Launch_8cpp_source.html @@ -0,0 +1,150 @@ + + + + + + + +nixd: Launch.cpp Source File + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Launch.cpp
+
+
+Go to the documentation of this file.
1#include "nixd/Eval/Launch.h"
+ +
3
+
4#include <llvm/Support/CommandLine.h>
+
5
+
6using namespace llvm::cl;
+
7using namespace nixd;
+
8
+
9namespace {
+
10
+
11#define NULL_DEVICE "/dev/null"
+
12
+ +
14 "option-worker-stderr", desc("Directory to write options worker stderr"),
+ +
16
+ +
18 "nixpkgs-worker-stderr",
+
19 desc("Writable file path for nixpkgs worker stderr (debugging)"),
+ +
21
+
22} // namespace
+
23
+
+
24void nixd::startAttrSetEval(const std::string &Name,
+
25 std::unique_ptr<AttrSetClientProc> &Worker) {
+
26 Worker = std::make_unique<AttrSetClientProc>([&Name]() {
+
27 freopen(Name.c_str(), "w", stderr);
+
28 return execl(AttrSetClient::getExe(), "nixd-attrset-eval", nullptr);
+
29 });
+
30}
+
+
31
+
+
32void nixd::startNixpkgs(std::unique_ptr<AttrSetClientProc> &NixpkgsEval) {
+ +
34}
+
+
35
+
+
36void nixd::startOption(const std::string &Name,
+
37 std::unique_ptr<AttrSetClientProc> &Worker) {
+
38 std::string NewName = NULL_DEVICE;
+
39 if (OptionWorkerStderr.getNumOccurrences())
+
40 NewName = OptionWorkerStderr.getValue() + "/" + Name;
+ +
42}
+
+
#define NULL_DEVICE
Definition Launch.cpp:11
+ + +
static const char * getExe()
+ +
bool fromJSON(const llvm::json::Value &Params, Configuration::Diagnostic &R, llvm::json::Path P)
+
llvm::cl::OptionCategory NixdCategory
+
void startAttrSetEval(const std::string &Name, std::unique_ptr< AttrSetClientProc > &Worker)
Definition Launch.cpp:24
+
void startOption(const std::string &Name, std::unique_ptr< AttrSetClientProc > &Worker)
Definition Launch.cpp:36
+
void startNixpkgs(std::unique_ptr< AttrSetClientProc > &NixpkgsEval)
Definition Launch.cpp:32
+
+ + + + diff --git a/Launch_8h.html b/Launch_8h.html new file mode 100644 index 000000000..448e3c829 --- /dev/null +++ b/Launch_8h.html @@ -0,0 +1,108 @@ + + + + + + + +nixd: Launch.h File Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
Launch.h File Reference
+
+
+
#include "AttrSetClient.h"
+
+

Go to the source code of this file.

+ + + + +

+Namespaces

namespace  nixd
 
+ + + + + + + +

+Functions

void nixd::startAttrSetEval (const std::string &Name, std::unique_ptr< AttrSetClientProc > &Worker)
 
void nixd::startNixpkgs (std::unique_ptr< AttrSetClientProc > &NixpkgsEval)
 
void nixd::startOption (const std::string &Name, std::unique_ptr< AttrSetClientProc > &Worker)
 
+
+ + + + diff --git a/Launch_8h_source.html b/Launch_8h_source.html new file mode 100644 index 000000000..2edd799d0 --- /dev/null +++ b/Launch_8h_source.html @@ -0,0 +1,112 @@ + + + + + + + +nixd: Launch.h Source File + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Launch.h
+
+
+Go to the documentation of this file.
1#pragma once
+
2
+
3#include "AttrSetClient.h"
+
4
+
5namespace nixd {
+
6
+
7void startAttrSetEval(const std::string &Name,
+
8 std::unique_ptr<AttrSetClientProc> &Worker);
+
9
+
10void startNixpkgs(std::unique_ptr<AttrSetClientProc> &NixpkgsEval);
+
11
+
12void startOption(const std::string &Name,
+
13 std::unique_ptr<AttrSetClientProc> &Worker);
+
14
+
15} // namespace nixd
+ + +
void startAttrSetEval(const std::string &Name, std::unique_ptr< AttrSetClientProc > &Worker)
Definition Launch.cpp:24
+
void startOption(const std::string &Name, std::unique_ptr< AttrSetClientProc > &Worker)
Definition Launch.cpp:36
+
void startNixpkgs(std::unique_ptr< AttrSetClientProc > &NixpkgsEval)
Definition Launch.cpp:32
+
+ + + + diff --git a/Lexer_8cpp.html b/Lexer_8cpp.html new file mode 100644 index 000000000..9041e5b0e --- /dev/null +++ b/Lexer_8cpp.html @@ -0,0 +1,165 @@ + + + + + + + +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.

+ + + + +

+Macros

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

+Typedefs

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

Macro Definition Documentation

+ +

◆ TOK_KEYWORD

+ +
+
+ + + + + + + +
#define TOK_KEYWORD( NAME)
+
+Value:
if (tokStr() == #NAME) { \
+
Tok = tok_kw_##NAME; \
+
return; \
+
}
+
+
+
+

Typedef Documentation

+ +

◆ DK

+ +
+
+ + + + +
using DK = Diagnostic::DiagnosticKind
+
+ +

Definition at line 39 of file Lexer.cpp.

+ +
+
+ +

◆ NK

+ +
+
+ + + + +
using NK = Note::NoteKind
+
+ +

Definition at line 40 of file Lexer.cpp.

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

Implementation of Server Lifecycle. +More...

+
#include "nixd-config.h"
+#include "nixd/CommandLine/Configuration.h"
+#include "nixd/CommandLine/Options.h"
+#include "nixd/Controller/Controller.h"
+#include "nixd/Eval/Launch.h"
+#include "nixd/Support/Exception.h"
+#include "lspserver/Protocol.h"
+#include <llvm/Support/CommandLine.h>
+
+

Go to the source code of this file.

+

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..f946ff29a --- /dev/null +++ b/LifeTime_8cpp_source.html @@ -0,0 +1,326 @@ + + + + + + + +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
+ + + +
11#include "nixd/Eval/Launch.h"
+ +
13
+
14#include "lspserver/Protocol.h"
+
15
+
16#include <llvm/Support/CommandLine.h>
+
17
+
18using namespace nixd;
+
19using namespace util;
+
20using namespace llvm::json;
+
21using namespace llvm::cl;
+
22using namespace lspserver;
+
23
+
24namespace {
+
25
+ +
27 "nixpkgs-expr",
+
28 desc("Default expression intrepreted as `import <nixpkgs> { }`"),
+
29 cat(NixdCategory), init("import <nixpkgs> { }")};
+
30
+ +
32 "nixos-options-expr",
+
33 desc("Default expression interpreted as option declarations"),
+ +
35 init("(let pkgs = import <nixpkgs> { }; in (pkgs.lib.evalModules { modules "
+
36 "= (import <nixpkgs/nixos/modules/module-list.nix>) ++ [ ({...}: { "
+
37 "nixpkgs.hostPlatform = builtins.currentSystem;} ) ] ; })).options")};
+
38
+
39opt<bool> EnableSemanticTokens{"semantic-tokens",
+
40 desc("Enable/Disable semantic tokens"),
+
41 init(true), cat(NixdCategory)};
+
42
+
43// Here we try to wrap nixpkgs, nixos options in a single emtpy attrset in test.
+
44std::string getDefaultNixpkgsExpr() {
+
45 if (LitTest && !DefaultNixpkgsExpr.getNumOccurrences()) {
+
46 return "{ }";
+
47 }
+
48 return DefaultNixpkgsExpr;
+
49}
+
50
+
51std::string getDefaultNixOSOptionsExpr() {
+
52 if (LitTest && !DefaultNixOSOptionsExpr.getNumOccurrences()) {
+
53 return "{ }";
+
54 }
+ +
56}
+
57
+
58} // namespace
+
59
+
60void Controller::evalExprWithProgress(AttrSetClient &Client,
+ +
62 std::string_view Description) {
+
63 auto Token = rand();
+
64 auto Action = [Token, Description = std::string(Description),
+
65 this](llvm::Expected<EvalExprResponse> Resp) {
+
66 endWorkDoneProgress({
+
67 .token = Token,
+
68 .value = WorkDoneProgressEnd{.message = "evaluated " +
+
69 std::string(Description)},
+
70 });
+
71 if (!Resp) {
+
72 lspserver::elog("{0} eval expr: {1}", Description, Resp.takeError());
+
73 return;
+
74 }
+
75 };
+
76 createWorkDoneProgress({Token});
+
77 beginWorkDoneProgress({.token = Token,
+
78 .value = WorkDoneProgressBegin{
+
79 .title = "evaluating " + std::string(Description),
+
80 .cancellable = false,
+
81 .percentage = false,
+
82 }});
+
83 Client.evalExpr(Params, std::move(Action));
+
84}
+
85
+
86void Controller::
+
87 onInitialize( // NOLINT(readability-convert-member-functions-to-static)
+ + +
90
+ +
92 {{"textDocumentSync",
+
93 llvm::json::Object{
+
94 {"openClose", true},
+
95 {"change", (int)TextDocumentSyncKind::Incremental},
+
96 {"save", true},
+
97 }},
+
98 {
+
99 "codeActionProvider",
+
100 Object{
+
101 {"codeActionKinds", Array{CodeAction::QUICKFIX_KIND}},
+
102 {"resolveProvider", false},
+
103 },
+
104 },
+
105 {"definitionProvider", true},
+
106 {"documentLinkProvider", Object{}},
+
107 {"documentSymbolProvider", true},
+
108 {"inlayHintProvider", true},
+
109 {"completionProvider",
+
110 Object{
+
111 {"resolveProvider", true},
+
112 {"triggerCharacters", {"."}},
+
113 }},
+
114 {"referencesProvider", true},
+
115 {"documentHighlightProvider", true},
+
116 {"hoverProvider", true},
+
117 {"documentFormattingProvider", true},
+
118 {"renameProvider",
+
119 Object{
+
120 {"prepareProvider", true},
+
121 }}},
+
122 };
+
123
+ +
125 ServerCaps["semanticTokensProvider"] = Object{
+
126 {
+
127 "legend",
+
128 Object{
+
129 {"tokenTypes",
+
130 Array{
+
131 "function", // function
+
132 "string", // string
+
133 "number", // number
+
134 "type", // select
+
135 "keyword", // builtin
+
136 "variable", // constant
+
137 "interface", // fromWith
+
138 "variable", // variable
+
139 "regexp", // null
+
140 "macro", // bool
+
141 "method", // attrname
+
142 "regexp", // lambdaArg
+
143 "regexp", // lambdaFormal
+
144 }},
+
145 {"tokenModifiers",
+
146 Array{
+
147 "static", // builtin
+
148 "abstract", // deprecated
+
149 "async", // dynamic
+
150 }},
+
151 },
+
152 },
+
153 {"range", false},
+
154 {"full", true},
+
155 };
+
156 }
+
157
+
158 Object Result{{
+
159 {"serverInfo",
+
160 Object{
+
161 {"name", "nixd"},
+
162 {"version", NIXD_VERSION},
+
163 }},
+
164 {"capabilities", std::move(ServerCaps)},
+
165 }};
+
166
+
167 Reply(std::move(Result));
+
168
+
169 ClientCaps = Params.capabilities;
+
170
+
171 // Start default workers.
+
172 startNixpkgs(NixpkgsEval);
+
173
+
174 if (nixpkgsClient()) {
+
175 evalExprWithProgress(*nixpkgsClient(), getDefaultNixpkgsExpr(),
+
176 "nixpkgs entries");
+
177 }
+
178
+
179 // Launch nixos worker also.
+
180 {
+
181 std::lock_guard _(OptionsLock);
+
182 startOption("nixos", Options["nixos"]);
+
183
+
184 if (AttrSetClient *Client = Options["nixos"]->client())
+
185 evalExprWithProgress(*Client, getDefaultNixOSOptionsExpr(),
+
186 "nixos options");
+
187 }
+
188 try {
+
189 Config = parseCLIConfig();
+
190 } catch (LLVMErrorException &Err) {
+
191 lspserver::elog("parse CLI config error: {0}, {1}", Err.what(),
+
192 Err.takeError());
+
193 std::exit(-1);
+
194 }
+
195 fetchConfig();
+
196}
+
197
+
198void Controller::onInitialized(const lspserver::InitializedParams &Params) {}
+
199
+
200void Controller::onShutdown(const lspserver::NoParams &,
+ +
202 ReceivedShutdown = true;
+
203 Reply(nullptr);
+
204}
+
Allow default configuration being passed via CLI.
+ + + + + +
void evalExpr(const EvalExprParams &Params, lspserver::Callback< EvalExprResponse > Reply)
Request eval some expression. The expression should be evaluted to attrset.
+ + + +
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
+ +
std::string EvalExprParams
Definition AttrSet.h:38
+
bool fromJSON(const llvm::json::Value &Params, Configuration::Diagnostic &R, llvm::json::Path P)
+
llvm::cl::OptionCategory NixdCategory
+
void startOption(const std::string &Name, std::unique_ptr< AttrSetClientProc > &Worker)
Definition Launch.cpp:36
+
nixd::Configuration parseCLIConfig()
Parse the CLI flag and initialize the config nixd::DefaultConfig.
+
void startNixpkgs(std::unique_ptr< AttrSetClientProc > &NixpkgsEval)
Definition Launch.cpp:32
+
llvm::cl::opt< bool > LitTest
Indicating that we are in lit-test mode.
Definition Options.cpp:8
+
static const llvm::StringLiteral QUICKFIX_KIND
+ + + + +
Signals the end of progress reporting.
+ +
+ + + + diff --git a/Logger_8cpp.html b/Logger_8cpp.html new file mode 100644 index 000000000..6cc10dfea --- /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..5e5556e52 --- /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
+ +
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
+
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
+
bool fromJSON(const llvm::json::Value &, URIForFile &, llvm::json::Path)
+
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..cf4c3c61c --- /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 charlspserver::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..5470f7d5a --- /dev/null +++ b/Logger_8h_source.html @@ -0,0 +1,267 @@ + + + + + + + +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) {
+ +
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:
+ + +
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
+
bool fromJSON(const llvm::json::Value &, URIForFile &, llvm::json::Path)
+
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_8cpp.html b/NixTU_8cpp.html new file mode 100644 index 000000000..88c9a6125 --- /dev/null +++ b/NixTU_8cpp.html @@ -0,0 +1,90 @@ + + + + + + + +nixd: NixTU.cpp File Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
NixTU.cpp File Reference
+
+
+ +

Go to the source code of this file.

+
+ + + + diff --git a/NixTU_8cpp_source.html b/NixTU_8cpp_source.html new file mode 100644 index 000000000..696dc01f8 --- /dev/null +++ b/NixTU_8cpp_source.html @@ -0,0 +1,116 @@ + + + + + + + +nixd: NixTU.cpp Source File + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
NixTU.cpp
+
+
+Go to the documentation of this file.
+
2
+
3using namespace nixd;
+
4
+
+
5NixTU::NixTU(std::vector<nixf::Diagnostic> Diagnostics,
+
6 std::shared_ptr<nixf::Node> AST,
+
7 std::optional<util::OwnedRegion> ASTByteCode,
+
8 std::unique_ptr<nixf::VariableLookupAnalysis> VLA,
+
9 std::shared_ptr<const std::string> Src)
+
10 : Diagnostics(std::move(Diagnostics)), AST(std::move(AST)),
+
11 ASTByteCode(std::move(ASTByteCode)), VLA(std::move(VLA)),
+
12 Src(std::move(Src)) {
+
13 assert(this->Src && "Source code should not be null");
+
14 if (this->AST) {
+
15 PMA = std::make_unique<nixf::ParentMapAnalysis>();
+
16 PMA->runOnAST(*this->AST);
+
17 }
+
18}
+
+ +
NixTU()=default
+ +
bool fromJSON(const llvm::json::Value &Params, Configuration::Diagnostic &R, llvm::json::Path P)
+
+ + + + diff --git a/NixTU_8h.html b/NixTU_8h.html new file mode 100644 index 000000000..cd10d0e2b --- /dev/null +++ b/NixTU_8h.html @@ -0,0 +1,112 @@ + + + + + + + +nixd: NixTU.h File Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
NixTU.h File Reference
+
+
+
#include "nixd/Support/OwnedRegion.h"
+#include "nixf/Basic/Diagnostic.h"
+#include "nixf/Basic/Nodes/Basic.h"
+#include "nixf/Sema/ParentMap.h"
+#include "nixf/Sema/VariableLookup.h"
+#include <memory>
+#include <optional>
+#include <vector>
+
+

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..d0a42ffec --- /dev/null +++ b/NixTU_8h_source.html @@ -0,0 +1,167 @@ + + + + + + + +nixd: NixTU.h Source File + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
NixTU.h
+
+
+Go to the documentation of this file.
1#pragma once
+
2
+ +
4
+ + + + +
9
+
10#include <memory>
+
11#include <optional>
+
12#include <vector>
+
13
+
14namespace nixd {
+
15
+
16/// \brief Holds analyzed information about a document.
+
17///
+
18/// TU stands for "Translation Unit".
+
+
19class NixTU {
+
20 std::vector<nixf::Diagnostic> Diagnostics;
+
21 std::shared_ptr<nixf::Node> AST;
+
22 std::optional<util::OwnedRegion> ASTByteCode;
+
23 std::unique_ptr<nixf::VariableLookupAnalysis> VLA;
+
24 std::unique_ptr<nixf::ParentMapAnalysis> PMA;
+
25 std::shared_ptr<const std::string> Src;
+
26
+
27public:
+
28 NixTU() = default;
+
29 NixTU(std::vector<nixf::Diagnostic> Diagnostics,
+
30 std::shared_ptr<nixf::Node> AST,
+
31 std::optional<util::OwnedRegion> ASTByteCode,
+
32 std::unique_ptr<nixf::VariableLookupAnalysis> VLA,
+
33 std::shared_ptr<const std::string> Src);
+
34
+
+
35 [[nodiscard]] const std::vector<nixf::Diagnostic> &diagnostics() const {
+
36 return Diagnostics;
+
37 }
+
+
38
+
39 [[nodiscard]] const std::shared_ptr<nixf::Node> &ast() const { return AST; }
+
40
+
+
41 [[nodiscard]] const nixf::ParentMapAnalysis *parentMap() const {
+
42 return PMA.get();
+
43 }
+
+
44
+
+
45 [[nodiscard]] const nixf::VariableLookupAnalysis *variableLookup() const {
+
46 return VLA.get();
+
47 }
+
+
48
+
49 [[nodiscard]] std::string_view src() const { return *Src; }
+
50};
+
+
51
+
52} // namespace nixd
+ + + +
Lookup variable names, from it's parent scope.
+
Holds analyzed information about a document.
Definition NixTU.h:19
+
const std::vector< nixf::Diagnostic > & diagnostics() const
Definition NixTU.h:35
+
NixTU()=default
+
std::string_view src() const
Definition NixTU.h:49
+
const nixf::ParentMapAnalysis * parentMap() const
Definition NixTU.h:41
+
const nixf::VariableLookupAnalysis * variableLookup() const
Definition NixTU.h:45
+
const std::shared_ptr< nixf::Node > & ast() const
Definition NixTU.h:39
+ + +
ParentMap analysis.
+ +
+ + + + 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..30c557a59 --- /dev/null +++ b/NodeKinds_8inc_source.html @@ -0,0 +1,142 @@ + + + + + + + +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(Dot)
+
13NODE(Identifier)
+
14NODE(AttrName)
+
15NODE(AttrPath)
+
16NODE(Binding)
+
17NODE(Inherit)
+
18NODE(Binds)
+
19NODE(LambdaArg)
+
20NODE(Formals)
+
21NODE(Formal)
+
22NODE(Op)
+
23
+
24#endif // NODE
+
25
+
26#ifdef EXPR
+
27
+
28EXPR(ExprInt)
+
29EXPR(ExprFloat)
+
30EXPR(ExprVar)
+
31EXPR(ExprString)
+
32EXPR(ExprPath)
+
33EXPR(ExprSPath)
+
34EXPR(ExprParen)
+
35EXPR(ExprAttrs)
+
36EXPR(ExprSelect)
+
37EXPR(ExprCall)
+
38EXPR(ExprList)
+
39EXPR(ExprLambda)
+
40EXPR(ExprBinOp)
+
41EXPR(ExprUnaryOp)
+
42EXPR(ExprOpHasAttr)
+
43EXPR(ExprIf)
+
44EXPR(ExprAssert)
+
45EXPR(ExprLet)
+
46EXPR(ExprWith)
+
47
+
48#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..4adc9908d --- /dev/null +++ b/Nodes_8cpp.html @@ -0,0 +1,140 @@ + + + + + + + +nixd: Nodes.cpp File Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
Nodes.cpp File Reference
+
+
+ +

Go to the source code of this file.

+ + + + + + +

+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..debff9c13 --- /dev/null +++ b/Nodes_8cpp_source.html @@ -0,0 +1,163 @@ + + + + + + + +nixd: Nodes.cpp Source File + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Nodes.cpp
+
+
+Go to the documentation of this file.
+
2
+
3using namespace nixf;
+
4
+
5namespace {
+
6
+
7std::vector<InterpolablePart>
+
8mergeFragments(std::vector<InterpolablePart> Fragments) {
+
9 if (Fragments.empty())
+
10 return Fragments;
+
11
+
12 // Check if the fragment forms a string literal (i.e. no interpolation)
+
13 for (const InterpolablePart &Frag : Fragments) {
+
14 if (Frag.kind() == InterpolablePart::SPK_Interpolation)
+
15 return Fragments;
+
16 }
+
17
+
18 // Concatenate the fragments into a singe "Escaped"
+
19 // TODO: perform actual escaping.
+
20 std::string Escaped;
+
21 for (const InterpolablePart &Frag : Fragments) {
+
22 assert(Frag.kind() == InterpolablePart::SPK_Escaped &&
+
23 "Only Escaped fragments can be concatenated");
+
24 Escaped += Frag.escaped();
+
25 }
+
26
+
27 Fragments.clear();
+
28 Fragments.emplace_back(std::move(Escaped));
+
29
+
30 return Fragments;
+
31}
+
32
+
33} // namespace
+
34
+
+
35[[nodiscard]] const char *Node::name(NodeKind Kind) {
+
36 switch (Kind) {
+
37#define EXPR(NAME) \
+
38 case NK_##NAME: \
+
39 return #NAME;
+
40#define NODE(NAME) \
+
41 case NK_##NAME: \
+
42 return #NAME;
+ +
44#undef EXPR
+
45#undef NODE
+
46 default:
+
47 assert(false && "Not yet implemented!");
+
48 }
+
49 assert(false && "Not yet implemented!");
+
50 __builtin_unreachable();
+
51}
+
+
52
+
+ +
54 std::vector<InterpolablePart> Fragments)
+
55 : Node(NK_InterpolableParts, Range),
+
56 Fragments(mergeFragments(std::move(Fragments))) {}
+
+ + + + + +
InterpolatedParts(LexerCursorRange Range, std::vector< InterpolablePart > Fragments)
Definition Nodes.cpp:53
+ + +
const char * name() const
Definition Basic.h:40
+ + +
+ + + + 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..d164730db --- /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 Serialize.h:20
+
+ + + + 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..ff0baa8ea --- /dev/null +++ b/NoteKinds_8inc_source.html @@ -0,0 +1,108 @@ + + + + + + + +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
+
14#endif // DIAG_NOTE
+
#define DIAG_NOTE(SNAME, CNAME, MESSAGE)
Definition Diagnostic.h:118
+
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..6909ed107 --- /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 const 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 const 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 const std::shared_ptr<Expr> LHS;
+
41 const 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 const std::shared_ptr<Expr> E;
+
59 const 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 const 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/Options_8cpp.html b/Options_8cpp.html new file mode 100644 index 000000000..f5e1b8d61 --- /dev/null +++ b/Options_8cpp.html @@ -0,0 +1,90 @@ + + + + + + + +nixd: Options.cpp File Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Options.cpp File Reference
+
+
+ +

Go to the source code of this file.

+
+ + + + diff --git a/Options_8cpp_source.html b/Options_8cpp_source.html new file mode 100644 index 000000000..d932a260e --- /dev/null +++ b/Options_8cpp_source.html @@ -0,0 +1,108 @@ + + + + + + + +nixd: Options.cpp Source File + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Options.cpp
+
+
+Go to the documentation of this file.
+
2
+
3using namespace llvm::cl;
+
4using namespace nixd;
+
5
+
6OptionCategory nixd::NixdCategory("nixd library options");
+
7
+
+
8opt<bool> nixd::LitTest{
+
9 "lit-test", desc("Indicating that the server is running in lit-test mode."),
+
10 init(false), cat(NixdCategory)};
+
+ + +
llvm::cl::OptionCategory NixdCategory
+
llvm::cl::opt< bool > LitTest
Indicating that we are in lit-test mode.
Definition Options.cpp:8
+
+ + + + diff --git a/Options_8h.html b/Options_8h.html new file mode 100644 index 000000000..2492d0103 --- /dev/null +++ b/Options_8h.html @@ -0,0 +1,107 @@ + + + + + + + +nixd: Options.h File Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
Options.h File Reference
+
+
+
#include <llvm/Support/CommandLine.h>
+
+

Go to the source code of this file.

+ + + + +

+Namespaces

namespace  nixd
 
+ + + + + + +

+Variables

llvm::cl::OptionCategory nixd::NixdCategory
 
llvm::cl::opt< boolnixd::LitTest
 Indicating that we are in lit-test mode.
 
+
+ + + + diff --git a/Options_8h_source.html b/Options_8h_source.html new file mode 100644 index 000000000..4a7dd5500 --- /dev/null +++ b/Options_8h_source.html @@ -0,0 +1,107 @@ + + + + + + + +nixd: Options.h Source File + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Options.h
+
+
+Go to the documentation of this file.
1#pragma once
+
2
+
3#include <llvm/Support/CommandLine.h>
+
4
+
5namespace nixd {
+
6
+
7extern llvm::cl::OptionCategory NixdCategory;
+
8
+
9/// \brief Indicating that we are in lit-test mode.
+
10extern llvm::cl::opt<bool> LitTest;
+
11
+
12} // namespace nixd
+ +
llvm::cl::OptionCategory NixdCategory
+
llvm::cl::opt< bool > LitTest
Indicating that we are in lit-test mode.
Definition Options.cpp:8
+
+ + + + diff --git a/OwnedRegion_8h.html b/OwnedRegion_8h.html new file mode 100644 index 000000000..9b187d961 --- /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..190a04ecc --- /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/ParseAttrs_8cpp.html b/ParseAttrs_8cpp.html new file mode 100644 index 000000000..818e53d9c --- /dev/null +++ b/ParseAttrs_8cpp.html @@ -0,0 +1,90 @@ + + + + + + + +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.

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

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

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

Go to the source code of this file.

+ + + + +

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

Go to the source code of this file.

+
+ + + + diff --git a/ParseSimple_8cpp_source.html b/ParseSimple_8cpp_source.html new file mode 100644 index 000000000..a2fb65e6f --- /dev/null +++ b/ParseSimple_8cpp_source.html @@ -0,0 +1,309 @@ + + + + + + + +nixd: ParseSimple.cpp Source File + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
ParseSimple.cpp
+
+
+Go to the documentation of this file.
1#include "Parser.h"
+
2
+ + +
5
+
6#include <charconv>
+
7
+
8using namespace nixf;
+
9using namespace nixf::detail;
+
10
+
11namespace {
+
12
+
13/// \brief Whether the node could be produced by non-term \p expr_simple
+
14bool mayProducedBySimple(Node::NodeKind NK) {
+
15 switch (NK) {
+
16 case Node::NK_ExprVar:
+
17 case Node::NK_ExprInt:
+
18 case Node::NK_ExprFloat:
+
19 case Node::NK_ExprSPath:
+
20 case Node::NK_ExprString:
+
21 case Node::NK_ExprPath:
+
22 case Node::NK_ExprParen:
+
23 case Node::NK_ExprAttrs:
+
24 case Node::NK_ExprList:
+
25 return true;
+
26 default:
+
27 break;
+
28 }
+
29 return false;
+
30}
+
31
+
32bool mayProducedBySimple(const Expr *E) {
+
33 if (!E)
+
34 return false;
+
35 return mayProducedBySimple(E->kind());
+
36}
+
37
+
38} // namespace
+
39
+
+
40std::shared_ptr<ExprParen> Parser::parseExprParen() {
+
41 Token L = peek();
+
42 auto LParen = std::make_shared<Misc>(L.range());
+
43 assert(L.kind() == tok_l_paren);
+
44 consume(); // (
+
45 auto Sync = withSync(tok_r_paren);
+
46 assert(LastToken && "LastToken should be set after consume()");
+
47 auto Expr = parseExpr();
+
48 if (!Expr)
+
49 diagNullExpr(Diags, LastToken->rCur(), "parenthesized");
+
50 if (ExpectResult ER = expect(tok_r_paren); ER.ok()) {
+
51 consume(); // )
+
52 auto RParen = std::make_shared<Misc>(ER.tok().range());
+
53 if (mayProducedBySimple(Expr.get())) {
+
54 Diagnostic &D =
+
55 Diags.emplace_back(Diagnostic::DK_RedundantParen, LParen->range());
+ +
57 Fix &F = D.fix("remove ( and )");
+
58 F.edit(TextEdit::mkRemoval(LParen->range()));
+
59 F.edit(TextEdit::mkRemoval(RParen->range()));
+
60 }
+
61 return std::make_shared<ExprParen>(
+
62 LexerCursorRange{L.lCur(), ER.tok().rCur()}, std::move(Expr),
+
63 std::move(LParen), std::move(RParen));
+
64 } else { // NOLINT(readability-else-after-return)
+
65 ER.diag().note(Note::NK_ToMachThis, L.range())
+
66 << std::string(tok::spelling(tok_l_paren));
+
67 if (mayProducedBySimple(Expr.get())) {
+
68 Diagnostic &D =
+
69 Diags.emplace_back(Diagnostic::DK_RedundantParen, LParen->range());
+ +
71 Fix &F = D.fix("remove (");
+
72 F.edit(TextEdit::mkRemoval(LParen->range()));
+
73 }
+
74 return std::make_shared<ExprParen>(
+
75 LexerCursorRange{L.lCur(), LastToken->rCur()}, std::move(Expr),
+
76 std::move(LParen),
+
77 /*RParen=*/nullptr);
+
78 }
+
79}
+
+
80
+
+
81std::shared_ptr<ExprList> Parser::parseExprList() {
+
82 Token Tok = peek();
+
83 if (Tok.kind() != tok_l_bracket)
+
84 return nullptr;
+
85 consume(); // [
+
86 auto Sync = withSync(tok_r_bracket);
+
87 assert(LastToken && "LastToken should be set after consume()");
+
88 LexerCursor Begin = Tok.lCur();
+
89 std::vector<std::shared_ptr<Expr>> Exprs;
+
90 while (true) {
+
91 if (Token Tok = peek(); Tok.kind() == tok_r_bracket)
+
92 break;
+
93 std::shared_ptr<Expr> Expr = parseExprSelect();
+
94 if (!Expr)
+
95 break;
+
96 Exprs.emplace_back(std::move(Expr));
+
97 }
+
98 if (ExpectResult ER = expect(tok_r_bracket); ER.ok())
+
99 consume();
+
100 else
+
101 ER.diag().note(Note::NK_ToMachThis, Tok.range())
+
102 << std::string(tok::spelling(tok_l_bracket));
+
103 return std::make_shared<ExprList>(LexerCursorRange{Begin, LastToken->rCur()},
+
104 std::move(Exprs));
+
105}
+
+
106
+
+
107std::shared_ptr<Expr> Parser::parseExprSimple() {
+
108 Token Tok = peek();
+
109 switch (Tok.kind()) {
+
110 case tok_uri: {
+
111 // URI is desugared into string
+
112 consume();
+
113 auto Literal = std::string(Tok.view());
+
114 // Create the string used for this URI
+
115 auto Parts = std::make_shared<InterpolatedParts>(
+
116 Tok.range(), std::vector<InterpolablePart>{
+
117 InterpolablePart{std::move(Literal)},
+
118 });
+
119 auto Str = std::make_shared<ExprString>(Tok.range(), std::move(Parts));
+
120 // Report warning about URL deprecation.
+
121 Diagnostic &D =
+
122 Diags.emplace_back(Diagnostic::DK_DeprecatedURL, Tok.range());
+
123 Fix &F = D.fix("convert it to string");
+
124 // Insert a pair of quotes
+
125 F.edit(TextEdit::mkInsertion(Tok.lCur(), "\""));
+
126 F.edit(TextEdit::mkInsertion(Tok.rCur(), "\""));
+
127 return Str;
+
128 }
+
129 case tok_id: {
+
130 consume();
+
131 auto ID =
+
132 std::make_shared<Identifier>(Tok.range(), std::string(Tok.view()));
+
133 return std::make_shared<ExprVar>(Tok.range(), std::move(ID));
+
134 }
+
135 case tok_int: {
+
136 consume();
+
137 NixInt N = 0;
+
138 auto [Ptr, Errc] = std::from_chars(Tok.view().begin(), Tok.view().end(), N);
+
139 if (Errc != std::errc()) {
+
140 // Cannot decode int from tok_int.
+
141 assert(Errc == std::errc::result_out_of_range);
+
142 // emit a diagnostic saying we cannot decode integer to NixInt.
+
143 Diags.emplace_back(Diagnostic::DK_IntTooBig, Tok.range());
+
144 }
+
145 return std::make_shared<ExprInt>(Tok.range(), N);
+
146 }
+
147 case tok_float: {
+
148 consume();
+
149 // libc++ doesn't support std::from_chars for floating point numbers.
+
150 NixFloat N = std::strtof(std::string(Tok.view()).c_str(), nullptr);
+
151 return std::make_shared<ExprFloat>(Tok.range(), N);
+
152 }
+
153 case tok_spath: {
+
154 consume();
+
155 return std::make_shared<ExprSPath>(
+
156 Tok.range(), std::string(Tok.view().substr(1, Tok.view().size() - 2)));
+
157 }
+
158 case tok_dquote: // " - normal strings
+
159 return parseString(/*IsIndented=*/false);
+
160 case tok_quote2: // '' - indented strings
+
161 return parseString(/*IsIndented=*/true);
+
162 case tok_path_fragment:
+
163 return parseExprPath();
+
164 case tok_l_paren:
+
165 return parseExprParen();
+
166 case tok_kw_rec:
+
167 case tok_l_curly:
+
168 return parseExprAttrs();
+
169 case tok_l_bracket:
+
170 return parseExprList();
+
171 default:
+
172 return nullptr;
+
173 }
+
174}
+
+ + +
Fix & fix(std::string Message)
Definition Diagnostic.h:203
+ + +
Fix & edit(TextEdit Edit)
Definition Diagnostic.h:65
+ +
A point in the source file.
Definition Range.h:57
+ +
NodeKind kind() const
Definition Basic.h:34
+
NoteKind
Internal kind.
Definition Diagnostic.h:117
+
std::shared_ptr< ExprParen > parseExprParen()
+
std::shared_ptr< Expr > parseExpr()
Definition ParseExpr.cpp:73
+
std::shared_ptr< ExprString > parseString(bool IsIndented)
+
std::shared_ptr< Expr > parseExprSelect()
Definition ParseExpr.cpp:6
+
std::shared_ptr< Expr > parseExprPath()
Parse paths.
+
std::shared_ptr< Expr > parseExprSimple()
+
std::shared_ptr< ExprList > parseExprList()
+
std::shared_ptr< ExprAttrs > parseExprAttrs()
+
void tag(DiagnosticTag Tag)
Definition Diagnostic.h:96
+
static TextEdit mkRemoval(LexerCursorRange RemovingRange)
Definition Diagnostic.h:39
+
static TextEdit mkInsertion(LexerCursor P, std::string NewText)
Definition Diagnostic.h:35
+
A token. With it's kind, and the range in source code.
Definition Token.h:55
+
LexerCursor lCur() const
Definition Token.h:63
+
tok::TokenKind kind() const
Definition Token.h:65
+
LexerCursorRange range() const
Definition Token.h:66
+
LexerCursor rCur() const
Definition Token.h:64
+
std::string_view view() 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:13
+ + +
int64_t NixInt
Definition Simple.h:12
+
double NixFloat
Definition Simple.h:13
+
Parser for the Nix expression language.
+
+ + + + diff --git a/ParseStrings_8cpp.html b/ParseStrings_8cpp.html new file mode 100644 index 000000000..f795715e5 --- /dev/null +++ b/ParseStrings_8cpp.html @@ -0,0 +1,90 @@ + + + + + + + +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.

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

Basic supporting functions for parsing. +More...

+
#include "Parser.h"
+#include "nixf/Basic/TokenKinds.h"
+#include "nixf/Parse/Parser.h"
+
+

Go to the source code of this file.

+

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..475e6f915 --- /dev/null +++ b/ParseSupport_8cpp_source.html @@ -0,0 +1,247 @@ + + + + + + + +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
+ +
7#include "nixf/Parse/Parser.h"
+
8
+
9using namespace nixf;
+
10
+
+
11Diagnostic &detail::diagNullExpr(std::vector<Diagnostic> &Diags,
+
12 LexerCursor Loc, std::string As) {
+
13 Diagnostic &D =
+
14 Diags.emplace_back(Diagnostic::DK_Expected, LexerCursorRange(Loc));
+
15 D << std::move(As) + " expression";
+
16 D.fix("insert dummy expression").edit(TextEdit::mkInsertion(Loc, " expr"));
+
17 return D;
+
18}
+
+
19
+
20void Parser::pushState(ParserState NewState) {
+
21 resetLookAheadBuf();
+
22 State.push(NewState);
+
23}
+
24
+
25void Parser::popState() {
+
26 resetLookAheadBuf();
+
27 State.pop();
+
28}
+
29
+
30Parser::StateRAII Parser::withState(ParserState NewState) {
+
31 pushState(NewState);
+
32 return {*this};
+
33}
+
34
+
35Parser::SyncRAII Parser::withSync(TokenKind Kind) { return {*this, Kind}; }
+
36
+
+
37std::shared_ptr<Node> nixf::parse(std::string_view Src,
+
38 std::vector<Diagnostic> &Diags) {
+
39 Parser P(Src, Diags);
+
40 return P.parse();
+
41}
+
+
42
+
+
43std::shared_ptr<Expr> nixf::Parser::parse() {
+
44 auto Expr = parseExpr();
+
45 if (Token Tok = peek(); Tok.kind() != tok::tok_eof) {
+
46 // TODO: maybe we'd like to have multiple expressions in a single file.
+
47 // Report an error.
+
48 Diags.emplace_back(Diagnostic::DK_UnexpectedText, Tok.range());
+
49 }
+
50 return Expr;
+
51}
+
+
52
+
53void Parser::resetLookAheadBuf() {
+
54 if (!LookAheadBuf.empty()) {
+
55 Token Tok = LookAheadBuf.front();
+
56
+
57 // Reset the lexer cursor at the beginning of the token.
+
58 Lex.setCur(Tok.lCur());
+
59 LookAheadBuf.clear();
+
60 }
+
61}
+
62
+
63Token Parser::peek(std::size_t N) {
+
64 while (N >= LookAheadBuf.size()) {
+
65 switch (State.top()) {
+
66 case PS_Expr:
+
67 LookAheadBuf.emplace_back(Lex.lex());
+
68 break;
+
69 case PS_String:
+
70 LookAheadBuf.emplace_back(Lex.lexString());
+
71 break;
+
72 case PS_IndString:
+
73 LookAheadBuf.emplace_back(Lex.lexIndString());
+
74 break;
+
75 case PS_Path:
+
76 LookAheadBuf.emplace_back(Lex.lexPath());
+
77 break;
+
78 }
+
79 }
+
80 return LookAheadBuf[N];
+
81}
+
82
+
83std::optional<LexerCursorRange> Parser::consumeAsUnknown() {
+
84 LexerCursor Begin = peek().lCur();
+
85 bool Consumed = false;
+
86 for (Token Tok = peek(); Tok.kind() != tok_eof; Tok = peek()) {
+
87 if (SyncTokens.contains(Tok.kind()))
+
88 break;
+
89 Consumed = true;
+
90 consume();
+
91 }
+
92 if (!Consumed)
+
93 return std::nullopt;
+
94 assert(LastToken && "LastToken should be set after consume()");
+
95 return LexerCursorRange{Begin, LastToken->rCur()};
+
96}
+
97
+
98Parser::ExpectResult Parser::expect(TokenKind Kind) {
+
99 auto Sync = withSync(Kind);
+
100 if (Token Tok = peek(); Tok.kind() == Kind) {
+
101 return Tok;
+
102 }
+
103 // UNKNOWN ?
+
104 // ~~~~~~~ consider remove unexpected text
+
105 if (removeUnexpected()) {
+
106 if (Token Tok = peek(); Tok.kind() == Kind) {
+
107 return Tok;
+
108 }
+
109 // If the next token is not the expected one, then insert it.
+
110 // (we have two errors now).
+
111 }
+
112 // expected Kind
+
113 LexerCursor Insert = LastToken ? LastToken->rCur() : peek().lCur();
+
114 Diagnostic &D =
+
115 Diags.emplace_back(Diagnostic::DK_Expected, LexerCursorRange(Insert));
+
116 D << std::string(tok::spelling(Kind));
+
117 D.fix("insert " + std::string(tok::spelling(Kind)))
+
118 .edit(TextEdit::mkInsertion(Insert, std::string(tok::spelling(Kind))));
+
119 return {&D};
+
120}
+ +
Fix & fix(std::string Message)
Definition Diagnostic.h:203
+ +
Fix & edit(TextEdit Edit)
Definition Diagnostic.h:65
+ +
A point in the source file.
Definition Range.h:57
+
Token lex()
Definition Lexer.cpp:439
+
Token lexIndString()
Definition Lexer.cpp:405
+
Token lexPath()
Definition Lexer.cpp:327
+
Token lexString()
Definition Lexer.cpp:357
+
void setCur(const LexerCursor &NewCur)
Reset the cursor at source offset (zero-based indexing)
Definition Lexer.h:126
+ +
std::shared_ptr< Expr > parse()
Top-level parsing.
+ + + + +
static TextEdit mkInsertion(LexerCursor P, std::string NewText)
Definition Diagnostic.h:35
+
A token. With it's kind, and the range in source code.
Definition Token.h:55
+
LexerCursor lCur() const
Definition Token.h:63
+
tok::TokenKind kind() const
Definition Token.h:65
+
Parser interface.
+ +
Diagnostic & diagNullExpr(std::vector< Diagnostic > &Diags, LexerCursor Loc, std::string As)
+
constexpr std::string_view spelling(TokenKind Kind)
Definition Token.h:13
+ + +
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..0ead7b488 --- /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..a932c8faa --- /dev/null +++ b/Path_8h_source.html @@ -0,0 +1,145 @@ + + + + + + + +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.
+ + +
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 fromJSON(const llvm::json::Value &, URIForFile &, llvm::json::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..6aa5da53d --- /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 <sys/types.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..f3a93dc47 --- /dev/null +++ b/PipedProc_8h_source.html @@ -0,0 +1,120 @@ + + + + + + + +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
+
5#include <sys/types.h>
+
6
+
7namespace nixd::util {
+
8
+
+
9struct PipedProc {
+
10 pid_t PID;
+
11
+
12 // Piped descriptors
+ + + +
16};
+
+
17
+
18} // namespace nixd::util
+ +
File Descriptor RAII wrapper.
Definition AutoCloseFD.h:8
+ + +
AutoCloseFD Stderr
Definition PipedProc.h:15
+ +
AutoCloseFD Stdout
Definition PipedProc.h:14
+
AutoCloseFD Stdin
Definition PipedProc.h:13
+
+ + + + diff --git a/PtrPool_8h.html b/PtrPool_8h.html new file mode 100644 index 000000000..6bcc9cb7f --- /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 EvalCache 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..2dbd7fd6c --- /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 EvalCache 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..ea5a8b4bb --- /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 <cstddef>
+#include <cstdint>
+
+

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..22cf38079 --- /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 <cstddef> // std::size_t
+
4#include <cstdint>
+
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/Rename_8cpp.html b/Rename_8cpp.html new file mode 100644 index 000000000..81de6365c --- /dev/null +++ b/Rename_8cpp.html @@ -0,0 +1,102 @@ + + + + + + + +nixd: Rename.cpp File Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Rename.cpp File Reference
+
+
+ +

This implements Rename. +More...

+
#include "Convert.h"
+#include "Definition.h"
+#include "lspserver/Protocol.h"
+#include "nixd/Controller/Controller.h"
+#include <boost/asio/post.hpp>
+#include <exception>
+
+

Go to the source code of this file.

+

Detailed Description

+

This implements Rename.

+ +

Definition in file Rename.cpp.

+
+ + + + diff --git a/Rename_8cpp_source.html b/Rename_8cpp_source.html new file mode 100644 index 000000000..60b5f1877 --- /dev/null +++ b/Rename_8cpp_source.html @@ -0,0 +1,242 @@ + + + + + + + +nixd: Rename.cpp Source File + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Rename.cpp
+
+
+Go to the documentation of this file.
1/// \file
+
2/// \brief This implements [Rename].
+
3/// [Rename]:
+
4/// https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#textDocument_rename
+
5
+
6#include "Convert.h"
+
7#include "Definition.h"
+
8
+ + +
11
+
12#include <boost/asio/post.hpp>
+
13
+
14#include <exception>
+
15
+
16using namespace lspserver;
+
17using namespace nixd;
+
18using namespace llvm;
+
19using namespace nixf;
+
20
+
21namespace {
+
22
+
23struct RenameException : std::exception {};
+
24
+
25struct RenameWithException : RenameException {
+
26 [[nodiscard]] const char *what() const noexcept override {
+
27 return "cannot rename `with` defined variable";
+
28 }
+
29};
+
30
+
31struct RenameBuiltinException : RenameException {
+
32 [[nodiscard]] const char *what() const noexcept override {
+
33 return "cannot rename builtin variable";
+
34 }
+
35};
+
36
+
37WorkspaceEdit rename(const nixf::Node &Desc, const std::string &NewText,
+
38 const ParentMapAnalysis &PMA,
+
39 const VariableLookupAnalysis &VLA, const URIForFile &URI,
+
40 llvm::StringRef Src) {
+ +
42 // Find "definition"
+
43 auto Def = findDefinition(Desc, PMA, VLA);
+
44
+
45 if (Def.source() == Definition::DS_With)
+
46 throw RenameWithException();
+
47
+
48 if (Def.isBuiltin())
+
49 throw RenameBuiltinException();
+
50
+
51 std::vector<TextEdit> Edits;
+
52
+
53 for (const auto *Use : Def.uses()) {
+
54 Edits.emplace_back(TextEdit{
+
55 .range = toLSPRange(Src, Use->range()),
+
56 .newText = NewText,
+
57 });
+
58 }
+
59
+
60 Edits.emplace_back(TextEdit{
+
61 .range = toLSPRange(Src, Def.syntax()->range()),
+
62 .newText = NewText,
+
63 });
+ +
65 WE.changes = std::map<std::string, std::vector<TextEdit>>{
+
66 {URI.uri(), std::move(Edits)}};
+
67 return WE;
+
68}
+
69} // namespace
+
70
+
71void Controller::onRename(const RenameParams &Params,
+ +
73 auto Action = [Reply = std::move(Reply), URI = Params.textDocument.uri,
+
74 Pos = toNixfPosition(Params.position),
+
75 NewText = Params.newName, this]() mutable {
+
76 std::string File(URI.file());
+
77 if (std::shared_ptr<NixTU> TU = getTU(File, Reply)) [[likely]] {
+
78 if (std::shared_ptr<nixf::Node> AST = getAST(*TU, Reply)) [[likely]] {
+
79 const nixf::Node *Desc = AST->descend({Pos, Pos});
+
80 if (!Desc) {
+
81 Reply(error("cannot find corresponding node on given position"));
+
82 return;
+
83 }
+
84 const auto &PM = *TU->parentMap();
+
85 const auto &VLA = *TU->variableLookup();
+
86 try {
+
87 return Reply(rename(*Desc, NewText, PM, VLA, URI, TU->src()));
+
88 } catch (std::exception &E) {
+
89 return Reply(error(E.what()));
+
90 }
+
91 }
+
92 }
+
93 };
+
94 boost::asio::post(Pool, std::move(Action));
+
95}
+
96
+
97void Controller::onPrepareRename(
+ + +
100 auto Action = [Reply = std::move(Reply), URI = Params.textDocument.uri,
+
101 Pos = toNixfPosition(Params.position), this]() mutable {
+
102 std::string File(URI.file());
+
103 if (std::shared_ptr<NixTU> TU = getTU(File, Reply)) [[likely]] {
+
104 if (std::shared_ptr<nixf::Node> AST = getAST(*TU, Reply)) [[likely]] {
+
105 const nixf::Node *Desc = AST->descend({Pos, Pos});
+
106 if (!Desc) {
+
107 return Reply(
+
108 error("cannot find corresponding node on given position"));
+
109 }
+
110 const auto &PM = *TU->parentMap();
+
111 const auto &VLA = *TU->variableLookup();
+
112 try {
+
113 WorkspaceEdit WE = rename(*Desc, "", PM, VLA, URI, TU->src());
+
114 return Reply(toLSPRange(TU->src(), Desc->range()));
+
115 } catch (std::exception &E) {
+
116 return Reply(error(E.what()));
+
117 }
+
118 }
+
119 }
+
120 };
+
121 boost::asio::post(Pool, std::move(Action));
+
122}
+ +
Convert between LSP and nixf types.
+ + +
@ DS_With
From with <expr>;.
+ +
const Node * descend(PositionRange Range) const
Descendant node that contains the given range.
Definition Basic.h:49
+ + + + + +
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
+ + +
bool fromJSON(const llvm::json::Value &Params, Configuration::Diagnostic &R, llvm::json::Path P)
+
nixf::Position toNixfPosition(const lspserver::Position &P)
Definition Convert.cpp:32
+
const nixf::Definition & findDefinition(const nixf::Node &N, const nixf::ParentMapAnalysis &PMA, const nixf::VariableLookupAnalysis &VLA)
Heuristically find definition on some node.
+
lspserver::Range toLSPRange(llvm::StringRef Code, const nixf::LexerCursorRange &R)
Definition Convert.cpp:40
+ + + + + + +
std::optional< std::map< std::string, std::vector< TextEdit > > > changes
Holds changes to existing resources.
+
+ + + + 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..fe57981a5 --- /dev/null +++ b/SemaActions_8cpp_source.html @@ -0,0 +1,568 @@ + + + + + + + +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, Attribute::AttributeKind Kind) {
+
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()) {
+
78 if (E)
+
79 SA.Dynamic.emplace_back(std::move(Name), std::move(E), Kind);
+
80 return;
+
81 }
+
82 auto &Attrs = SA.Static;
+
83 std::string StaticName = Name->staticName();
+
84 if (auto Nested = Attrs.find(StaticName); Nested != Attrs.end()) {
+
85 const auto &[K, V] = *Nested;
+
86 if (V.value() && V.value()->kind() == Node::NK_ExprAttrs && E &&
+
87 E->kind() == Node::NK_ExprAttrs) {
+
88 // If this is also an attrset, we want to merge them.
+
89 auto *XAttrSet = static_cast<ExprAttrs *>(V.value());
+
90 auto *YAttrSet = static_cast<ExprAttrs *>(E.get());
+
91 checkAttrRecursiveForMerge(*XAttrSet, *YAttrSet);
+
92 mergeAttrSets(XAttrSet->SA, YAttrSet->SA);
+
93 return;
+
94 }
+
95 dupAttr(StaticName, Name->range(), V.key().range());
+
96 return;
+
97 }
+
98 if (!E)
+
99 return;
+
100 Attrs.insert({StaticName, Attribute(std::move(Name), std::move(E), Kind)});
+
101}
+
+
102
+
103SemaAttrs *
+
+ +
105 const std::vector<std::shared_ptr<AttrName>> &Path) {
+
106 assert(!Path.empty() && "AttrPath has at least 1 name");
+
107 SemaAttrs *Inner = &SA;
+
108 // Firstly perform a lookup to see if the attribute already exists.
+
109 // And do selection if it exists.
+
110 for (std::size_t I = 0; I + 1 < Path.size(); I++) {
+
111 const auto &Name = Path[I];
+
112 assert(Inner && "Attr is not null");
+
113 // Name might be nullptr, e.g.
+
114 // { a..b = 1; }
+
115 if (!Name)
+
116 continue;
+
117 if (Name->isStatic()) {
+
118 std::map<std::string, Attribute> &StaticAttrs = Inner->Static;
+
119 const std::string &StaticName = Name->staticName();
+
120 if (auto Nested = StaticAttrs.find(StaticName);
+
121 Nested != StaticAttrs.end()) {
+
122 // Find another attr, with the same name.
+
123 const auto &[K, V] = *Nested;
+
124 if (V.fromInherit() || !V.value() ||
+
125 V.value()->kind() != Node::NK_ExprAttrs) {
+
126 dupAttr(StaticName, Name->range(), V.key().range());
+
127 return nullptr;
+
128 }
+
129 Inner = &static_cast<ExprAttrs *>(V.value())->SA;
+
130 } else {
+
131 // There is no existing one, let's create a new attribute.
+
132 // These attributes are implicitly created, and to match default ctor
+
133 // in C++ nix implementation, they are all non-recursive.
+
134 auto NewNested = std::make_shared<ExprAttrs>(
+
135 Name->range(), nullptr, nullptr, SemaAttrs(/*Recursive=*/nullptr));
+
136 Inner = &NewNested->SA;
+
137 StaticAttrs.insert(
+
138 {StaticName, Attribute(Name, std::move(NewNested),
+ +
140 }
+
141 } else {
+
142 // Create a dynamic attribute.
+
143 std::vector<Attribute> &DynamicAttrs = Inner->Dynamic;
+
144 auto NewNested = std::make_shared<ExprAttrs>(
+
145 Name->range(), nullptr, nullptr, SemaAttrs(/*Recursive=*/nullptr));
+
146 Inner = &NewNested->SA;
+
147 DynamicAttrs.emplace_back(Name,
+
148 std::shared_ptr<Expr>(std::move(NewNested)),
+ +
150 }
+
151 }
+
152 return Inner;
+
153}
+
+
154
+
+
155void Sema::addAttr(SemaAttrs &Attr, const AttrPath &Path,
+
156 std::shared_ptr<Expr> E) {
+
157 // Select until the inner-most attr.
+
158 SemaAttrs *Inner = selectOrCreate(Attr, Path.names());
+
159 if (!Inner)
+
160 return;
+
161
+
162 // Insert the attribute.
+
163 std::shared_ptr<AttrName> Name = Path.names().back();
+
164 if (!Name)
+
165 return;
+
166 insertAttr(*Inner, std::move(Name), std::move(E),
+ +
168}
+
+
169
+
+
170void Sema::removeFormal(Fix &F, const FormalVector::const_iterator &Rm,
+
171 const FormalVector &FV) {
+
172 const Formal &Fm = **Rm;
+ +
174 // If it is the first formal, remove second formal's comma.
+
175 // { ..., foo } -> { foo, ... }
+
176 if (Rm != FV.begin() || Rm + 1 == FV.end())
+
177 return;
+
178
+
179 Formal &SecondF = **(Rm + 1);
+
180 if (SecondF.comma())
+
181 F.edit(TextEdit::mkRemoval(SecondF.comma()->range()));
+
182}
+
+
183
+
+ +
185 if (FV.empty())
+
186 return;
+
187
+
188 Formal &LastF = *FV.back().get(); // Last Formal
+
189
+
190 for (auto It = FV.begin(); It + 1 != FV.end(); It++) {
+
191 Formal &CurF = **It; // Current Formal
+
192 if (!CurF.isEllipsis())
+
193 continue;
+
194
+
195 if (LastF.isEllipsis()) {
+
196 // extra "formal", suggest remove it.
+
197 Diagnostic &D =
+
198 Diags.emplace_back(Diagnostic::DK_FormalExtraEllipsis, CurF.range());
+
199 removeFormal(D.fix("remove `...`"), It, FV);
+
200 } else {
+
201 Diagnostic &D = Diags.emplace_back(Diagnostic::DK_FormalMisplacedEllipsis,
+
202 CurF.range());
+
203 Fix &Fx = D.fix("move ellipsis to the tail");
+
204 removeFormal(Fx, It, FV);
+
205 std::string NewText(CurF.src(Src));
+
206 // If current formal does not contain the seperator ", "
+
207 // Insert a new comma to seperate it from the last formal
+
208 if (!CurF.comma())
+
209 NewText = std::string(", ").append(NewText);
+
210 Fx.edit(TextEdit::mkInsertion(LastF.rCur(), std::move(NewText)));
+
211 }
+
212 }
+
213}
+
+
214
+
+ +
216 if (FV.empty())
+
217 return;
+
218 for (auto It = FV.begin(); It != FV.end(); It++) {
+
219 const Formal &F = **It;
+
220 // All formals must begins with "," except the first.
+
221 if (It != FV.begin() && !F.comma()) {
+
222 Diagnostic &D =
+
223 Diags.emplace_back(Diagnostic::DK_FormalMissingComma, F.range());
+
224 D.fix("insert ,").edit(TextEdit::mkInsertion(F.lCur(), ","));
+
225 }
+
226 }
+
227}
+
+
228
+
+ +
230 for (auto It = FV.cbegin(); It != FV.cend(); It++) {
+
231 // Special case, ignore the last one.
+
232 // Because the nix formatting guide explicitly place a "comma" at the
+
233 // trailing of formals.
+
234 if (It + 1 == FV.cend())
+
235 break;
+
236
+
237 const std::shared_ptr<Formal> &FPtr = *It;
+
238 const Formal &F = *FPtr;
+
239 // Check if the formal is emtpy, e.g.
+
240 // { , }
+
241 // ^ empty formal
+
242 if (F.comma() && !F.id() && !F.isEllipsis()) {
+
243 Diagnostic &D = Diags.emplace_back(Diagnostic::DK_EmptyFormal, F.range());
+
244 D.fix("remove empty formal").edit(TextEdit::mkRemoval(F.range()));
+ +
246 continue;
+
247 }
+
248 }
+
249}
+
+
250
+
+
251void Sema::dedupFormal(std::map<std::string, const Formal *> &Dedup,
+
252 const FormalVector &FV) {
+
253 for (const std::shared_ptr<Formal> &FPtr : FV) {
+
254 const Formal &F = *FPtr;
+
255 if (!F.id())
+
256 continue;
+
257 const Identifier &ID = *F.id();
+
258 if (Dedup.contains(ID.name())) {
+
259 // Report duplicated formals.
+
260 // All warning ranges should be placed at "Identifiers".
+
261 const Formal &DupF = *Dedup[ID.name()];
+
262 Identifier &DupID = *DupF.id();
+
263 Diagnostic &D =
+
264 Diags.emplace_back(Diagnostic::DK_DuplicatedFormal, ID.range());
+
265 D.note(Note::NK_DuplicateFormal, DupID.range());
+
266 } else {
+
267 Dedup[ID.name()] = &F;
+
268 }
+
269 }
+
270}
+
+
271
+
+
272std::shared_ptr<Formals> Sema::onFormals(LexerCursorRange Range,
+
273 FormalVector FV) {
+
274 std::map<std::string, const Formal *> Dedup;
+
275 checkFormalSep(FV);
+ + +
278 dedupFormal(Dedup, FV);
+
279 return std::make_shared<Formals>(Range, std::move(FV), std::move(Dedup));
+
280}
+
+
281
+
+
282void Sema::lowerInheritName(SemaAttrs &SA, std::shared_ptr<AttrName> Name,
+
283 std::shared_ptr<Expr> E,
+
284 Attribute::AttributeKind InheritKind) {
+
285 assert(InheritKind != Attribute::AttributeKind::Plain);
+
286 if (!Name)
+
287 return;
+
288 if (!Name->isStatic()) {
+
289 // Not allowed to have dynamic attrname in inherit.
+
290 Diagnostic &D =
+
291 Diags.emplace_back(Diagnostic::DK_DynamicInherit, Name->range());
+
292 D.fix("remove dynamic attrname").edit(TextEdit::mkRemoval(Name->range()));
+ +
294 return;
+
295 }
+
296 // Check duplicated attrname.
+
297 if (SA.Static.contains(Name->staticName())) {
+
298 dupAttr(Name->staticName(), Name->range(),
+
299 SA.Static.at(Name->staticName()).key().range());
+
300 return;
+
301 }
+
302 // Insert the attr.
+
303 std::string StaticName = Name->staticName();
+
304 SA.Static.insert(
+
305 {StaticName, Attribute(std::move(Name), std::move(E), InheritKind)});
+
306}
+
+
307
+
+ +
309 for (const std::shared_ptr<AttrName> &Name : Inherit.names()) {
+
310 assert(Name);
+
311 auto [Desugar, Kind] = desugarInheritExpr(Name, Inherit.expr());
+
312 lowerInheritName(Attr, Name, std::move(Desugar), Kind);
+
313 }
+
314}
+
+
315
+
+
316void Sema::lowerBinds(SemaAttrs &SA, const Binds &B) {
+
317 for (const std::shared_ptr<Node> &Bind : B.bindings()) {
+
318 assert(Bind && "Bind is not null");
+
319 switch (Bind->kind()) {
+
320 case Node::NK_Inherit: {
+
321 auto *N = static_cast<Inherit *>(Bind.get());
+
322 lowerInherit(SA, *N);
+
323 break;
+
324 }
+
325 case Node::NK_Binding: {
+
326 auto *B = static_cast<Binding *>(Bind.get());
+
327 addAttr(SA, B->path(), B->value());
+
328 break;
+
329 }
+
330 default:
+
331 assert(false && "Bind should be either Inherit or Binding");
+
332 }
+
333 }
+
334}
+
+
335
+
336std::pair<std::shared_ptr<Expr>, Attribute::AttributeKind>
+
+
337Sema::desugarInheritExpr(std::shared_ptr<AttrName> Name,
+
338 std::shared_ptr<Expr> E) {
+
339 auto Range = Name->range();
+
340 if (!E)
+
341 return {std::make_shared<ExprVar>(Range, Name->id()),
+ +
343
+
344 auto Path = std::make_shared<AttrPath>(
+
345 Range, std::vector<std::shared_ptr<AttrName>>{std::move(Name)},
+
346 std::vector<std::shared_ptr<Dot>>{});
+
347 return {std::make_shared<ExprSelect>(Range, std::move(E), std::move(Path),
+
348 nullptr),
+ +
350}
+
+
351
+
+
352std::shared_ptr<ExprAttrs> Sema::onExprAttrs(LexerCursorRange Range,
+
353 std::shared_ptr<Binds> Binds,
+
354 std::shared_ptr<Misc> Rec) {
+
355 SemaAttrs ESA(Rec.get());
+
356 if (Binds)
+
357 lowerBinds(ESA, *Binds);
+
358 return std::make_shared<ExprAttrs>(Range, std::move(Binds), std::move(Rec),
+
359 std::move(ESA));
+
360}
+
+
361
+
+
362std::shared_ptr<LambdaArg> Sema::onLambdaArg(LexerCursorRange Range,
+
363 std::shared_ptr<Identifier> ID,
+
364 std::shared_ptr<Formals> F) {
+
365 // Check that if lambda arguments duplicated to it's formal
+
366
+
367 if (ID && F) {
+
368 if (F->dedup().contains(ID->name())) {
+
369 // Report duplicated.
+
370 Diagnostic &D =
+
371 Diags.emplace_back(Diagnostic::DK_DuplicatedFormalToArg, ID->range());
+
372 D.note(Note::NK_DuplicateFormal, F->dedup().at(ID->name())->range());
+
373 }
+
374 }
+
375 return std::make_shared<LambdaArg>(Range, std::move(ID), std::move(F));
+
376}
+
+
377
+
378} // namespace nixf
+ + + +
Semantic Actions while building the AST.
+ + + +
@ InheritFrom
inherit (expr) a b c
+ + + + +
const std::vector< std::shared_ptr< Node > > & bindings() const
Definition Attrs.h:175
+
Note & note(Note::NoteKind Kind, LexerCursorRange Range)
Definition Diagnostic.h:197
+
Fix & fix(std::string Message)
Definition Diagnostic.h:203
+ +
bool isRecursive() const
Definition Attrs.h:282
+
const Misc * rec() const
Definition Attrs.h:280
+ +
Fix & edit(TextEdit Edit)
Definition Diagnostic.h:65
+ +
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
+ +
const std::shared_ptr< Expr > & expr() const
Definition Attrs.h:155
+
const std::vector< std::shared_ptr< AttrName > > & names() const
Definition Attrs.h:149
+ +
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:96
+
Attribute set after deduplication.
Definition Attrs.h:231
+
SemaAttrs * selectOrCreate(SemaAttrs &SA, const std::vector< std::shared_ptr< AttrName > > &Path)
+
void insertAttr(SemaAttrs &SA, std::shared_ptr< AttrName > Name, std::shared_ptr< Expr > E, Attribute::AttributeKind Kind)
+
void lowerInherit(SemaAttrs &Attr, const Inherit &Inherit)
+
std::shared_ptr< ExprAttrs > onExprAttrs(LexerCursorRange Range, std::shared_ptr< Binds > Binds, std::shared_ptr< Misc > Rec)
+
std::shared_ptr< LambdaArg > onLambdaArg(LexerCursorRange Range, std::shared_ptr< Identifier > ID, std::shared_ptr< Formals > F)
+
void dedupFormal(std::map< std::string, const Formal * > &Dedup, const FormalVector &FV)
Deduplicate formals.
+
void lowerInheritName(SemaAttrs &SA, std::shared_ptr< AttrName > Name, std::shared_ptr< Expr > E, Attribute::AttributeKind InheritKind)
+
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.
+
void checkFormalSep(const FormalVector &FV)
Check if there is a seperator "," between formals.
+
void dupAttr(std::string Name, LexerCursorRange Range, LexerCursorRange Prev)
+
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.
+
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 std::pair< std::shared_ptr< Expr >, Attribute::AttributeKind > desugarInheritExpr(std::shared_ptr< AttrName > Name, std::shared_ptr< Expr > E)
Desugar inherit (expr) a, inherit a, into select, or variable.
+
static TextEdit mkRemoval(LexerCursorRange RemovingRange)
Definition Diagnostic.h:39
+
static TextEdit mkInsertion(LexerCursor P, std::string NewText)
Definition Diagnostic.h:35
+ + + + +
+ + + + 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..5a90a76cb --- /dev/null +++ b/SemaActions_8h_source.html @@ -0,0 +1,236 @@ + + + + + + + +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::pair<std::shared_ptr<Expr>, Attribute::AttributeKind>
+
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, Attribute::AttributeKind Kind);
+
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 Attribute::AttributeKind InheritKind);
+
90
+
91 void lowerInherit(SemaAttrs &Attr, const Inherit &Inherit);
+
92
+
93 void lowerBinds(SemaAttrs &SA, const Binds &B);
+
94
+
95 std::shared_ptr<ExprAttrs> onExprAttrs(LexerCursorRange Range,
+
96 std::shared_ptr<Binds> Binds,
+
97 std::shared_ptr<Misc> Rec);
+
98
+
99 std::shared_ptr<LambdaArg> onLambdaArg(LexerCursorRange Range,
+
100 std::shared_ptr<Identifier> ID,
+
101 std::shared_ptr<Formals> F);
+
102};
+
+
103
+
104} // namespace nixf
+ + + + + + + + + + +
std::vector< std::shared_ptr< Formal > > FormalVector
Definition Lambda.h:65
+ + +
Attribute set after deduplication.
Definition Attrs.h:231
+ +
SemaAttrs * selectOrCreate(SemaAttrs &SA, const std::vector< std::shared_ptr< AttrName > > &Path)
+
void insertAttr(SemaAttrs &SA, std::shared_ptr< AttrName > Name, std::shared_ptr< Expr > E, Attribute::AttributeKind Kind)
+
void lowerInherit(SemaAttrs &Attr, const Inherit &Inherit)
+
std::shared_ptr< ExprAttrs > onExprAttrs(LexerCursorRange Range, std::shared_ptr< Binds > Binds, std::shared_ptr< Misc > Rec)
+
std::shared_ptr< LambdaArg > onLambdaArg(LexerCursorRange Range, std::shared_ptr< Identifier > ID, std::shared_ptr< Formals > F)
+
void dedupFormal(std::map< std::string, const Formal * > &Dedup, const FormalVector &FV)
Deduplicate formals.
+
void lowerInheritName(SemaAttrs &SA, std::shared_ptr< AttrName > Name, std::shared_ptr< Expr > E, Attribute::AttributeKind InheritKind)
+
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.
+
void checkFormalSep(const FormalVector &FV)
Check if there is a seperator "," between formals.
+
void dupAttr(std::string Name, LexerCursorRange Range, LexerCursorRange Prev)
+
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.
+
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
+
static std::pair< std::shared_ptr< Expr >, Attribute::AttributeKind > desugarInheritExpr(std::shared_ptr< AttrName > Name, std::shared_ptr< Expr > E)
Desugar inherit (expr) a, inherit a, into select, or variable.
+ +
+ + + + diff --git a/SemanticTokens_8cpp.html b/SemanticTokens_8cpp.html new file mode 100644 index 000000000..948462c1a --- /dev/null +++ b/SemanticTokens_8cpp.html @@ -0,0 +1,105 @@ + + + + + + + +nixd: SemanticTokens.cpp File Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
SemanticTokens.cpp File Reference
+
+
+ +

Implementation of Semantic Tokens. +More...

+
#include "Convert.h"
+#include "nixd/Controller/Controller.h"
+#include <nixf/Basic/Nodes/Attrs.h>
+#include <nixf/Basic/Nodes/Expr.h>
+#include <nixf/Basic/Nodes/Lambda.h>
+#include <nixf/Basic/Range.h>
+#include <nixf/Sema/VariableLookup.h>
+#include <lspserver/Protocol.h>
+#include <boost/asio/post.hpp>
+
+

Go to the source code of this file.

+

Detailed Description

+

Implementation of Semantic Tokens.

+ +

Definition in file SemanticTokens.cpp.

+
+ + + + diff --git a/SemanticTokens_8cpp_source.html b/SemanticTokens_8cpp_source.html new file mode 100644 index 000000000..203343713 --- /dev/null +++ b/SemanticTokens_8cpp_source.html @@ -0,0 +1,382 @@ + + + + + + + +nixd: SemanticTokens.cpp Source File + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
SemanticTokens.cpp
+
+
+Go to the documentation of this file.
1/// \file
+
2/// \brief Implementation of [Semantic Tokens].
+
3/// [Semantic Tokens]:
+
4/// https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#textDocument_semanticTokens
+
5
+
6#include "Convert.h"
+
7
+ +
9
+ + + +
13#include <nixf/Basic/Range.h>
+ +
15
+
16#include <lspserver/Protocol.h>
+
17
+
18#include <boost/asio/post.hpp>
+
19
+
20using namespace nixd;
+
21using namespace lspserver;
+
22using namespace nixf;
+
23
+
24namespace {
+
25
+
26enum SemaType {
+ + + + + + + + +
35 ST_Null,
+
36 ST_Bool,
+ + + +
40};
+
41
+
42enum SemaModifiers {
+
43 SM_Builtin = 1 << 0,
+
44 SM_Deprecated = 1 << 1,
+
45 SM_Dynamic = 1 << 2,
+
46};
+
47
+
48struct RawSemanticToken {
+ +
50 bool operator<(const RawSemanticToken &Other) const {
+
51 return Pos < Other.Pos;
+
52 }
+
53 unsigned Length;
+
54 unsigned TokenType;
+
55 unsigned TokenModifiers;
+
56};
+
57
+
58class SemanticTokenBuilder {
+
59
+
60 const VariableLookupAnalysis &VLA;
+
61
+
62 nixf::Position Previous = {0, 0};
+
63
+
64 std::vector<RawSemanticToken> Raw;
+
65
+
66 llvm::StringRef Src;
+
67
+
68public:
+
69 SemanticTokenBuilder(const VariableLookupAnalysis &VLA, llvm::StringRef Src)
+
70 : VLA(VLA), Src(Src) {}
+
71 void addImpl(nixf::LexerCursor Pos, unsigned Length, unsigned TokenType,
+
72 unsigned TokenModifiers) {
+
73 auto P = toLSPPosition(Src, Pos);
+
74 Raw.emplace_back(RawSemanticToken{P, Length, TokenType, TokenModifiers});
+
75 }
+
76
+
77 void add(const Node &N, unsigned TokenType, unsigned TokenModifiers) {
+
78 if (skip(N))
+
79 return;
+
80 addImpl(N.lCur(), len(N), TokenType, TokenModifiers);
+
81 }
+
82
+
83 static bool skip(const Node &N) {
+
84 // Skip cross-line strings.
+
85 return N.range().lCur().line() != N.range().rCur().line();
+
86 }
+
87
+
88 static unsigned len(const Node &N) {
+
89 return N.range().rCur().offset() - N.range().lCur().offset();
+
90 }
+
91
+
92 void dfs(const ExprString &Str) {
+
93 unsigned Modifers = 0;
+
94 if (!Str.isLiteral())
+
95 return;
+
96 add(Str, ST_String, Modifers);
+
97 }
+
98
+
99 void dfs(const ExprVar &Var) {
+
100 if (Var.id().name() == "true" || Var.id().name() == "false") {
+
101 add(Var, ST_Bool, SM_Builtin);
+
102 return;
+
103 }
+
104
+
105 if (Var.id().name() == "null") {
+
106 add(Var, ST_Null, 0);
+
107 return;
+
108 }
+
109
+
110 auto Result = VLA.query(Var);
+ +
112 if (Result.Def && Result.Def->isBuiltin()) {
+ +
114 return;
+
115 }
+
116 if (Result.Kind == ResultKind::Defined) {
+
117 add(Var, ST_Defined, 0);
+
118 return;
+
119 }
+
120 if (Result.Kind == ResultKind::FromWith) {
+ +
122 return;
+
123 }
+
124
+ +
126 }
+
127
+
128 void dfs(const ExprSelect &Select) {
+
129 dfs(&Select.expr());
+
130 dfs(Select.defaultExpr());
+
131 if (!Select.path())
+
132 return;
+
133 for (const std::shared_ptr<nixf::AttrName> &Name : Select.path()->names()) {
+
134 if (!Name)
+
135 continue;
+
136 const AttrName &AN = *Name;
+
137 if (AN.isStatic()) {
+
138 if (AN.kind() == AttrName::ANK_ID) {
+
139 add(AN, ST_Select, 0);
+
140 }
+
141 }
+
142 }
+
143 }
+
144
+
145 void dfs(const SemaAttrs &SA) {
+
146 for (const auto &[Name, Attr] : SA.staticAttrs()) {
+
147 if (!Attr.value())
+
148 continue;
+
149 // If this attribute comes from "inherit", don't mark it as "AttrName"
+
150 // The rationale behind this is that we don't want to mark same token
+
151 // twice because "inherit"ed names also create variables.
+
152 if (Attr.fromInherit())
+
153 continue;
+
154 add(Attr.key(), ST_AttrName, 0);
+
155 dfs(Attr.value());
+
156 }
+
157 for (const auto &Attr : SA.dynamicAttrs()) {
+
158 dfs(Attr.value());
+
159 }
+
160 }
+
161
+
162 void dfs(const LambdaArg &Arg) {
+
163 if (Arg.id())
+
164 add(*Arg.id(), ST_LambdaArg, 0);
+
165 // Color deduplicated formals.
+
166 if (Arg.formals())
+
167 for (const auto &[_, Formal] : Arg.formals()->dedup()) {
+
168 if (Formal->id()) {
+
169 add(*Formal->id(), ST_LambdaFormal, 0);
+
170 }
+
171 }
+
172 }
+
173
+
174 void dfs(const ExprLambda &Lambda) {
+
175 if (Lambda.arg()) {
+
176 dfs(*Lambda.arg());
+
177 }
+
178 dfs(Lambda.body());
+
179 }
+
180
+
181 void dfs(const Node *AST) {
+
182 if (!AST)
+
183 return;
+
184 switch (AST->kind()) {
+
185 case Node::NK_ExprLambda: {
+
186 const auto &Lambda = static_cast<const ExprLambda &>(*AST);
+
187 dfs(Lambda);
+
188 break;
+
189 }
+
190 case Node::NK_ExprString: {
+
191 const auto &Str = static_cast<const ExprString &>(*AST);
+
192 dfs(Str);
+
193 break;
+
194 }
+
195 case Node::NK_ExprVar: {
+
196 const auto &Var = static_cast<const ExprVar &>(*AST);
+
197 dfs(Var);
+
198 break;
+
199 }
+
200 case Node::NK_ExprSelect: {
+
201 const auto &Select = static_cast<const ExprSelect &>(*AST);
+
202 dfs(Select);
+
203 break;
+
204 }
+
205 case Node::NK_ExprAttrs: {
+
206 const SemaAttrs &SA = static_cast<const ExprAttrs &>(*AST).sema();
+
207 dfs(SA);
+
208 break;
+
209 }
+
210 default:
+
211 for (const Node *Ch : AST->children()) {
+
212 dfs(Ch);
+
213 }
+
214 }
+
215 };
+
216
+
217 std::vector<SemanticToken> finish() {
+
218 std::vector<SemanticToken> Tokens;
+
219 std::sort(Raw.begin(), Raw.end());
+
220 lspserver::Position Prev{0, 0};
+
221 for (auto Elm : Raw) {
+
222 assert(Elm.Pos.line - Prev.line >= 0);
+
223 unsigned DeltaLine = Elm.Pos.line - Prev.line;
+
224 unsigned DeltaCol =
+
225 DeltaLine ? Elm.Pos.character : Elm.Pos.character - Prev.character;
+
226 Prev = Elm.Pos;
+
227 Tokens.emplace_back(DeltaLine, DeltaCol, Elm.Length, Elm.TokenType,
+
228 Elm.TokenModifiers);
+
229 }
+
230 return Tokens;
+
231 }
+
232};
+
233
+
234} // namespace
+
235
+
236void Controller::onSemanticTokens(const SemanticTokensParams &Params,
+ +
238 auto Action = [Reply = std::move(Reply), URI = Params.textDocument.uri,
+
239 this]() mutable {
+
240 if (std::shared_ptr<NixTU> TU = getTU(URI.file().str(), Reply)) {
+
241 if (std::shared_ptr<Node> AST = getAST(*TU, Reply)) {
+
242 SemanticTokenBuilder Builder(*TU->variableLookup(), TU->src());
+
243 Builder.dfs(AST.get());
+
244 Reply(SemanticTokens{.tokens = Builder.finish()});
+
245 }
+
246 }
+
247 };
+
248 boost::asio::post(Pool, std::move(Action));
+
249}
+ + +
Convert between LSP and nixf types.
+ + + +
Lookup variable names, from it's parent scope.
+ + + + +
const SemaAttrs & sema() const
Definition Attrs.h:284
+ + + + + +
Identifier * id() const
Definition Lambda.h:37
+ +
Formals * formals() const
Definition Lambda.h:101
+
Identifier * id() const
Definition Lambda.h:99
+
A point in the source file.
Definition Range.h:57
+ +
NodeKind kind() const
Definition Basic.h:34
+ +
Attribute set after deduplication.
Definition Attrs.h:231
+ + +
LookupResult query(const ExprVar &Var) const
Query the which name/with binds to specific varaible.
+ +
Whether current platform treats paths case insensitively.
Definition Connection.h:11
+
llvm::unique_function< void(llvm::Expected< T >)> Callback
Definition Function.h:14
+
bool operator<(const CompletionItem &, const CompletionItem &)
+ +
bool fromJSON(const llvm::json::Value &Params, Configuration::Diagnostic &R, llvm::json::Path P)
+
lspserver::Position toLSPPosition(llvm::StringRef Code, const nixf::LexerCursor &P)
Definition Convert.cpp:27
+ + +
Body of textDocument/semanticTokens/full request.
+ +
std::vector< SemanticToken > tokens
The actual tokens.
+
+ + + + diff --git a/Serialize_8h.html b/Serialize_8h.html new file mode 100644 index 000000000..0724b5a29 --- /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 EvalCache 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..d7ee86c76 --- /dev/null +++ b/Serialize_8h_source.html @@ -0,0 +1,214 @@ + + + + + + + +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 EvalCache 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..df784f7d8 --- /dev/null +++ b/Simple_8h.html @@ -0,0 +1,134 @@ + + + + + + + +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::ExprSPath
 
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..8a816fe73 --- /dev/null +++ b/Simple_8h_source.html @@ -0,0 +1,427 @@ + + + + + + + +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 const 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 const 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 const 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:
+
58 const InterpolablePartKind Kind;
+
59 const std::string Escaped;
+
60 const 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 const 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 {
+
107 ChildVector Children;
+
108 for (const auto &Frag : Fragments) {
+
109 if (Frag.kind() == InterpolablePart::SPK_Interpolation)
+
110 Children.emplace_back(&Frag.interpolation());
+
111 }
+
112 return Children;
+
113 }
+
+
114};
+
+
115
+
+
116class ExprString : public Expr {
+
117 const std::shared_ptr<InterpolatedParts> Parts;
+
118
+
119public:
+
+
120 ExprString(LexerCursorRange Range, std::shared_ptr<InterpolatedParts> Parts)
+
121 : Expr(NK_ExprString, Range), Parts(std::move(Parts)) {
+
122 assert(this->Parts && "parts must not be null");
+
123 }
+
+
124
+
+
125 [[nodiscard]] const InterpolatedParts &parts() const {
+
126 assert(Parts && "parts must not be null");
+
127 return *Parts;
+
128 }
+
+
129
+
+
130 [[nodiscard]] bool isLiteral() const {
+
131 assert(Parts && "parts must not be null");
+
132 return Parts->isLiteral();
+
133 }
+
+
134
+
+
135 [[nodiscard]] const std::string &literal() const {
+
136 assert(Parts && "parts must not be null");
+
137 return Parts->literal();
+
138 }
+
+
139
+
140 [[nodiscard]] ChildVector children() const override { return {Parts.get()}; }
+
141};
+
+
142
+
+
143class ExprPath : public Expr {
+
144 std::shared_ptr<InterpolatedParts> Parts;
+
145
+
146public:
+
+
147 ExprPath(LexerCursorRange Range, std::shared_ptr<InterpolatedParts> Parts)
+
148 : Expr(NK_ExprPath, Range), Parts(std::move(Parts)) {
+
149 assert(this->Parts && "parts must not be null");
+
150 }
+
+
151
+
+
152 [[nodiscard]] const InterpolatedParts &parts() const {
+
153 assert(Parts && "parts must not be null");
+
154 return *Parts;
+
155 }
+
+
156
+
157 [[nodiscard]] ChildVector children() const override { return {Parts.get()}; }
+
158};
+
+
159
+
+
160class ExprSPath : public Expr {
+
161 std::string Text;
+
162
+
163public:
+
+
164 ExprSPath(LexerCursorRange Range, std::string Text)
+
165 : Expr(NK_ExprSPath, Range), Text(std::move(Text)) {}
+
+
166
+
167 [[nodiscard]] ChildVector children() const override { return {}; }
+
168
+
169 [[nodiscard]] const std::string &text() const { return Text; }
+
170};
+
+
171
+
+
172class ExprParen : public Expr {
+
173 const std::shared_ptr<Expr> E;
+
174 const std::shared_ptr<Misc> LParen;
+
175 const std::shared_ptr<Misc> RParen;
+
176
+
177public:
+
+
178 ExprParen(LexerCursorRange Range, std::shared_ptr<Expr> E,
+
179 std::shared_ptr<Misc> LParen, std::shared_ptr<Misc> RParen)
+
180 : Expr(NK_ExprParen, Range), E(std::move(E)), LParen(std::move(LParen)),
+
181 RParen(std::move(RParen)) {}
+
+
182
+
183 [[nodiscard]] const Expr *expr() const { return E.get(); }
+
184 [[nodiscard]] const Misc *lparen() const { return LParen.get(); }
+
185 [[nodiscard]] const Misc *rparen() const { return RParen.get(); }
+
186
+
+
187 [[nodiscard]] ChildVector children() const override {
+
188 return {E.get(), LParen.get(), RParen.get()};
+
189 }
+
+
190};
+
+
191
+
+
192class ExprVar : public Expr {
+
193 const std::shared_ptr<Identifier> ID;
+
194
+
195public:
+
+
196 ExprVar(LexerCursorRange Range, std::shared_ptr<Identifier> ID)
+
197 : Expr(NK_ExprVar, Range), ID(std::move(ID)) {
+
198 assert(this->ID && "ID must not be null");
+
199 }
+
+
+
200 [[nodiscard]] const Identifier &id() const {
+
201 assert(ID && "ID must not be null");
+
202 return *ID;
+
203 }
+
+
204
+
205 [[nodiscard]] ChildVector children() const override { return {ID.get()}; }
+
206};
+
+
207
+
208} // 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:183
+
const Misc * rparen() const
Definition Simple.h:185
+
ChildVector children() const override
Definition Simple.h:187
+
ExprParen(LexerCursorRange Range, std::shared_ptr< Expr > E, std::shared_ptr< Misc > LParen, std::shared_ptr< Misc > RParen)
Definition Simple.h:178
+
const Misc * lparen() const
Definition Simple.h:184
+ +
ChildVector children() const override
Definition Simple.h:157
+
ExprPath(LexerCursorRange Range, std::shared_ptr< InterpolatedParts > Parts)
Definition Simple.h:147
+
const InterpolatedParts & parts() const
Definition Simple.h:152
+ +
ChildVector children() const override
Definition Simple.h:167
+
const std::string & text() const
Definition Simple.h:169
+
ExprSPath(LexerCursorRange Range, std::string Text)
Definition Simple.h:164
+ +
bool isLiteral() const
Definition Simple.h:130
+
ChildVector children() const override
Definition Simple.h:140
+
const std::string & literal() const
Definition Simple.h:135
+
const InterpolatedParts & parts() const
Definition Simple.h:125
+
ExprString(LexerCursorRange Range, std::shared_ptr< InterpolatedParts > Parts)
Definition Simple.h:120
+ +
ChildVector children() const override
Definition Simple.h:205
+
const Identifier & id() const
Definition Simple.h:200
+
ExprVar(LexerCursorRange Range, std::shared_ptr< Identifier > ID)
Definition Simple.h:196
+ +
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
+ +
InterpolatedParts(LexerCursorRange Range, std::vector< InterpolablePart > Fragments)
Definition Nodes.cpp:53
+
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
+
${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 Simple.h:12
+
double NixFloat
Definition Simple.h:13
+
+ + + + diff --git a/SourceCode_8cpp.html b/SourceCode_8cpp.html new file mode 100644 index 000000000..e2ba3a6bb --- /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_tlspserver::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..441702774 --- /dev/null +++ b/SourceCode_8cpp_source.html @@ -0,0 +1,355 @@ + + + + + + + +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-*.
+ +
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))
+ +
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,
+ +
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);
+ +
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,
+ +
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.
+ +
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.
+
bool fromJSON(const llvm::json::Value &, URIForFile &, llvm::json::Path)
+ + + + + +
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).
+ + +
+ + + + diff --git a/SourceCode_8h.html b/SourceCode_8h.html new file mode 100644 index 000000000..8c96908c1 --- /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_tlspserver::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..2be67336b --- /dev/null +++ b/SourceCode_8h_source.html @@ -0,0 +1,189 @@ + + + + + + + +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,
+ +
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,
+ +
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.
+
bool fromJSON(const llvm::json::Value &, URIForFile &, llvm::json::Path)
+
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/StreamProc_8cpp.html b/StreamProc_8cpp.html new file mode 100644 index 000000000..a80a13bbd --- /dev/null +++ b/StreamProc_8cpp.html @@ -0,0 +1,91 @@ + + + + + + + +nixd: StreamProc.cpp File Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
StreamProc.cpp File Reference
+
+
+ +

Go to the source code of this file.

+
+ + + + diff --git a/StreamProc_8cpp_source.html b/StreamProc_8cpp_source.html new file mode 100644 index 000000000..fe0a4a78d --- /dev/null +++ b/StreamProc_8cpp_source.html @@ -0,0 +1,136 @@ + + + + + + + +nixd: StreamProc.cpp Source File + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
StreamProc.cpp
+
+
+Go to the documentation of this file.
+ +
3
+
4using namespace nixd;
+
5using namespace util;
+
6using namespace lspserver;
+
7
+
+
8std::unique_ptr<InboundPort> StreamProc::mkIn() const {
+
9 return std::make_unique<InboundPort>(Proc->Stdout.get(),
+
10 JSONStreamStyle::Standard);
+
11}
+
+
12
+
+
13std::unique_ptr<OutboundPort> StreamProc::mkOut() const {
+
14 return std::make_unique<OutboundPort>(*Stream);
+
15}
+
+
16
+
+
17StreamProc::StreamProc(const std::function<int()> &Action) {
+
18 int In;
+
19 int Out;
+
20 int Err;
+
21
+
22 pid_t Child = forkPiped(In, Out, Err);
+
23 if (Child == 0)
+
24 exit(Action());
+
25
+
26 // Parent process.
+
27 Proc = std::make_unique<PipedProc>(Child, In, Out, Err);
+
28 Stream = std::make_unique<llvm::raw_fd_ostream>(In, false);
+
29}
+
+ + +
Whether current platform treats paths case insensitively.
Definition Connection.h:11
+ +
int forkPiped(int &In, int &Out, int &Err)
fork this process and create some pipes connected to the new process.
Definition ForkPiped.cpp:8
+
bool fromJSON(const llvm::json::Value &Params, Configuration::Diagnostic &R, llvm::json::Path P)
+
StreamProc(const std::function< int()> &Action)
Launch a streamed process with Action.
+
std::unique_ptr< lspserver::InboundPort > mkIn() const
Definition StreamProc.cpp:8
+
std::unique_ptr< lspserver::OutboundPort > mkOut() const
+
+ + + + diff --git a/StreamProc_8h.html b/StreamProc_8h.html new file mode 100644 index 000000000..6ea9b565c --- /dev/null +++ b/StreamProc_8h.html @@ -0,0 +1,106 @@ + + + + + + + +nixd: StreamProc.h File Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
StreamProc.h File Reference
+
+
+
#include "nixd/Support/PipedProc.h"
+#include <llvm/Support/raw_ostream.h>
+#include <lspserver/Connection.h>
+
+

Go to the source code of this file.

+ + + + +

+Classes

struct  nixd::StreamProc
 
+ + + +

+Namespaces

namespace  nixd
 
+
+ + + + diff --git a/StreamProc_8h_source.html b/StreamProc_8h_source.html new file mode 100644 index 000000000..356417c0d --- /dev/null +++ b/StreamProc_8h_source.html @@ -0,0 +1,145 @@ + + + + + + + +nixd: StreamProc.h Source File + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
StreamProc.h
+
+
+Go to the documentation of this file.
1#pragma once
+
2
+ +
4
+
5#include <llvm/Support/raw_ostream.h>
+ +
7
+
8namespace nixd {
+
9
+
+
10struct StreamProc {
+
11private:
+
12 std::unique_ptr<util::PipedProc> Proc;
+
13 std::unique_ptr<llvm::raw_fd_ostream> Stream;
+
14
+
15public:
+
16 /// \brief Launch a streamed process with \p Action.
+
17 ///
+
18 /// The value returned by \p Action will be interpreted as process's exit
+
19 /// value.
+
20 StreamProc(const std::function<int()> &Action);
+
21
+
+
22 [[nodiscard]] llvm::raw_fd_ostream &stream() const {
+
23 assert(Stream);
+
24 return *Stream;
+
25 }
+
+
26
+
+
27 [[nodiscard]] util::PipedProc &proc() const {
+
28 assert(Proc);
+
29 return *Proc;
+
30 }
+
+
31
+
32 [[nodiscard]] std::unique_ptr<lspserver::InboundPort> mkIn() const;
+
33
+
34 [[nodiscard]] std::unique_ptr<lspserver::OutboundPort> mkOut() const;
+
35};
+
+
36
+
37} // namespace nixd
+ + + + +
util::PipedProc & proc() const
Definition StreamProc.h:27
+
StreamProc(const std::function< int()> &Action)
Launch a streamed process with Action.
+
std::unique_ptr< lspserver::InboundPort > mkIn() const
Definition StreamProc.cpp:8
+
std::unique_ptr< lspserver::OutboundPort > mkOut() const
+
llvm::raw_fd_ostream & stream() const
Definition StreamProc.h:22
+ +
+ + + + diff --git a/Support_8cpp.html b/Support_8cpp.html new file mode 100644 index 000000000..9a11fa9d0 --- /dev/null +++ b/Support_8cpp.html @@ -0,0 +1,95 @@ + + + + + + + +nixd: Support.cpp File Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Support.cpp File Reference
+
+
+
#include "nixd/Controller/Controller.h"
+#include <nixf/Basic/Diagnostic.h>
+#include <nixf/Parse/Parser.h>
+#include <nixf/Sema/VariableLookup.h>
+#include <boost/asio/post.hpp>
+#include <mutex>
+
+

Go to the source code of this file.

+
+ + + + diff --git a/Support_8cpp_source.html b/Support_8cpp_source.html new file mode 100644 index 000000000..9fd91c039 --- /dev/null +++ b/Support_8cpp_source.html @@ -0,0 +1,246 @@ + + + + + + + +nixd: Support.cpp Source File + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Support.cpp
+
+
+Go to the documentation of this file.
+
2
+ +
4#include <nixf/Parse/Parser.h>
+ +
6
+
7#include <boost/asio/post.hpp>
+
8
+
9#include <mutex>
+
10
+
11using namespace lspserver;
+
12using namespace nixd;
+
13
+
14void Controller::removeDocument(lspserver::PathRef File) {
+
15 Store.removeDraft(File);
+
16 {
+
17 std::lock_guard _(TUsLock);
+
18 TUs.erase(File);
+
19 }
+
20}
+
21
+
22void Controller::actOnDocumentAdd(PathRef File,
+
23 std::optional<int64_t> Version) {
+
24 auto Action = [this, File = std::string(File), Version]() {
+
25 auto Draft = Store.getDraft(File);
+
26 std::shared_ptr<const std::string> Src = Draft->Contents;
+
27 assert(Draft && "Added document is not in the store?");
+
28
+
29 std::vector<nixf::Diagnostic> Diagnostics;
+
30 std::shared_ptr<nixf::Node> AST =
+
31 nixf::parse(*Draft->Contents, Diagnostics);
+
32
+
33 if (!AST) {
+
34 std::lock_guard G(TUsLock);
+
35 publishDiagnostics(File, Version, *Src, Diagnostics);
+
36 TUs.insert_or_assign(File,
+
37 std::make_shared<NixTU>(std::move(Diagnostics),
+
38 std::move(AST), std::nullopt,
+
39 /*VLA=*/nullptr, Src));
+
40 return;
+
41 }
+
42
+
43 auto VLA = std::make_unique<nixf::VariableLookupAnalysis>(Diagnostics);
+
44 VLA->runOnAST(*AST);
+
45
+
46 publishDiagnostics(File, Version, *Src, Diagnostics);
+
47
+
48 {
+
49 std::lock_guard G(TUsLock);
+
50 TUs.insert_or_assign(
+
51 File, std::make_shared<NixTU>(std::move(Diagnostics), std::move(AST),
+
52 std::nullopt, std::move(VLA), Src));
+
53 return;
+
54 }
+
55 };
+
56 Action();
+
57}
+
58
+
59void Controller::createWorkDoneProgress(
+ +
61 if (ClientCaps.WorkDoneProgress)
+
62 CreateWorkDoneProgress(Params, [](llvm::Expected<std::nullptr_t> Reply) {
+
63 if (!Reply)
+
64 elog("create workdone progress error: {0}", Reply.takeError());
+
65 });
+
66}
+
67
+
+
68Controller::Controller(std::unique_ptr<lspserver::InboundPort> In,
+
69 std::unique_ptr<lspserver::OutboundPort> Out)
+
70 : LSPServer(std::move(In), std::move(Out)) {
+
71
+
72 // Life Cycle
+
73 Registry.addMethod("initialize", this, &Controller::onInitialize);
+
74 Registry.addNotification("initialized", this, &Controller::onInitialized);
+
75
+
76 Registry.addMethod("shutdown", this, &Controller::onShutdown);
+
77
+
78 // Text Document Synchronization
+
79 Registry.addNotification("textDocument/didOpen", this,
+
80 &Controller::onDocumentDidOpen);
+
81 Registry.addNotification("textDocument/didChange", this,
+
82 &Controller::onDocumentDidChange);
+
83
+
84 Registry.addNotification("textDocument/didClose", this,
+
85 &Controller::onDocumentDidClose);
+
86
+
87 // Language Features
+
88 Registry.addMethod("textDocument/definition", this,
+
89 &Controller::onDefinition);
+
90 Registry.addMethod("textDocument/documentSymbol", this,
+
91 &Controller::onDocumentSymbol);
+
92 Registry.addMethod("textDocument/semanticTokens/full", this,
+
93 &Controller::onSemanticTokens);
+
94 Registry.addMethod("textDocument/inlayHint", this, &Controller::onInlayHint);
+
95 Registry.addMethod("textDocument/completion", this,
+
96 &Controller::onCompletion);
+
97 Registry.addMethod("completionItem/resolve", this,
+
98 &Controller::onCompletionItemResolve);
+
99 Registry.addMethod("textDocument/references", this,
+
100 &Controller::onReferences);
+
101 Registry.addMethod("textDocument/documentHighlight", this,
+
102 &Controller::onDocumentHighlight);
+
103 Registry.addMethod("textDocument/documentLink", this,
+
104 &Controller::onDocumentLink);
+
105 Registry.addMethod("textDocument/codeAction", this,
+
106 &Controller::onCodeAction);
+
107 Registry.addMethod("textDocument/hover", this, &Controller::onHover);
+
108 Registry.addMethod("textDocument/formatting", this, &Controller::onFormat);
+
109 Registry.addMethod("textDocument/rename", this, &Controller::onRename);
+
110 Registry.addMethod("textDocument/prepareRename", this,
+
111 &Controller::onPrepareRename);
+
112
+
113 // Workspace features
+
114 Registry.addNotification("workspace/didChangeConfiguration", this,
+
115 &Controller::onDidChangeConfiguration);
+
116
+ +
118 "workspace/configuration");
+
119
+ +
121 "textDocument/publishDiagnostics");
+
122 CreateWorkDoneProgress =
+ +
124 "window/workDoneProgress/create");
+
125 BeginWorkDoneProgress =
+ +
127 ReportWorkDoneProgress =
+ +
129 EndWorkDoneProgress =
+ +
131}
+
+ + +
Lookup variable names, from it's parent scope.
+
std::optional< Draft > getDraft(PathRef File) const
+
void removeDraft(PathRef File)
Remove the draft from the store.
+ +
HandlerRegistry Registry
Definition LSPServer.h:55
+
Controller(std::unique_ptr< lspserver::InboundPort > In, std::unique_ptr< lspserver::OutboundPort > Out)
Definition Support.cpp:68
+
Parser interface.
+ +
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
+ +
bool fromJSON(const llvm::json::Value &Params, Configuration::Diagnostic &R, llvm::json::Path P)
+
std::shared_ptr< Node > parse(std::string_view Src, std::vector< Diagnostic > &Diags)
Parse a string.
+ +
void addMethod(llvm::StringRef Method, ThisT *This, void(ThisT::*Handler)(const Param &, Callback< Result >))
Definition LSPBinder.h:57
+
void addNotification(llvm::StringLiteral Method, ThisT *This, void(ThisT::*Handler)(const Param &))
Definition LSPBinder.h:73
+ +
+ + + + 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..b25949fe4 --- /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...

+ +

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..7fbe00c01 --- /dev/null +++ b/TextDocumentSync_8cpp_source.html @@ -0,0 +1,159 @@ + + + + + + + +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).
+ +
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(
+ +
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;
+ +
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
+ +
bool fromJSON(const llvm::json::Value &Params, Configuration::Diagnostic &R, llvm::json::Path P)
+ + + +
+ + + + 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..3cd9a45d2 --- /dev/null +++ b/TokenKinds_8inc_source.html @@ -0,0 +1,195 @@ + + + + + + + +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
+
44// <path>
+
45TOK(spath)
+
46
+
47// URI.
+
48TOK(uri)
+
49
+
50// Interpolation.
+
51TOK(r_curly) // {
+
52TOK(dollar_curly) // ${
+
53
+
54TOK(ellipsis) // ...
+
55TOK(comma) // ,
+
56TOK(dot) // .
+
57TOK(semi_colon) // ;
+
58TOK(eq) // =
+
59TOK(l_curly) // {
+
60TOK(l_paren) // (
+
61TOK(r_paren) // )
+
62TOK(l_bracket) // [
+
63TOK(r_bracket) // ]
+
64
+
65TOK(question) // ?
+
66TOK(at) // @
+
67TOK(colon) // :
+
68
+
69TOK(unknown)
+
70
+
71TOK(path_end) // emtpy token, notifies the parser it should exit parsing path.
+
72
+
73TOK(op_not) // !
+
74
+
75#endif // TOK
+
76
+
77// Binary Ops
+
78#ifdef TOK_BIN_OP
+
79
+
80TOK_BIN_OP(impl) // ->
+
81TOK_BIN_OP(or) // ||
+
82TOK_BIN_OP(and) // &&
+
83TOK_BIN_OP(eq) // ==
+
84TOK_BIN_OP(neq) // !=
+
85TOK_BIN_OP(lt) // <
+
86TOK_BIN_OP(gt) // >
+
87TOK_BIN_OP(le) // <=
+
88TOK_BIN_OP(ge) // >=
+
89TOK_BIN_OP(update) // //
+
90TOK_BIN_OP(add) // +
+
91TOK_BIN_OP(negate) // -
+
92TOK_BIN_OP(mul) // *
+
93TOK_BIN_OP(div) // /
+
94TOK_BIN_OP(concat) // ++
+
95
+
96// [RFC 0418 Pipe operator](https://github.com/NixOS/rfcs/pull/148)
+
97TOK_BIN_OP(pipe_into) // |>
+
98TOK_BIN_OP(pipe_from) // <|
+
99
+
100#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..ab5d84768 --- /dev/null +++ b/Token_8h.html @@ -0,0 +1,143 @@ + + + + + + + +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_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..303241f29 --- /dev/null +++ b/Token_8h_source.html @@ -0,0 +1,185 @@ + + + + + + + +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_view>
+
8
+
9namespace nixf {
+
10
+
11namespace tok {
+
12
+
+
13constexpr std::string_view spelling(TokenKind Kind) {
+
14 switch (Kind) {
+
15#define TOK_KEYWORD(NAME) \
+
16 case tok_kw_##NAME: \
+
17 return #NAME;
+ +
19#undef TOK_KEYWORD
+
20 case tok_dquote:
+
21 return "\"";
+
22 case tok_quote2:
+
23 return "''";
+
24 case tok_dollar_curly:
+
25 return "${";
+
26 case tok_l_curly:
+
27 return "{";
+
28 case tok_r_curly:
+
29 return "}";
+
30 case tok_l_paren:
+
31 return "(";
+
32 case tok_r_paren:
+
33 return ")";
+
34 case tok_eq:
+
35 return "=";
+
36 case tok_semi_colon:
+
37 return ";";
+
38 case tok_l_bracket:
+
39 return "[";
+
40 case tok_r_bracket:
+
41 return "]";
+
42 case tok_colon:
+
43 return ":";
+
44 default:
+
45 assert(false && "Not yet implemented!");
+
46 }
+
47 __builtin_unreachable();
+
48}
+
+
49
+
50} // namespace tok
+
51
+
52/// \brief A token. With it's kind, and the range in source code.
+
53///
+
54/// This class is trivially copyable.
+
+
55class Token {
+
56 tok::TokenKind Kind;
+
57 LexerCursorRange Range;
+
58 std::string_view View;
+
59
+
60public:
+
+
61 Token(tok::TokenKind Kind, LexerCursorRange Range, std::string_view View)
+
62 : Kind(Kind), Range(Range), View(View) {}
+
+
63 [[nodiscard]] LexerCursor lCur() const { return Range.lCur(); }
+
64 [[nodiscard]] LexerCursor rCur() const { return Range.rCur(); }
+
65 [[nodiscard]] tok::TokenKind kind() const { return Kind; }
+
66 [[nodiscard]] LexerCursorRange range() const { return Range; }
+
67 [[nodiscard]] std::string_view view() const { return View; }
+
68};
+
+
69
+
70} // 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:55
+
LexerCursor lCur() const
Definition Token.h:63
+
tok::TokenKind kind() const
Definition Token.h:65
+
LexerCursorRange range() const
Definition Token.h:66
+
Token(tok::TokenKind Kind, LexerCursorRange Range, std::string_view View)
Definition Token.h:61
+
LexerCursor rCur() const
Definition Token.h:64
+
std::string_view view() const
Definition Token.h:67
+
constexpr std::string_view spelling(TokenKind Kind)
Definition Token.h:13
+ + +
+ + + + 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/URI_8cpp.html b/URI_8cpp.html new file mode 100644 index 000000000..b8e4a3d27 --- /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..b2303d428 --- /dev/null +++ b/URI_8cpp_source.html @@ -0,0 +1,404 @@ + + + + + + + +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))
+ +
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.
+ +
233}
+
+
234
+
+ +
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
+
bool fromJSON(const llvm::json::Value &, URIForFile &, llvm::json::Path)
+
llvm::Registry< URIScheme > URISchemeRegistry
Definition URI.h:121
+
+ + + + diff --git a/URI_8h.html b/URI_8h.html new file mode 100644 index 000000000..e8019404b --- /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..23cc46fdf --- /dev/null +++ b/URI_8h_source.html @@ -0,0 +1,246 @@ + + + + + + + +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
+
bool fromJSON(const llvm::json::Value &, URIForFile &, llvm::json::Path)
+
llvm::Registry< URIScheme > URISchemeRegistry
Definition URI.h:121
+
+ + + + diff --git a/Value_8cpp.html b/Value_8cpp.html new file mode 100644 index 000000000..7c64a7f21 --- /dev/null +++ b/Value_8cpp.html @@ -0,0 +1,94 @@ + + + + + + + +nixd: Value.cpp File Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Value.cpp File Reference
+
+
+
#include "nixt/Value.h"
+#include <nix/attr-path.hh>
+#include <nix/nixexpr.hh>
+#include <nix/symbol-table.hh>
+#include <nix/value.hh>
+
+

Go to the source code of this file.

+
+ + + + diff --git a/Value_8cpp_source.html b/Value_8cpp_source.html new file mode 100644 index 000000000..2ebb545c6 --- /dev/null +++ b/Value_8cpp_source.html @@ -0,0 +1,323 @@ + + + + + + + +nixd: Value.cpp Source File + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Value.cpp
+
+
+Go to the documentation of this file.
1#include "nixt/Value.h"
+
2
+
3#include <nix/attr-path.hh>
+
4#include <nix/nixexpr.hh>
+
5#include <nix/symbol-table.hh>
+
6#include <nix/value.hh>
+
7
+
8using namespace nixt;
+
9
+
+
10std::optional<nix::Value> nixt::getField(nix::EvalState &State, nix::Value &V,
+
11 std::string_view Field) {
+
12 State.forceValue(V, nix::noPos);
+
13 if (V.type() != nix::ValueType::nAttrs)
+
14 return std::nullopt;
+
15
+
16 nix::Symbol SFiled = State.symbols.create(Field);
+
17 if (auto *It = V.attrs->find(SFiled); It != V.attrs->end())
+
18 return *It->value;
+
19
+
20 return std::nullopt;
+
21}
+
+
22
+
+
23std::optional<std::string_view> nixt::getFieldString(nix::EvalState &State,
+
24 nix::Value &V,
+
25 std::string_view Field) {
+
26 if (auto OptV = getField(State, V, Field)) {
+
27 State.forceValue(*OptV, nix::noPos);
+
28 if (OptV->type() == nix::ValueType::nString) {
+
29 return State.forceStringNoCtx(*OptV, nix::noPos,
+
30 "nixt::getFieldString()");
+
31 }
+
32 }
+
33 return std::nullopt;
+
34}
+
+
35
+
+
36bool nixt::checkField(nix::EvalState &State, nix::Value &V,
+
37 std::string_view Field, std::string_view Pred) {
+
38 return getFieldString(State, V, Field) == Pred;
+
39}
+
+
40
+
+
41bool nixt::checkType(nix::EvalState &State, nix::Value &V,
+
42 std::string_view Pred) {
+
43 return checkField(State, V, "_type", Pred);
+
44}
+
+
45
+
+
46bool nixt::isOption(nix::EvalState &State, nix::Value &V) {
+
47 return checkType(State, V, "option");
+
48};
+
+
49
+
+
50bool nixt::isDerivation(nix::EvalState &State, nix::Value &V) {
+
51 return checkField(State, V, "type", "derivation");
+
52}
+
+
53
+
+
54std::string nixt::attrPathStr(nix::EvalState &State, nix::Value &V,
+
55 const std::string &AttrPath) {
+
56 auto &AutoArgs = *State.allocBindings(0);
+
57 auto [VPath, Pos] = nix::findAlongAttrPath(State, AttrPath, AutoArgs, V);
+
58 State.forceValue(*VPath, Pos);
+
59 return std::string(State.forceStringNoCtx(*VPath, nix::noPos, ""));
+
60}
+
+
61
+
62std::vector<nix::Symbol>
+
+
63nixt::toSymbols(nix::SymbolTable &STable,
+
64 const std::vector<std::string> &Names) {
+
65 std::vector<nix::Symbol> Res;
+
66 Res.reserve(Names.size());
+
67 for (const auto &Name : Names) {
+
68 Res.emplace_back(STable.create(Name));
+
69 }
+
70 return Res;
+
71}
+
+
72
+
73std::vector<nix::Symbol>
+
+
74nixt::toSymbols(nix::SymbolTable &STable,
+
75 const std::vector<std::string_view> &Names) {
+
76 std::vector<nix::Symbol> Res;
+
77 Res.reserve(Names.size());
+
78 for (const auto &Name : Names) {
+
79 Res.emplace_back(STable.create(Name));
+
80 }
+
81 return Res;
+
82}
+
+
83
+
+
84nix::Value &nixt::selectAttr(nix::EvalState &State, nix::Value &V,
+
85 nix::Symbol Attr) {
+
86 State.forceValue(V, nix::noPos);
+
87
+
88 if (V.type() != nix::ValueType::nAttrs)
+
89 throw nix::TypeError("value is not an attrset");
+
90
+
91 assert(V.attrs && "nix must allocate non-null attrs!");
+
92 auto *Nested = V.attrs->find(Attr);
+
93 if (Nested == V.attrs->end())
+
94 throw nix::AttrPathNotFound("attrname " + State.symbols[Attr] +
+
95 " not found in attrset");
+
96
+
97 assert(Nested->value && "nix must allocate non-null nested value!");
+
98 return *Nested->value;
+
99}
+
+
100
+
101/// \brief Given an attrpath in nix::Value \p V, select it
+
+
102nix::Value &nixt::selectAttrPath(nix::EvalState &State, nix::Value &V,
+
103 std::vector<nix::Symbol>::const_iterator Begin,
+
104 std::vector<nix::Symbol>::const_iterator End) {
+
105 // If the attrpath is emtpy, return value itself.
+
106 if (Begin == End)
+
107 return V;
+
108
+
109 // Otherwise, select it.
+
110 nix::Value &Nested = selectAttr(State, V, *Begin);
+
111 return selectAttrPath(State, Nested, ++Begin, End);
+
112}
+
+
113
+
114namespace {
+
115
+
116/// \brief Check if the \p Type is a submodule.
+
117bool isTypeSubmodule(nix::EvalState &State, nix::Value &Type) {
+
118 return checkField(State, Type, "name", "submodule");
+
119}
+
120
+
121nix::Value *trySelectAttr(nix::EvalState &State, nix::Value &V, nix::Symbol S) {
+
122 try {
+
123 nix::Value &Type = selectAttr(State, V, State.sType);
+
124 return &Type;
+
125 } catch (nix::TypeError &) {
+
126 // The value is not an attrset, thus it definitely cannot be a submodule.
+
127 return nullptr;
+
128 } catch (nix::AttrPathNotFound &) {
+
129 // The value has no "type" field.
+
130 return nullptr;
+
131 }
+
132 return nullptr;
+
133}
+
134
+
135/// \brief Get the type of an option.
+
136nix::Value *tryGetSubmoduleType(nix::EvalState &State, nix::Value &V) {
+
137 if (nix::Value *Type = trySelectAttr(State, V, State.sType))
+
138 return isTypeSubmodule(State, *Type) ? Type : nullptr;
+
139 return nullptr;
+
140}
+
141
+
142/// \brief Do proper operations to get options declaration on submodule type.
+
143nix::Value getSubOptions(nix::EvalState &State, nix::Value &Type) {
+
144 // For example, programs.nixvim has all options nested into this attrpath.
+
145 nix::Value &GetSubOptions =
+
146 selectAttr(State, Type, State.symbols.create("getSubOptions"));
+
147
+
148 nix::Value EmptyList;
+
149 EmptyList.mkList(0);
+
150 // Invoke "GetSubOptions"
+
151 nix::Value VResult;
+
152 State.callFunction(GetSubOptions, EmptyList, VResult, nix::noPos);
+
153 return VResult;
+
154}
+
155
+
156} // namespace
+
157
+
+
158nix::Value nixt::selectOptions(nix::EvalState &State, nix::Value &V,
+
159 std::vector<nix::Symbol>::const_iterator Begin,
+
160 std::vector<nix::Symbol>::const_iterator End) {
+
161 // Always try to mangle the value if it is a submodule
+
162 if (nix::Value *SubType = tryGetSubmoduleType(State, V))
+
163 // Invoke getSubOptions on that type, and reset the value to it.
+
164 V = getSubOptions(State, *SubType);
+
165
+
166 if (Begin == End)
+
167 return V;
+
168
+
169 if (isOption(State, V)) {
+
170 // If currently "V" is an option, it can still be submodules.
+
171 //
+
172 // e.g. users.users <-- the main option stops at here.
+
173 // networking.interfaces
+
174 //
+
175 // Take care of such case.
+
176 nix::Value &Type = selectAttr(State, V, State.sType);
+
177 if (checkField(State, Type, "name", "attrsOf")) {
+
178 nix::Value NestedTypes =
+
179 selectAttr(State, Type, State.symbols.create("nestedTypes"));
+
180 nix::Value ElemType =
+
181 selectAttr(State, NestedTypes, State.symbols.create("elemType"));
+
182
+
183 if (isTypeSubmodule(State, ElemType)) {
+
184 nix::Value ElemOptions = getSubOptions(State, ElemType);
+
185 return selectOptions(State, ElemOptions, ++Begin, End);
+
186 }
+
187 }
+
188 }
+
189
+
190 // Otherwise, simply select it.
+
191 nix::Value &Nested = selectAttr(State, V, *Begin);
+
192 return selectOptions(State, Nested, ++Begin, End);
+
193}
+
+ + +
Access EvalCache in nix::EvalState.
Definition ArrayRef.h:7
+
std::optional< std::string_view > getFieldString(nix::EvalState &State, nix::Value &V, std::string_view Field)
Definition Value.cpp:23
+
nix::Value & selectAttrPath(nix::EvalState &State, nix::Value &V, std::vector< nix::Symbol >::const_iterator Begin, std::vector< nix::Symbol >::const_iterator End)
Given an attrpath in nix::Value V, select it.
Definition Value.cpp:102
+
bool isOption(nix::EvalState &State, nix::Value &V)
Definition Value.cpp:46
+
bool checkField(nix::EvalState &State, nix::Value &V, std::string_view Field, std::string_view Pred)
Check if value V is an attrset, has the field, and equals to Pred.
Definition Value.cpp:36
+
bool checkType(nix::EvalState &State, nix::Value &V, std::string_view Pred)
Check if value is an attrset, and it's "_type" equals to Pred.
Definition Value.cpp:41
+
std::string attrPathStr(nix::EvalState &State, nix::Value &V, const std::string &AttrPath)
Definition Value.cpp:54
+
bool isDerivation(nix::EvalState &State, nix::Value &V)
Definition Value.cpp:50
+
nix::Value selectOptions(nix::EvalState &State, nix::Value &V, std::vector< nix::Symbol >::const_iterator Begin, std::vector< nix::Symbol >::const_iterator End)
Select the option declaration list, V, dive into "submodules".
Definition Value.cpp:158
+
std::vector< nix::Symbol > toSymbols(nix::SymbolTable &STable, const std::vector< std::string > &Names)
Transform a vector of string into a vector of nix symbols.
Definition Value.cpp:63
+
nix::Value & selectAttr(nix::EvalState &State, nix::Value &V, nix::Symbol Attr)
Select attribute Attr.
Definition Value.cpp:84
+
std::optional< nix::Value > getField(nix::EvalState &State, nix::Value &V, std::string_view Field)
Definition Value.cpp:10
+
+ + + + diff --git a/Value_8h.html b/Value_8h.html new file mode 100644 index 000000000..9d5ec2589 --- /dev/null +++ b/Value_8h.html @@ -0,0 +1,147 @@ + + + + + + + +nixd: Value.h File Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
Value.h File Reference
+
+
+
#include <nix/eval.hh>
+
+

Go to the source code of this file.

+ + + + + +

+Namespaces

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

+Functions

std::optional< nix::Value > nixt::getField (nix::EvalState &State, nix::Value &V, std::string_view Field)
 
std::optional< std::string_view > nixt::getFieldString (nix::EvalState &State, nix::Value &V, std::string_view Field)
 
bool nixt::checkField (nix::EvalState &State, nix::Value &V, std::string_view Field, std::string_view Pred)
 Check if value V is an attrset, has the field, and equals to Pred.
 
bool nixt::checkType (nix::EvalState &State, nix::Value &V, std::string_view Pred)
 Check if value is an attrset, and it's "_type" equals to Pred.
 
bool nixt::isOption (nix::EvalState &State, nix::Value &V)
 
bool nixt::isDerivation (nix::EvalState &State, nix::Value &V)
 
std::string nixt::attrPathStr (nix::EvalState &State, nix::Value &V, const std::string &AttrPath)
 
std::vector< nix::Symbol > nixt::toSymbols (nix::SymbolTable &STable, const std::vector< std::string > &Names)
 Transform a vector of string into a vector of nix symbols.
 
std::vector< nix::Symbol > nixt::toSymbols (nix::SymbolTable &STable, const std::vector< std::string_view > &Names)
 Transform a vector of string into a vector of nix symbols.
 
nix::Value & nixt::selectAttr (nix::EvalState &State, nix::Value &V, nix::Symbol Attr)
 Select attribute Attr.
 
nix::Value & nixt::selectOption (nix::EvalState &State, nix::Value &V, nix::Symbol Attr)
 
nix::Value & nixt::selectAttrPath (nix::EvalState &State, nix::Value &V, std::vector< nix::Symbol >::const_iterator Begin, std::vector< nix::Symbol >::const_iterator End)
 Given an attrpath in nix::Value V, select it.
 
nix::Value nixt::selectOptions (nix::EvalState &State, nix::Value &V, std::vector< nix::Symbol >::const_iterator Begin, std::vector< nix::Symbol >::const_iterator End)
 Select the option declaration list, V, dive into "submodules".
 
nix::Value nixt::selectOptions (nix::EvalState &State, nix::Value &V, const std::vector< nix::Symbol > &AttrPath)
 
nix::Value & nixt::selectSymbols (nix::EvalState &State, nix::Value &V, const std::vector< nix::Symbol > &AttrPath)
 Given an attrpath in nix::Value V, select it.
 
nix::Value & nixt::selectStrings (nix::EvalState &State, nix::Value &V, const std::vector< std::string > &AttrPath)
 Given an attrpath in nix::Value V, select it.
 
nix::Value & nixt::selectStringViews (nix::EvalState &State, nix::Value &V, const std::vector< std::string_view > &AttrPath)
 Given an attrpath in nix::Value V, select it.
 
+
+ + + + diff --git a/Value_8h_source.html b/Value_8h_source.html new file mode 100644 index 000000000..406fcbbf0 --- /dev/null +++ b/Value_8h_source.html @@ -0,0 +1,189 @@ + + + + + + + +nixd: Value.h Source File + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Value.h
+
+
+Go to the documentation of this file.
1#include <nix/eval.hh>
+
2
+
3namespace nixt {
+
4
+
5std::optional<nix::Value> getField(nix::EvalState &State, nix::Value &V,
+
6 std::string_view Field);
+
7std::optional<std::string_view>
+
8getFieldString(nix::EvalState &State, nix::Value &V, std::string_view Field);
+
9
+
10/// \brief Check if value \p V is an attrset, has the field, and equals to \p
+
11/// Pred
+
12bool checkField(nix::EvalState &State, nix::Value &V, std::string_view Field,
+
13 std::string_view Pred);
+
14
+
15/// \brief Check if value is an attrset, and it's "_type" equals to \p Pred
+
16bool checkType(nix::EvalState &State, nix::Value &V, std::string_view Pred);
+
17
+
18bool isOption(nix::EvalState &State, nix::Value &V);
+
19
+
20bool isDerivation(nix::EvalState &State, nix::Value &V);
+
21
+
22std::string attrPathStr(nix::EvalState &State, nix::Value &V,
+
23 const std::string &AttrPath);
+
24
+
25/// \brief Transform a vector of string into a vector of nix symbols.
+
26std::vector<nix::Symbol> toSymbols(nix::SymbolTable &STable,
+
27 const std::vector<std::string> &Names);
+
28
+
29/// \copydoc toSymbols
+
30std::vector<nix::Symbol> toSymbols(nix::SymbolTable &STable,
+
31 const std::vector<std::string_view> &Names);
+
32
+
33/// \brief Select attribute \p Attr
+
34nix::Value &selectAttr(nix::EvalState &State, nix::Value &V, nix::Symbol Attr);
+
35
+
36nix::Value &selectOption(nix::EvalState &State, nix::Value &V,
+
37 nix::Symbol Attr);
+
38
+
39/// \brief Given an attrpath in nix::Value \p V, select it
+
40nix::Value &selectAttrPath(nix::EvalState &State, nix::Value &V,
+
41 std::vector<nix::Symbol>::const_iterator Begin,
+
42 std::vector<nix::Symbol>::const_iterator End);
+
43
+
44/// \brief Select the option declaration list, \p V, dive into "submodules".
+
45nix::Value selectOptions(nix::EvalState &State, nix::Value &V,
+
46 std::vector<nix::Symbol>::const_iterator Begin,
+
47 std::vector<nix::Symbol>::const_iterator End);
+
48
+
+
49inline nix::Value selectOptions(nix::EvalState &State, nix::Value &V,
+
50 const std::vector<nix::Symbol> &AttrPath) {
+
51 return selectOptions(State, V, AttrPath.begin(), AttrPath.end());
+
52}
+
+
53
+
54/// \copydoc selectAttrPath
+
+
55inline nix::Value &selectSymbols(nix::EvalState &State, nix::Value &V,
+
56 const std::vector<nix::Symbol> &AttrPath) {
+
57 return selectAttrPath(State, V, AttrPath.begin(), AttrPath.end());
+
58}
+
+
59
+
60/// \copydoc selectAttrPath
+
+
61inline nix::Value &selectStrings(nix::EvalState &State, nix::Value &V,
+
62 const std::vector<std::string> &AttrPath) {
+
63 return selectSymbols(State, V, toSymbols(State.symbols, AttrPath));
+
64}
+
+
65
+
66/// \copydoc selectAttrPath
+
67inline nix::Value &
+
+
68selectStringViews(nix::EvalState &State, nix::Value &V,
+
69 const std::vector<std::string_view> &AttrPath) {
+
70 return selectSymbols(State, V, toSymbols(State.symbols, AttrPath));
+
71}
+
+
72
+
73} // namespace nixt
+
Access EvalCache in nix::EvalState.
Definition ArrayRef.h:7
+
nix::Value & selectSymbols(nix::EvalState &State, nix::Value &V, const std::vector< nix::Symbol > &AttrPath)
Given an attrpath in nix::Value V, select it.
Definition Value.h:55
+
std::optional< std::string_view > getFieldString(nix::EvalState &State, nix::Value &V, std::string_view Field)
Definition Value.cpp:23
+
nix::Value & selectAttrPath(nix::EvalState &State, nix::Value &V, std::vector< nix::Symbol >::const_iterator Begin, std::vector< nix::Symbol >::const_iterator End)
Given an attrpath in nix::Value V, select it.
Definition Value.cpp:102
+
bool isOption(nix::EvalState &State, nix::Value &V)
Definition Value.cpp:46
+
bool checkField(nix::EvalState &State, nix::Value &V, std::string_view Field, std::string_view Pred)
Check if value V is an attrset, has the field, and equals to Pred.
Definition Value.cpp:36
+
bool checkType(nix::EvalState &State, nix::Value &V, std::string_view Pred)
Check if value is an attrset, and it's "_type" equals to Pred.
Definition Value.cpp:41
+
std::string attrPathStr(nix::EvalState &State, nix::Value &V, const std::string &AttrPath)
Definition Value.cpp:54
+
nix::Value & selectOption(nix::EvalState &State, nix::Value &V, nix::Symbol Attr)
+
nix::Value & selectStrings(nix::EvalState &State, nix::Value &V, const std::vector< std::string > &AttrPath)
Given an attrpath in nix::Value V, select it.
Definition Value.h:61
+
bool isDerivation(nix::EvalState &State, nix::Value &V)
Definition Value.cpp:50
+
nix::Value selectOptions(nix::EvalState &State, nix::Value &V, std::vector< nix::Symbol >::const_iterator Begin, std::vector< nix::Symbol >::const_iterator End)
Select the option declaration list, V, dive into "submodules".
Definition Value.cpp:158
+
std::vector< nix::Symbol > toSymbols(nix::SymbolTable &STable, const std::vector< std::string > &Names)
Transform a vector of string into a vector of nix symbols.
Definition Value.cpp:63
+
nix::Value & selectAttr(nix::EvalState &State, nix::Value &V, nix::Symbol Attr)
Select attribute Attr.
Definition Value.cpp:84
+
std::optional< nix::Value > getField(nix::EvalState &State, nix::Value &V, std::string_view Field)
Definition Value.cpp:10
+
nix::Value & selectStringViews(nix::EvalState &State, nix::Value &V, const std::vector< std::string_view > &AttrPath)
Given an attrpath in nix::Value V, select it.
Definition Value.h:68
+
+ + + + diff --git a/VariableLookup_8cpp.html b/VariableLookup_8cpp.html new file mode 100644 index 000000000..5c7251199 --- /dev/null +++ b/VariableLookup_8cpp.html @@ -0,0 +1,93 @@ + + + + + + + +nixd: VariableLookup.cpp File Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
VariableLookup.cpp File Reference
+
+
+ +

Go to the source code of this file.

+
+ + + + diff --git a/VariableLookup_8cpp_source.html b/VariableLookup_8cpp_source.html new file mode 100644 index 000000000..93883ccf7 --- /dev/null +++ b/VariableLookup_8cpp_source.html @@ -0,0 +1,650 @@ + + + + + + + +nixd: VariableLookup.cpp Source File + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
VariableLookup.cpp
+
+
+Go to the documentation of this file.
+ + + +
5
+
6using namespace nixf;
+
7
+
8namespace {
+
9
+
10/// Builder a map of definitions. If there are something overlapped, maybe issue
+
11/// a diagnostic.
+
12class DefBuilder {
+ +
14
+
15public:
+
16 void addBuiltin(std::string Name) {
+
17 // Don't need to record def map for builtins.
+
18 auto _ = add(std::move(Name), nullptr, Definition::DS_Builtin);
+
19 }
+
20
+
21 [[nodiscard("Record ToDef Map!")]] std::shared_ptr<Definition>
+
22 add(std::string Name, const Node *Entry,
+ +
24 assert(!Def.contains(Name));
+
25 auto NewDef = std::make_shared<Definition>(Entry, Source);
+
26 Def.insert({std::move(Name), NewDef});
+
27 return NewDef;
+
28 }
+
29
+
30 EnvNode::DefMap finish() { return std::move(Def); }
+
31};
+
32
+
33} // namespace
+
34
+
+
35bool EnvNode::isLive() const {
+
36 for (const auto &[_, D] : Defs) {
+
37 if (!D->uses().empty())
+
38 return true;
+
39 }
+
40 return false;
+
41}
+
+
42
+
43void VariableLookupAnalysis::emitEnvLivenessWarning(
+
44 const std::shared_ptr<EnvNode> &NewEnv) {
+
45 for (const auto &[Name, Def] : NewEnv->defs()) {
+
46 // If the definition comes from lambda arg, omit the diagnostic
+
47 // because there is no elegant way to "fix" this trivially & keep
+
48 // the lambda signature.
+
49 if (Def->source() == Definition::DS_LambdaArg)
+
50 continue;
+
51 // Ignore builtins usage.
+
52 if (!Def->syntax())
+
53 continue;
+
54 if (Def->uses().empty()) {
+
55 Diagnostic::DiagnosticKind Kind = [&]() {
+
56 switch (Def->source()) {
+ +
58 return Diagnostic::DK_UnusedDefLet;
+ +
60 return Diagnostic::DK_UnusedDefLambdaNoArg_Formal;
+ +
62 return Diagnostic::DK_UnusedDefLambdaWithArg_Formal;
+ +
64 return Diagnostic::DK_UnusedDefLambdaWithArg_Arg;
+
65 default:
+
66 assert(false && "liveness diagnostic encountered an unknown source!");
+
67 __builtin_unreachable();
+
68 }
+
69 }();
+
70 Diagnostic &D = Diags.emplace_back(Kind, Def->syntax()->range());
+
71 D << Name;
+ +
73 }
+
74 }
+
75}
+
76
+
77void VariableLookupAnalysis::lookupVar(const ExprVar &Var,
+
78 const std::shared_ptr<EnvNode> &Env) {
+
79 const std::string &Name = Var.id().name();
+
80
+
81 bool EnclosedWith = false; // If there is a "With" enclosed this var name.
+
82 EnvNode *WithEnv = nullptr;
+
83 EnvNode *CurEnv = Env.get();
+
84 std::shared_ptr<Definition> Def;
+
85 for (; CurEnv; CurEnv = CurEnv->parent()) {
+
86 if (CurEnv->defs().contains(Name)) {
+
87 Def = CurEnv->defs().at(Name);
+
88 break;
+
89 }
+
90 // Find the most nested `with` expression, and set uses.
+
91 if (CurEnv->isWith() && !EnclosedWith) {
+
92 EnclosedWith = true;
+
93 WithEnv = CurEnv;
+
94 }
+
95 }
+
96
+
97 if (Def) {
+
98 Def->usedBy(Var);
+
99 Results.insert({&Var, LookupResult{LookupResultKind::Defined, Def}});
+
100 return;
+
101 }
+
102 if (EnclosedWith) {
+
103 Def = WithDefs.at(WithEnv->syntax());
+
104 Def->usedBy(Var);
+
105 Results.insert({&Var, LookupResult{LookupResultKind::FromWith, Def}});
+
106 return;
+
107 }
+
108
+
109 // Otherwise, this variable is undefined.
+
110 Results.insert({&Var, LookupResult{LookupResultKind::Undefined, nullptr}});
+
111 Diagnostic &Diag =
+
112 Diags.emplace_back(Diagnostic::DK_UndefinedVariable, Var.range());
+
113 Diag << Var.id().name();
+
114}
+
115
+
116void VariableLookupAnalysis::dfs(const ExprLambda &Lambda,
+
117 const std::shared_ptr<EnvNode> &Env) {
+
118 // Early exit for in-complete lambda.
+
119 if (!Lambda.body())
+
120 return;
+
121
+
122 // Create a new EnvNode, as lambdas may have formal & arg.
+
123 DefBuilder DBuilder;
+
124 assert(Lambda.arg());
+
125 const LambdaArg &Arg = *Lambda.arg();
+
126
+
127 // foo: body
+
128 // ^~~<------- add function argument.
+
129 if (Arg.id()) {
+
130 if (!Arg.formals()) {
+
131 ToDef.insert_or_assign(Arg.id(), DBuilder.add(Arg.id()->name(), Arg.id(),
+ +
133 // Function arg cannot duplicate to it's formal.
+
134 // If it this unluckily happens, we would like to skip this definition.
+
135 } else if (!Arg.formals()->dedup().contains(Arg.id()->name())) {
+
136 ToDef.insert_or_assign(Arg.id(),
+
137 DBuilder.add(Arg.id()->name(), Arg.id(),
+ +
139 }
+
140 }
+
141
+
142 // { foo, bar, ... } : body
+
143 // ^~~~~~~~~<-------------- add function formals.
+
144
+
145 // This section differentiates between formal parameters with an argument and
+
146 // without. Example:
+
147 //
+
148 // { foo }@arg : use arg
+
149 //
+
150 // In this case, the definition of `foo` is not used directly; however, it
+
151 // might be accessed via arg.foo. Therefore, the severity of an unused formal
+
152 // parameter is reduced in this scenario.
+
153 if (Arg.formals()) {
+
154 for (const auto &[Name, Formal] : Arg.formals()->dedup()) {
+ + + +
158 ToDef.insert_or_assign(Formal->id(),
+
159 DBuilder.add(Name, Formal->id(), Source));
+
160 }
+
161 }
+
162
+
163 auto NewEnv = std::make_shared<EnvNode>(Env, DBuilder.finish(), &Lambda);
+
164
+
165 if (Arg.formals()) {
+
166 for (const auto &Formal : Arg.formals()->members()) {
+
167 if (const Expr *Def = Formal->defaultExpr()) {
+
168 dfs(*Def, NewEnv);
+
169 }
+
170 }
+
171 }
+
172
+
173 dfs(*Lambda.body(), NewEnv);
+
174
+
175 emitEnvLivenessWarning(NewEnv);
+
176}
+
177
+
178void VariableLookupAnalysis::dfsDynamicAttrs(
+
179 const std::vector<Attribute> &DynamicAttrs,
+
180 const std::shared_ptr<EnvNode> &Env) {
+
181 for (const auto &Attr : DynamicAttrs) {
+
182 if (!Attr.value())
+
183 continue;
+
184 dfs(Attr.key(), Env);
+
185 dfs(*Attr.value(), Env);
+
186 }
+
187}
+
188
+
189std::shared_ptr<EnvNode> VariableLookupAnalysis::dfsAttrs(
+
190 const SemaAttrs &SA, const std::shared_ptr<EnvNode> &Env,
+
191 const Node *Syntax, Definition::DefinitionSource Source) {
+
192 if (SA.isRecursive()) {
+
193 // rec { }, or let ... in ...
+
194 DefBuilder DB;
+
195 // For each static names, create a name binding.
+
196 for (const auto &[Name, Attr] : SA.staticAttrs())
+
197 ToDef.insert_or_assign(&Attr.key(), DB.add(Name, &Attr.key(), Source));
+
198
+
199 auto NewEnv = std::make_shared<EnvNode>(Env, DB.finish(), Syntax);
+
200
+
201 for (const auto &[_, Attr] : SA.staticAttrs()) {
+
202 if (!Attr.value())
+
203 continue;
+
204 if (Attr.kind() == Attribute::AttributeKind::Plain ||
+ +
206 dfs(*Attr.value(), NewEnv);
+
207 } else {
+
208 assert(Attr.kind() == Attribute::AttributeKind::Inherit);
+
209 dfs(*Attr.value(), Env);
+
210 }
+
211 }
+
212
+
213 dfsDynamicAttrs(SA.dynamicAttrs(), NewEnv);
+
214 return NewEnv;
+
215 }
+
216
+
217 // Non-recursive. Dispatch nested node with old Env
+
218 for (const auto &[_, Attr] : SA.staticAttrs()) {
+
219 if (!Attr.value())
+
220 continue;
+
221 dfs(*Attr.value(), Env);
+
222 }
+
223
+
224 dfsDynamicAttrs(SA.dynamicAttrs(), Env);
+
225 return Env;
+
226};
+
227
+
228void VariableLookupAnalysis::dfs(const ExprAttrs &Attrs,
+
229 const std::shared_ptr<EnvNode> &Env) {
+
230 const SemaAttrs &SA = Attrs.sema();
+
231 std::shared_ptr<EnvNode> NewEnv =
+
232 dfsAttrs(SA, Env, &Attrs, Definition::DS_Rec);
+
233 if (NewEnv != Env) {
+
234 assert(Attrs.isRecursive() &&
+
235 "NewEnv must be created for recursive attrset");
+
236 if (!NewEnv->isLive()) {
+
237 Diagnostic &D = Diags.emplace_back(Diagnostic::DK_ExtraRecursive,
+
238 Attrs.rec()->range());
+
239 D.fix("remove `rec` keyword")
+
240 .edit(TextEdit::mkRemoval(Attrs.rec()->range()));
+ +
242 }
+
243 }
+
244}
+
245
+
246void VariableLookupAnalysis::dfs(const ExprLet &Let,
+
247 const std::shared_ptr<EnvNode> &Env) {
+
248
+
249 // Obtain the env object suitable for "in" expression.
+
250 auto GetLetEnv = [&Env, &Let, this]() -> std::shared_ptr<EnvNode> {
+
251 // This is an empty let ... in ... expr, definitely anti-pattern in
+
252 // nix language. We want to passthrough the env then.
+
253 if (!Let.attrs()) {
+
254 return Env;
+
255 }
+
256
+
257 // If there are some attributes actually, create a new env.
+
258 const SemaAttrs &SA = Let.attrs()->sema();
+
259 assert(SA.isRecursive() && "let ... in ... attrset must be recursive");
+
260 return dfsAttrs(SA, Env, &Let, Definition::DS_Let);
+
261 };
+
262
+
263 auto LetEnv = GetLetEnv();
+
264
+
265 if (Let.expr())
+
266 dfs(*Let.expr(), LetEnv);
+
267 emitEnvLivenessWarning(LetEnv);
+
268}
+
269
+
270void VariableLookupAnalysis::trivialDispatch(
+
271 const Node &Root, const std::shared_ptr<EnvNode> &Env) {
+
272 for (const Node *Ch : Root.children()) {
+
273 if (!Ch)
+
274 continue;
+
275 dfs(*Ch, Env);
+
276 }
+
277}
+
278
+
279void VariableLookupAnalysis::dfs(const ExprWith &With,
+
280 const std::shared_ptr<EnvNode> &Env) {
+
281 auto NewEnv = std::make_shared<EnvNode>(Env, EnvNode::DefMap{}, &With);
+
282 if (!WithDefs.contains(&With)) {
+
283 auto NewDef =
+
284 std::make_shared<Definition>(&With.kwWith(), Definition::DS_With);
+
285 ToDef.insert_or_assign(&With.kwWith(), NewDef);
+
286 WithDefs.insert_or_assign(&With, NewDef);
+
287 }
+
288
+
289 if (With.with())
+
290 dfs(*With.with(), Env);
+
291
+
292 if (With.expr())
+
293 dfs(*With.expr(), NewEnv);
+
294
+
295 if (WithDefs.at(&With)->uses().empty()) {
+
296 Diagnostic &D =
+
297 Diags.emplace_back(Diagnostic::DK_ExtraWith, With.kwWith().range());
+
298 Fix &F = D.fix("remove `with` expression")
+ +
300 if (With.tokSemi())
+ +
302 if (With.with())
+
303 F.edit(TextEdit::mkRemoval(With.with()->range()));
+
304 }
+
305}
+
306
+
307void VariableLookupAnalysis::dfs(const Node &Root,
+
308 const std::shared_ptr<EnvNode> &Env) {
+
309 Envs.insert({&Root, Env});
+
310 switch (Root.kind()) {
+
311 case Node::NK_ExprVar: {
+
312 const auto &Var = static_cast<const ExprVar &>(Root);
+
313 lookupVar(Var, Env);
+
314 break;
+
315 }
+
316 case Node::NK_ExprLambda: {
+
317 const auto &Lambda = static_cast<const ExprLambda &>(Root);
+
318 dfs(Lambda, Env);
+
319 break;
+
320 }
+
321 case Node::NK_ExprAttrs: {
+
322 const auto &Attrs = static_cast<const ExprAttrs &>(Root);
+
323 dfs(Attrs, Env);
+
324 break;
+
325 }
+
326 case Node::NK_ExprLet: {
+
327 const auto &Let = static_cast<const ExprLet &>(Root);
+
328 dfs(Let, Env);
+
329 break;
+
330 }
+
331 case Node::NK_ExprWith: {
+
332 const auto &With = static_cast<const ExprWith &>(Root);
+
333 dfs(With, Env);
+
334 break;
+
335 }
+
336 default:
+
337 trivialDispatch(Root, Env);
+
338 }
+
339}
+
340
+
+ +
342 // Create a basic env
+
343 DefBuilder DB;
+
344 std::vector<std::string> Builtins{
+
345 "__add",
+
346 "__fetchurl",
+
347 "__isFloat",
+
348 "__seq",
+
349 "break",
+
350 "__addDrvOutputDependencies",
+
351 "__filter",
+
352 "__isFunction",
+
353 "__sort",
+
354 "builtins",
+
355 "__addErrorContext",
+
356 "__filterSource",
+
357 "__isInt",
+
358 "__split",
+
359 "derivation",
+
360 "__all",
+
361 "__findFile",
+
362 "__isList",
+
363 "__splitVersion",
+
364 "derivationStrict",
+
365 "__any",
+
366 "__flakeRefToString",
+
367 "__isPath",
+
368 "__storeDir",
+
369 "dirOf",
+
370 "__appendContext",
+
371 "__floor",
+
372 "__isString",
+
373 "__storePath",
+
374 "false",
+
375 "__attrNames",
+
376 "__foldl'",
+
377 "__langVersion",
+
378 "__stringLength",
+
379 "fetchGit",
+
380 "__attrValues",
+
381 "__fromJSON",
+
382 "__length",
+
383 "__sub",
+
384 "fetchMercurial",
+
385 "__bitAnd",
+
386 "__functionArgs",
+
387 "__lessThan",
+
388 "__substring",
+
389 "fetchTarball",
+
390 "__bitOr",
+
391 "__genList",
+
392 "__listToAttrs",
+
393 "__tail",
+
394 "fetchTree",
+
395 "__bitXor",
+
396 "__genericClosure",
+
397 "__mapAttrs",
+
398 "__toFile",
+
399 "fromTOML",
+
400 "__catAttrs",
+
401 "__getAttr",
+
402 "__match",
+
403 "__toJSON",
+
404 "import",
+
405 "__ceil",
+
406 "__getContext",
+
407 "__mul",
+
408 "__toPath",
+
409 "isNull",
+
410 "__compareVersions",
+
411 "__getEnv",
+
412 "__nixPath",
+
413 "__toXML",
+
414 "map",
+
415 "__concatLists",
+
416 "__getFlake",
+
417 "__nixVersion",
+
418 "__trace",
+
419 "null",
+
420 "__concatMap",
+
421 "__groupBy",
+
422 "__parseDrvName",
+
423 "__traceVerbose",
+
424 "placeholder",
+
425 "__concatStringsSep",
+
426 "__hasAttr",
+
427 "__parseFlakeRef",
+
428 "__tryEval",
+
429 "removeAttrs",
+
430 "__convertHash",
+
431 "__hasContext",
+
432 "__partition",
+
433 "__typeOf",
+
434 "scopedImport",
+
435 "__currentSystem",
+
436 "__hashFile",
+
437 "__path",
+
438 "__unsafeDiscardOutputDependency",
+
439 "throw",
+
440 "__currentTime",
+
441 "__hashString",
+
442 "__pathExists",
+
443 "__unsafeDiscardStringContext",
+
444 "toString",
+
445 "__deepSeq",
+
446 "__head",
+
447 "__readDir",
+
448 "__unsafeGetAttrPos",
+
449 "true",
+
450 "__div",
+
451 "__intersectAttrs",
+
452 "__readFile",
+
453 "__zipAttrsWith",
+
454 "__elem",
+
455 "__isAttrs",
+
456 "__readFileType",
+
457 "abort",
+
458 "__elemAt",
+
459 "__isBool",
+
460 "__replaceStrings",
+
461 "baseNameOf",
+
462 };
+
463
+
464 for (const auto &Builtin : Builtins)
+
465 DB.addBuiltin(Builtin);
+
466
+
467 auto Env = std::make_shared<EnvNode>(nullptr, DB.finish(), nullptr);
+
468
+
469 dfs(Root, Env);
+
470}
+
+
471
+
+ +
473 : Diags(Diags) {}
+
+
474
+
+ +
476 if (!Envs.contains(N))
+
477 return nullptr;
+
478 return Envs.at(N).get();
+
479}
+
+ + + +
Lookup variable names, from it's parent scope.
+
@ InheritFrom
inherit (expr) a b c
+ + +
DefinitionSource
"Source" information so we can know where the def comes from.
+
@ DS_Rec
From recursive attribute set. e.g. rec { }.
+
@ DS_LambdaArg
From ambda arg e.g. a: a + 1.
+
@ DS_LambdaNoArg_Formal
From lambda (noarg) formal, e.g. { a }: a + 1.
+
@ DS_Builtin
Builtin names.
+
@ DS_LambdaWithArg_Arg
From lambda (with @arg) arg, e.g. a in { foo }@a: foo + 1
+
@ DS_With
From with <expr>;.
+
@ DS_LambdaWithArg_Formal
From lambda (with @arg) formal, e.g. foo in { foo }@a: foo + 1
+
@ DS_Let
From let ... in ...
+
Fix & fix(std::string Message)
Definition Diagnostic.h:203
+
A set of variable definitions, which may inherit parent environment.
+
bool isWith() const
+
const Node * syntax() const
Where this node comes from.
+
bool isLive() const
+
std::map< std::string, std::shared_ptr< Definition > > DefMap
+
EnvNode * parent() const
+
const DefMap & defs() const
+ +
bool isRecursive() const
Definition Attrs.h:282
+
const SemaAttrs & sema() const
Definition Attrs.h:284
+
const Misc * rec() const
Definition Attrs.h:280
+ +
Expr * body() const
Definition Lambda.h:119
+
LambdaArg * arg() const
Definition Lambda.h:118
+ +
const ExprAttrs * attrs() const
Definition Expr.h:147
+
const Expr * expr() const
Definition Expr.h:148
+ +
const Identifier & id() const
Definition Simple.h:200
+ +
const Misc & kwWith() const
Definition Expr.h:170
+
Expr * with() const
Definition Expr.h:172
+
const Misc * tokSemi() const
Definition Expr.h:171
+
Expr * expr() const
Definition Expr.h:173
+ + +
Fix & edit(TextEdit Edit)
Definition Diagnostic.h:65
+ +
Identifier * id() const
Definition Lambda.h:37
+
Expr * defaultExpr() const
Definition Lambda.h:41
+
const std::map< std::string, const Formal * > & dedup()
Deduplicated formals.
Definition Lambda.h:74
+
const std::string & name() const
Definition Basic.h:120
+ +
Formals * formals() const
Definition Lambda.h:101
+
Identifier * id() const
Definition Lambda.h:99
+ +
NodeKind kind() const
Definition Basic.h:34
+
LexerCursorRange range() const
Definition Basic.h:35
+
void tag(DiagnosticTag Tag)
Definition Diagnostic.h:96
+
Attribute set after deduplication.
Definition Attrs.h:231
+
bool isRecursive() const
If the attribute set is rec.
Definition Attrs.h:264
+
const std::vector< Attribute > & dynamicAttrs() const
Dynamic attributes, require evaluation to get the key.
Definition Attrs.h:259
+
static TextEdit mkRemoval(LexerCursorRange RemovingRange)
Definition Diagnostic.h:39
+
const EnvNode * env(const Node *N) const
+ + + +
void runOnAST(const Node &Root)
Perform variable lookup analysis (def-use) on AST.
+
VariableLookupAnalysis(std::vector< Diagnostic > &Diags)
+ + + + + +
+ + + + diff --git a/VariableLookup_8h.html b/VariableLookup_8h.html new file mode 100644 index 000000000..34bc9bc54 --- /dev/null +++ b/VariableLookup_8h.html @@ -0,0 +1,129 @@ + + + + + + + +nixd: VariableLookup.h File Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
VariableLookup.h File Reference
+
+
+ +

Lookup variable names, from it's parent scope. +More...

+
#include "nixf/Basic/Diagnostic.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 <map>
+#include <memory>
+#include <string>
+#include <vector>
+
+

Go to the source code of this file.

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

+Classes

class  nixf::Definition
 Represents a definition. More...
 
class  nixf::EnvNode
 A set of variable definitions, which may inherit parent environment. More...
 
class  nixf::VariableLookupAnalysis
 
struct  nixf::VariableLookupAnalysis::LookupResult
 
+ + + +

+Namespaces

namespace  nixf
 
+

Detailed Description

+

Lookup variable names, from it's parent scope.

+

This file declares a variable-lookup analysis on AST. We do variable lookup for liveness checking, and emit diagnostics like "unused with", or "undefined variable". The implementation aims to be consistent with C++ nix (NixOS/nix).

+ +

Definition in file VariableLookup.h.

+
+ + + + diff --git a/VariableLookup_8h_source.html b/VariableLookup_8h_source.html new file mode 100644 index 000000000..2df81aaaa --- /dev/null +++ b/VariableLookup_8h_source.html @@ -0,0 +1,375 @@ + + + + + + + +nixd: VariableLookup.h Source File + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
VariableLookup.h
+
+
+Go to the documentation of this file.
1/// \file
+
2/// \brief Lookup variable names, from it's parent scope.
+
3///
+
4/// This file declares a variable-lookup analysis on AST.
+
5/// We do variable lookup for liveness checking, and emit diagnostics
+
6/// like "unused with", or "undefined variable".
+
7/// The implementation aims to be consistent with C++ nix (NixOS/nix).
+
8
+
9#pragma once
+
10
+ + + + + + +
17
+
18#include <map>
+
19#include <memory>
+
20#include <string>
+
21#include <vector>
+
22
+
23namespace nixf {
+
24
+
25/// \brief Represents a definition
+
+ +
27public:
+
28 /// \brief "Source" information so we can know where the def comes from.
+
+ +
30 /// \brief From with <expr>;
+ +
32
+
33 /// \brief From let ... in ...
+ +
35
+
36 /// \brief From ambda arg e.g. a: a + 1
+ +
38
+
39 /// \brief From lambda (noarg) formal, e.g. { a }: a + 1
+ +
41
+
42 /// \brief From lambda (with `@arg`) `arg`,
+
43 /// e.g. `a` in `{ foo }@a: foo + 1`
+ +
45
+
46 /// \brief From lambda (with `@arg`) formal,
+
47 /// e.g. `foo` in `{ foo }@a: foo + 1`
+ +
49
+
50 /// \brief From recursive attribute set. e.g. rec { }
+ +
52
+
53 /// \brief Builtin names.
+ +
55 };
+
+
56
+
57private:
+
58 std::vector<const ExprVar *> Uses;
+
59 const Node *Syntax;
+
60 DefinitionSource Source;
+
61
+
62public:
+
+
63 Definition(const Node *Syntax, DefinitionSource Source)
+
64 : Syntax(Syntax), Source(Source) {}
+
+
+
65 Definition(std::vector<const ExprVar *> Uses, const Node *Syntax,
+
66 DefinitionSource Source)
+
67 : Uses(std::move(Uses)), Syntax(Syntax), Source(Source) {}
+
+
68
+
69 [[nodiscard]] const Node *syntax() const { return Syntax; }
+
70
+
+
71 [[nodiscard]] const std::vector<const ExprVar *> &uses() const {
+
72 return Uses;
+
73 }
+
+
74
+
75 [[nodiscard]] DefinitionSource source() const { return Source; }
+
76
+
77 void usedBy(const ExprVar &User) { Uses.emplace_back(&User); }
+
78
+
79 [[nodiscard]] bool isBuiltin() const { return Source == DS_Builtin; }
+
80};
+
+
81
+
82/// \brief A set of variable definitions, which may inherit parent environment.
+
+
83class EnvNode {
+
84public:
+
85 using DefMap = std::map<std::string, std::shared_ptr<Definition>>;
+
86
+
87private:
+
88 const std::shared_ptr<EnvNode> Parent; // Points to the parent node.
+
89
+
90 DefMap Defs; // Definitions.
+
91
+
92 const Node *Syntax;
+
93
+
94public:
+
+
95 EnvNode(std::shared_ptr<EnvNode> Parent, DefMap Defs, const Node *Syntax)
+
96 : Parent(std::move(Parent)), Defs(std::move(Defs)), Syntax(Syntax) {}
+
+
97
+
98 [[nodiscard]] EnvNode *parent() const { return Parent.get(); }
+
99
+
100 /// \brief Where this node comes from.
+
101 [[nodiscard]] const Node *syntax() const { return Syntax; }
+
102
+
+
103 [[nodiscard]] bool isWith() const {
+
104 return Syntax && Syntax->kind() == Node::NK_ExprWith;
+
105 }
+
+
106
+
107 [[nodiscard]] const DefMap &defs() const { return Defs; }
+
108
+
109 [[nodiscard]] bool isLive() const;
+
110};
+
+
111
+
+ +
113public:
+
+
114 enum class LookupResultKind {
+
115 Undefined,
+
116 FromWith,
+
117 Defined,
+
118 NoSuchVar,
+
119 };
+
+
120
+
+ + +
123 std::shared_ptr<const Definition> Def;
+
124 };
+
+
125
+
126 using ToDefMap = std::map<const Node *, std::shared_ptr<Definition>>;
+
127 using EnvMap = std::map<const Node *, std::shared_ptr<EnvNode>>;
+
128
+
129private:
+
130 std::vector<Diagnostic> &Diags;
+
131
+
132 std::map<const Node *, std::shared_ptr<Definition>>
+
133 WithDefs; // record with ... ; users.
+
134
+
135 ToDefMap ToDef;
+
136
+
137 // Record the environment so that we can know which names are available after
+
138 // name lookup, for later references like code completions.
+
139 EnvMap Envs;
+
140
+
141 void lookupVar(const ExprVar &Var, const std::shared_ptr<EnvNode> &Env);
+
142
+
143 std::shared_ptr<EnvNode> dfsAttrs(const SemaAttrs &SA,
+
144 const std::shared_ptr<EnvNode> &Env,
+
145 const Node *Syntax,
+ +
147
+
148 void emitEnvLivenessWarning(const std::shared_ptr<EnvNode> &NewEnv);
+
149
+
150 void dfsDynamicAttrs(const std::vector<Attribute> &DynamicAttrs,
+
151 const std::shared_ptr<EnvNode> &Env);
+
152
+
153 // "dfs" is an abbreviation of "Deep-First-Search".
+
154 void dfs(const ExprLambda &Lambda, const std::shared_ptr<EnvNode> &Env);
+
155 void dfs(const ExprAttrs &Attrs, const std::shared_ptr<EnvNode> &Env);
+
156 void dfs(const ExprLet &Let, const std::shared_ptr<EnvNode> &Env);
+
157 void dfs(const ExprWith &With, const std::shared_ptr<EnvNode> &Env);
+
158
+
159 void dfs(const Node &Root, const std::shared_ptr<EnvNode> &Env);
+
160
+
161 void trivialDispatch(const Node &Root, const std::shared_ptr<EnvNode> &Env);
+
162
+
163 std::map<const ExprVar *, LookupResult> Results;
+
164
+
165public:
+
166 VariableLookupAnalysis(std::vector<Diagnostic> &Diags);
+
167
+
168 /// \brief Perform variable lookup analysis (def-use) on AST.
+
169 /// \note This method should be invoked after any other method called.
+
170 /// \note The result remains immutable thus it can be shared among threads.
+
171 void runOnAST(const Node &Root);
+
172
+
173 /// \brief Query the which name/with binds to specific varaible.
+
+
174 [[nodiscard]] LookupResult query(const ExprVar &Var) const {
+
175 if (!Results.contains(&Var))
+ +
177 return Results.at(&Var);
+
178 }
+
+
179
+
180 /// \brief Get definition record for some name.
+
181 ///
+
182 /// For some cases, we need to get "definition" record to find all references
+
183 /// to this definition, on AST.
+
184 ///
+
185 /// Thus we need to store AST -> Definition
+
186 /// There are many pointers on AST, the convention is:
+
187 ///
+
188 /// 1. attrname "key" syntax is recorded.
+
189 // For static attrs, they are Node::NK_AttrName.
+
190 /// 2. "with" keyword is recorded.
+
191 /// 3. Lambda arguments, record its identifier.
+
+
192 [[nodiscard]] const Definition *toDef(const Node &N) const {
+
193 if (ToDef.contains(&N))
+
194 return ToDef.at(&N).get();
+
195 return nullptr;
+
196 }
+
+
197
+
198 const EnvNode *env(const Node *N) const;
+
199};
+
+
200
+
201} // namespace nixf
+ + + + + + +
Represents a definition.
+
void usedBy(const ExprVar &User)
+
Definition(const Node *Syntax, DefinitionSource Source)
+
const Node * syntax() const
+
bool isBuiltin() const
+
Definition(std::vector< const ExprVar * > Uses, const Node *Syntax, DefinitionSource Source)
+
DefinitionSource source() const
+
const std::vector< const ExprVar * > & uses() const
+
DefinitionSource
"Source" information so we can know where the def comes from.
+
@ DS_Rec
From recursive attribute set. e.g. rec { }.
+
@ DS_LambdaArg
From ambda arg e.g. a: a + 1.
+
@ DS_LambdaNoArg_Formal
From lambda (noarg) formal, e.g. { a }: a + 1.
+
@ DS_Builtin
Builtin names.
+
@ DS_LambdaWithArg_Arg
From lambda (with @arg) arg, e.g. a in { foo }@a: foo + 1
+
@ DS_With
From with <expr>;.
+
@ DS_LambdaWithArg_Formal
From lambda (with @arg) formal, e.g. foo in { foo }@a: foo + 1
+
@ DS_Let
From let ... in ...
+
A set of variable definitions, which may inherit parent environment.
+
bool isWith() const
+
const Node * syntax() const
Where this node comes from.
+
bool isLive() const
+
std::map< std::string, std::shared_ptr< Definition > > DefMap
+
EnvNode(std::shared_ptr< EnvNode > Parent, DefMap Defs, const Node *Syntax)
+
EnvNode * parent() const
+
const DefMap & defs() const
+ + + + + + +
NodeKind kind() const
Definition Basic.h:34
+
Attribute set after deduplication.
Definition Attrs.h:231
+ +
const EnvNode * env(const Node *N) const
+ + + + + +
std::map< const Node *, std::shared_ptr< Definition > > ToDefMap
+
const Definition * toDef(const Node &N) const
Get definition record for some name.
+
std::map< const Node *, std::shared_ptr< EnvNode > > EnvMap
+
void runOnAST(const Node &Root)
Perform variable lookup analysis (def-use) on AST.
+
LookupResult query(const ExprVar &Var) const
Query the which name/with binds to specific varaible.
+
VariableLookupAnalysis(std::vector< Diagnostic > &Diags)
+ + + +
std::shared_ptr< const Definition > Def
+
+ + + + diff --git a/Visitor_8h.html b/Visitor_8h.html new file mode 100644 index 000000000..33b07ae40 --- /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 EvalCache 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..9e0e9e2a5 --- /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 EvalCache 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..422d18032 --- /dev/null +++ b/annotated.html @@ -0,0 +1,343 @@ + + + + + + + +nixd: Class List + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Class List
+
+
+
Here are the classes, structs, unions and interfaces with brief descriptions:
+
[detail level 1234]
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
 Ndiagnostic
 Nllvm
 NlspserverWhether current platform treats paths case insensitively
 Nnixd
 Nnixf
 NnixtAccess EvalCache 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/classdiagnostic_1_1Diagnostic-members.html b/classdiagnostic_1_1Diagnostic-members.html new file mode 100644 index 000000000..35c1b5309 --- /dev/null +++ b/classdiagnostic_1_1Diagnostic-members.html @@ -0,0 +1,95 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
diagnostic.Diagnostic Member List
+
+
+ +

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

+ + + + + + +
cnamediagnostic.Diagnosticstatic
diagnosticsdiagnostic.Diagnosticstatic
messagediagnostic.Diagnosticstatic
severitydiagnostic.Diagnosticstatic
snamediagnostic.Diagnosticstatic
+ + + + diff --git a/classdiagnostic_1_1Diagnostic.html b/classdiagnostic_1_1Diagnostic.html new file mode 100644 index 000000000..ad8b860e6 --- /dev/null +++ b/classdiagnostic_1_1Diagnostic.html @@ -0,0 +1,241 @@ + + + + + + + +nixd: diagnostic.Diagnostic Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
diagnostic.Diagnostic Class Reference
+
+
+
+Inheritance diagram for diagnostic.Diagnostic:
+
+
+
[legend]
+
+Collaboration diagram for diagnostic.Diagnostic:
+
+
+
[legend]
+ + + + + + + + + + + + +

+Static Public Attributes

str sname
 
str cname
 
Literal severity ["Error", "Warning", "Fatal", "Hint"]
 
str message
 
list diagnostics
 
+

Detailed Description

+
+

Definition at line 4 of file diagnostic.py.

+

Member Data Documentation

+ +

◆ cname

+ +
+
+ + + + + +
+ + + + +
str diagnostic.Diagnostic.cname
+
+static
+
+ +

Definition at line 8 of file diagnostic.py.

+ +
+
+ +

◆ diagnostics

+ +
+
+ + + + + +
+ + + + +
list diagnostic.Diagnostic.diagnostics
+
+static
+
+ +

Definition at line 17 of file diagnostic.py.

+ +
+
+ +

◆ message

+ +
+
+ + + + + +
+ + + + +
str diagnostic.Diagnostic.message
+
+static
+
+ +

Definition at line 13 of file diagnostic.py.

+ +
+
+ +

◆ severity

+ +
+
+ + + + + +
+ + + + +
Literal diagnostic.Diagnostic.severity ["Error", "Warning", "Fatal", "Hint"]
+
+static
+
+ +

Definition at line 11 of file diagnostic.py.

+ +
+
+ +

◆ sname

+ +
+
+ + + + + +
+ + + + +
str diagnostic.Diagnostic.sname
+
+static
+
+ +

Definition at line 5 of file diagnostic.py.

+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/classdiagnostic_1_1Diagnostic__coll__graph.map b/classdiagnostic_1_1Diagnostic__coll__graph.map new file mode 100644 index 000000000..47db39d53 --- /dev/null +++ b/classdiagnostic_1_1Diagnostic__coll__graph.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/classdiagnostic_1_1Diagnostic__coll__graph.md5 b/classdiagnostic_1_1Diagnostic__coll__graph.md5 new file mode 100644 index 000000000..1e165873f --- /dev/null +++ b/classdiagnostic_1_1Diagnostic__coll__graph.md5 @@ -0,0 +1 @@ +37e3bce75bd5d8dd2d471cedcafc9b96 \ No newline at end of file diff --git a/classdiagnostic_1_1Diagnostic__coll__graph.svg b/classdiagnostic_1_1Diagnostic__coll__graph.svg new file mode 100644 index 000000000..876d862da --- /dev/null +++ b/classdiagnostic_1_1Diagnostic__coll__graph.svg @@ -0,0 +1,58 @@ + + + + + + +diagnostic.Diagnostic + + +Node1 + + +diagnostic.Diagnostic + + + + + +Node2 + + +TypedDict + + + + + +Node2->Node1 + + + + + + + + +Node3 + + +Literal + + + + + +Node3->Node1 + + + + + + severity + + + diff --git a/classdiagnostic_1_1Diagnostic__inherit__graph.map b/classdiagnostic_1_1Diagnostic__inherit__graph.map new file mode 100644 index 000000000..2a1e4da43 --- /dev/null +++ b/classdiagnostic_1_1Diagnostic__inherit__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/classdiagnostic_1_1Diagnostic__inherit__graph.md5 b/classdiagnostic_1_1Diagnostic__inherit__graph.md5 new file mode 100644 index 000000000..93de35477 --- /dev/null +++ b/classdiagnostic_1_1Diagnostic__inherit__graph.md5 @@ -0,0 +1 @@ +890934e70bbb510145dc837a5bba9623 \ No newline at end of file diff --git a/classdiagnostic_1_1Diagnostic__inherit__graph.svg b/classdiagnostic_1_1Diagnostic__inherit__graph.svg new file mode 100644 index 000000000..3a3c32d7c --- /dev/null +++ b/classdiagnostic_1_1Diagnostic__inherit__graph.svg @@ -0,0 +1,39 @@ + + + + + + +diagnostic.Diagnostic + + +Node1 + + +diagnostic.Diagnostic + + + + + +Node2 + + +TypedDict + + + + + +Node2->Node1 + + + + + + + + diff --git a/classes.html b/classes.html new file mode 100644 index 000000000..2ed3afd65 --- /dev/null +++ b/classes.html @@ -0,0 +1,149 @@ + + + + + + + +nixd: Class Index + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Class Index
+
+
+
A | B | C | D | E | F | H | I | J | K | L | M | N | O | P | R | S | T | U | V | W
+
+
+
A
+
ApplyWorkspaceEditParams (lspserver)
ApplyWorkspaceEditResponse (lspserver)
ArrayRef (nixt)
ASTHeader (nixt)
ASTNode (lspserver)
ASTParams (lspserver)
Attribute (nixf)
AttrName (nixf)
AttrPath (nixf)
AttrPathCompleteParams (nixd)
AttrPathInfoResponse (nixd)
AttrSetClient (nixd)
AttrSetClientProc (nixd)
AttrSetProvider (nixd)
AutoCloseFD (nixd::util)
AutoRemoveShm (nixd::util)
+
+
B
+
Binding (nixf)
Binds (nixf)
+
+
C
+
CallHierarchyIncomingCall (lspserver)
CallHierarchyIncomingCallsParams (lspserver)
CallHierarchyItem (lspserver)
CallHierarchyOutgoingCall (lspserver)
CallHierarchyOutgoingCallsParams (lspserver)
CallHierarchyPrepareParams (lspserver)
CannotFindVarException (nixd)
ChangeAnnotation (lspserver)
ClangdCompileCommand (lspserver)
ClientCapabilities (lspserver)
CodeAction (lspserver)
CodeActionContext (lspserver)
CodeActionParams (lspserver)
CodeDescription (lspserver)
Command (lspserver)
CompletionContext (lspserver)
CompletionItem (lspserver)
CompletionList (lspserver)
CompletionParams (lspserver)
Configuration (nixd)
ConfigurationItem (lspserver)
ConfigurationParams (lspserver)
ConfigurationSettings (lspserver)
Controller (nixd)
+
+
D
+
Definition (nixf)
DeserializeContext (nixt)
Diagnostic (diagnostic)
Diagnostic (lspserver)
Configuration::Diagnostic (nixd)
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)
Dot (nixf)
DraftStore::Draft (lspserver)
DraftStore (lspserver)
DynamicNameException (nixd::idioms)
+
+
E
+
EnvNode (nixf)
EvalCacheF (nixt::detail)
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)
ExprSPath (nixf)
ExprString (nixf)
ExprUnaryOp (nixf)
ExprValueParams (nixd::rpc)
ExprValueResponse (nixd::rpc)
ExprVar (nixf)
ExprWith (nixf)
+
+
F
+
RB::F (nixt::detail)
FileEvent (lspserver)
FileStatus (lspserver)
Fix (nixf)
FoldingRange (lspserver)
FoldingRangeParams (lspserver)
Formal (nixf)
Formals (nixf)
format_provider< lspserver::Position > (llvm)
Configuration::Formatting (nixd)
+
+
H
+
HandlerRegistry (lspserver)
HookExprAssert (nixt)
HookExprAttrs (nixt)
HookExprCall (nixt)
HookExprConcatStrings (nixt)
HookExprFloat (nixt)
HookExprIf (nixt)
HookExprInt (nixt)
HookExprLambda (nixt)
HookExprLet (nixt)
HookExprList (nixt)
HookExprOpAnd (nixt)
HookExprOpConcatLists (nixt)
HookExprOpEq (nixt)
HookExprOpHasAttr (nixt)
HookExprOpImpl (nixt)
HookExprOpNEq (nixt)
HookExprOpNot (nixt)
HookExprOpOr (nixt)
HookExprOpUpdate (nixt)
HookExprPath (nixt)
HookExprPos (nixt)
HookExprSelect (nixt)
HookExprString (nixt)
HookExprVar (nixt)
HookExprWith (nixt)
Hover (lspserver)
+
+
I
+
Identifier (nixf)
IdiomException (nixd::idioms)
IdiomSelectorException (nixd::idioms)
InactiveRegionsParams (lspserver)
InboundPort (lspserver)
Inherit (nixf)
InitializationOptions (lspserver)
InitializeParams (lspserver)
InlayHint (lspserver)
InlayHintsParams (lspserver)
InterpolablePart (nixf)
InterpolatedParts (nixf)
Interpolation (nixf)
+
+
J
+
JSONParseException (nixd)
JSONSchemaException (nixd)
+
+
K
+
Key (lspserver)
+
+
L
+
LambdaArg (nixf)
Lexer (nixf)
LexerCursor (nixf)
LexerCursorRange (nixf)
LLVMErrorException (nixd)
Location (lspserver)
Logger (lspserver)
LoggingSession (lspserver)
VariableLookupAnalysis::LookupResult (nixf)
LSPDiagnosticCompare (lspserver)
LSPError (lspserver)
LSPServer (lspserver)
+
+
M
+
MarkupContent (lspserver)
MessageHandler (lspserver)
Misc (nixf)
+
+
N
+
Configuration::NixpkgsProvider (nixd)
NixTU (nixd)
Node (nixf)
NoLocationForBuiltinVariable (nixd::idioms)
NoParams (lspserver)
NoSuchVarException (nixd::idioms)
NotAnIdiomException (nixd::idioms)
Note (nixf)
NotVariableSelect (nixd::idioms)
+
+
O
+
Op (nixf)
OptionDescription (nixd)
OptionField (nixd)
Configuration::OptionProvider (nixd)
OptionType (nixd)
OutboundPort (lspserver)
OwnedEvalClient (nixd)
OwnedRegion (nixd::util)
+
+
P
+
PackageDescription (nixd)
ParameterInformation (lspserver)
ParentMapAnalysis (nixf)
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)
StreamProc (nixd)
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
+
UndefinedVarException (nixd::idioms)
URI (lspserver)
URIForFile (lspserver)
URIScheme (lspserver)
+
+
V
+
ValueMeta (nixd)
VariableLookupAnalysis (nixf)
VersionedTextDocumentIdentifier (lspserver)
VLAException (nixd::idioms)
+
+
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..d86fea830 --- /dev/null +++ b/classlspserver_1_1DraftStore.html @@ -0,0 +1,308 @@ + + + + + + + +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_tdecodeVersion (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, lspserver::fromJSON(), 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, and lspserver::fromJSON().

+ +
+
+ +

◆ decodeVersion()

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

Definition at line 61 of file DraftStore.cpp.

+ +

References lspserver::elog(), and lspserver::fromJSON().

+ +
+
+ +

◆ 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.

+ +

References lspserver::fromJSON().

+ +
+
+ +

◆ 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.

+ +

References lspserver::fromJSON().

+ +
+
+ +

◆ 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, and lspserver::fromJSON().

+ +
+
+ +

◆ removeDraft()

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

Remove the draft from the store.

+ +

Definition at line 99 of file DraftStore.cpp.

+ +

References lspserver::File, and lspserver::fromJSON().

+ +
+
+
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..64ece1180 --- /dev/null +++ b/classlspserver_1_1Event.html @@ -0,0 +1,239 @@ + + + + + + + +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.

+ +

References lspserver::fromJSON().

+ +
+
+

Member Function Documentation

+ +

◆ broadcast()

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

Definition at line 69 of file Function.h.

+ +

References lspserver::fromJSON().

+ +
+
+ +

◆ observe()

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

Definition at line 61 of file Function.h.

+ +

References lspserver::fromJSON().

+ +
+
+
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..2e002dbcd --- /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..a1d49ed21 --- /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 &Handler)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..5e4d057a1 --- /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 &Handler)
 
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 & Handler )
+
+

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 104 of file Connection.cpp.

+ +

References lspserver::decodeError(), lspserver::elog(), lspserver::fromJSON(), lspserver::Method, and lspserver::Object.

+ +

Referenced by loop().

+ +
+
+ +

◆ loop()

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

Definition at line 255 of file Connection.cpp.

+ +

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

+ +
+
+ +

◆ readDelimitedMessage()

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

Definition at line 216 of file Connection.cpp.

+ +

References lspserver::fromJSON(), 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 242 of file Connection.cpp.

+ +

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

+ +

Referenced by loop().

+ +
+
+ +

◆ readStandardMessage()

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

Definition at line 181 of file Connection.cpp.

+ +

References lspserver::elog(), lspserver::fromJSON(), 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..f155f158b --- /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..60d051606 --- /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, lspserver::fromJSON(), 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..aabbd9ea1 --- /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..aabbd9ea1 --- /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..b6aee852b --- /dev/null +++ b/classlspserver_1_1LSPServer.html @@ -0,0 +1,331 @@ + + + + + + + +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::AttrSetClientProc::~AttrSetClientProc(), and nixd::OwnedEvalClient::~OwnedEvalClient().

+ +
+
+ +

◆ run()

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

◆ switchStreamStyle()

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

Definition at line 94 of file LSPServer.h.

+ +

References lspserver::fromJSON().

+ +
+
+

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..dc099b820 --- /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..c6c8bcaf8 --- /dev/null +++ b/classlspserver_1_1LSPServer__inherit__graph.map @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + diff --git a/classlspserver_1_1LSPServer__inherit__graph.md5 b/classlspserver_1_1LSPServer__inherit__graph.md5 new file mode 100644 index 000000000..491e78642 --- /dev/null +++ b/classlspserver_1_1LSPServer__inherit__graph.md5 @@ -0,0 +1 @@ +96471c15f92fc52ea7b30278fd79ef37 \ 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..304ffd607 --- /dev/null +++ b/classlspserver_1_1LSPServer__inherit__graph.svg @@ -0,0 +1,147 @@ + + + + + + +lspserver::LSPServer + + +Node1 + + +lspserver::LSPServer + + + + + +Node3 + + +nixd::AttrSetClient + + + + + +Node1->Node3 + + + + + + + + +Node4 + + +nixd::AttrSetProvider + + + + + +Node1->Node4 + + + + + + + + +Node5 + + +nixd::Controller + + + + + +Node1->Node5 + + + + + + + + +Node6 + + +nixd::EvalClient + + + + + +Node1->Node6 + + + + + + + + +Node8 + + +nixd::EvalProvider + + + + + +Node1->Node8 + + + + + + + + +Node2 + + +lspserver::MessageHandler + + + + + +Node2->Node1 + + + + + + + + +Node7 + + +nixd::OwnedEvalClient + + + + + +Node6->Node7 + + + + + + + + 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..2df2a3531 --- /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

+ +
+
+

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.

+ +

References lspserver::fromJSON().

+ +

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.

+ +
+
+
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..73361daf8 --- /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..73d55fe02 --- /dev/null +++ b/classlspserver_1_1LoggingSession.html @@ -0,0 +1,263 @@ + + + + + + + +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.

+ +

References lspserver::fromJSON().

+ +
+
+ +

◆ ~LoggingSession()

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

Definition at line 35 of file Logger.cpp.

+ +

References lspserver::fromJSON().

+ +
+
+ +

◆ 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..a184be5a5 --- /dev/null +++ b/classlspserver_1_1MessageHandler.html @@ -0,0 +1,235 @@ + + + + + + + +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 handler 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
+
+ +
+
+ +

◆ onNotify()

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

◆ onReply()

+ +
+
+ + + + + +
+ + + + + + + + + + + +
virtual bool lspserver::MessageHandler::onReply (llvm::json::Value ID,
llvm::Expected< llvm::json::Value > Result )
+
+pure virtual
+
+ +
+
+
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..1968fe096 --- /dev/null +++ b/classlspserver_1_1MessageHandler__inherit__graph.map @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + diff --git a/classlspserver_1_1MessageHandler__inherit__graph.md5 b/classlspserver_1_1MessageHandler__inherit__graph.md5 new file mode 100644 index 000000000..6010169c7 --- /dev/null +++ b/classlspserver_1_1MessageHandler__inherit__graph.md5 @@ -0,0 +1 @@ +bc758cf19e24874edc2df96904eb3e27 \ 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..87f15dba1 --- /dev/null +++ b/classlspserver_1_1MessageHandler__inherit__graph.svg @@ -0,0 +1,147 @@ + + + + + + +lspserver::MessageHandler + + +Node1 + + +lspserver::MessageHandler + + + + + +Node2 + + +lspserver::LSPServer + + + + + +Node1->Node2 + + + + + + + + +Node3 + + +nixd::AttrSetClient + + + + + +Node2->Node3 + + + + + + + + +Node4 + + +nixd::AttrSetProvider + + + + + +Node2->Node4 + + + + + + + + +Node5 + + +nixd::Controller + + + + + +Node2->Node5 + + + + + + + + +Node6 + + +nixd::EvalClient + + + + + +Node2->Node6 + + + + + + + + +Node8 + + +nixd::EvalProvider + + + + + +Node2->Node8 + + + + + + + + +Node7 + + +nixd::OwnedEvalClient + + + + + +Node6->Node7 + + + + + + + + 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..a34a5d7cb --- /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 65 of file Connection.cpp.

+ +

References lspserver::fromJSON(), lspserver::Method, and sendMessage().

+ +
+
+ +

◆ notify()

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

Definition at line 58 of file Connection.cpp.

+ +

References lspserver::fromJSON(), lspserver::Method, and sendMessage().

+ +
+
+ +

◆ reply()

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

Definition at line 74 of file Connection.cpp.

+ +

References lspserver::fromJSON(), and sendMessage().

+ +
+
+ +

◆ sendMessage()

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

Definition at line 91 of file Connection.cpp.

+ +

References lspserver::fromJSON(), and 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..82de3001d --- /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::fromJSON(), and 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..cd13e4b6e --- /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..cd13e4b6e --- /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..803456faf --- /dev/null +++ b/classlspserver_1_1URI.html @@ -0,0 +1,624 @@ + + + + + + + +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.

+ +

References lspserver::fromJSON().

+ +
+
+

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(), and lspserver::fromJSON().

+ +
+
+ +

◆ 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(), and lspserver::fromJSON().

+ +
+
+ +

◆ 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.

+ +

References lspserver::fromJSON().

+ +

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.

+ +

References lspserver::fromJSON().

+ +
+
+ +

◆ 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(), and lspserver::fromJSON().

+ +

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.

+ +

References lspserver::fromJSON().

+ +

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 lspserver::fromJSON(), 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.

+ +

References lspserver::fromJSON().

+ +

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.

+ +

References lspserver::fromJSON().

+ +

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..359681209 --- /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/classnixd_1_1AttrSetClient-members.html b/classnixd_1_1AttrSetClient-members.html new file mode 100644 index 000000000..60ef69cd4 --- /dev/null +++ b/classnixd_1_1AttrSetClient-members.html @@ -0,0 +1,106 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
nixd::AttrSetClient Member List
+
+
+ +

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

+ + + + + + + + + + + + + + + + + +
attrpathComplete(const AttrPathCompleteParams &Params, lspserver::Callback< AttrPathCompleteResponse > Reply)nixd::AttrSetClientinline
attrpathInfo(const AttrPathInfoParams &Params, lspserver::Callback< AttrPathInfoResponse > Reply)nixd::AttrSetClientinline
AttrSetClient(std::unique_ptr< lspserver::InboundPort > In, std::unique_ptr< lspserver::OutboundPort > Out)nixd::AttrSetClient
closeInbound()lspserver::LSPServerinline
evalExpr(const EvalExprParams &Params, lspserver::Callback< EvalExprResponse > Reply)nixd::AttrSetClientinline
exit()nixd::AttrSetClientinline
getExe()nixd::AttrSetClientstatic
LSPServer(std::unique_ptr< InboundPort > In, std::unique_ptr< OutboundPort > Out)lspserver::LSPServerinline
mkOutMethodlspserver::LSPServerinlineprotected
mkOutNotifictionlspserver::LSPServerinlineprotected
optionComplete(const AttrPathCompleteParams &Params, lspserver::Callback< OptionCompleteResponse > Reply)nixd::AttrSetClientinline
optionInfo(const AttrPathInfoParams &Params, lspserver::Callback< OptionInfoResponse > Reply)nixd::AttrSetClientinline
Registrylspserver::LSPServerprotected
run()lspserver::LSPServer
switchStreamStyle(JSONStreamStyle Style)lspserver::LSPServerinline
~MessageHandler()=defaultlspserver::MessageHandlervirtual
+ + + + diff --git a/classnixd_1_1AttrSetClient.html b/classnixd_1_1AttrSetClient.html new file mode 100644 index 000000000..dfd136175 --- /dev/null +++ b/classnixd_1_1AttrSetClient.html @@ -0,0 +1,404 @@ + + + + + + + +nixd: nixd::AttrSetClient Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
nixd::AttrSetClient Class Reference
+
+
+ +

#include <AttrSetClient.h>

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

+Public Member Functions

 AttrSetClient (std::unique_ptr< lspserver::InboundPort > In, std::unique_ptr< lspserver::OutboundPort > Out)
 
void evalExpr (const EvalExprParams &Params, lspserver::Callback< EvalExprResponse > Reply)
 Request eval some expression. The expression should be evaluted to attrset.
 
void attrpathInfo (const AttrPathInfoParams &Params, lspserver::Callback< AttrPathInfoResponse > Reply)
 
void attrpathComplete (const AttrPathCompleteParams &Params, lspserver::Callback< AttrPathCompleteResponse > Reply)
 
void optionInfo (const AttrPathInfoParams &Params, lspserver::Callback< OptionInfoResponse > Reply)
 
void optionComplete (const AttrPathCompleteParams &Params, lspserver::Callback< OptionCompleteResponse > Reply)
 
void exit ()
 
- 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 const chargetExe ()
 
+ + + + + + + + + + +

+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 12 of file AttrSetClient.h.

+

Constructor & Destructor Documentation

+ +

◆ AttrSetClient()

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

Member Function Documentation

+ +

◆ attrpathComplete()

+ +
+
+ + + + + +
+ + + + + + + + + + + +
void nixd::AttrSetClient::attrpathComplete (const AttrPathCompleteParams & Params,
lspserver::Callback< AttrPathCompleteResponse > Reply )
+
+inline
+
+ +

Definition at line 53 of file AttrSetClient.h.

+ +
+
+ +

◆ attrpathInfo()

+ +
+
+ + + + + +
+ + + + + + + + + + + +
void nixd::AttrSetClient::attrpathInfo (const AttrPathInfoParams & Params,
lspserver::Callback< AttrPathInfoResponse > Reply )
+
+inline
+
+ +

Definition at line 48 of file AttrSetClient.h.

+ +
+
+ +

◆ evalExpr()

+ +
+
+ + + + + +
+ + + + + + + + + + + +
void nixd::AttrSetClient::evalExpr (const EvalExprParams & Params,
lspserver::Callback< EvalExprResponse > Reply )
+
+inline
+
+ +

Request eval some expression. The expression should be evaluted to attrset.

+ +

Definition at line 43 of file AttrSetClient.h.

+ +
+
+ +

◆ exit()

+ +
+
+ + + + + +
+ + + + + + + +
void nixd::AttrSetClient::exit ()
+
+inline
+
+ +

Definition at line 68 of file AttrSetClient.h.

+ +

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

+ +
+
+ +

◆ getExe()

+ +
+
+ + + + + +
+ + + + + + + +
const char * AttrSetClient::getExe ()
+
+static
+
+

Get executable path for launching the server.

Returns
null terminated string.
+ +

Definition at line 26 of file AttrSetClient.cpp.

+ +

References nixd::fromJSON().

+ +

Referenced by nixd::startAttrSetEval().

+ +
+
+ +

◆ optionComplete()

+ +
+
+ + + + + +
+ + + + + + + + + + + +
void nixd::AttrSetClient::optionComplete (const AttrPathCompleteParams & Params,
lspserver::Callback< OptionCompleteResponse > Reply )
+
+inline
+
+ +

Definition at line 63 of file AttrSetClient.h.

+ +
+
+ +

◆ optionInfo()

+ +
+
+ + + + + +
+ + + + + + + + + + + +
void nixd::AttrSetClient::optionInfo (const AttrPathInfoParams & Params,
lspserver::Callback< OptionInfoResponse > Reply )
+
+inline
+
+ +

Definition at line 58 of file AttrSetClient.h.

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

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

+ + + + +
AttrSetClientProc(const std::function< int()> &Action)nixd::AttrSetClientProc
client()nixd::AttrSetClientProc
~AttrSetClientProc()nixd::AttrSetClientProcinline
+ + + + diff --git a/classnixd_1_1AttrSetClientProc.html b/classnixd_1_1AttrSetClientProc.html new file mode 100644 index 000000000..ae38c2dbd --- /dev/null +++ b/classnixd_1_1AttrSetClientProc.html @@ -0,0 +1,187 @@ + + + + + + + +nixd: nixd::AttrSetClientProc Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
nixd::AttrSetClientProc Class Reference
+
+
+ +

#include <AttrSetClient.h>

+ + + + + + + + + +

+Public Member Functions

AttrSetClientclient ()
 Check if the process is still alive.
 
 ~AttrSetClientProc ()
 
 AttrSetClientProc (const std::function< int()> &Action)
 
+

Detailed Description

+
+

Definition at line 75 of file AttrSetClient.h.

+

Constructor & Destructor Documentation

+ +

◆ ~AttrSetClientProc()

+ +
+
+ + + + + +
+ + + + + + + +
nixd::AttrSetClientProc::~AttrSetClientProc ()
+
+inline
+
+ +

Definition at line 84 of file AttrSetClient.h.

+ +

References lspserver::LSPServer::closeInbound(), and nixd::AttrSetClient::exit().

+ +
+
+ +

◆ AttrSetClientProc()

+ +
+
+ + + + + + + +
AttrSetClientProc::AttrSetClientProc (const std::function< int()> & Action)
+
+
See also
StreamProc::StreamProc
+ +

Definition at line 32 of file AttrSetClient.cpp.

+ +

References lspserver::LSPServer::run().

+ +
+
+

Member Function Documentation

+ +

◆ client()

+ +
+
+ + + + + + + +
AttrSetClient * AttrSetClientProc::client ()
+
+ +

Check if the process is still alive.

+
Returns
nullptr if it has been dead.
+ +

Definition at line 36 of file AttrSetClient.cpp.

+ +

References nixd::fromJSON(), nixd::util::PipedProc::PID, and nixd::StreamProc::proc().

+ +
+
+
The documentation for this class was generated from the following files: +
+ + + + diff --git a/classnixd_1_1AttrSetClient__coll__graph.map b/classnixd_1_1AttrSetClient__coll__graph.map new file mode 100644 index 000000000..c50a10af2 --- /dev/null +++ b/classnixd_1_1AttrSetClient__coll__graph.map @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/classnixd_1_1AttrSetClient__coll__graph.md5 b/classnixd_1_1AttrSetClient__coll__graph.md5 new file mode 100644 index 000000000..69358af5c --- /dev/null +++ b/classnixd_1_1AttrSetClient__coll__graph.md5 @@ -0,0 +1 @@ +2aa70cc9c6924096c9e4c0dac333e2ef \ No newline at end of file diff --git a/classnixd_1_1AttrSetClient__coll__graph.svg b/classnixd_1_1AttrSetClient__coll__graph.svg new file mode 100644 index 000000000..c81e81899 --- /dev/null +++ b/classnixd_1_1AttrSetClient__coll__graph.svg @@ -0,0 +1,76 @@ + + + + + + +nixd::AttrSetClient + + +Node1 + + +nixd::AttrSetClient + + + + + +Node2 + + +lspserver::LSPServer + + + + + +Node2->Node1 + + + + + + + + +Node3 + + +lspserver::MessageHandler + + + + + +Node3->Node2 + + + + + + + + +Node4 + + +lspserver::HandlerRegistry + + + + + +Node4->Node2 + + + + + + Registry + + + diff --git a/classnixd_1_1AttrSetClient__inherit__graph.map b/classnixd_1_1AttrSetClient__inherit__graph.map new file mode 100644 index 000000000..7544101c5 --- /dev/null +++ b/classnixd_1_1AttrSetClient__inherit__graph.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/classnixd_1_1AttrSetClient__inherit__graph.md5 b/classnixd_1_1AttrSetClient__inherit__graph.md5 new file mode 100644 index 000000000..8aa7fcebc --- /dev/null +++ b/classnixd_1_1AttrSetClient__inherit__graph.md5 @@ -0,0 +1 @@ +e2bb6b4e37a86105f2a3a7a5bc865c35 \ No newline at end of file diff --git a/classnixd_1_1AttrSetClient__inherit__graph.svg b/classnixd_1_1AttrSetClient__inherit__graph.svg new file mode 100644 index 000000000..21aab8644 --- /dev/null +++ b/classnixd_1_1AttrSetClient__inherit__graph.svg @@ -0,0 +1,57 @@ + + + + + + +nixd::AttrSetClient + + +Node1 + + +nixd::AttrSetClient + + + + + +Node2 + + +lspserver::LSPServer + + + + + +Node2->Node1 + + + + + + + + +Node3 + + +lspserver::MessageHandler + + + + + +Node3->Node2 + + + + + + + + diff --git a/classnixd_1_1AttrSetProvider-members.html b/classnixd_1_1AttrSetProvider-members.html new file mode 100644 index 000000000..f56479d6e --- /dev/null +++ b/classnixd_1_1AttrSetProvider-members.html @@ -0,0 +1,104 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
nixd::AttrSetProvider Member List
+
+
+ +

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

+ + + + + + + + + + + + + + + +
AttrSetProvider(std::unique_ptr< lspserver::InboundPort > In, std::unique_ptr< lspserver::OutboundPort > Out)nixd::AttrSetProvider
closeInbound()lspserver::LSPServerinline
LSPServer(std::unique_ptr< InboundPort > In, std::unique_ptr< OutboundPort > Out)lspserver::LSPServerinline
mkOutMethodlspserver::LSPServerinlineprotected
mkOutNotifictionlspserver::LSPServerinlineprotected
onAttrPathComplete(const AttrPathCompleteParams &Params, lspserver::Callback< AttrPathCompleteResponse > Reply)nixd::AttrSetProvider
onAttrPathInfo(const AttrPathInfoParams &AttrPath, lspserver::Callback< AttrPathInfoResponse > Reply)nixd::AttrSetProvider
onEvalExpr(const EvalExprParams &Name, lspserver::Callback< EvalExprResponse > Reply)nixd::AttrSetProvider
onOptionComplete(const AttrPathCompleteParams &Params, lspserver::Callback< OptionCompleteResponse > Reply)nixd::AttrSetProvider
onOptionInfo(const AttrPathInfoParams &AttrPath, lspserver::Callback< OptionInfoResponse > Reply)nixd::AttrSetProvider
Registrylspserver::LSPServerprotected
run()lspserver::LSPServer
switchStreamStyle(JSONStreamStyle Style)lspserver::LSPServerinline
~MessageHandler()=defaultlspserver::MessageHandlervirtual
+ + + + diff --git a/classnixd_1_1AttrSetProvider.html b/classnixd_1_1AttrSetProvider.html new file mode 100644 index 000000000..9f0183c20 --- /dev/null +++ b/classnixd_1_1AttrSetProvider.html @@ -0,0 +1,320 @@ + + + + + + + +nixd: nixd::AttrSetProvider Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
nixd::AttrSetProvider Class Reference
+
+
+ +

Main RPC class for attrset provider. + More...

+ +

#include <AttrSetProvider.h>

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

+Public Member Functions

 AttrSetProvider (std::unique_ptr< lspserver::InboundPort > In, std::unique_ptr< lspserver::OutboundPort > Out)
 
void onEvalExpr (const EvalExprParams &Name, lspserver::Callback< EvalExprResponse > Reply)
 Eval an expression, use it for furthur requests.
 
void onAttrPathInfo (const AttrPathInfoParams &AttrPath, lspserver::Callback< AttrPathInfoResponse > Reply)
 Query attrpath information.
 
void onAttrPathComplete (const AttrPathCompleteParams &Params, lspserver::Callback< AttrPathCompleteResponse > Reply)
 Complete attrpath entries.
 
void onOptionInfo (const AttrPathInfoParams &AttrPath, lspserver::Callback< OptionInfoResponse > Reply)
 Provide option information on given attrpath.
 
void onOptionComplete (const AttrPathCompleteParams &Params, lspserver::Callback< OptionCompleteResponse > Reply)
 Complete attrpath entries. However dive into submodules while selecting.
 
- 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

+

Main RPC class for attrset provider.

+ +

Definition at line 31 of file AttrSetProvider.h.

+

Constructor & Destructor Documentation

+ +

◆ AttrSetProvider()

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

Definition at line 160 of file AttrSetProvider.cpp.

+ +
+
+

Member Function Documentation

+ +

◆ onAttrPathComplete()

+ +
+
+ + + + + + + + + + + +
void AttrSetProvider::onAttrPathComplete (const AttrPathCompleteParams & Params,
lspserver::Callback< AttrPathCompleteResponse > Reply )
+
+ +

Complete attrpath entries.

+ +

Definition at line 216 of file AttrSetProvider.cpp.

+ +

References lspserver::error(), nixd::fromJSON(), and nixt::selectStrings().

+ +
+
+ +

◆ onAttrPathInfo()

+ +
+
+ + + + + + + + + + + +
void AttrSetProvider::onAttrPathInfo (const AttrPathInfoParams & AttrPath,
lspserver::Callback< AttrPathInfoResponse > Reply )
+
+ +

Query attrpath information.

+ +

Definition at line 193 of file AttrSetProvider.cpp.

+ +

References lspserver::error(), nixd::fromJSON(), and nixt::selectStrings().

+ +
+
+ +

◆ onEvalExpr()

+ +
+
+ + + + + + + + + + + +
void AttrSetProvider::onEvalExpr (const EvalExprParams & Name,
lspserver::Callback< EvalExprResponse > Reply )
+
+ +

Eval an expression, use it for furthur requests.

+ +

Definition at line 175 of file AttrSetProvider.cpp.

+ +

References lspserver::error(), and nixd::fromJSON().

+ +
+
+ +

◆ onOptionComplete()

+ +
+
+ + + + + + + + + + + +
void AttrSetProvider::onOptionComplete (const AttrPathCompleteParams & Params,
lspserver::Callback< OptionCompleteResponse > Reply )
+
+ +

Complete attrpath entries. However dive into submodules while selecting.

+

FIXME: suppport list names. i.e. foo.*.submodule

+ +

Definition at line 286 of file AttrSetProvider.cpp.

+ +

References lspserver::error(), nixd::fromJSON(), nixt::isOption(), nixd::OptionField::Name, nixt::selectOptions(), and nixt::toSymbols().

+ +
+
+ +

◆ onOptionInfo()

+ +
+
+ + + + + + + + + + + +
void AttrSetProvider::onOptionInfo (const AttrPathInfoParams & AttrPath,
lspserver::Callback< OptionInfoResponse > Reply )
+
+ +

Provide option information on given attrpath.

+ +

Definition at line 259 of file AttrSetProvider.cpp.

+ +

References lspserver::error(), nixd::fromJSON(), nixt::selectOptions(), and nixt::toSymbols().

+ +
+
+
The documentation for this class was generated from the following files: +
+ + + + diff --git a/classnixd_1_1AttrSetProvider__coll__graph.map b/classnixd_1_1AttrSetProvider__coll__graph.map new file mode 100644 index 000000000..1b6f20f58 --- /dev/null +++ b/classnixd_1_1AttrSetProvider__coll__graph.map @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/classnixd_1_1AttrSetProvider__coll__graph.md5 b/classnixd_1_1AttrSetProvider__coll__graph.md5 new file mode 100644 index 000000000..019c2fc31 --- /dev/null +++ b/classnixd_1_1AttrSetProvider__coll__graph.md5 @@ -0,0 +1 @@ +282f5c6ecff7907602d023d5cfaedff1 \ No newline at end of file diff --git a/classnixd_1_1AttrSetProvider__coll__graph.svg b/classnixd_1_1AttrSetProvider__coll__graph.svg new file mode 100644 index 000000000..1a7069a5e --- /dev/null +++ b/classnixd_1_1AttrSetProvider__coll__graph.svg @@ -0,0 +1,76 @@ + + + + + + +nixd::AttrSetProvider + + +Node1 + + +nixd::AttrSetProvider + + + + + +Node2 + + +lspserver::LSPServer + + + + + +Node2->Node1 + + + + + + + + +Node3 + + +lspserver::MessageHandler + + + + + +Node3->Node2 + + + + + + + + +Node4 + + +lspserver::HandlerRegistry + + + + + +Node4->Node2 + + + + + + Registry + + + diff --git a/classnixd_1_1AttrSetProvider__inherit__graph.map b/classnixd_1_1AttrSetProvider__inherit__graph.map new file mode 100644 index 000000000..3d5d2fcfd --- /dev/null +++ b/classnixd_1_1AttrSetProvider__inherit__graph.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/classnixd_1_1AttrSetProvider__inherit__graph.md5 b/classnixd_1_1AttrSetProvider__inherit__graph.md5 new file mode 100644 index 000000000..3384d84a4 --- /dev/null +++ b/classnixd_1_1AttrSetProvider__inherit__graph.md5 @@ -0,0 +1 @@ +29cf330f9f5339d31dcd78a44fef1d33 \ No newline at end of file diff --git a/classnixd_1_1AttrSetProvider__inherit__graph.svg b/classnixd_1_1AttrSetProvider__inherit__graph.svg new file mode 100644 index 000000000..3ce7722cc --- /dev/null +++ b/classnixd_1_1AttrSetProvider__inherit__graph.svg @@ -0,0 +1,57 @@ + + + + + + +nixd::AttrSetProvider + + +Node1 + + +nixd::AttrSetProvider + + + + + +Node2 + + +lspserver::LSPServer + + + + + +Node2->Node1 + + + + + + + + +Node3 + + +lspserver::MessageHandler + + + + + +Node3->Node2 + + + + + + + + diff --git a/classnixd_1_1Controller-members.html b/classnixd_1_1Controller-members.html new file mode 100644 index 000000000..ba10c1741 --- /dev/null +++ b/classnixd_1_1Controller-members.html @@ -0,0 +1,102 @@ + + + + + + + +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
isReadyToEval()nixd::Controllerinline
LSPServer(std::unique_ptr< InboundPort > In, std::unique_ptr< OutboundPort > Out)lspserver::LSPServerinline
mkOutMethodlspserver::LSPServerinlineprotected
mkOutNotifictionlspserver::LSPServerinlineprotected
OptionMapTy typedefnixd::Controller
Registrylspserver::LSPServerprotected
run()lspserver::LSPServer
switchStreamStyle(JSONStreamStyle Style)lspserver::LSPServerinline
~Controller() overridenixd::Controllerinline
~MessageHandler()=defaultlspserver::MessageHandlervirtual
+ + + + diff --git a/classnixd_1_1Controller.html b/classnixd_1_1Controller.html new file mode 100644 index 000000000..52b314c0c --- /dev/null +++ b/classnixd_1_1Controller.html @@ -0,0 +1,264 @@ + + + + + + + +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 Types

using OptionMapTy = std::map<std::string, std::unique_ptr<AttrSetClientProc>>
 
+ + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 Controller (std::unique_ptr< lspserver::InboundPort > In, std::unique_ptr< lspserver::OutboundPort > Out)
 
 ~Controller () override
 
bool isReadyToEval ()
 
- 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 19 of file Controller.h.

+

Member Typedef Documentation

+ +

◆ OptionMapTy

+ +
+
+ + + + +
using nixd::Controller::OptionMapTy = std::map<std::string, std::unique_ptr<AttrSetClientProc>>
+
+ +

Definition at line 21 of file Controller.h.

+ +
+
+

Constructor & Destructor Documentation

+ +

◆ Controller()

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

◆ ~Controller()

+ +
+
+ + + + + +
+ + + + + + + +
nixd::Controller::~Controller ()
+
+inlineoverride
+
+ +

Definition at line 236 of file Controller.h.

+ +
+
+

Member Function Documentation

+ +

◆ isReadyToEval()

+ +
+
+ + + + + +
+ + + + + + + +
bool nixd::Controller::isReadyToEval ()
+
+inline
+
+ +

Definition at line 238 of file Controller.h.

+ +
+
+
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..81224f5d4 --- /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..1e33af6d8 --- /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..063122f32 --- /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..e5c4d7c01 --- /dev/null +++ b/classnixd_1_1EvalClient-members.html @@ -0,0 +1,103 @@ + + + + + + + +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::EvalClient
ExprValuenixd::EvalClient
LSPServer(std::unique_ptr< InboundPort > In, std::unique_ptr< OutboundPort > Out)lspserver::LSPServerinline
mkOutMethodlspserver::LSPServerinlineprotected
mkOutNotifictionlspserver::LSPServerinlineprotected
onReady(const int &Flags)nixd::EvalClientinline
ready()nixd::EvalClientinline
RegisterBCnixd::EvalClient
Registrylspserver::LSPServerprotected
run()lspserver::LSPServer
switchStreamStyle(JSONStreamStyle Style)lspserver::LSPServerinline
~MessageHandler()=defaultlspserver::MessageHandlervirtual
+ + + + diff --git a/classnixd_1_1EvalClient.html b/classnixd_1_1EvalClient.html new file mode 100644 index 000000000..cadd9b684 --- /dev/null +++ b/classnixd_1_1EvalClient.html @@ -0,0 +1,263 @@ + + + + + + + +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)
 
void onReady (const int &Flags)
 
bool ready ()
 
- 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 )
+
+ +
+
+

Member Function Documentation

+ +

◆ onReady()

+ +
+
+ + + + + +
+ + + + + + + +
void nixd::EvalClient::onReady (const int & Flags)
+
+inline
+
+ +

Definition at line 26 of file EvalClient.h.

+ +

References lspserver::log().

+ +
+
+ +

◆ ready()

+ +
+
+ + + + + +
+ + + + + + + +
bool nixd::EvalClient::ready ()
+
+inline
+
+ +

Definition at line 33 of file EvalClient.h.

+ +
+
+

Member Data Documentation

+ +

◆ ExprValue

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

Definition at line 21 of file EvalClient.h.

+ +
+
+ +

◆ RegisterBC

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

Definition at line 18 of file EvalClient.h.

+ +
+
+
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..af7584d5a --- /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..b9a2b49d6 --- /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..51498c5ac --- /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..d29eb49f9 --- /dev/null +++ b/classnixd_1_1EvalProvider.html @@ -0,0 +1,204 @@ + + + + + + + +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 )
+
+ +
+
+

Member Function Documentation

+ +

◆ onExprValue()

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

◆ onRegisterBC()

+ +
+
+ + + + + + + +
void nixd::EvalProvider::onRegisterBC (const rpc::RegisterBCParams & Params)
+
+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/classnixd_1_1EvalProvider__coll__graph.map b/classnixd_1_1EvalProvider__coll__graph.map new file mode 100644 index 000000000..d29290ce4 --- /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..32b491888 --- /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..3d2ebbc2f --- /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_1JSONParseException-members.html b/classnixd_1_1JSONParseException-members.html new file mode 100644 index 000000000..3c392e9f2 --- /dev/null +++ b/classnixd_1_1JSONParseException-members.html @@ -0,0 +1,94 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
nixd::JSONParseException Member List
+
+
+ +

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

+ + + + + +
JSONParseException(llvm::Error E)nixd::JSONParseExceptioninline
LLVMErrorException(llvm::Error E)nixd::LLVMErrorExceptioninline
takeError()nixd::LLVMErrorExceptioninline
what() const noexcept overridenixd::JSONParseExceptioninline
+ + + + diff --git a/classnixd_1_1JSONParseException.html b/classnixd_1_1JSONParseException.html new file mode 100644 index 000000000..d55465263 --- /dev/null +++ b/classnixd_1_1JSONParseException.html @@ -0,0 +1,177 @@ + + + + + + + +nixd: nixd::JSONParseException Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
nixd::JSONParseException Class Reference
+
+
+ +

#include <JSON.h>

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

+Public Member Functions

 JSONParseException (llvm::Error E)
 
const charwhat () const noexcept override
 
- Public Member Functions inherited from nixd::LLVMErrorException
 LLVMErrorException (llvm::Error E)
 
llvm::Error takeError ()
 
+

Detailed Description

+
+

Definition at line 12 of file JSON.h.

+

Constructor & Destructor Documentation

+ +

◆ JSONParseException()

+ +
+
+ + + + + +
+ + + + + + + +
nixd::JSONParseException::JSONParseException (llvm::Error E)
+
+inline
+
+ +

Definition at line 14 of file JSON.h.

+ +
+
+

Member Function Documentation

+ +

◆ what()

+ +
+
+ + + + + +
+ + + + + + + +
const char * nixd::JSONParseException::what () const
+
+inlineoverridenoexcept
+
+ +

Definition at line 16 of file JSON.h.

+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/classnixd_1_1JSONParseException__coll__graph.map b/classnixd_1_1JSONParseException__coll__graph.map new file mode 100644 index 000000000..19d8072b4 --- /dev/null +++ b/classnixd_1_1JSONParseException__coll__graph.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/classnixd_1_1JSONParseException__coll__graph.md5 b/classnixd_1_1JSONParseException__coll__graph.md5 new file mode 100644 index 000000000..20868238f --- /dev/null +++ b/classnixd_1_1JSONParseException__coll__graph.md5 @@ -0,0 +1 @@ +f026db758172a6887f3db7f8cbfc2aef \ No newline at end of file diff --git a/classnixd_1_1JSONParseException__coll__graph.svg b/classnixd_1_1JSONParseException__coll__graph.svg new file mode 100644 index 000000000..8bbac9846 --- /dev/null +++ b/classnixd_1_1JSONParseException__coll__graph.svg @@ -0,0 +1,57 @@ + + + + + + +nixd::JSONParseException + + +Node1 + + +nixd::JSONParseException + + + + + +Node2 + + +nixd::LLVMErrorException + + + + + +Node2->Node1 + + + + + + + + +Node3 + + +std::exception + + + + + +Node3->Node2 + + + + + + + + diff --git a/classnixd_1_1JSONParseException__inherit__graph.map b/classnixd_1_1JSONParseException__inherit__graph.map new file mode 100644 index 000000000..19d8072b4 --- /dev/null +++ b/classnixd_1_1JSONParseException__inherit__graph.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/classnixd_1_1JSONParseException__inherit__graph.md5 b/classnixd_1_1JSONParseException__inherit__graph.md5 new file mode 100644 index 000000000..20868238f --- /dev/null +++ b/classnixd_1_1JSONParseException__inherit__graph.md5 @@ -0,0 +1 @@ +f026db758172a6887f3db7f8cbfc2aef \ No newline at end of file diff --git a/classnixd_1_1JSONParseException__inherit__graph.svg b/classnixd_1_1JSONParseException__inherit__graph.svg new file mode 100644 index 000000000..8bbac9846 --- /dev/null +++ b/classnixd_1_1JSONParseException__inherit__graph.svg @@ -0,0 +1,57 @@ + + + + + + +nixd::JSONParseException + + +Node1 + + +nixd::JSONParseException + + + + + +Node2 + + +nixd::LLVMErrorException + + + + + +Node2->Node1 + + + + + + + + +Node3 + + +std::exception + + + + + +Node3->Node2 + + + + + + + + diff --git a/classnixd_1_1JSONSchemaException-members.html b/classnixd_1_1JSONSchemaException-members.html new file mode 100644 index 000000000..72d342c37 --- /dev/null +++ b/classnixd_1_1JSONSchemaException-members.html @@ -0,0 +1,94 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
nixd::JSONSchemaException Member List
+
+
+ +

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

+ + + + + +
JSONSchemaException(llvm::Error E)nixd::JSONSchemaExceptioninline
LLVMErrorException(llvm::Error E)nixd::LLVMErrorExceptioninline
takeError()nixd::LLVMErrorExceptioninline
what() const noexcept overridenixd::JSONSchemaExceptioninline
+ + + + diff --git a/classnixd_1_1JSONSchemaException.html b/classnixd_1_1JSONSchemaException.html new file mode 100644 index 000000000..008dca46f --- /dev/null +++ b/classnixd_1_1JSONSchemaException.html @@ -0,0 +1,177 @@ + + + + + + + +nixd: nixd::JSONSchemaException Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
nixd::JSONSchemaException Class Reference
+
+
+ +

#include <JSON.h>

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

+Public Member Functions

 JSONSchemaException (llvm::Error E)
 
const charwhat () const noexcept override
 
- Public Member Functions inherited from nixd::LLVMErrorException
 LLVMErrorException (llvm::Error E)
 
llvm::Error takeError ()
 
+

Detailed Description

+
+

Definition at line 21 of file JSON.h.

+

Constructor & Destructor Documentation

+ +

◆ JSONSchemaException()

+ +
+
+ + + + + +
+ + + + + + + +
nixd::JSONSchemaException::JSONSchemaException (llvm::Error E)
+
+inline
+
+ +

Definition at line 23 of file JSON.h.

+ +
+
+

Member Function Documentation

+ +

◆ what()

+ +
+
+ + + + + +
+ + + + + + + +
const char * nixd::JSONSchemaException::what () const
+
+inlineoverridenoexcept
+
+ +

Definition at line 25 of file JSON.h.

+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/classnixd_1_1JSONSchemaException__coll__graph.map b/classnixd_1_1JSONSchemaException__coll__graph.map new file mode 100644 index 000000000..3e4bd9733 --- /dev/null +++ b/classnixd_1_1JSONSchemaException__coll__graph.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/classnixd_1_1JSONSchemaException__coll__graph.md5 b/classnixd_1_1JSONSchemaException__coll__graph.md5 new file mode 100644 index 000000000..d029e4bc6 --- /dev/null +++ b/classnixd_1_1JSONSchemaException__coll__graph.md5 @@ -0,0 +1 @@ +a5200c5b4822c2382b7facdf33126f43 \ No newline at end of file diff --git a/classnixd_1_1JSONSchemaException__coll__graph.svg b/classnixd_1_1JSONSchemaException__coll__graph.svg new file mode 100644 index 000000000..4291e3d3c --- /dev/null +++ b/classnixd_1_1JSONSchemaException__coll__graph.svg @@ -0,0 +1,57 @@ + + + + + + +nixd::JSONSchemaException + + +Node1 + + +nixd::JSONSchemaException + + + + + +Node2 + + +nixd::LLVMErrorException + + + + + +Node2->Node1 + + + + + + + + +Node3 + + +std::exception + + + + + +Node3->Node2 + + + + + + + + diff --git a/classnixd_1_1JSONSchemaException__inherit__graph.map b/classnixd_1_1JSONSchemaException__inherit__graph.map new file mode 100644 index 000000000..3e4bd9733 --- /dev/null +++ b/classnixd_1_1JSONSchemaException__inherit__graph.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/classnixd_1_1JSONSchemaException__inherit__graph.md5 b/classnixd_1_1JSONSchemaException__inherit__graph.md5 new file mode 100644 index 000000000..d029e4bc6 --- /dev/null +++ b/classnixd_1_1JSONSchemaException__inherit__graph.md5 @@ -0,0 +1 @@ +a5200c5b4822c2382b7facdf33126f43 \ No newline at end of file diff --git a/classnixd_1_1JSONSchemaException__inherit__graph.svg b/classnixd_1_1JSONSchemaException__inherit__graph.svg new file mode 100644 index 000000000..4291e3d3c --- /dev/null +++ b/classnixd_1_1JSONSchemaException__inherit__graph.svg @@ -0,0 +1,57 @@ + + + + + + +nixd::JSONSchemaException + + +Node1 + + +nixd::JSONSchemaException + + + + + +Node2 + + +nixd::LLVMErrorException + + + + + +Node2->Node1 + + + + + + + + +Node3 + + +std::exception + + + + + +Node3->Node2 + + + + + + + + diff --git a/classnixd_1_1LLVMErrorException-members.html b/classnixd_1_1LLVMErrorException-members.html new file mode 100644 index 000000000..3dd58c1c5 --- /dev/null +++ b/classnixd_1_1LLVMErrorException-members.html @@ -0,0 +1,92 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
nixd::LLVMErrorException Member List
+
+
+ +

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

+ + + +
LLVMErrorException(llvm::Error E)nixd::LLVMErrorExceptioninline
takeError()nixd::LLVMErrorExceptioninline
+ + + + diff --git a/classnixd_1_1LLVMErrorException.html b/classnixd_1_1LLVMErrorException.html new file mode 100644 index 000000000..6168e776c --- /dev/null +++ b/classnixd_1_1LLVMErrorException.html @@ -0,0 +1,172 @@ + + + + + + + +nixd: nixd::LLVMErrorException Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
nixd::LLVMErrorException Class Reference
+
+
+ +

#include <Exception.h>

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

+Public Member Functions

 LLVMErrorException (llvm::Error E)
 
llvm::Error takeError ()
 
+

Detailed Description

+
+

Definition at line 9 of file Exception.h.

+

Constructor & Destructor Documentation

+ +

◆ LLVMErrorException()

+ +
+
+ + + + + +
+ + + + + + + +
nixd::LLVMErrorException::LLVMErrorException (llvm::Error E)
+
+inline
+
+ +

Definition at line 13 of file Exception.h.

+ +
+
+

Member Function Documentation

+ +

◆ takeError()

+ +
+
+ + + + + +
+ + + + + + + +
llvm::Error nixd::LLVMErrorException::takeError ()
+
+inline
+
+ +

Definition at line 15 of file Exception.h.

+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/classnixd_1_1LLVMErrorException__coll__graph.map b/classnixd_1_1LLVMErrorException__coll__graph.map new file mode 100644 index 000000000..1e362329a --- /dev/null +++ b/classnixd_1_1LLVMErrorException__coll__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/classnixd_1_1LLVMErrorException__coll__graph.md5 b/classnixd_1_1LLVMErrorException__coll__graph.md5 new file mode 100644 index 000000000..033d67c0a --- /dev/null +++ b/classnixd_1_1LLVMErrorException__coll__graph.md5 @@ -0,0 +1 @@ +f9265bc1a570b21ae652df62184292fa \ No newline at end of file diff --git a/classnixd_1_1LLVMErrorException__coll__graph.svg b/classnixd_1_1LLVMErrorException__coll__graph.svg new file mode 100644 index 000000000..1c3bc7619 --- /dev/null +++ b/classnixd_1_1LLVMErrorException__coll__graph.svg @@ -0,0 +1,39 @@ + + + + + + +nixd::LLVMErrorException + + +Node1 + + +nixd::LLVMErrorException + + + + + +Node2 + + +std::exception + + + + + +Node2->Node1 + + + + + + + + diff --git a/classnixd_1_1LLVMErrorException__inherit__graph.map b/classnixd_1_1LLVMErrorException__inherit__graph.map new file mode 100644 index 000000000..0ea248289 --- /dev/null +++ b/classnixd_1_1LLVMErrorException__inherit__graph.map @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/classnixd_1_1LLVMErrorException__inherit__graph.md5 b/classnixd_1_1LLVMErrorException__inherit__graph.md5 new file mode 100644 index 000000000..6d3926061 --- /dev/null +++ b/classnixd_1_1LLVMErrorException__inherit__graph.md5 @@ -0,0 +1 @@ +91ec17e2f3b38d099cdb2fd98b8514f4 \ No newline at end of file diff --git a/classnixd_1_1LLVMErrorException__inherit__graph.svg b/classnixd_1_1LLVMErrorException__inherit__graph.svg new file mode 100644 index 000000000..2ad2e2669 --- /dev/null +++ b/classnixd_1_1LLVMErrorException__inherit__graph.svg @@ -0,0 +1,75 @@ + + + + + + +nixd::LLVMErrorException + + +Node1 + + +nixd::LLVMErrorException + + + + + +Node3 + + +nixd::JSONParseException + + + + + +Node1->Node3 + + + + + + + + +Node4 + + +nixd::JSONSchemaException + + + + + +Node1->Node4 + + + + + + + + +Node2 + + +std::exception + + + + + +Node2->Node1 + + + + + + + + diff --git a/classnixd_1_1NixTU-members.html b/classnixd_1_1NixTU-members.html new file mode 100644 index 000000000..195a7e495 --- /dev/null +++ b/classnixd_1_1NixTU-members.html @@ -0,0 +1,97 @@ + + + + + + + +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, std::unique_ptr< nixf::VariableLookupAnalysis > VLA, std::shared_ptr< const std::string > Src)nixd::NixTU
parentMap() constnixd::NixTUinline
src() constnixd::NixTUinline
variableLookup() constnixd::NixTUinline
+ + + + diff --git a/classnixd_1_1NixTU.html b/classnixd_1_1NixTU.html new file mode 100644 index 000000000..92a746eaa --- /dev/null +++ b/classnixd_1_1NixTU.html @@ -0,0 +1,324 @@ + + + + + + + +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, std::unique_ptr< nixf::VariableLookupAnalysis > VLA, std::shared_ptr< const std::string > Src)
 
const std::vector< nixf::Diagnostic > & diagnostics () const
 
const std::shared_ptr< nixf::Node > & ast () const
 
const nixf::ParentMapAnalysisparentMap () const
 
const nixf::VariableLookupAnalysisvariableLookup () const
 
std::string_view src () const
 
+

Detailed Description

+

Holds analyzed information about a document.

+

TU stands for "Translation Unit".

+ +

Definition at line 19 of file NixTU.h.

+

Constructor & Destructor Documentation

+ +

◆ NixTU() [1/2]

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

◆ NixTU() [2/2]

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
NixTU::NixTU (std::vector< nixf::Diagnostic > Diagnostics,
std::shared_ptr< nixf::Node > AST,
std::optional< util::OwnedRegion > ASTByteCode,
std::unique_ptr< nixf::VariableLookupAnalysis > VLA,
std::shared_ptr< const std::string > Src )
+
+ +

Definition at line 5 of file NixTU.cpp.

+ +

References nixd::fromJSON().

+ +
+
+

Member Function Documentation

+ +

◆ ast()

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

Definition at line 39 of file NixTU.h.

+ +
+
+ +

◆ diagnostics()

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

Definition at line 35 of file NixTU.h.

+ +
+
+ +

◆ parentMap()

+ +
+
+ + + + + +
+ + + + + + + +
const nixf::ParentMapAnalysis * nixd::NixTU::parentMap () const
+
+inline
+
+ +

Definition at line 41 of file NixTU.h.

+ +
+
+ +

◆ src()

+ +
+
+ + + + + +
+ + + + + + + +
std::string_view nixd::NixTU::src () const
+
+inline
+
+ +

Definition at line 49 of file NixTU.h.

+ +
+
+ +

◆ variableLookup()

+ +
+
+ + + + + +
+ + + + + + + +
const nixf::VariableLookupAnalysis * nixd::NixTU::variableLookup () const
+
+inline
+
+ +

Definition at line 45 of file NixTU.h.

+ +
+
+
The documentation for this class was generated from the following files: +
+ + + + diff --git a/classnixd_1_1OwnedEvalClient-members.html b/classnixd_1_1OwnedEvalClient-members.html new file mode 100644 index 000000000..50ecd07b9 --- /dev/null +++ b/classnixd_1_1OwnedEvalClient-members.html @@ -0,0 +1,107 @@ + + + + + + + +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::EvalClient
ExprValuenixd::EvalClient
LSPServer(std::unique_ptr< InboundPort > In, std::unique_ptr< OutboundPort > Out)lspserver::LSPServerinline
mkOutMethodlspserver::LSPServerinlineprotected
mkOutNotifictionlspserver::LSPServerinlineprotected
onReady(const int &Flags)nixd::EvalClientinline
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
ready()nixd::EvalClientinline
RegisterBCnixd::EvalClient
Registrylspserver::LSPServerprotected
run()lspserver::LSPServer
switchStreamStyle(JSONStreamStyle Style)lspserver::LSPServerinline
~MessageHandler()=defaultlspserver::MessageHandlervirtual
~OwnedEvalClient() overridenixd::OwnedEvalClientinline
+ + + + diff --git a/classnixd_1_1OwnedEvalClient.html b/classnixd_1_1OwnedEvalClient.html new file mode 100644 index 000000000..0f16557f6 --- /dev/null +++ b/classnixd_1_1OwnedEvalClient.html @@ -0,0 +1,288 @@ + + + + + + + +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 () override
 
- Public Member Functions inherited from nixd::EvalClient
 EvalClient (std::unique_ptr< lspserver::InboundPort > In, std::unique_ptr< lspserver::OutboundPort > Out)
 
void onReady (const int &Flags)
 
bool ready ()
 
- 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 36 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 43 of file EvalClient.h.

+ +

References lspserver::LSPServer::run().

+ +
+
+ +

◆ ~OwnedEvalClient()

+ +
+
+ + + + + +
+ + + + + + + +
nixd::OwnedEvalClient::~OwnedEvalClient ()
+
+inlineoverride
+
+ +

Definition at line 55 of file EvalClient.h.

+ +

References lspserver::LSPServer::closeInbound().

+ +
+
+

Member Function Documentation

+ +

◆ create()

+ +
+
+ + + + + +
+ + + + + + + +
static 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.

+ +
+
+ +

◆ proc()

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

Definition at line 53 of file EvalClient.h.

+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/classnixd_1_1OwnedEvalClient__coll__graph.map b/classnixd_1_1OwnedEvalClient__coll__graph.map new file mode 100644 index 000000000..3d55c3c87 --- /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..f19c642dd --- /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..42eef4377 --- /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..2c0680673 --- /dev/null +++ b/classnixd_1_1util_1_1AutoCloseFD.html @@ -0,0 +1,334 @@ + + + + + + + +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 8 of file AutoCloseFD.h.

+

Member Typedef Documentation

+ +

◆ FDTy

+ +
+
+ +

Definition at line 10 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.

+ +

References nixd::fromJSON().

+ +
+
+ +

◆ ~AutoCloseFD()

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

Definition at line 7 of file AutoCloseFD.cpp.

+ +

References nixd::fromJSON().

+ +
+
+

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_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..cf33ed971 --- /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..6c7eb5d85 --- /dev/null +++ b/classnixf_1_1AttrName-members.html @@ -0,0 +1,118 @@ + + + + + + + +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
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..aedcb05f5 --- /dev/null +++ b/classnixf_1_1AttrName.html @@ -0,0 +1,495 @@ + + + + + + + +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
 
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 28 of file Attrs.h.

+ +
+
+ +

◆ AttrName() [3/3]

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

Definition at line 34 of file Attrs.h.

+ +
+
+

Member Function Documentation

+ +

◆ children()

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

Implements nixf::Node.

+ +

Definition at line 75 of file Attrs.h.

+ +

References ANK_ID, ANK_Interpolation, and ANK_String.

+ +
+
+ +

◆ id()

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

Definition at line 64 of file Attrs.h.

+ +

References ANK_ID.

+ +

Referenced by staticName().

+ +
+
+ +

◆ interpolation()

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

Definition at line 58 of file Attrs.h.

+ +

References ANK_Interpolation.

+ +
+
+ +

◆ isStatic()

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

Definition at line 40 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 50 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 69 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..c7c17ba21 --- /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..c7c17ba21 --- /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..8270c53cf --- /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, std::vector< std::shared_ptr< Dot > > Dots)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..a909ba076 --- /dev/null +++ b/classnixf_1_1AttrPath.html @@ -0,0 +1,250 @@ + + + + + + + +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, std::vector< std::shared_ptr< Dot > > Dots)
 
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 90 of file Attrs.h.

+

Constructor & Destructor Documentation

+ +

◆ AttrPath()

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

Definition at line 95 of file Attrs.h.

+ +
+
+

Member Function Documentation

+ +

◆ children()

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

Implements nixf::Node.

+ +

Definition at line 104 of file Attrs.h.

+ +
+
+ +

◆ names()

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

Definition at line 100 of file Attrs.h.

+ +

Referenced by nixd::idioms::mkSelector().

+ +
+
+
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..a5e1ea1c3 --- /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..a5e1ea1c3 --- /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..46d82d6f6 --- /dev/null +++ b/classnixf_1_1Attribute-members.html @@ -0,0 +1,96 @@ + + + + + + + +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(std::shared_ptr< Node > Key, std::shared_ptr< Expr > Value, AttributeKind Kind)nixf::Attributeinline
AttributeKind enum namenixf::Attribute
fromInherit() constnixf::Attributeinline
key() constnixf::Attributeinline
kind() constnixf::Attributeinline
value() constnixf::Attributeinline
+ + + + diff --git a/classnixf_1_1Attribute.html b/classnixf_1_1Attribute.html new file mode 100644 index 000000000..d908154a8 --- /dev/null +++ b/classnixf_1_1Attribute.html @@ -0,0 +1,302 @@ + + + + + + + +nixd: nixf::Attribute Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
nixf::Attribute Class Reference
+
+
+ +

#include <Attrs.h>

+ + + + +

+Public Types

enum class  AttributeKind { Plain +, Inherit +, InheritFrom + }
 
+ + + + + + + + + + + +

+Public Member Functions

 Attribute (std::shared_ptr< Node > Key, std::shared_ptr< Expr > Value, AttributeKind Kind)
 
Nodekey () const
 
Exprvalue () const
 
AttributeKind kind () const
 
bool fromInherit () const
 
+

Detailed Description

+
+

Definition at line 189 of file Attrs.h.

+

Member Enumeration Documentation

+ +

◆ AttributeKind

+ +
+
+ + + + + +
+ + + + +
enum class nixf::Attribute::AttributeKind
+
+strong
+
+ + + + +
Enumerator
Plain 

a = b;

+
Inherit 

inherit a b c;

+
InheritFrom 

inherit (expr) a b c

+
+ +

Definition at line 191 of file Attrs.h.

+ +
+
+

Constructor & Destructor Documentation

+ +

◆ Attribute()

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

Definition at line 206 of file Attrs.h.

+ +
+
+

Member Function Documentation

+ +

◆ fromInherit()

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

Definition at line 218 of file Attrs.h.

+ +

References Inherit, and InheritFrom.

+ +
+
+ +

◆ key()

+ +
+
+ + + + + +
+ + + + + + + +
Node & nixf::Attribute::key () const
+
+inline
+
+ +

Definition at line 212 of file Attrs.h.

+ +
+
+ +

◆ kind()

+ +
+
+ + + + + +
+ + + + + + + +
AttributeKind nixf::Attribute::kind () const
+
+inline
+
+ +

Definition at line 216 of file Attrs.h.

+ +
+
+ +

◆ value()

+ +
+
+ + + + + +
+ + + + + + + +
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..5a58843d4 --- /dev/null +++ b/classnixf_1_1Binding-members.html @@ -0,0 +1,109 @@ + + + + + + + +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
~Node()=defaultnixf::Nodevirtual
+ + + + diff --git a/classnixf_1_1Binding.html b/classnixf_1_1Binding.html new file mode 100644 index 000000000..2a21eb543 --- /dev/null +++ b/classnixf_1_1Binding.html @@ -0,0 +1,277 @@ + + + + + + + +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
 
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 115 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 120 of file Attrs.h.

+ +
+
+

Member Function Documentation

+ +

◆ children()

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

Implements nixf::Node.

+ +

Definition at line 135 of file Attrs.h.

+ +
+
+ +

◆ path()

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

Definition at line 128 of file Attrs.h.

+ +
+
+ +

◆ value()

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

Definition at line 133 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..9719ba96f --- /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..9719ba96f --- /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..fd23138d5 --- /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..6ee21cbb2 --- /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 168 of file Attrs.h.

+

Constructor & Destructor Documentation

+ +

◆ Binds()

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

Definition at line 172 of file Attrs.h.

+ +
+
+

Member Function Documentation

+ +

◆ bindings()

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

Definition at line 175 of file Attrs.h.

+ +

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

+ +
+
+ +

◆ children()

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

Implements nixf::Node.

+ +

Definition at line 179 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..307cbd718 --- /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..307cbd718 --- /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_1Definition-members.html b/classnixf_1_1Definition-members.html new file mode 100644 index 000000000..4b77f6dfd --- /dev/null +++ b/classnixf_1_1Definition-members.html @@ -0,0 +1,106 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
nixf::Definition Member List
+
+
+ +

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

+ + + + + + + + + + + + + + + + + +
Definition(const Node *Syntax, DefinitionSource Source)nixf::Definitioninline
Definition(std::vector< const ExprVar * > Uses, const Node *Syntax, DefinitionSource Source)nixf::Definitioninline
DefinitionSource enum namenixf::Definition
DS_Builtin enum valuenixf::Definition
DS_LambdaArg enum valuenixf::Definition
DS_LambdaNoArg_Formal enum valuenixf::Definition
DS_LambdaWithArg_Arg enum valuenixf::Definition
DS_LambdaWithArg_Formal enum valuenixf::Definition
DS_Let enum valuenixf::Definition
DS_Rec enum valuenixf::Definition
DS_With enum valuenixf::Definition
isBuiltin() constnixf::Definitioninline
source() constnixf::Definitioninline
syntax() constnixf::Definitioninline
usedBy(const ExprVar &User)nixf::Definitioninline
uses() constnixf::Definitioninline
+ + + + diff --git a/classnixf_1_1Definition.html b/classnixf_1_1Definition.html new file mode 100644 index 000000000..94022d71d --- /dev/null +++ b/classnixf_1_1Definition.html @@ -0,0 +1,383 @@ + + + + + + + +nixd: nixf::Definition Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
nixf::Definition Class Reference
+
+
+ +

Represents a definition. + More...

+ +

#include <VariableLookup.h>

+ + + + + +

+Public Types

enum  DefinitionSource {
+  DS_With +, DS_Let +, DS_LambdaArg +, DS_LambdaNoArg_Formal +,
+  DS_LambdaWithArg_Arg +, DS_LambdaWithArg_Formal +, DS_Rec +, DS_Builtin +
+ }
 "Source" information so we can know where the def comes from. More...
 
+ + + + + + + + + + + + + + + +

+Public Member Functions

 Definition (const Node *Syntax, DefinitionSource Source)
 
 Definition (std::vector< const ExprVar * > Uses, const Node *Syntax, DefinitionSource Source)
 
const Nodesyntax () const
 
const std::vector< const ExprVar * > & uses () const
 
DefinitionSource source () const
 
void usedBy (const ExprVar &User)
 
bool isBuiltin () const
 
+

Detailed Description

+

Represents a definition.

+ +

Definition at line 26 of file VariableLookup.h.

+

Member Enumeration Documentation

+ +

◆ DefinitionSource

+ +
+
+ +

"Source" information so we can know where the def comes from.

+ + + + + + + + + +
Enumerator
DS_With 

From with <expr>;.

+
DS_Let 

From let ... in ...

+
DS_LambdaArg 

From ambda arg e.g. a: a + 1.

+
DS_LambdaNoArg_Formal 

From lambda (noarg) formal, e.g. { a }: a + 1.

+
DS_LambdaWithArg_Arg 

From lambda (with @arg) arg, e.g. a in { foo }@a: foo + 1

+
DS_LambdaWithArg_Formal 

From lambda (with @arg) formal, e.g. foo in { foo }@a: foo + 1

+
DS_Rec 

From recursive attribute set. e.g. rec { }.

+
DS_Builtin 

Builtin names.

+
+ +

Definition at line 29 of file VariableLookup.h.

+ +
+
+

Constructor & Destructor Documentation

+ +

◆ Definition() [1/2]

+ +
+
+ + + + + +
+ + + + + + + + + + + +
nixf::Definition::Definition (const Node * Syntax,
DefinitionSource Source )
+
+inline
+
+ +

Definition at line 63 of file VariableLookup.h.

+ +
+
+ +

◆ Definition() [2/2]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + +
nixf::Definition::Definition (std::vector< const ExprVar * > Uses,
const Node * Syntax,
DefinitionSource Source )
+
+inline
+
+ +

Definition at line 65 of file VariableLookup.h.

+ +
+
+

Member Function Documentation

+ +

◆ isBuiltin()

+ +
+
+ + + + + +
+ + + + + + + +
bool nixf::Definition::isBuiltin () const
+
+inline
+
+ +

Definition at line 79 of file VariableLookup.h.

+ +

References DS_Builtin.

+ +
+
+ +

◆ source()

+ +
+
+ + + + + +
+ + + + + + + +
DefinitionSource nixf::Definition::source () const
+
+inline
+
+ +

Definition at line 75 of file VariableLookup.h.

+ +
+
+ +

◆ syntax()

+ +
+
+ + + + + +
+ + + + + + + +
const Node * nixf::Definition::syntax () const
+
+inline
+
+ +

Definition at line 69 of file VariableLookup.h.

+ +

Referenced by nixd::idioms::mkVarSelector().

+ +
+
+ +

◆ usedBy()

+ +
+
+ + + + + +
+ + + + + + + +
void nixf::Definition::usedBy (const ExprVar & User)
+
+inline
+
+ +

Definition at line 77 of file VariableLookup.h.

+ +
+
+ +

◆ uses()

+ +
+
+ + + + + +
+ + + + + + + +
const std::vector< const ExprVar * > & nixf::Definition::uses () const
+
+inline
+
+ +

Definition at line 71 of file VariableLookup.h.

+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/classnixf_1_1Diagnostic-members.html b/classnixf_1_1Diagnostic-members.html new file mode 100644 index 000000000..b34fcf615 --- /dev/null +++ b/classnixf_1_1Diagnostic-members.html @@ -0,0 +1,118 @@ + + + + + + + +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
DS_Error enum valuenixf::Diagnostic
DS_Fatal enum valuenixf::Diagnostic
DS_Hint enum valuenixf::Diagnostic
DS_Info 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
parseKind(std::string_view SName)nixf::Diagnosticstatic
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..924a5c9b9 --- /dev/null +++ b/classnixf_1_1Diagnostic.html @@ -0,0 +1,562 @@ + + + + + + + +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 +, DS_Info +,
+  DS_Hint +
+ }
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 Diagnostic (DiagnosticKind Kind, LexerCursorRange Range)
 Internal kind.
 
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)
 
static std::optional< Diagnostic::DiagnosticKind > parseKind (std::string_view SName)
 Parse diagnostic "cname" to diagnostic id.
 
+ + + + + + +

+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 147 of file Diagnostic.h.

+

Member Enumeration Documentation

+ +

◆ Severity

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

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

+

"Warning" – just a warning.

+ + + + + + +
Enumerator
DS_Fatal 

shouldn't eval the code, e.g. parsing error.

+
DS_Error 

trigger an error in nix, but we can recover & eval the code.

+
DS_Warning 

A warning.

+
DS_Info 

An information.

+
DS_Hint 

A hint. Hints are usually not rendered directly in some editor GUI So this is suitable for liveness analysis results. For example, "unused xxx"

+
+ +

Definition at line 154 of file Diagnostic.h.

+ +
+
+

Constructor & Destructor Documentation

+ +

◆ Diagnostic()

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

Internal kind.

+ +

Definition at line 173 of file Diagnostic.h.

+ +
+
+

Member Function Documentation

+ +

◆ fix()

+ + + +

◆ fixes()

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

Definition at line 207 of file Diagnostic.h.

+ +
+
+ +

◆ kind()

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

Definition at line 176 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 182 of file Diagnostic.h.

+ +

References kind(), and message().

+ +

Referenced by message().

+ +
+
+ +

◆ message() [2/2]

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

◆ note()

+ + + +

◆ notes()

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

Definition at line 201 of file Diagnostic.h.

+ +
+
+ +

◆ parseKind()

+ +
+
+ + + + + +
+ + + + + + + +
static std::optional< Diagnostic::DiagnosticKind > nixf::Diagnostic::parseKind (std::string_view SName)
+
+static
+
+ +

Parse diagnostic "cname" to diagnostic id.

+ +
+
+ +

◆ severity()

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

Referenced by nixd::getLSPSeverity().

+ +
+
+ +

◆ sname() [1/2]

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

Definition at line 195 of file Diagnostic.h.

+ +

References kind(), and sname().

+ +

Referenced by sname().

+ +
+
+ +

◆ sname() [2/2]

+ +
+
+ + + + + +
+ + + + + + + +
static 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"

+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + 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..3319580fe --- /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..3319580fe --- /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_1Dot-members.html b/classnixf_1_1Dot-members.html new file mode 100644 index 000000000..e02013ea5 --- /dev/null +++ b/classnixf_1_1Dot-members.html @@ -0,0 +1,109 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
nixf::Dot Member List
+
+
+ +

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

+ + + + + + + + + + + + + + + + + + + + +
children() const overridenixf::Dotinlinevirtual
ChildVector typedefnixf::Node
descend(PositionRange Range) constnixf::Nodeinline
Dot(LexerCursorRange Range, const Node *Prev, const Node *Next)nixf::Dotinline
kind() constnixf::Nodeinline
lCur() constnixf::Nodeinline
name(NodeKind Kind)nixf::Nodestatic
name() constnixf::Nodeinline
next() constnixf::Dotinline
NK_BeginExpr enum valuenixf::Node
NK_EndExpr enum valuenixf::Node
Node(NodeKind Kind, LexerCursorRange Range)nixf::Nodeinlineexplicitprotected
NodeKind enum namenixf::Node
positionRange() constnixf::Nodeinline
prev() constnixf::Dotinline
range() constnixf::Nodeinline
rCur() constnixf::Nodeinline
src(std::string_view Src) constnixf::Nodeinline
~Node()=defaultnixf::Nodevirtual
+ + + + diff --git a/classnixf_1_1Dot.html b/classnixf_1_1Dot.html new file mode 100644 index 000000000..9ba11989f --- /dev/null +++ b/classnixf_1_1Dot.html @@ -0,0 +1,281 @@ + + + + + + + +nixd: nixf::Dot Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
nixf::Dot Class Reference
+
+
+ +

Holds a "." in the language. + More...

+ +

#include <Basic.h>

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

+Public Member Functions

 Dot (LexerCursorRange Range, const Node *Prev, const Node *Next)
 
ChildVector children () const override
 
const Nodeprev () const
 
const Nodenext () 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::Node
static const char * name (NodeKind Kind)
 
- Protected Member Functions inherited from nixf::Node
 Node (NodeKind Kind, LexerCursorRange Range)
 
+

Detailed Description

+

Holds a "." in the language.

+ +

Definition at line 126 of file Basic.h.

+

Constructor & Destructor Documentation

+ +

◆ Dot()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + +
nixf::Dot::Dot (LexerCursorRange Range,
const Node * Prev,
const Node * Next )
+
+inline
+
+ +

Definition at line 131 of file Basic.h.

+ +
+
+

Member Function Documentation

+ +

◆ children()

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

Implements nixf::Node.

+ +

Definition at line 136 of file Basic.h.

+ +
+
+ +

◆ next()

+ +
+
+ + + + + +
+ + + + + + + +
const Node * nixf::Dot::next () const
+
+inline
+
+ +

Definition at line 142 of file Basic.h.

+ +
+
+ +

◆ prev()

+ +
+
+ + + + + +
+ + + + + + + +
const Node & nixf::Dot::prev () const
+
+inline
+
+ +

Definition at line 138 of file Basic.h.

+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/classnixf_1_1Dot__coll__graph.map b/classnixf_1_1Dot__coll__graph.map new file mode 100644 index 000000000..163921e66 --- /dev/null +++ b/classnixf_1_1Dot__coll__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/classnixf_1_1Dot__coll__graph.md5 b/classnixf_1_1Dot__coll__graph.md5 new file mode 100644 index 000000000..45688ee29 --- /dev/null +++ b/classnixf_1_1Dot__coll__graph.md5 @@ -0,0 +1 @@ +a9953c9b49b1acee169da14d20efd0d5 \ No newline at end of file diff --git a/classnixf_1_1Dot__coll__graph.svg b/classnixf_1_1Dot__coll__graph.svg new file mode 100644 index 000000000..4142e696c --- /dev/null +++ b/classnixf_1_1Dot__coll__graph.svg @@ -0,0 +1,39 @@ + + + + + + +nixf::Dot + + +Node1 + + +nixf::Dot + + + + + +Node2 + + +nixf::Node + + + + + +Node2->Node1 + + + + + + + + diff --git a/classnixf_1_1Dot__inherit__graph.map b/classnixf_1_1Dot__inherit__graph.map new file mode 100644 index 000000000..163921e66 --- /dev/null +++ b/classnixf_1_1Dot__inherit__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/classnixf_1_1Dot__inherit__graph.md5 b/classnixf_1_1Dot__inherit__graph.md5 new file mode 100644 index 000000000..45688ee29 --- /dev/null +++ b/classnixf_1_1Dot__inherit__graph.md5 @@ -0,0 +1 @@ +a9953c9b49b1acee169da14d20efd0d5 \ No newline at end of file diff --git a/classnixf_1_1Dot__inherit__graph.svg b/classnixf_1_1Dot__inherit__graph.svg new file mode 100644 index 000000000..4142e696c --- /dev/null +++ b/classnixf_1_1Dot__inherit__graph.svg @@ -0,0 +1,39 @@ + + + + + + +nixf::Dot + + +Node1 + + +nixf::Dot + + + + + +Node2 + + +nixf::Node + + + + + +Node2->Node1 + + + + + + + + diff --git a/classnixf_1_1EnvNode-members.html b/classnixf_1_1EnvNode-members.html new file mode 100644 index 000000000..3c09836b4 --- /dev/null +++ b/classnixf_1_1EnvNode-members.html @@ -0,0 +1,97 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
nixf::EnvNode Member List
+
+
+ +

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

+ + + + + + + + +
DefMap typedefnixf::EnvNode
defs() constnixf::EnvNodeinline
EnvNode(std::shared_ptr< EnvNode > Parent, DefMap Defs, const Node *Syntax)nixf::EnvNodeinline
isLive() constnixf::EnvNode
isWith() constnixf::EnvNodeinline
parent() constnixf::EnvNodeinline
syntax() constnixf::EnvNodeinline
+ + + + diff --git a/classnixf_1_1EnvNode.html b/classnixf_1_1EnvNode.html new file mode 100644 index 000000000..883f99f6f --- /dev/null +++ b/classnixf_1_1EnvNode.html @@ -0,0 +1,318 @@ + + + + + + + +nixd: nixf::EnvNode Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
nixf::EnvNode Class Reference
+
+
+ +

A set of variable definitions, which may inherit parent environment. + More...

+ +

#include <VariableLookup.h>

+ + + + +

+Public Types

using DefMap = std::map<std::string, std::shared_ptr<Definition>>
 
+ + + + + + + + + + + + + + +

+Public Member Functions

 EnvNode (std::shared_ptr< EnvNode > Parent, DefMap Defs, const Node *Syntax)
 
EnvNodeparent () const
 
const Nodesyntax () const
 Where this node comes from.
 
bool isWith () const
 
const DefMapdefs () const
 
bool isLive () const
 
+

Detailed Description

+

A set of variable definitions, which may inherit parent environment.

+ +

Definition at line 83 of file VariableLookup.h.

+

Member Typedef Documentation

+ +

◆ DefMap

+ +
+
+ + + + +
using nixf::EnvNode::DefMap = std::map<std::string, std::shared_ptr<Definition>>
+
+ +

Definition at line 85 of file VariableLookup.h.

+ +
+
+

Constructor & Destructor Documentation

+ +

◆ EnvNode()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + +
nixf::EnvNode::EnvNode (std::shared_ptr< EnvNode > Parent,
DefMap Defs,
const Node * Syntax )
+
+inline
+
+ +

Definition at line 95 of file VariableLookup.h.

+ +
+
+

Member Function Documentation

+ +

◆ defs()

+ +
+
+ + + + + +
+ + + + + + + +
const DefMap & nixf::EnvNode::defs () const
+
+inline
+
+ +

Definition at line 107 of file VariableLookup.h.

+ +
+
+ +

◆ isLive()

+ +
+
+ + + + + + + +
bool EnvNode::isLive () const
+
+ +

Definition at line 35 of file VariableLookup.cpp.

+ +
+
+ +

◆ isWith()

+ +
+
+ + + + + +
+ + + + + + + +
bool nixf::EnvNode::isWith () const
+
+inline
+
+ +

Definition at line 103 of file VariableLookup.h.

+ +

References nixf::Node::kind().

+ +

Referenced by nixd::havePackageScope().

+ +
+
+ +

◆ parent()

+ +
+
+ + + + + +
+ + + + + + + +
EnvNode * nixf::EnvNode::parent () const
+
+inline
+
+ +

Definition at line 98 of file VariableLookup.h.

+ +

Referenced by nixd::havePackageScope().

+ +
+
+ +

◆ syntax()

+ +
+
+ + + + + +
+ + + + + + + +
const Node * nixf::EnvNode::syntax () const
+
+inline
+
+ +

Where this node comes from.

+ +

Definition at line 101 of file VariableLookup.h.

+ +

Referenced by nixd::havePackageScope().

+ +
+
+
The documentation for this class was generated from the following files: +
+ + + + diff --git a/classnixf_1_1Expr-members.html b/classnixf_1_1Expr-members.html new file mode 100644 index 000000000..ba5f91160 --- /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..6bf238508 --- /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(), maybeLambda(), and nixf::ParentMapAnalysis::upExpr().

+ +
+
+ +

◆ 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..73c570665 --- /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..bb9338c55 --- /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 107 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 113 of file Expr.h.

+ +
+
+

Member Function Documentation

+ +

◆ children()

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

Implements nixf::Node.

+ +

Definition at line 121 of file Expr.h.

+ +
+
+ +

◆ cond()

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

Definition at line 118 of file Expr.h.

+ +
+
+ +

◆ value()

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

Definition at line 119 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..065f1e807 --- /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..065f1e807 --- /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..0f875eca7 --- /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..008396281 --- /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 267 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 274 of file Attrs.h.

+ +
+
+

Member Function Documentation

+ +

◆ binds()

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

Definition at line 279 of file Attrs.h.

+ +
+
+ +

◆ children()

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

Implements nixf::Node.

+ +

Definition at line 286 of file Attrs.h.

+ +
+
+ +

◆ isRecursive()

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

Definition at line 282 of file Attrs.h.

+ +

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

+ +
+
+ +

◆ rec()

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

Definition at line 280 of file Attrs.h.

+ +

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

+ +
+
+ +

◆ sema()

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

Definition at line 284 of file Attrs.h.

+ +
+
+

Friends And Related Symbol Documentation

+ +

◆ Sema

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

Definition at line 271 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..31438fa1b --- /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..31438fa1b --- /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..ea779ef7a --- /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..d2d051317 --- /dev/null +++ b/classnixf_1_1ExprBinOp.html @@ -0,0 +1,304 @@ + + + + + + + +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.

+ +
+
+ +

◆ rhs()

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

Definition at line 50 of file Op.h.

+ +
+
+
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..c886da7a3 --- /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..c886da7a3 --- /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..4002939a5 --- /dev/null +++ b/classnixf_1_1ExprCall-members.html @@ -0,0 +1,114 @@ + + + + + + + +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() 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..b7c26be5d --- /dev/null +++ b/classnixf_1_1ExprCall.html @@ -0,0 +1,294 @@ + + + + + + + +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
 
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()

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

Definition at line 51 of file Expr.h.

+ +
+
+ +

◆ children()

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

Implements nixf::Node.

+ +

Definition at line 55 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..68475094c --- /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..68475094c --- /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..921c7be60 --- /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..eb6b16048 --- /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..9545deec5 --- /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..9545deec5 --- /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..635edbf5c --- /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..78a42d59d --- /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 87 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 93 of file Expr.h.

+ +
+
+

Member Function Documentation

+ +

◆ children()

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

Implements nixf::Node.

+ +

Definition at line 102 of file Expr.h.

+ +
+
+ +

◆ cond()

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

Definition at line 98 of file Expr.h.

+ +
+
+ +

◆ elseExpr()

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

Definition at line 100 of file Expr.h.

+ +
+
+ +

◆ then()

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

Definition at line 99 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..e0818fd0a --- /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..e0818fd0a --- /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..48148733e --- /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..117630094 --- /dev/null +++ b/classnixf_1_1ExprInt.html @@ -0,0 +1,256 @@ + + + + + + + +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.

+ +
+
+
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..8f1f4e2ff --- /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..8f1f4e2ff --- /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..32c11bd33 --- /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..7707badfa --- /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..a25d705e9 --- /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..a25d705e9 --- /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..fcec04549 --- /dev/null +++ b/classnixf_1_1ExprLet-members.html @@ -0,0 +1,117 @@ + + + + + + + +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.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
attrs() constnixf::ExprLetinline
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< Misc > KwIn, std::shared_ptr< Expr > E, std::shared_ptr< ExprAttrs > Attrs)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..970914eb7 --- /dev/null +++ b/classnixf_1_1ExprLet.html @@ -0,0 +1,387 @@ + + + + + + + +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< Misc > KwIn, std::shared_ptr< Expr > E, std::shared_ptr< ExprAttrs > Attrs)
 
const Bindsbinds () const
 
const ExprAttrsattrs () const
 
const Exprexpr () const
 
const Misclet () const
 
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 126 of file Expr.h.

+

Constructor & Destructor Documentation

+ +

◆ ExprLet()

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

Definition at line 136 of file Expr.h.

+ +
+
+

Member Function Documentation

+ +

◆ attrs()

+ +
+
+ + + + + +
+ + + + + + + +
const ExprAttrs * nixf::ExprLet::attrs () const
+
+inline
+
+ +

Definition at line 147 of file Expr.h.

+ +
+
+ +

◆ binds()

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

Definition at line 144 of file Expr.h.

+ +
+
+ +

◆ children()

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

Implements nixf::Node.

+ +

Definition at line 152 of file Expr.h.

+ +
+
+ +

◆ expr()

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

Definition at line 148 of file Expr.h.

+ +
+
+ +

◆ in()

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

Definition at line 150 of file Expr.h.

+ +
+
+ +

◆ let()

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

Definition at line 149 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..2e9b0576d --- /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..2e9b0576d --- /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..8e9abc5a7 --- /dev/null +++ b/classnixf_1_1ExprList-members.html @@ -0,0 +1,113 @@ + + + + + + + +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
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..a80f91a4f --- /dev/null +++ b/classnixf_1_1ExprList.html @@ -0,0 +1,256 @@ + + + + + + + +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
 
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 77 of file Expr.h.

+ +
+
+ +

◆ elements()

+ +
+
+ + + + + +
+ + + + + + + +
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..38d5d7504 --- /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..38d5d7504 --- /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..0e512af19 --- /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..c7a0d5a19 --- /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(), and nixf::ExprUnaryOp::children().

+ +
+
+
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..17ee7fc26 --- /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..80670f2c5 --- /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..6f981a080 --- /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..6f981a080 --- /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..3825da67a --- /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..25f8fffc4 --- /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..4ef543498 --- /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..be6f24651 --- /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 172 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 178 of file Simple.h.

+ +
+
+

Member Function Documentation

+ +

◆ children()

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

Implements nixf::Node.

+ +

Definition at line 187 of file Simple.h.

+ +
+
+ +

◆ expr()

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

Definition at line 183 of file Simple.h.

+ +
+
+ +

◆ lparen()

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

Definition at line 184 of file Simple.h.

+ +
+
+ +

◆ rparen()

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

Definition at line 185 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..89c2c95a5 --- /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..89c2c95a5 --- /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..856613db5 --- /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..c8260cb93 --- /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 143 of file Simple.h.

+

Constructor & Destructor Documentation

+ +

◆ ExprPath()

+ +
+
+ + + + + +
+ + + + + + + + + + + +
nixf::ExprPath::ExprPath (LexerCursorRange Range,
std::shared_ptr< InterpolatedParts > Parts )
+
+inline
+
+ +

Definition at line 147 of file Simple.h.

+ +
+
+

Member Function Documentation

+ +

◆ children()

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

Implements nixf::Node.

+ +

Definition at line 157 of file Simple.h.

+ +
+
+ +

◆ parts()

+ +
+
+ + + + + +
+ + + + + + + +
const InterpolatedParts & nixf::ExprPath::parts () const
+
+inline
+
+ +

Definition at line 152 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..8790f27e1 --- /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..8790f27e1 --- /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_1ExprSPath-members.html b/classnixf_1_1ExprSPath-members.html new file mode 100644 index 000000000..5dcc956ec --- /dev/null +++ b/classnixf_1_1ExprSPath-members.html @@ -0,0 +1,113 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
nixf::ExprSPath Member List
+
+
+ +

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

+ + + + + + + + + + + + + + + + + + + + + + + + +
children() const overridenixf::ExprSPathinlinevirtual
ChildVector typedefnixf::Node
classof(const Node *N)nixf::Exprinlinestatic
descend(PositionRange Range) constnixf::Nodeinline
Expr(NodeKind Kind, LexerCursorRange Range)nixf::Exprinlineexplicitprotected
ExprSPath(LexerCursorRange Range, std::string Text)nixf::ExprSPathinline
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
text() constnixf::ExprSPathinline
~Node()=defaultnixf::Nodevirtual
+ + + + diff --git a/classnixf_1_1ExprSPath.html b/classnixf_1_1ExprSPath.html new file mode 100644 index 000000000..ccd94571f --- /dev/null +++ b/classnixf_1_1ExprSPath.html @@ -0,0 +1,256 @@ + + + + + + + +nixd: nixf::ExprSPath Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
nixf::ExprSPath Class Reference
+
+
+ +

#include <Simple.h>

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

+Public Member Functions

 ExprSPath (LexerCursorRange Range, std::string Text)
 
ChildVector children () const override
 
const std::string & text () 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 160 of file Simple.h.

+

Constructor & Destructor Documentation

+ +

◆ ExprSPath()

+ +
+
+ + + + + +
+ + + + + + + + + + + +
nixf::ExprSPath::ExprSPath (LexerCursorRange Range,
std::string Text )
+
+inline
+
+ +

Definition at line 164 of file Simple.h.

+ +
+
+

Member Function Documentation

+ +

◆ children()

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

Implements nixf::Node.

+ +

Definition at line 167 of file Simple.h.

+ +
+
+ +

◆ text()

+ +
+
+ + + + + +
+ + + + + + + +
const std::string & nixf::ExprSPath::text () const
+
+inline
+
+ +

Definition at line 169 of file Simple.h.

+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/classnixf_1_1ExprSPath__coll__graph.map b/classnixf_1_1ExprSPath__coll__graph.map new file mode 100644 index 000000000..1d79d71f4 --- /dev/null +++ b/classnixf_1_1ExprSPath__coll__graph.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/classnixf_1_1ExprSPath__coll__graph.md5 b/classnixf_1_1ExprSPath__coll__graph.md5 new file mode 100644 index 000000000..661f2e52a --- /dev/null +++ b/classnixf_1_1ExprSPath__coll__graph.md5 @@ -0,0 +1 @@ +e9998754d2eff87cc073bd55cf1a4ae0 \ No newline at end of file diff --git a/classnixf_1_1ExprSPath__coll__graph.svg b/classnixf_1_1ExprSPath__coll__graph.svg new file mode 100644 index 000000000..ed749d1df --- /dev/null +++ b/classnixf_1_1ExprSPath__coll__graph.svg @@ -0,0 +1,57 @@ + + + + + + +nixf::ExprSPath + + +Node1 + + +nixf::ExprSPath + + + + + +Node2 + + +nixf::Expr + + + + + +Node2->Node1 + + + + + + + + +Node3 + + +nixf::Node + + + + + +Node3->Node2 + + + + + + + + diff --git a/classnixf_1_1ExprSPath__inherit__graph.map b/classnixf_1_1ExprSPath__inherit__graph.map new file mode 100644 index 000000000..1d79d71f4 --- /dev/null +++ b/classnixf_1_1ExprSPath__inherit__graph.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/classnixf_1_1ExprSPath__inherit__graph.md5 b/classnixf_1_1ExprSPath__inherit__graph.md5 new file mode 100644 index 000000000..661f2e52a --- /dev/null +++ b/classnixf_1_1ExprSPath__inherit__graph.md5 @@ -0,0 +1 @@ +e9998754d2eff87cc073bd55cf1a4ae0 \ No newline at end of file diff --git a/classnixf_1_1ExprSPath__inherit__graph.svg b/classnixf_1_1ExprSPath__inherit__graph.svg new file mode 100644 index 000000000..ed749d1df --- /dev/null +++ b/classnixf_1_1ExprSPath__inherit__graph.svg @@ -0,0 +1,57 @@ + + + + + + +nixf::ExprSPath + + +Node1 + + +nixf::ExprSPath + + + + + +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..c5f80a3e8 --- /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..a0f447c4d --- /dev/null +++ b/classnixf_1_1ExprSelect.html @@ -0,0 +1,328 @@ + + + + + + + +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.

+ +

Referenced by nixd::idioms::mkSelector().

+ +
+
+ +

◆ path()

+ +
+
+ + + + + +
+ + + + + + + +
AttrPath * nixf::ExprSelect::path () const
+
+inline
+
+ +

Definition at line 27 of file Expr.h.

+ +

Referenced by nixd::idioms::mkSelector().

+ +
+
+
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..acf852d2c --- /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..acf852d2c --- /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..a6bfae17a --- /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..c8ce008db --- /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 116 of file Simple.h.

+

Constructor & Destructor Documentation

+ +

◆ ExprString()

+ +
+
+ + + + + +
+ + + + + + + + + + + +
nixf::ExprString::ExprString (LexerCursorRange Range,
std::shared_ptr< InterpolatedParts > Parts )
+
+inline
+
+ +

Definition at line 120 of file Simple.h.

+ +
+
+

Member Function Documentation

+ +

◆ children()

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

Implements nixf::Node.

+ +

Definition at line 140 of file Simple.h.

+ +
+
+ +

◆ isLiteral()

+ +
+
+ + + + + +
+ + + + + + + +
bool nixf::ExprString::isLiteral () const
+
+inline
+
+ +

Definition at line 130 of file Simple.h.

+ +

Referenced by nixf::AttrName::isStatic().

+ +
+
+ +

◆ literal()

+ +
+
+ + + + + +
+ + + + + + + +
const std::string & nixf::ExprString::literal () const
+
+inline
+
+ +

Definition at line 135 of file Simple.h.

+ +

Referenced by nixf::AttrName::staticName().

+ +
+
+ +

◆ parts()

+ +
+
+ + + + + +
+ + + + + + + +
const InterpolatedParts & nixf::ExprString::parts () const
+
+inline
+
+ +

Definition at line 125 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..71c1b1fa6 --- /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..71c1b1fa6 --- /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..f46e79aa9 --- /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..0b7517f89 --- /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..4c90bac83 --- /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..4c90bac83 --- /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..2b952a994 --- /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..ff3024247 --- /dev/null +++ b/classnixf_1_1ExprVar.html @@ -0,0 +1,258 @@ + + + + + + + +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 192 of file Simple.h.

+

Constructor & Destructor Documentation

+ +

◆ ExprVar()

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

Definition at line 196 of file Simple.h.

+ +
+
+

Member Function Documentation

+ +

◆ children()

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

Implements nixf::Node.

+ +

Definition at line 205 of file Simple.h.

+ +
+
+ +

◆ id()

+ +
+
+ + + + + +
+ + + + + + + +
const Identifier & nixf::ExprVar::id () const
+
+inline
+
+ +

Definition at line 200 of file Simple.h.

+ +

Referenced by nixd::havePackageScope(), and nixd::idioms::mkVarSelector().

+ +
+
+
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..345d920a7 --- /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..345d920a7 --- /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..a4b12c437 --- /dev/null +++ b/classnixf_1_1ExprWith-members.html @@ -0,0 +1,116 @@ + + + + + + + +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< Misc > KwWith, std::shared_ptr< Misc > TokSemi, std::shared_ptr< Expr > With, std::shared_ptr< Expr > E)nixf::ExprWithinline
isExpr(NodeKind Kind)nixf::Exprinlinestatic
kind() constnixf::Nodeinline
kwWith() constnixf::ExprWithinline
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
tokSemi() constnixf::ExprWithinline
with() constnixf::ExprWithinline
~Node()=defaultnixf::Nodevirtual
+ + + + diff --git a/classnixf_1_1ExprWith.html b/classnixf_1_1ExprWith.html new file mode 100644 index 000000000..a0329cb19 --- /dev/null +++ b/classnixf_1_1ExprWith.html @@ -0,0 +1,360 @@ + + + + + + + +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< Misc > KwWith, std::shared_ptr< Misc > TokSemi, std::shared_ptr< Expr > With, std::shared_ptr< Expr > E)
 
const MisckwWith () const
 
const MisctokSemi () const
 
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 157 of file Expr.h.

+

Constructor & Destructor Documentation

+ +

◆ ExprWith()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
nixf::ExprWith::ExprWith (LexerCursorRange Range,
std::shared_ptr< Misc > KwWith,
std::shared_ptr< Misc > TokSemi,
std::shared_ptr< Expr > With,
std::shared_ptr< Expr > E )
+
+inline
+
+ +

Definition at line 164 of file Expr.h.

+ +
+
+

Member Function Documentation

+ +

◆ children()

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

Implements nixf::Node.

+ +

Definition at line 175 of file Expr.h.

+ +
+
+ +

◆ expr()

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

Definition at line 173 of file Expr.h.

+ +
+
+ +

◆ kwWith()

+ +
+
+ + + + + +
+ + + + + + + +
const Misc & nixf::ExprWith::kwWith () const
+
+inline
+
+ +

Definition at line 170 of file Expr.h.

+ +
+
+ +

◆ tokSemi()

+ +
+
+ + + + + +
+ + + + + + + +
const Misc * nixf::ExprWith::tokSemi () const
+
+inline
+
+ +

Definition at line 171 of file Expr.h.

+ +
+
+ +

◆ with()

+ +
+
+ + + + + +
+ + + + + + + +
Expr * nixf::ExprWith::with () const
+
+inline
+
+ +

Definition at line 172 of file Expr.h.

+ +

Referenced by nixd::havePackageScope().

+ +
+
+
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..fadb9c9f9 --- /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..fadb9c9f9 --- /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..ef501b4aa --- /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..63c416732 --- /dev/null +++ b/classnixf_1_1Expr__inherit__graph.map @@ -0,0 +1,45 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/classnixf_1_1Expr__inherit__graph.md5 b/classnixf_1_1Expr__inherit__graph.md5 new file mode 100644 index 000000000..88bed1396 --- /dev/null +++ b/classnixf_1_1Expr__inherit__graph.md5 @@ -0,0 +1 @@ +d4f9c766a2800191bc6041aee06d9ba7 \ 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..267c9c86a --- /dev/null +++ b/classnixf_1_1Expr__inherit__graph.svg @@ -0,0 +1,399 @@ + + + + + + +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::ExprSPath + + + + + +Node1->Node18 + + + + + + + + +Node19 + + +nixf::ExprSelect + + + + + +Node1->Node19 + + + + + + + + +Node20 + + +nixf::ExprString + + + + + +Node1->Node20 + + + + + + + + +Node21 + + +nixf::ExprVar + + + + + +Node1->Node21 + + + + + + + + +Node22 + + +nixf::ExprWith + + + + + +Node1->Node22 + + + + + + + + +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..45b8fd13f --- /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 57 of file Diagnostic.h.

+

Constructor & Destructor Documentation

+ +

◆ Fix()

+ +
+
+ + + + + +
+ + + + + + + + + + + +
nixf::Fix::Fix (std::vector< TextEdit > Edits,
std::string Message )
+
+inline
+
+ +

Definition at line 62 of file Diagnostic.h.

+ +
+
+

Member Function Documentation

+ +

◆ edit()

+ + + +

◆ edits()

+ +
+
+ + + + + +
+ + + + + + + +
const std::vector< TextEdit > & nixf::Fix::edits () const
+
+inline
+
+ +

Definition at line 70 of file Diagnostic.h.

+ +
+
+ +

◆ message()

+ +
+
+ + + + + +
+ + + + + + + +
const std::string & nixf::Fix::message () const
+
+inline
+
+ +

Definition at line 71 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..c8b394b6f --- /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..6a5503765 --- /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..5006c21e5 --- /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..5006c21e5 --- /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..05f11bb8f --- /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..5be036a64 --- /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..960b7c228 --- /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..960b7c228 --- /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..145db928f --- /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..e819be582 --- /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(), nixd::havePackageScope(), and nixd::idioms::mkVarSelector().

+ +
+
+
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..9154ab40e --- /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..9154ab40e --- /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..edcdfce1f --- /dev/null +++ b/classnixf_1_1Inherit-members.html @@ -0,0 +1,110 @@ + + + + + + + +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() 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..4ae933073 --- /dev/null +++ b/classnixf_1_1Inherit.html @@ -0,0 +1,310 @@ + + + + + + + +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 ()
 
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 140 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 145 of file Attrs.h.

+ +
+
+

Member Function Documentation

+ +

◆ children()

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

Implements nixf::Node.

+ +

Definition at line 157 of file Attrs.h.

+ +
+
+ +

◆ expr()

+ +
+
+ + + + + +
+ + + + + + + +
const std::shared_ptr< Expr > & nixf::Inherit::expr () const
+
+inline
+
+ +

Definition at line 155 of file Attrs.h.

+ +

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

+ +
+
+ +

◆ hasExpr()

+ +
+
+ + + + + +
+ + + + + + + +
bool nixf::Inherit::hasExpr ()
+
+inline
+
+ +

Definition at line 153 of file Attrs.h.

+ +
+
+ +

◆ names()

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

Definition at line 149 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..4088eca68 --- /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..4088eca68 --- /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..5203bb5c6 --- /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..a87142165 --- /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()

+ +
+
+ + + + + + + + + + + +
InterpolatedParts::InterpolatedParts (LexerCursorRange Range,
std::vector< InterpolablePart > Fragments )
+
+ +

Definition at line 53 of file Nodes.cpp.

+ +
+
+

Member Function Documentation

+ +

◆ children()

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

Implements nixf::Node.

+ +

Definition at line 106 of file Simple.h.

+ +

References nixf::InterpolablePart::SPK_Interpolation.

+ +
+
+ +

◆ 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..63390bc5e --- /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..63390bc5e --- /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..70d6b0805 --- /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..f0c8d1876 --- /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..76e433cce --- /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..76e433cce --- /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..a534c7888 --- /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() constnixf::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..31760243e --- /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 () const
 
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 () const
+
+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..ce01f20e7 --- /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..ce01f20e7 --- /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..c781e711b --- /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..2ebc5aeb3 --- /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 21 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 Lexer::lex ()
+
+ +

Definition at line 439 of file Lexer.cpp.

+ +
+
+ +

◆ lexIndString()

+ +
+
+ + + + + + + +
Token Lexer::lexIndString ()
+
+ +

Definition at line 405 of file Lexer.cpp.

+ +
+
+ +

◆ lexPath()

+ +
+
+ + + + + + + +
Token Lexer::lexPath ()
+
+ +

Definition at line 327 of file Lexer.cpp.

+ +
+
+ +

◆ lexString()

+ +
+
+ + + + + + + +
Token Lexer::lexString ()
+
+ +

Definition at line 357 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..66ebbb947 --- /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().

+ +
+
+ +

◆ 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().

+ +
+
+ +

◆ 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(), and nixd::toLSPPosition().

+ +
+
+ +

◆ 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..02c8b1184 --- /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..9de052a10 --- /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..7652db066 --- /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..f25aea99a --- /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..f25aea99a --- /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..dee008144 --- /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..75b4e49c4 --- /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()

+ + + +

◆ 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 * Node::name (NodeKind Kind)
+
+static
+
+ +

Definition at line 35 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()

+ + + +

◆ 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..2a4565bd8 --- /dev/null +++ b/classnixf_1_1Node__inherit__graph.map @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/classnixf_1_1Node__inherit__graph.md5 b/classnixf_1_1Node__inherit__graph.md5 new file mode 100644 index 000000000..7e47e783a --- /dev/null +++ b/classnixf_1_1Node__inherit__graph.md5 @@ -0,0 +1 @@ +743d6ff2df193c6da85462c3117f97e1 \ 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..716c019f1 --- /dev/null +++ b/classnixf_1_1Node__inherit__graph.svg @@ -0,0 +1,651 @@ + + + + + + +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::Dot + + + + + +Node1->Node6 + + + + + + + + +Node7 + + +nixf::Expr + + + + + +Node1->Node7 + + + + + + + + +Node28 + + +nixf::Formal + + + + + +Node1->Node28 + + + + + + + + +Node29 + + +nixf::Formals + + + + + +Node1->Node29 + + + + + + + + +Node30 + + +nixf::Identifier + + + + + +Node1->Node30 + + + + + + + + +Node31 + + +nixf::Inherit + + + + + +Node1->Node31 + + + + + + + + +Node32 + + +nixf::InterpolatedParts + + + + + +Node1->Node32 + + + + + + + + +Node33 + + +nixf::Interpolation + + + + + +Node1->Node33 + + + + + + + + +Node34 + + +nixf::LambdaArg + + + + + +Node1->Node34 + + + + + + + + +Node35 + + +nixf::Misc + + + + + +Node1->Node35 + + + + + + + + +Node36 + + +nixf::Op + + + + + +Node1->Node36 + + + + + + + + +Node8 + + +nixf::ExprAssert + + + + + +Node7->Node8 + + + + + + + + +Node9 + + +nixf::ExprAttrs + + + + + +Node7->Node9 + + + + + + + + +Node10 + + +nixf::ExprCall + + + + + +Node7->Node10 + + + + + + + + +Node11 + + +nixf::ExprFloat + + + + + +Node7->Node11 + + + + + + + + +Node12 + + +nixf::ExprIf + + + + + +Node7->Node12 + + + + + + + + +Node13 + + +nixf::ExprInt + + + + + +Node7->Node13 + + + + + + + + +Node14 + + +nixf::ExprLambda + + + + + +Node7->Node14 + + + + + + + + +Node15 + + +nixf::ExprLet + + + + + +Node7->Node15 + + + + + + + + +Node16 + + +nixf::ExprList + + + + + +Node7->Node16 + + + + + + + + +Node17 + + +nixf::ExprOp + + + + + +Node7->Node17 + + + + + + + + +Node21 + + +nixf::ExprParen + + + + + +Node7->Node21 + + + + + + + + +Node22 + + +nixf::ExprPath + + + + + +Node7->Node22 + + + + + + + + +Node23 + + +nixf::ExprSPath + + + + + +Node7->Node23 + + + + + + + + +Node24 + + +nixf::ExprSelect + + + + + +Node7->Node24 + + + + + + + + +Node25 + + +nixf::ExprString + + + + + +Node7->Node25 + + + + + + + + +Node26 + + +nixf::ExprVar + + + + + +Node7->Node26 + + + + + + + + +Node27 + + +nixf::ExprWith + + + + + +Node7->Node27 + + + + + + + + +Node18 + + +nixf::ExprBinOp + + + + + +Node17->Node18 + + + + + + + + +Node19 + + +nixf::ExprOpHasAttr + + + + + +Node17->Node19 + + + + + + + + +Node20 + + +nixf::ExprUnaryOp + + + + + +Node17->Node20 + + + + + + + + diff --git a/classnixf_1_1Note-members.html b/classnixf_1_1Note-members.html new file mode 100644 index 000000000..44a8a08fd --- /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..03dc62927 --- /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 114 of file Diagnostic.h.

+

Member Enumeration Documentation

+ +

◆ NoteKind

+ +
+
+ + + + +
enum nixf::Note::NoteKind
+
+ +

Internal kind.

+ +

Definition at line 117 of file Diagnostic.h.

+ +
+
+

Constructor & Destructor Documentation

+ +

◆ Note()

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

Definition at line 123 of file Diagnostic.h.

+ +
+
+

Member Function Documentation

+ +

◆ kind()

+ +
+
+ + + + + +
+ + + + + + + +
NoteKind nixf::Note::kind () const
+
+inline
+
+ +

Definition at line 135 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 139 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 39 of file Diagnostic.cpp.

+ +
+
+ +

◆ operator<<()

+ +
+
+
+template<class T >
+ + + + + +
+ + + + + + + +
PartialDiagnostic & nixf::Note::operator<< (const T & Var)
+
+inline
+
+ +

Definition at line 126 of file Diagnostic.h.

+ +

References nixf::PartialDiagnostic::args().

+ +
+
+ +

◆ sname() [1/2]

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

Definition at line 133 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..ef3593bc7 --- /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..ef3593bc7 --- /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..28fa1c03d --- /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..7786ac5c8 --- /dev/null +++ b/classnixf_1_1Op.html @@ -0,0 +1,243 @@ + + + + + + + +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.

+ +
+
+
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..51f33c9d2 --- /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..51f33c9d2 --- /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_1ParentMapAnalysis-members.html b/classnixf_1_1ParentMapAnalysis-members.html new file mode 100644 index 000000000..cace6ebd7 --- /dev/null +++ b/classnixf_1_1ParentMapAnalysis-members.html @@ -0,0 +1,96 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
nixf::ParentMapAnalysis Member List
+
+
+ +

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

+ + + + + + + +
isRoot(const Node *Up, const Node &N)nixf::ParentMapAnalysisstatic
isRoot(const Node &N) constnixf::ParentMapAnalysis
query(const Node &N) constnixf::ParentMapAnalysis
runOnAST(const Node &Root)nixf::ParentMapAnalysis
upExpr(const Node &N) constnixf::ParentMapAnalysis
upTo(const Node &N, Node::NodeKind Kind) constnixf::ParentMapAnalysis
+ + + + diff --git a/classnixf_1_1ParentMapAnalysis.html b/classnixf_1_1ParentMapAnalysis.html new file mode 100644 index 000000000..9be4f775f --- /dev/null +++ b/classnixf_1_1ParentMapAnalysis.html @@ -0,0 +1,268 @@ + + + + + + + +nixd: nixf::ParentMapAnalysis Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
nixf::ParentMapAnalysis Class Reference
+
+
+ +

#include <ParentMap.h>

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

+Public Member Functions

void runOnAST (const Node &Root)
 
const Nodequery (const Node &N) const
 
const NodeupExpr (const Node &N) const
 Search up until the node becomes a concrete expression. a ^<--— ID -> ExprVar.
 
const NodeupTo (const Node &N, Node::NodeKind Kind) const
 Search up until some kind of node is found.
 
bool isRoot (const Node &N) const
 
+ + + +

+Static Public Member Functions

static bool isRoot (const Node *Up, const Node &N)
 
+

Detailed Description

+
+

Definition at line 15 of file libnixf/include/nixf/Sema/ParentMap.h.

+

Member Function Documentation

+ +

◆ isRoot() [1/2]

+ +
+
+ + + + + + + +
bool nixf::ParentMapAnalysis::isRoot (const Node & N) const
+
+ +

Definition at line 46 of file libnixf/src/Sema/ParentMap.cpp.

+ +
+
+ +

◆ isRoot() [2/2]

+ +
+
+ + + + + +
+ + + + + + + + + + + +
bool nixf::ParentMapAnalysis::isRoot (const Node * Up,
const Node & N )
+
+static
+
+ +

Definition at line 42 of file libnixf/src/Sema/ParentMap.cpp.

+ +

Referenced by nixd::upEnv(), upExpr(), and upTo().

+ +
+
+ +

◆ query()

+ +
+
+ + + + + + + +
const Node * ParentMapAnalysis::query (const Node & N) const
+
+ +

Definition at line 13 of file libnixf/src/Sema/ParentMap.cpp.

+ +

Referenced by nixd::idioms::mkVarSelector(), nixd::upEnv(), upExpr(), and upTo().

+ +
+
+ +

◆ runOnAST()

+ +
+
+ + + + + + + +
void ParentMapAnalysis::runOnAST (const Node & Root)
+
+ +

Definition at line 37 of file libnixf/src/Sema/ParentMap.cpp.

+ +
+
+ +

◆ upExpr()

+ +
+
+ + + + + + + +
const Node * ParentMapAnalysis::upExpr (const Node & N) const
+
+ +

Search up until the node becomes a concrete expression. a ^<--— ID -> ExprVar.

+ +

Definition at line 17 of file libnixf/src/Sema/ParentMap.cpp.

+ +

References nixf::Expr::isExpr(), isRoot(), nixf::Node::kind(), query(), and upExpr().

+ +

Referenced by upExpr().

+ +
+
+ +

◆ upTo()

+ +
+
+ + + + + + + + + + + +
const Node * ParentMapAnalysis::upTo (const Node & N,
Node::NodeKind Kind ) const
+
+ +

Search up until some kind of node is found.

+ +

Definition at line 27 of file libnixf/src/Sema/ParentMap.cpp.

+ +

References isRoot(), nixf::Node::kind(), query(), and upTo().

+ +

Referenced by nixd::findAttrPath(), and upTo().

+ +
+
+
The documentation for this class was generated from the following files: +
+ + + + diff --git a/classnixf_1_1Parser-members.html b/classnixf_1_1Parser-members.html new file mode 100644 index 000000000..c9e9bd99c --- /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..538fe7fd3 --- /dev/null +++ b/classnixf_1_1Parser.html @@ -0,0 +1,919 @@ + + + + + + + +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 ()
 Top-level parsing.
 
+

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 ()
+
+ +

Top-level parsing.

+ +

Definition at line 43 of file ParseSupport.cpp.

+ +

References nixf::Token::kind().

+ +

Referenced by nixf::parse().

+ +
+
+ +

◆ parseAttrName()

+ +
+
+ + + + + + + +
std::shared_ptr< AttrName > Parser::parseAttrName ()
+
+
attrname : ID
+
| string
+
| interpolation
+
+

Definition at line 6 of file ParseAttrs.cpp.

+ +

References nixf::Token::kind(), parseInterpolation(), and parseString().

+ +

Referenced by parseAttrPath(), and parseInherit().

+ +
+
+ +

◆ parseAttrPath()

+ +
+
+ + + + + + + +
std::shared_ptr< AttrPath > Parser::parseAttrPath ()
+
+
attrpath : attrname ('.' attrname)*
+
+

Definition at line 30 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 > Parser::parseBinding ()
+
+
+ +

◆ parseBinds()

+ +
+
+ + + + + + + +
std::shared_ptr< Binds > Parser::parseBinds ()
+
+
binds : ( binding | inherit )*
+
+

Definition at line 160 of file ParseAttrs.cpp.

+ +

References nixf::Token::lCur(), parseBinding(), and parseInherit().

+ +

Referenced by parseExprAttrs(), and parseExprLet().

+ +
+
+ +

◆ parseExpr()

+ + + +

◆ parseExprApp()

+ +
+
+ + + + + + + +
std::shared_ptr< Expr > 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 52 of file ParseExpr.cpp.

+ +

References nixf::LexerCursorRange::lCur(), and parseExprSelect().

+ +
+
+ +

◆ parseExprAssert()

+ +
+
+ + + + + + + +
std::shared_ptr< ExprAssert > Parser::parseExprAssert ()
+
+
+ +

◆ parseExprAttrs()

+ +
+
+ + + + + + + +
std::shared_ptr< ExprAttrs > Parser::parseExprAttrs ()
+
+

attrset_expr : REC? '{' binds '}'

+

Note: peek tok_kw_rec or tok_l_curly before calling this function.

+ +

Definition at line 193 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 > Parser::parseExprIf ()
+
+
+ +

◆ parseExprLambda()

+ +
+
+ + + + + + + +
std::shared_ptr< ExprLambda > Parser::parseExprLambda ()
+
+
expr_lambda : lambda_arg ':' expr
+
+

Definition at line 132 of file ParseLambda.cpp.

+ +

References nixf::detail::diagNullExpr(), parseExpr(), and parseLambdaArg().

+ +

Referenced by parseExpr().

+ +
+
+ +

◆ parseExprLet()

+ +
+
+ + + + + + + +
std::shared_ptr< ExprLet > Parser::parseExprLet ()
+
+
epxr_let : 'let' binds 'in' expr
+
+

Definition at line 246 of file ParseExpr.cpp.

+ +

References nixf::detail::diagNullExpr(), nixf::Token::kind(), nixf::Sema::onExprAttrs(), parseBinds(), parseExpr(), nixf::Node::range(), and nixf::Token::range().

+ +

Referenced by parseExpr().

+ +
+
+ +

◆ parseExprList()

+ +
+
+ + + + + + + +
std::shared_ptr< ExprList > Parser::parseExprList ()
+
+
expr_list : '[' expr_select* ']'
+
+

Definition at line 81 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 315 of file src/Parse/Parser.h.

+ +

Referenced by parseExpr().

+ +
+
+ +

◆ parseExprParen()

+ + + +

◆ parseExprPath()

+ +
+
+ + + + + + + +
std::shared_ptr< Expr > 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 29 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 > 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 6 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 > Parser::parseExprSimple ()
+
+
expr_simple : INT
+
| ID
+
| FLOAT
+
| string
+
| indented_string
+
| path
+
| spath
+
| hpath
+
| uri
+
| '(' expr ')'
+
| legacy_let
+
| attrset_expr
+
| list
+
+

Definition at line 107 of file ParseSimple.cpp.

+ +

References nixf::Fix::edit(), nixf::Diagnostic::fix(), nixf::Token::kind(), nixf::Token::lCur(), nixf::TextEdit::mkInsertion(), parseExprAttrs(), parseExprList(), parseExprParen(), parseExprPath(), parseString(), nixf::Token::range(), nixf::Token::rCur(), and nixf::Token::view().

+ +

Referenced by parseExprSelect().

+ +
+
+ +

◆ parseExprWith()

+ +
+
+ + + + + + + +
std::shared_ptr< ExprWith > Parser::parseExprWith ()
+
+
expr_with : 'with' expr ';' expr
+
+

Definition at line 285 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 > Parser::parseFormal ()
+
+
formal : ,? ID
+
| ,? ID '?' expr
+
| ,? ...
+
+

Definition at line 6 of file ParseLambda.cpp.

+ +

References nixf::detail::diagNullExpr(), nixf::Token::kind(), and parseExpr().

+ +

Referenced by parseFormals().

+ +
+
+ +

◆ parseFormals()

+ +
+
+ + + + + + + +
std::shared_ptr< Formals > Parser::parseFormals ()
+
+
formals : '{' formal* '}'
+
+

Definition at line 50 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 > Parser::parseInherit ()
+
+
inherit : 'inherit' '(' expr ')' inherited_attrs ';'
+
| 'inherit' inherited_attrs ';'
+
inherited_attrs: attrname*
+
+

Definition at line 103 of file ParseAttrs.cpp.

+ +

References nixf::detail::diagNullExpr(), nixf::Fix::edit(), nixf::Faded, nixf::Diagnostic::fix(), nixf::Token::kind(), nixf::Token::lCur(), nixf::TextEdit::mkRemoval(), nixf::Diagnostic::note(), parseAttrName(), parseExpr(), nixf::Token::range(), nixf::tok::spelling(), and nixf::PartialDiagnostic::tag().

+ +

Referenced by parseBinds().

+ +
+
+ +

◆ parseInterpolation()

+ +
+
+ + + + + + + +
std::shared_ptr< Interpolation > Parser::parseInterpolation ()
+
+ +

Parse interpolations.

+
interpolation : "${" expr "}"
+
+

Definition at line 6 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 > Parser::parseLambdaArg ()
+
+
lambda_arg : ID
+
| ID @ {' formals '}'
+
| '{' formals '}'
+
| '{' formals '}' @ ID
+
+

Definition at line 84 of file ParseLambda.cpp.

+ +

References nixf::Fix::edit(), nixf::Diagnostic::fix(), nixf::Token::kind(), nixf::TextEdit::mkInsertion(), nixf::TextEdit::mkRemoval(), nixf::Diagnostic::note(), nixf::Sema::onLambdaArg(), parseFormals(), nixf::Token::range(), nixf::tok::spelling(), and nixf::Token::view().

+ +

Referenced by parseExprLambda().

+ +
+
+ +

◆ parseString()

+ +
+
+ + + + + + + +
std::shared_ptr< ExprString > Parser::parseString (bool IsIndented)
+
+
string : " string_part* "
+
| '' string_part* ''
+
+

Definition at line 88 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 > Parser::parseStringParts ()
+
+
string_part : interpolation
+
| STRING_PART
+
| STRING_ESCAPE
+
+

Definition at line 58 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..9809b5d54 --- /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..986ba9e23 --- /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 79 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 105 of file Diagnostic.h.

+ +
+
+

Member Function Documentation

+ +

◆ args() [1/2]

+ +
+
+ + + + + +
+ + + + + + + +
std::vector< std::string > & nixf::PartialDiagnostic::args ()
+
+inline
+
+ +

Definition at line 94 of file Diagnostic.h.

+ +
+
+ +

◆ args() [2/2]

+ +
+
+ + + + + +
+ + + + + + + +
const std::vector< std::string > & nixf::PartialDiagnostic::args () const
+
+inline
+
+ +

Definition at line 92 of file Diagnostic.h.

+ +

Referenced by nixf::Note::operator<<().

+ +
+
+ +

◆ format()

+ +
+
+ + + + + + + +
std::string PartialDiagnostic::format () const
+
+ +

Definition at line 51 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 85 of file Diagnostic.h.

+ +
+
+ +

◆ range()

+ +
+
+ + + + + +
+ + + + + + + +
LexerCursorRange nixf::PartialDiagnostic::range () const
+
+inline
+
+ +

Definition at line 100 of file Diagnostic.h.

+ +
+
+ +

◆ tag()

+ +
+
+ + + + + +
+ + + + + + + +
void nixf::PartialDiagnostic::tag (DiagnosticTag Tag)
+
+inline
+
+
+ +

◆ tags()

+ +
+
+ + + + + +
+ + + + + + + +
const std::vector< DiagnosticTag > & nixf::PartialDiagnostic::tags () const
+
+inline
+
+ +

Definition at line 98 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..48b91fc31 --- /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..a28721300 --- /dev/null +++ b/classnixf_1_1Sema-members.html @@ -0,0 +1,110 @@ + + + + + + + +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, Attribute::AttributeKind Kind)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, Attribute::AttributeKind InheritKind)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
onLambdaArg(LexerCursorRange Range, std::shared_ptr< Identifier > ID, std::shared_ptr< Formals > F)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..50f1787e7 --- /dev/null +++ b/classnixf_1_1Sema.html @@ -0,0 +1,770 @@ + + + + + + + +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, Attribute::AttributeKind Kind)
 
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, Attribute::AttributeKind InheritKind)
 
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)
 
std::shared_ptr< LambdaArgonLambdaArg (LexerCursorRange Range, std::shared_ptr< Identifier > ID, std::shared_ptr< Formals > F)
 
+ + + + + + + +

+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::pair< std::shared_ptr< Expr >, Attribute::AttributeKinddesugarInheritExpr (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 155 of file SemaActions.cpp.

+ +

References insertAttr(), nixf::Attribute::Plain, 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 215 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 251 of file SemaActions.cpp.

+ +

References nixf::Formal::id(), nixf::Identifier::name(), nixf::Diagnostic::note(), and nixf::Node::range().

+ +

Referenced by onFormals().

+ +
+
+ +

◆ desugarInheritExpr()

+ +
+
+ + + + + +
+ + + + + + + + + + + +
std::pair< std::shared_ptr< Expr >, Attribute::AttributeKind > 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 337 of file SemaActions.cpp.

+ +

References nixf::Attribute::Inherit, and nixf::Attribute::InheritFrom.

+ +

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,
Attribute::AttributeKind Kind )
+
+
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 316 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 308 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,
Attribute::AttributeKind InheritKind )
+
+
+ +

◆ 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 352 of file SemaActions.cpp.

+ +

References lowerBinds().

+ +

Referenced by nixf::Parser::parseExprAttrs(), and nixf::Parser::parseExprLet().

+ +
+
+ +

◆ onFormals()

+ +
+
+ + + + + + + + + + + +
std::shared_ptr< Formals > nixf::Sema::onFormals (LexerCursorRange Range,
FormalVector FV )
+
+ +

Definition at line 272 of file SemaActions.cpp.

+ +

References checkFormalEllipsis(), checkFormalEmpty(), checkFormalSep(), and dedupFormal().

+ +

Referenced by nixf::Parser::parseFormals().

+ +
+
+ +

◆ onLambdaArg()

+ +
+
+ + + + + + + + + + + + + + + + +
std::shared_ptr< LambdaArg > nixf::Sema::onLambdaArg (LexerCursorRange Range,
std::shared_ptr< Identifier > ID,
std::shared_ptr< Formals > F )
+
+ +

Definition at line 362 of file SemaActions.cpp.

+ +

References nixf::Diagnostic::note().

+ +

Referenced by nixf::Parser::parseLambdaArg().

+ +
+
+ +

◆ 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 170 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 104 of file SemaActions.cpp.

+ +

References dupAttr(), and nixf::Attribute::Plain.

+ +

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..9628f6361 --- /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 231 of file Attrs.h.

+

Constructor & Destructor Documentation

+ +

◆ SemaAttrs() [1/2]

+ +
+
+ + + + + +
+ + + + + + + +
nixf::SemaAttrs::SemaAttrs (Misc * Recursive)
+
+inline
+
+ +

Definition at line 243 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 244 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 259 of file Attrs.h.

+ +
+
+ +

◆ isRecursive()

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

If the attribute set is rec.

+ +

Definition at line 264 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 252 of file Attrs.h.

+ +
+
+

Friends And Related Symbol Documentation

+ +

◆ Sema

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

Definition at line 240 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..c19e5c9a9 --- /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 25 of file Diagnostic.h.

+

Constructor & Destructor Documentation

+ +

◆ TextEdit()

+ +
+
+ + + + + +
+ + + + + + + + + + + +
nixf::TextEdit::TextEdit (LexerCursorRange OldRange,
std::string NewText )
+
+inline
+
+ +

Definition at line 30 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 49 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 47 of file Diagnostic.h.

+ +

Referenced by isReplace().

+ +
+
+ +

◆ isReplace()

+ +
+
+ + + + + +
+ + + + + + + +
bool nixf::TextEdit::isReplace () const
+
+inline
+
+ +

Definition at line 43 of file Diagnostic.h.

+ +

References isInsertion(), and isRemoval().

+ +
+
+ +

◆ mkInsertion()

+ + + +

◆ mkRemoval()

+ + + +

◆ newText()

+ +
+
+ + + + + +
+ + + + + + + +
std::string_view nixf::TextEdit::newText () const
+
+inline
+
+ +

Definition at line 54 of file Diagnostic.h.

+ +
+
+ +

◆ oldRange()

+ +
+
+ + + + + +
+ + + + + + + +
LexerCursorRange nixf::TextEdit::oldRange () const
+
+inline
+
+ +

Definition at line 53 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..36e16563c --- /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 55 of file Token.h.

+

Constructor & Destructor Documentation

+ +

◆ Token()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + +
nixf::Token::Token (tok::TokenKind Kind,
LexerCursorRange Range,
std::string_view View )
+
+inline
+
+ +

Definition at line 61 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/classnixf_1_1VariableLookupAnalysis-members.html b/classnixf_1_1VariableLookupAnalysis-members.html new file mode 100644 index 000000000..db8494a67 --- /dev/null +++ b/classnixf_1_1VariableLookupAnalysis-members.html @@ -0,0 +1,98 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
nixf::VariableLookupAnalysis Member List
+
+
+ +

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

+ + + + + + + + + +
env(const Node *N) constnixf::VariableLookupAnalysis
EnvMap typedefnixf::VariableLookupAnalysis
LookupResultKind enum namenixf::VariableLookupAnalysis
query(const ExprVar &Var) constnixf::VariableLookupAnalysisinline
runOnAST(const Node &Root)nixf::VariableLookupAnalysis
toDef(const Node &N) constnixf::VariableLookupAnalysisinline
ToDefMap typedefnixf::VariableLookupAnalysis
VariableLookupAnalysis(std::vector< Diagnostic > &Diags)nixf::VariableLookupAnalysis
+ + + + diff --git a/classnixf_1_1VariableLookupAnalysis.html b/classnixf_1_1VariableLookupAnalysis.html new file mode 100644 index 000000000..966a1815d --- /dev/null +++ b/classnixf_1_1VariableLookupAnalysis.html @@ -0,0 +1,338 @@ + + + + + + + +nixd: nixf::VariableLookupAnalysis Class Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
nixf::VariableLookupAnalysis Class Reference
+
+
+ +

#include <VariableLookup.h>

+ + + + +

+Classes

struct  LookupResult
 
+ + + + + + + +

+Public Types

enum class  LookupResultKind { Undefined +, FromWith +, Defined +, NoSuchVar + }
 
using ToDefMap = std::map<const Node *, std::shared_ptr<Definition>>
 
using EnvMap = std::map<const Node *, std::shared_ptr<EnvNode>>
 
+ + + + + + + + + + + + + + +

+Public Member Functions

 VariableLookupAnalysis (std::vector< Diagnostic > &Diags)
 
void runOnAST (const Node &Root)
 Perform variable lookup analysis (def-use) on AST.
 
LookupResult query (const ExprVar &Var) const
 Query the which name/with binds to specific varaible.
 
const DefinitiontoDef (const Node &N) const
 Get definition record for some name.
 
const EnvNodeenv (const Node *N) const
 
+

Detailed Description

+
+

Definition at line 112 of file VariableLookup.h.

+

Member Typedef Documentation

+ +

◆ EnvMap

+ +
+
+ + + + +
using nixf::VariableLookupAnalysis::EnvMap = std::map<const Node *, std::shared_ptr<EnvNode>>
+
+ +

Definition at line 127 of file VariableLookup.h.

+ +
+
+ +

◆ ToDefMap

+ +
+
+ + + + +
using nixf::VariableLookupAnalysis::ToDefMap = std::map<const Node *, std::shared_ptr<Definition>>
+
+ +

Definition at line 126 of file VariableLookup.h.

+ +
+
+

Member Enumeration Documentation

+ +

◆ LookupResultKind

+ +
+
+ + + + + +
+ + + + +
enum class nixf::VariableLookupAnalysis::LookupResultKind
+
+strong
+
+ + + + + +
Enumerator
Undefined 
FromWith 
Defined 
NoSuchVar 
+ +

Definition at line 114 of file VariableLookup.h.

+ +
+
+

Constructor & Destructor Documentation

+ +

◆ VariableLookupAnalysis()

+ +
+
+ + + + + + + +
VariableLookupAnalysis::VariableLookupAnalysis (std::vector< Diagnostic > & Diags)
+
+ +

Definition at line 472 of file VariableLookup.cpp.

+ +
+
+

Member Function Documentation

+ +

◆ env()

+ +
+
+ + + + + + + +
const EnvNode * VariableLookupAnalysis::env (const Node * N) const
+
+ +

Definition at line 475 of file VariableLookup.cpp.

+ +

Referenced by nixd::upEnv().

+ +
+
+ +

◆ query()

+ +
+
+ + + + + +
+ + + + + + + +
LookupResult nixf::VariableLookupAnalysis::query (const ExprVar & Var) const
+
+inline
+
+ +

Query the which name/with binds to specific varaible.

+ +

Definition at line 174 of file VariableLookup.h.

+ +

References nixf::VariableLookupAnalysis::LookupResult::Kind, and NoSuchVar.

+ +

Referenced by nixd::idioms::mkVarSelector().

+ +
+
+ +

◆ runOnAST()

+ +
+
+ + + + + + + +
void VariableLookupAnalysis::runOnAST (const Node & Root)
+
+ +

Perform variable lookup analysis (def-use) on AST.

+
Note
This method should be invoked after any other method called.
+
+The result remains immutable thus it can be shared among threads.
+ +

Definition at line 341 of file VariableLookup.cpp.

+ +

Referenced by main().

+ +
+
+ +

◆ toDef()

+ +
+
+ + + + + +
+ + + + + + + +
const Definition * nixf::VariableLookupAnalysis::toDef (const Node & N) const
+
+inline
+
+ +

Get definition record for some name.

+

For some cases, we need to get "definition" record to find all references to this definition, on AST.

+

Thus we need to store AST -> Definition There are many pointers on AST, the convention is:

+
    +
  1. attrname "key" syntax is recorded.
  2. +
+

"with" keyword is recorded.

    +
  1. Lambda arguments, record its identifier.
  2. +
+ +

Definition at line 192 of file VariableLookup.h.

+ +
+
+
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/configuration_8md.html b/configuration_8md.html new file mode 100644 index 000000000..959371d91 --- /dev/null +++ b/configuration_8md.html @@ -0,0 +1,83 @@ + + + + + + + +nixd: configuration.md File Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
+
configuration.md File Reference
+
+
+
+ + + + 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/diagnostic_8py.html b/diagnostic_8py.html new file mode 100644 index 000000000..4c70be222 --- /dev/null +++ b/diagnostic_8py.html @@ -0,0 +1,103 @@ + + + + + + + +nixd: diagnostic.py File Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
diagnostic.py File Reference
+
+
+ +

Go to the source code of this file.

+ + + + +

+Classes

class  diagnostic.Diagnostic
 
+ + + +

+Namespaces

namespace  diagnostic
 
+
+ + + + diff --git a/diagnostic_8py_source.html b/diagnostic_8py_source.html new file mode 100644 index 000000000..b67b4029b --- /dev/null +++ b/diagnostic_8py_source.html @@ -0,0 +1,323 @@ + + + + + + + +nixd: diagnostic.py Source File + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
diagnostic.py
+
+
+Go to the documentation of this file.
1from typing import Literal, TypedDict
+
2
+
3
+
+
4class Diagnostic(TypedDict):
+
5 sname: str
+
6 "Short name"
+
7
+
8 cname: str
+
9 "C++ ideintifer name"
+
10
+
11 severity: Literal["Error", "Warning", "Fatal", "Hint"]
+
12
+
13 message: str
+
14 "Message of this diagnostic"
+
15
+
16
+
17diagnostics: list[Diagnostic] = [
+
18 {
+
19 "sname": "lex-unterminated-bcomment",
+
20 "cname": "UnterminatedBComment",
+
21 "severity": "Error",
+
22 "message": "unterminated /* comment",
+
23 },
+
24 {
+
25 "sname": "lex-float-no-exp",
+
26 "cname": "FloatNoExp",
+
27 "severity": "Fatal",
+
28 "message": "float point has trailing `{}` but has no exponential part",
+
29 },
+
30 {
+
31 "sname": "lex-float-leading-zero",
+
32 "cname": "FloatLeadingZero",
+
33 "severity": "Warning",
+
34 "message": "float begins with extra zeros `{}` is nixf extension",
+
35 },
+
36 {
+
37 "sname": "parse-expected",
+
38 "cname": "Expected",
+
39 "severity": "Error",
+
40 "message": "expected {}",
+
41 },
+
42 {
+
43 "sname": "parse-int-too-big",
+
44 "cname": "IntTooBig",
+
45 "severity": "Error",
+
46 "message": "this integer is too big for nix interpreter",
+
47 },
+
48 {
+
49 "sname": "parse-redundant-paren",
+
50 "cname": "RedundantParen",
+
51 "severity": "Warning",
+
52 "message": "redundant parentheses",
+
53 },
+
54 {
+
55 "sname": "parse-attrpath-extra-dot",
+
56 "cname": "AttrPathExtraDot",
+
57 "severity": "Error",
+
58 "message": "extra `.` at the end of attrpath",
+
59 },
+
60 {
+
61 "sname": "parse-select-extra-dot",
+
62 "cname": "SelectExtraDot",
+
63 "severity": "Error",
+
64 "message": "extra `.` after expression, but missing attrpath",
+
65 },
+
66 {
+
67 "sname": "parse-unexpected-between",
+
68 "cname": "UnexpectedBetween",
+
69 "severity": "Error",
+
70 "message": "unexpected {} between {} and {}",
+
71 },
+
72 {
+
73 "sname": "parse-unexpected",
+
74 "cname": "UnexpectedText",
+
75 "severity": "Error",
+
76 "message": "unexpected text",
+
77 },
+
78 {
+
79 "sname": "parse-missing-sep-formals",
+
80 "cname": "MissingSepFormals",
+
81 "severity": "Error",
+
82 "message": "missing seperator `,` between two lambda formals",
+
83 },
+
84 {
+
85 "sname": "parse-lambda-arg-extra-at",
+
86 "cname": "LambdaArgExtraAt",
+
87 "severity": "Error",
+
88 "message": "extra `@` for lambda arg",
+
89 },
+
90 {
+
91 "sname": "parse-operator-noassoc",
+
92 "cname": "OperatorNotAssociative",
+
93 "severity": "Error",
+
94 "message": "operator is non-associative",
+
95 },
+
96 {
+
97 "sname": "let-dynamic",
+
98 "cname": "LetDynamic",
+
99 "severity": "Error",
+
100 "message": "dynamic attributes are not allowed in let ... in ... expression",
+
101 },
+
102 {
+
103 "sname": "empty-inherit",
+
104 "cname": "EmptyInherit",
+
105 "severity": "Warning",
+
106 "message": "empty inherit expression",
+
107 },
+
108 {
+
109 "sname": "or-identifier",
+
110 "cname": "OrIdentifier",
+
111 "severity": "Warning",
+
112 "message": "keyword `or` used as an identifier",
+
113 },
+
114 {
+
115 "sname": "deprecated-url-literal",
+
116 "cname": "DeprecatedURL",
+
117 "severity": "Warning",
+
118 "message": "URL literal is deprecated",
+
119 },
+
120 {
+
121 "sname": "deprecated-let",
+
122 "cname": "DeprecatedLet",
+
123 "severity": "Warning",
+
124 "message": "using deprecated `let' syntactic sugar `let {{..., body = ...}}' -> (rec {{..., body = ...}}).body'",
+
125 },
+
126 {
+
127 "sname": "path-trailing-slash",
+
128 "cname": "PathTrailingSlash",
+
129 "severity": "Fatal",
+
130 "message": "path has a trailing slash",
+
131 },
+
132 {
+
133 "sname": "merge-diff-rec",
+
134 "cname": "MergeDiffRec",
+
135 "severity": "Warning",
+
136 "message": "merging two attributes with different `rec` modifiers, the latter will be implicitly ignored",
+
137 },
+
138 {
+
139 "sname": "sema-duplicated-attrname",
+
140 "cname": "DuplicatedAttrName",
+
141 "severity": "Error",
+
142 "message": "duplicated attrname `{}`",
+
143 },
+
144 {
+
145 "sname": "sema-dynamic-inherit",
+
146 "cname": "DynamicInherit",
+
147 "severity": "Error",
+
148 "message": "dynamic attributes are not allowed in inherit",
+
149 },
+
150 {
+
151 "sname": "sema-empty-formal",
+
152 "cname": "EmptyFormal",
+
153 "severity": "Error",
+
154 "message": "empty formal",
+
155 },
+
156 {
+
157 "sname": "sema-formal-missing-comma",
+
158 "cname": "FormalMissingComma",
+
159 "severity": "Error",
+
160 "message": "missing `,` for lambda formal",
+
161 },
+
162 {
+
163 "sname": "sema-formal-extra-ellipsis",
+
164 "cname": "FormalExtraEllipsis",
+
165 "severity": "Error",
+
166 "message": "extra `...` for lambda formal",
+
167 },
+
168 {
+
169 "sname": "sema-misplaced-ellipsis",
+
170 "cname": "FormalMisplacedEllipsis",
+
171 "severity": "Error",
+
172 "message": "misplaced `...` for lambda formal",
+
173 },
+
174 {
+
175 "sname": "sema-dup-formal",
+
176 "cname": "DuplicatedFormal",
+
177 "severity": "Error",
+
178 "message": "duplicated function formal",
+
179 },
+
180 {
+
181 "sname": "sema-dup-formal-arg",
+
182 "cname": "DuplicatedFormalToArg",
+
183 "severity": "Error",
+
184 "message": "function argument duplicated to a function formal",
+
185 },
+
186 {
+
187 "sname": "sema-undefined-variable",
+
188 "cname": "UndefinedVariable",
+
189 "severity": "Error",
+
190 "message": "undefined variable `{}`",
+
191 },
+
192 {
+
193 "sname": "sema-unused-def-let",
+
194 "cname": "UnusedDefLet",
+
195 "severity": "Warning",
+
196 "message": "definition `{}` in let-expression is not used",
+
197 },
+
198 {
+
199 "sname": "sema-unused-def-lambda-noarg-formal",
+
200 "cname": "UnusedDefLambdaNoArg_Formal",
+
201 "severity": "Warning",
+
202 "message": "attribute `{}` of argument is not used",
+
203 },
+
204 {
+
205 "sname": "sema-unused-def-lambda-witharg-formal",
+
206 "cname": "UnusedDefLambdaWithArg_Formal",
+
207 "severity": "Hint",
+
208 "message": "attribute `{}` of `@`-pattern argument is not used, but may be referenced from the argument",
+
209 },
+
210 {
+
211 "sname": "sema-unused-def-lambda-witharg-arg",
+
212 "cname": "UnusedDefLambdaWithArg_Arg",
+
213 "severity": "Warning",
+
214 "message": "argument `{}` in `@`-pattern is not used",
+
215 },
+
216 {
+
217 "sname": "sema-extra-rec",
+
218 "cname": "ExtraRecursive",
+
219 "severity": "Warning",
+
220 "message": "attrset is not necessary to be `rec`ursive",
+
221 },
+
222 {
+
223 "sname": "sema-extra-with",
+
224 "cname": "ExtraWith",
+
225 "severity": "Warning",
+
226 "message": "unused `with` expression",
+
227 },
+
228]
+
+ +
+ + + + diff --git a/dir_000001_000010.html b/dir_000001_000010.html new file mode 100644 index 000000000..ff117e100 --- /dev/null +++ b/dir_000001_000010.html @@ -0,0 +1,84 @@ + + + + + + + +nixd: Basic -> include Relation + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+ + + + + diff --git a/dir_000002_000004.html b/dir_000002_000004.html new file mode 100644 index 000000000..5151e65fe --- /dev/null +++ b/dir_000002_000004.html @@ -0,0 +1,84 @@ + + + + + + + +nixd: CommandLine -> Controller Relation + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+

CommandLine → Controller Relation

File in nixd/include/nixd/CommandLineIncludes file in nixd/include/nixd/Controller
CommandLine/Configuration.hController/Configuration.h
+ + + + diff --git a/dir_000003_000012.html b/dir_000003_000012.html new file mode 100644 index 000000000..2786c957f --- /dev/null +++ b/dir_000003_000012.html @@ -0,0 +1,84 @@ + + + + + + + +nixd: CommandLine -> include Relation + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+ + + + + diff --git a/dir_000003_000018.html b/dir_000003_000018.html new file mode 100644 index 000000000..18e3c0790 --- /dev/null +++ b/dir_000003_000018.html @@ -0,0 +1,84 @@ + + + + + + + +nixd: CommandLine -> lspserver Relation + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+

CommandLine → lspserver Relation

File in nixd/lib/CommandLineIncludes file in nixd/lspserver
CommandLine/Configuration.cppinclude / lspserver / Logger.h
+ + + + diff --git a/dir_000004_000008.html b/dir_000004_000008.html new file mode 100644 index 000000000..3d401e675 --- /dev/null +++ b/dir_000004_000008.html @@ -0,0 +1,84 @@ + + + + + + + +nixd: Controller -> Eval Relation + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+

Controller → Eval Relation

File in nixd/include/nixd/ControllerIncludes file in nixd/include/nixd/Eval
Controller.hAttrSetClient.h
+ + + + diff --git a/dir_000004_000016.html b/dir_000004_000016.html new file mode 100644 index 000000000..c814db369 --- /dev/null +++ b/dir_000004_000016.html @@ -0,0 +1,84 @@ + + + + + + + +nixd: Controller -> libnixf Relation + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+

Controller → libnixf Relation

File in nixd/include/nixd/ControllerIncludes file in libnixf
Controller.hinclude / nixf / Basic / Diagnostic.h
NixTU.hinclude / nixf / Basic / Nodes / Basic.h
NixTU.hinclude / nixf / Basic / Diagnostic.h
NixTU.hinclude / nixf / Sema / libnixf/include/nixf/Sema/ParentMap.h
NixTU.hinclude / nixf / Sema / VariableLookup.h
+ + + + diff --git a/dir_000004_000018.html b/dir_000004_000018.html new file mode 100644 index 000000000..491500d89 --- /dev/null +++ b/dir_000004_000018.html @@ -0,0 +1,84 @@ + + + + + + + +nixd: Controller -> lspserver Relation + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+

Controller → lspserver Relation

File in nixd/include/nixd/ControllerIncludes file in nixd/lspserver
Controller.hinclude / lspserver / DraftStore.h
Controller.hinclude / lspserver / LSPServer.h
Controller.hinclude / lspserver / lspserver/include/lspserver/Protocol.h
EvalClient.hinclude / lspserver / LSPServer.h
+ + + + diff --git a/dir_000004_000027.html b/dir_000004_000027.html new file mode 100644 index 000000000..42da0dba9 --- /dev/null +++ b/dir_000004_000027.html @@ -0,0 +1,84 @@ + + + + + + + +nixd: Controller -> Protocol Relation + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+

Controller → Protocol Relation

File in nixd/include/nixd/ControllerIncludes file in nixd/include/nixd/Protocol
EvalClient.hinclude/nixd/Protocol/Protocol.h
+ + + + diff --git a/dir_000004_000033.html b/dir_000004_000033.html new file mode 100644 index 000000000..95cdef55f --- /dev/null +++ b/dir_000004_000033.html @@ -0,0 +1,84 @@ + + + + + + + +nixd: Controller -> Support Relation + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+

Controller → Support Relation

File in nixd/include/nixd/ControllerIncludes file in nixd/include/nixd/Support
EvalClient.hPipedProc.h
NixTU.hOwnedRegion.h
+ + + + diff --git a/dir_000005_000012.html b/dir_000005_000012.html new file mode 100644 index 000000000..5db0694eb --- /dev/null +++ b/dir_000005_000012.html @@ -0,0 +1,84 @@ + + + + + + + +nixd: Controller -> include Relation + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+

Controller → include Relation

File in nixd/lib/ControllerIncludes file in nixd/include
AST.cppnixd / Protocol / AttrSet.h
AST.hnixd / Protocol / AttrSet.h
CodeAction.cppnixd / Controller / Controller.h
Completion.cppnixd / Protocol / AttrSet.h
Completion.cppnixd / Controller / Controller.h
Controller/Configuration.cppnixd / Controller / Controller.h
Controller/Configuration.cppnixd / Eval / Launch.h
Definition.cppnixd / Protocol / AttrSet.h
Definition.cppnixd / Controller / Controller.h
Diagnostics.cppnixd / Controller / Controller.h
DocumentHighlight.cppnixd / Controller / Controller.h
DocumentLink.cppnixd / Controller / Controller.h
DocumentSymbol.cppnixd / Controller / Controller.h
FindReferences.cppnixd / Controller / Controller.h
Format.cppnixd / Controller / Controller.h
Format.cppnixd / Support / ForkPiped.h
Hover.cppnixd / Protocol / AttrSet.h
Hover.cppnixd / Controller / Controller.h
InlayHints.cppnixd / Controller / Controller.h
InlayHints.cppnixd / CommandLine / Options.h
LifeTime.cppnixd / CommandLine / CommandLine/Configuration.h
LifeTime.cppnixd / Controller / Controller.h
LifeTime.cppnixd / Support / Exception.h
LifeTime.cppnixd / Eval / Launch.h
LifeTime.cppnixd / CommandLine / Options.h
NixTU.cppnixd / Controller / NixTU.h
Rename.cppnixd / Controller / Controller.h
SemanticTokens.cppnixd / Controller / Controller.h
Support.cppnixd / Controller / Controller.h
TextDocumentSync.cppnixd / Controller / Controller.h
+ + + + diff --git a/dir_000005_000016.html b/dir_000005_000016.html new file mode 100644 index 000000000..fb5cc7588 --- /dev/null +++ b/dir_000005_000016.html @@ -0,0 +1,84 @@ + + + + + + + +nixd: Controller -> libnixf Relation + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+

Controller → libnixf Relation

File in nixd/lib/ControllerIncludes file in libnixf
AST.hinclude / nixf / Basic / Nodes / Expr.h
AST.hinclude / nixf / Sema / libnixf/include/nixf/Sema/ParentMap.h
AST.hinclude / nixf / Sema / VariableLookup.h
Completion.cppinclude / nixf / Sema / VariableLookup.h
Convert.cppinclude / nixf / Basic / Diagnostic.h
Convert.hinclude / nixf / Basic / Diagnostic.h
Convert.hinclude / nixf / Basic / Range.h
Definition.cppinclude / nixf / Basic / Nodes / Attrs.h
Definition.cppinclude / nixf / Basic / Nodes / Basic.h
Definition.cppinclude / nixf / Basic / Nodes / Expr.h
Definition.cppinclude / nixf / Sema / libnixf/include/nixf/Sema/ParentMap.h
Definition.cppinclude / nixf / Sema / VariableLookup.h
Definition.hinclude / nixf / Sema / libnixf/include/nixf/Sema/ParentMap.h
Definition.hinclude / nixf / Sema / VariableLookup.h
Diagnostics.cppinclude / nixf / Basic / Diagnostic.h
DocumentHighlight.cppinclude / nixf / Sema / libnixf/include/nixf/Sema/ParentMap.h
DocumentHighlight.cppinclude / nixf / Sema / VariableLookup.h
DocumentSymbol.cppinclude / nixf / Basic / Nodes / Attrs.h
DocumentSymbol.cppinclude / nixf / Basic / Nodes / Lambda.h
DocumentSymbol.cppinclude / nixf / Sema / VariableLookup.h
FindReferences.cppinclude / nixf / Sema / libnixf/include/nixf/Sema/ParentMap.h
FindReferences.cppinclude / nixf / Sema / VariableLookup.h
SemanticTokens.cppinclude / nixf / Basic / Nodes / Attrs.h
SemanticTokens.cppinclude / nixf / Basic / Nodes / Expr.h
SemanticTokens.cppinclude / nixf / Basic / Nodes / Lambda.h
SemanticTokens.cppinclude / nixf / Basic / Range.h
SemanticTokens.cppinclude / nixf / Sema / VariableLookup.h
Support.cppinclude / nixf / Basic / Diagnostic.h
Support.cppinclude / nixf / Parse / include/nixf/Parse/Parser.h
Support.cppinclude / nixf / Sema / VariableLookup.h
+ + + + diff --git a/dir_000005_000018.html b/dir_000005_000018.html new file mode 100644 index 000000000..28320ab50 --- /dev/null +++ b/dir_000005_000018.html @@ -0,0 +1,84 @@ + + + + + + + +nixd: Controller -> lspserver Relation + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+ + + + + diff --git a/dir_000008_000017.html b/dir_000008_000017.html new file mode 100644 index 000000000..dce7f9b3b --- /dev/null +++ b/dir_000008_000017.html @@ -0,0 +1,84 @@ + + + + + + + +nixd: Eval -> libnixt Relation + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+

Eval → libnixt Relation

File in nixd/include/nixd/EvalIncludes file in libnixt
EvalProvider.hinclude / nixt / HookExpr.h
EvalProvider.hinclude / nixt / PtrPool.h
+ + + + diff --git a/dir_000008_000018.html b/dir_000008_000018.html new file mode 100644 index 000000000..5230b8cde --- /dev/null +++ b/dir_000008_000018.html @@ -0,0 +1,84 @@ + + + + + + + +nixd: Eval -> lspserver Relation + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+

Eval → lspserver Relation

File in nixd/include/nixd/EvalIncludes file in nixd/lspserver
AttrSetClient.hinclude / lspserver / LSPServer.h
AttrSetProvider.hinclude / lspserver / LSPServer.h
EvalProvider.hinclude / lspserver / Function.h
EvalProvider.hinclude / lspserver / LSPServer.h
+ + + + diff --git a/dir_000008_000027.html b/dir_000008_000027.html new file mode 100644 index 000000000..add5af4f9 --- /dev/null +++ b/dir_000008_000027.html @@ -0,0 +1,84 @@ + + + + + + + +nixd: Eval -> Protocol Relation + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+

Eval → Protocol Relation

File in nixd/include/nixd/EvalIncludes file in nixd/include/nixd/Protocol
AttrSetClient.hAttrSet.h
AttrSetProvider.hAttrSet.h
EvalProvider.hinclude/nixd/Protocol/Protocol.h
+ + + + diff --git a/dir_000008_000033.html b/dir_000008_000033.html new file mode 100644 index 000000000..27ea183f9 --- /dev/null +++ b/dir_000008_000033.html @@ -0,0 +1,84 @@ + + + + + + + +nixd: Eval -> Support Relation + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+

Eval → Support Relation

File in nixd/include/nixd/EvalIncludes file in nixd/include/nixd/Support
AttrSetClient.hStreamProc.h
+ + + + diff --git a/dir_000009_000012.html b/dir_000009_000012.html new file mode 100644 index 000000000..994117a97 --- /dev/null +++ b/dir_000009_000012.html @@ -0,0 +1,84 @@ + + + + + + + +nixd: Eval -> include Relation + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+

Eval → include Relation

File in nixd/lib/EvalIncludes file in nixd/include
AttrSetClient.cppnixd / Eval / AttrSetClient.h
AttrSetProvider.cppnixd / Protocol / AttrSet.h
AttrSetProvider.cppnixd / Eval / AttrSetProvider.h
Launch.cppnixd / Eval / Launch.h
Launch.cppnixd / CommandLine / Options.h
+ + + + diff --git a/dir_000009_000017.html b/dir_000009_000017.html new file mode 100644 index 000000000..6cef4a575 --- /dev/null +++ b/dir_000009_000017.html @@ -0,0 +1,84 @@ + + + + + + + +nixd: Eval -> libnixt Relation + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+

Eval → libnixt Relation

File in nixd/lib/EvalIncludes file in libnixt
AttrSetProvider.cppinclude / nixt / Value.h
+ + + + diff --git a/dir_000009_000018.html b/dir_000009_000018.html new file mode 100644 index 000000000..beb42d746 --- /dev/null +++ b/dir_000009_000018.html @@ -0,0 +1,84 @@ + + + + + + + +nixd: Eval -> lspserver Relation + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+

Eval → lspserver Relation

File in nixd/lib/EvalIncludes file in nixd/lspserver
AttrSetProvider.cppinclude / lspserver / lspserver/include/lspserver/Protocol.h
+ + + + diff --git a/dir_000012_000016.html b/dir_000012_000016.html new file mode 100644 index 000000000..359abca9c --- /dev/null +++ b/dir_000012_000016.html @@ -0,0 +1,84 @@ + + + + + + + +nixd: include -> libnixf Relation + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+

include → libnixf Relation

File in nixd/includeIncludes file in libnixf
nixd / Controller / Controller.hinclude / nixf / Basic / Diagnostic.h
nixd / Controller / NixTU.hinclude / nixf / Basic / Nodes / Basic.h
nixd / Controller / NixTU.hinclude / nixf / Basic / Diagnostic.h
nixd / Controller / NixTU.hinclude / nixf / Sema / libnixf/include/nixf/Sema/ParentMap.h
nixd / Controller / NixTU.hinclude / nixf / Sema / VariableLookup.h
+ + + + diff --git a/dir_000012_000017.html b/dir_000012_000017.html new file mode 100644 index 000000000..30f2cbac6 --- /dev/null +++ b/dir_000012_000017.html @@ -0,0 +1,84 @@ + + + + + + + +nixd: include -> libnixt Relation + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+

include → libnixt Relation

File in nixd/includeIncludes file in libnixt
nixd / Eval / EvalProvider.hinclude / nixt / HookExpr.h
nixd / Eval / EvalProvider.hinclude / nixt / PtrPool.h
+ + + + diff --git a/dir_000012_000018.html b/dir_000012_000018.html new file mode 100644 index 000000000..f3adf3aa7 --- /dev/null +++ b/dir_000012_000018.html @@ -0,0 +1,84 @@ + + + + + + + +nixd: include -> lspserver Relation + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+ + + + + diff --git a/dir_000014_000011.html b/dir_000014_000011.html new file mode 100644 index 000000000..fc3907bd3 --- /dev/null +++ b/dir_000014_000011.html @@ -0,0 +1,84 @@ + + + + + + + +nixd: lib -> include Relation + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+ + + + + diff --git a/dir_000015_000012.html b/dir_000015_000012.html new file mode 100644 index 000000000..489f89756 --- /dev/null +++ b/dir_000015_000012.html @@ -0,0 +1,84 @@ + + + + + + + +nixd: lib -> include Relation + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+

lib → include Relation

File in nixd/libIncludes file in nixd/include
Controller / AST.cppnixd / Protocol / AttrSet.h
Controller / AST.hnixd / Protocol / AttrSet.h
Eval / AttrSetClient.cppnixd / Eval / AttrSetClient.h
Eval / AttrSetProvider.cppnixd / Protocol / AttrSet.h
Eval / AttrSetProvider.cppnixd / Eval / AttrSetProvider.h
Controller / CodeAction.cppnixd / Controller / Controller.h
CommandLine / CommandLine/Configuration.cppnixd / CommandLine / CommandLine/Configuration.h
CommandLine / CommandLine/Configuration.cppnixd / Controller / Controller/Configuration.h
CommandLine / CommandLine/Configuration.cppnixd / Support / JSON.h
CommandLine / CommandLine/Configuration.cppnixd / CommandLine / Options.h
Controller / Completion.cppnixd / Protocol / AttrSet.h
Controller / Completion.cppnixd / Controller / Controller.h
Controller / Controller/Configuration.cppnixd / Controller / Controller.h
Controller / Controller/Configuration.cppnixd / Eval / Launch.h
Controller / Definition.cppnixd / Protocol / AttrSet.h
Controller / Definition.cppnixd / Controller / Controller.h
Controller / Diagnostics.cppnixd / Controller / Controller.h
Controller / DocumentHighlight.cppnixd / Controller / Controller.h
Controller / DocumentLink.cppnixd / Controller / Controller.h
Controller / DocumentSymbol.cppnixd / Controller / Controller.h
Controller / FindReferences.cppnixd / Controller / Controller.h
Controller / Format.cppnixd / Controller / Controller.h
Controller / Format.cppnixd / Support / ForkPiped.h
Controller / Hover.cppnixd / Protocol / AttrSet.h
Controller / Hover.cppnixd / Controller / Controller.h
Controller / InlayHints.cppnixd / Controller / Controller.h
Controller / InlayHints.cppnixd / CommandLine / Options.h
Eval / Launch.cppnixd / Eval / Launch.h
Eval / Launch.cppnixd / CommandLine / Options.h
Controller / LifeTime.cppnixd / CommandLine / CommandLine/Configuration.h
Controller / LifeTime.cppnixd / Controller / Controller.h
Controller / LifeTime.cppnixd / Support / Exception.h
Controller / LifeTime.cppnixd / Eval / Launch.h
Controller / LifeTime.cppnixd / CommandLine / Options.h
Controller / NixTU.cppnixd / Controller / NixTU.h
CommandLine / Options.cppnixd / CommandLine / Options.h
Controller / Rename.cppnixd / Controller / Controller.h
Controller / SemanticTokens.cppnixd / Controller / Controller.h
Controller / Support.cppnixd / Controller / Controller.h
Controller / TextDocumentSync.cppnixd / Controller / Controller.h
Protocol / AttrSet.cppnixd / Protocol / AttrSet.h
Protocol / lib/Protocol/Protocol.cppnixd / Protocol / include/nixd/Protocol/Protocol.h
Support / AutoCloseFD.cppnixd / Support / AutoCloseFD.h
Support / AutoRemoveShm.cppnixd / Support / AutoRemoveShm.h
Support / ForkPiped.cppnixd / Support / ForkPiped.h
Support / JSON.cppnixd / Support / JSON.h
Support / StreamProc.cppnixd / Support / StreamProc.h
Support / StreamProc.cppnixd / Support / ForkPiped.h
+ + + + diff --git a/dir_000015_000016.html b/dir_000015_000016.html new file mode 100644 index 000000000..cc9b70297 --- /dev/null +++ b/dir_000015_000016.html @@ -0,0 +1,84 @@ + + + + + + + +nixd: lib -> libnixf Relation + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+

lib → libnixf Relation

File in nixd/libIncludes file in libnixf
Controller / AST.hinclude / nixf / Basic / Nodes / Expr.h
Controller / AST.hinclude / nixf / Sema / libnixf/include/nixf/Sema/ParentMap.h
Controller / AST.hinclude / nixf / Sema / VariableLookup.h
Controller / Completion.cppinclude / nixf / Sema / VariableLookup.h
Controller / Convert.cppinclude / nixf / Basic / Diagnostic.h
Controller / Convert.hinclude / nixf / Basic / Diagnostic.h
Controller / Convert.hinclude / nixf / Basic / Range.h
Controller / Definition.cppinclude / nixf / Basic / Nodes / Attrs.h
Controller / Definition.cppinclude / nixf / Basic / Nodes / Basic.h
Controller / Definition.cppinclude / nixf / Basic / Nodes / Expr.h
Controller / Definition.cppinclude / nixf / Sema / libnixf/include/nixf/Sema/ParentMap.h
Controller / Definition.cppinclude / nixf / Sema / VariableLookup.h
Controller / Definition.hinclude / nixf / Sema / libnixf/include/nixf/Sema/ParentMap.h
Controller / Definition.hinclude / nixf / Sema / VariableLookup.h
Controller / Diagnostics.cppinclude / nixf / Basic / Diagnostic.h
Controller / DocumentHighlight.cppinclude / nixf / Sema / libnixf/include/nixf/Sema/ParentMap.h
Controller / DocumentHighlight.cppinclude / nixf / Sema / VariableLookup.h
Controller / DocumentSymbol.cppinclude / nixf / Basic / Nodes / Attrs.h
Controller / DocumentSymbol.cppinclude / nixf / Basic / Nodes / Lambda.h
Controller / DocumentSymbol.cppinclude / nixf / Sema / VariableLookup.h
Controller / FindReferences.cppinclude / nixf / Sema / libnixf/include/nixf/Sema/ParentMap.h
Controller / FindReferences.cppinclude / nixf / Sema / VariableLookup.h
Controller / SemanticTokens.cppinclude / nixf / Basic / Nodes / Attrs.h
Controller / SemanticTokens.cppinclude / nixf / Basic / Nodes / Expr.h
Controller / SemanticTokens.cppinclude / nixf / Basic / Nodes / Lambda.h
Controller / SemanticTokens.cppinclude / nixf / Basic / Range.h
Controller / SemanticTokens.cppinclude / nixf / Sema / VariableLookup.h
Controller / Support.cppinclude / nixf / Basic / Diagnostic.h
Controller / Support.cppinclude / nixf / Parse / include/nixf/Parse/Parser.h
Controller / Support.cppinclude / nixf / Sema / VariableLookup.h
+ + + + diff --git a/dir_000015_000017.html b/dir_000015_000017.html new file mode 100644 index 000000000..8f33c919e --- /dev/null +++ b/dir_000015_000017.html @@ -0,0 +1,84 @@ + + + + + + + +nixd: lib -> libnixt Relation + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+

lib → libnixt Relation

File in nixd/libIncludes file in libnixt
Eval / AttrSetProvider.cppinclude / nixt / Value.h
+ + + + diff --git a/dir_000015_000018.html b/dir_000015_000018.html new file mode 100644 index 000000000..b3531b050 --- /dev/null +++ b/dir_000015_000018.html @@ -0,0 +1,84 @@ + + + + + + + +nixd: lib -> lspserver Relation + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+ + + + + diff --git a/dir_000021_000016.html b/dir_000021_000016.html new file mode 100644 index 000000000..9fec83954 --- /dev/null +++ b/dir_000021_000016.html @@ -0,0 +1,84 @@ + + + + + + + +nixd: nixd -> libnixf Relation + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+

nixd → libnixf Relation

File in nixd/include/nixdIncludes file in libnixf
Controller / Controller.hinclude / nixf / Basic / Diagnostic.h
Controller / NixTU.hinclude / nixf / Basic / Nodes / Basic.h
Controller / NixTU.hinclude / nixf / Basic / Diagnostic.h
Controller / NixTU.hinclude / nixf / Sema / libnixf/include/nixf/Sema/ParentMap.h
Controller / NixTU.hinclude / nixf / Sema / VariableLookup.h
+ + + + diff --git a/dir_000021_000017.html b/dir_000021_000017.html new file mode 100644 index 000000000..16632666b --- /dev/null +++ b/dir_000021_000017.html @@ -0,0 +1,84 @@ + + + + + + + +nixd: nixd -> libnixt Relation + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+

nixd → libnixt Relation

File in nixd/include/nixdIncludes file in libnixt
Eval / EvalProvider.hinclude / nixt / HookExpr.h
Eval / EvalProvider.hinclude / nixt / PtrPool.h
+ + + + diff --git a/dir_000021_000018.html b/dir_000021_000018.html new file mode 100644 index 000000000..6d1a832b2 --- /dev/null +++ b/dir_000021_000018.html @@ -0,0 +1,84 @@ + + + + + + + +nixd: nixd -> lspserver Relation + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+ + + + + diff --git a/dir_000026_000010.html b/dir_000026_000010.html new file mode 100644 index 000000000..27914d795 --- /dev/null +++ b/dir_000026_000010.html @@ -0,0 +1,84 @@ + + + + + + + +nixd: Parse -> include Relation + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+ + + + + diff --git a/dir_000027_000018.html b/dir_000027_000018.html new file mode 100644 index 000000000..a12cf4b82 --- /dev/null +++ b/dir_000027_000018.html @@ -0,0 +1,84 @@ + + + + + + + +nixd: Protocol -> lspserver Relation + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+

Protocol → lspserver Relation

File in nixd/include/nixd/ProtocolIncludes file in nixd/lspserver
AttrSet.hinclude / lspserver / lspserver/include/lspserver/Protocol.h
+ + + + diff --git a/dir_000028_000012.html b/dir_000028_000012.html new file mode 100644 index 000000000..5b608fd7e --- /dev/null +++ b/dir_000028_000012.html @@ -0,0 +1,84 @@ + + + + + + + +nixd: Protocol -> include Relation + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+

Protocol → include Relation

File in nixd/lib/ProtocolIncludes file in nixd/include
AttrSet.cppnixd / Protocol / AttrSet.h
lib/Protocol/Protocol.cppnixd / Protocol / include/nixd/Protocol/Protocol.h
+ + + + diff --git a/dir_000029_000000.html b/dir_000029_000000.html new file mode 100644 index 000000000..a16e4e888 --- /dev/null +++ b/dir_000029_000000.html @@ -0,0 +1,84 @@ + + + + + + + +nixd: Sema -> Basic Relation + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+ + + + + diff --git a/dir_000030_000010.html b/dir_000030_000010.html new file mode 100644 index 000000000..7f16bdf1a --- /dev/null +++ b/dir_000030_000010.html @@ -0,0 +1,84 @@ + + + + + + + +nixd: Sema -> include Relation + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+ + + + + diff --git a/dir_000031_000010.html b/dir_000031_000010.html new file mode 100644 index 000000000..324df4b2f --- /dev/null +++ b/dir_000031_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 / NoteKinds.inc
Basic / JSONDiagnostic.cppnixf / Basic / Diagnostic.h
Basic / JSONDiagnostic.cppnixf / Basic / JSONDiagnostic.h
Basic / JSONDiagnostic.cppnixf / Basic / Range.h
Parse / Lexer.cppnixf / Basic / Range.h
Parse / Lexer.cppnixf / Basic / TokenKinds.inc
Parse / Lexer.hnixf / Basic / Diagnostic.h
Parse / Lexer.hnixf / Basic / Range.h
Sema / libnixf/src/Sema/ParentMap.cppnixf / Sema / libnixf/include/nixf/Sema/ParentMap.h
Basic / Nodes.cppnixf / Basic / NodeKinds.inc
Basic / Nodes.cppnixf / Basic / Nodes / Simple.h
Parse / ParseOp.cppnixf / Basic / Diagnostic.h
Parse / ParseOp.cppnixf / Basic / Nodes / Op.h
Parse / ParseOp.cppnixf / Basic / TokenKinds.inc
Parse / ParseSimple.cppnixf / Basic / Diagnostic.h
Parse / ParseSimple.cppnixf / Basic / Nodes / Simple.h
Parse / ParseSupport.cppnixf / Parse / include/nixf/Parse/Parser.h
Parse / ParseSupport.cppnixf / Basic / TokenKinds.h
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
Sema / VariableLookup.cppnixf / Basic / Nodes / Attrs.h
Sema / VariableLookup.cppnixf / Basic / Diagnostic.h
Sema / VariableLookup.cppnixf / Basic / Nodes / Lambda.h
Sema / VariableLookup.cppnixf / Sema / VariableLookup.h
+ + + + diff --git a/dir_000032_000013.html b/dir_000032_000013.html new file mode 100644 index 000000000..0bc904bd3 --- /dev/null +++ b/dir_000032_000013.html @@ -0,0 +1,84 @@ + + + + + + + +nixd: src -> include Relation + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+ + + + + diff --git a/dir_000033_000018.html b/dir_000033_000018.html new file mode 100644 index 000000000..39772e87b --- /dev/null +++ b/dir_000033_000018.html @@ -0,0 +1,84 @@ + + + + + + + +nixd: Support -> lspserver Relation + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+

Support → lspserver Relation

File in nixd/include/nixd/SupportIncludes file in nixd/lspserver
StreamProc.hinclude / lspserver / Connection.h
+ + + + diff --git a/dir_000034_000012.html b/dir_000034_000012.html new file mode 100644 index 000000000..4032eaee3 --- /dev/null +++ b/dir_000034_000012.html @@ -0,0 +1,84 @@ + + + + + + + +nixd: Support -> include Relation + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+ + + + + diff --git a/dir_000035_000010.html b/dir_000035_000010.html new file mode 100644 index 000000000..dd5441091 --- /dev/null +++ b/dir_000035_000010.html @@ -0,0 +1,84 @@ + + + + + + + +nixd: tools -> include Relation + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+

tools → include Relation

File in libnixf/toolsIncludes file in libnixf/include
nixf-tidy.cppnixf / Basic / Nodes / Basic.h
nixf-tidy.cppnixf / Parse / include/nixf/Parse/Parser.h
nixf-tidy.cppnixf / Basic / JSONDiagnostic.h
nixf-tidy.cppnixf / Sema / VariableLookup.h
+ + + + diff --git a/dir_000036_000012.html b/dir_000036_000012.html new file mode 100644 index 000000000..4343804a8 --- /dev/null +++ b/dir_000036_000012.html @@ -0,0 +1,84 @@ + + + + + + + +nixd: tools -> include Relation + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+

tools → include Relation

File in nixd/toolsIncludes file in nixd/include
nixd-attrset-eval.cppnixd / Eval / AttrSetProvider.h
nixd-attrset-eval.cppnixd / CommandLine / Options.h
nixd.cppnixd / Controller / Controller.h
nixd.cppnixd / CommandLine / Options.h
+ + + + diff --git a/dir_000036_000017.html b/dir_000036_000017.html new file mode 100644 index 000000000..b3774cd34 --- /dev/null +++ b/dir_000036_000017.html @@ -0,0 +1,84 @@ + + + + + + + +nixd: tools -> libnixt Relation + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+

tools → libnixt Relation

File in nixd/toolsIncludes file in libnixt
nixd-attrset-eval.cppinclude / nixt / InitEval.h
+ + + + diff --git a/dir_000036_000018.html b/dir_000036_000018.html new file mode 100644 index 000000000..d544d73af --- /dev/null +++ b/dir_000036_000018.html @@ -0,0 +1,84 @@ + + + + + + + +nixd: tools -> lspserver Relation + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+

tools → lspserver Relation

File in nixd/toolsIncludes file in nixd/lspserver
nixd-attrset-eval.cppinclude / lspserver / Connection.h
nixd.cppinclude / lspserver / Connection.h
nixd.cppinclude / lspserver / Logger.h
+ + + + diff --git a/dir_0842f02ee6fc0ecc9c7973a56a3aa437.html b/dir_0842f02ee6fc0ecc9c7973a56a3aa437.html new file mode 100644 index 000000000..ae8b39383 --- /dev/null +++ b/dir_0842f02ee6fc0ecc9c7973a56a3aa437.html @@ -0,0 +1,101 @@ + + + + + + + +nixd: CommandLine Directory Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
CommandLine Directory Reference
+
+
+
+Directory dependency graph for CommandLine:
+
+
+
+ + + + + + + +

+Files

 Configuration.h
 Allow default configuration being passed via CLI.
 
 Options.h
 
+
+ + + + diff --git a/dir_0842f02ee6fc0ecc9c7973a56a3aa437_dep.map b/dir_0842f02ee6fc0ecc9c7973a56a3aa437_dep.map new file mode 100644 index 000000000..4832e8ede --- /dev/null +++ b/dir_0842f02ee6fc0ecc9c7973a56a3aa437_dep.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/dir_0842f02ee6fc0ecc9c7973a56a3aa437_dep.md5 b/dir_0842f02ee6fc0ecc9c7973a56a3aa437_dep.md5 new file mode 100644 index 000000000..48d33eab5 --- /dev/null +++ b/dir_0842f02ee6fc0ecc9c7973a56a3aa437_dep.md5 @@ -0,0 +1 @@ +444f53538dd04923f780a91ac8e2b1c1 \ No newline at end of file diff --git a/dir_0842f02ee6fc0ecc9c7973a56a3aa437_dep.svg b/dir_0842f02ee6fc0ecc9c7973a56a3aa437_dep.svg new file mode 100644 index 000000000..e44e6782c --- /dev/null +++ b/dir_0842f02ee6fc0ecc9c7973a56a3aa437_dep.svg @@ -0,0 +1,51 @@ + + + + + + +CommandLine + +clusterdir_78474edbfdb26b7810ef0ed54a6ffeb0 + + +nixd + + + + + +dir_1b739488bd9a560c1a1a4ec4ac74c381 + + +Controller + + + + + +dir_0842f02ee6fc0ecc9c7973a56a3aa437 + + +CommandLine + + + + + +dir_0842f02ee6fc0ecc9c7973a56a3aa437->dir_1b739488bd9a560c1a1a4ec4ac74c381 + + + + + + +1 + + + + + diff --git a/dir_0a80291a1162a19961e2bbfd790094c7.html b/dir_0a80291a1162a19961e2bbfd790094c7.html new file mode 100644 index 000000000..b8483d5b9 --- /dev/null +++ b/dir_0a80291a1162a19961e2bbfd790094c7.html @@ -0,0 +1,112 @@ + + + + + + + +nixd: Support Directory Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Support Directory Reference
+
+
+
+Directory dependency graph for Support:
+
+
+
+ + + + + + + + + + + + + + + + + + +

+Files

 AutoCloseFD.h
 
 AutoRemoveShm.h
 
 Exception.h
 
 ForkPiped.h
 
 JSON.h
 
 OwnedRegion.h
 
 PipedProc.h
 
 StreamProc.h
 
+
+ + + + diff --git a/dir_0a80291a1162a19961e2bbfd790094c7_dep.map b/dir_0a80291a1162a19961e2bbfd790094c7_dep.map new file mode 100644 index 000000000..74002e7ad --- /dev/null +++ b/dir_0a80291a1162a19961e2bbfd790094c7_dep.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/dir_0a80291a1162a19961e2bbfd790094c7_dep.md5 b/dir_0a80291a1162a19961e2bbfd790094c7_dep.md5 new file mode 100644 index 000000000..9163ca241 --- /dev/null +++ b/dir_0a80291a1162a19961e2bbfd790094c7_dep.md5 @@ -0,0 +1 @@ +d4011bf68668cb360e8fb7b1a0014877 \ No newline at end of file diff --git a/dir_0a80291a1162a19961e2bbfd790094c7_dep.svg b/dir_0a80291a1162a19961e2bbfd790094c7_dep.svg new file mode 100644 index 000000000..473c5e362 --- /dev/null +++ b/dir_0a80291a1162a19961e2bbfd790094c7_dep.svg @@ -0,0 +1,51 @@ + + + + + + +Support + +clusterdir_78474edbfdb26b7810ef0ed54a6ffeb0 + + +nixd + + + + + +dir_0a80291a1162a19961e2bbfd790094c7 + + +Support + + + + + +dir_5def0a8c33681ccffd5a1a329ca9c6c2 + + +lspserver + + + + + +dir_0a80291a1162a19961e2bbfd790094c7->dir_5def0a8c33681ccffd5a1a329ca9c6c2 + + + + + + +1 + + + + + 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..497ec1d63 --- /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..4a27e8d39 --- /dev/null +++ b/dir_0f13faf2cde331c4efb20e51fbf7d022_dep.md5 @@ -0,0 +1 @@ +cf1bdbd20fefc947be21dee292a07244 \ No newline at end of file diff --git a/dir_0f13faf2cde331c4efb20e51fbf7d022_dep.svg b/dir_0f13faf2cde331c4efb20e51fbf7d022_dep.svg new file mode 100644 index 000000000..e8c7b7d1f --- /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 + + + + + + +21 + + + + + diff --git a/dir_1b739488bd9a560c1a1a4ec4ac74c381.html b/dir_1b739488bd9a560c1a1a4ec4ac74c381.html new file mode 100644 index 000000000..91c652278 --- /dev/null +++ b/dir_1b739488bd9a560c1a1a4ec4ac74c381.html @@ -0,0 +1,105 @@ + + + + + + + +nixd: Controller Directory Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Controller Directory Reference
+
+
+
+Directory dependency graph for Controller:
+
+
+
+ + + + + + + + + + + +

+Files

 Configuration.h
 Declares workspace configuration schema.
 
 Controller.h
 
 EvalClient.h
 
 NixTU.h
 
+
+ + + + diff --git a/dir_1b739488bd9a560c1a1a4ec4ac74c381_dep.map b/dir_1b739488bd9a560c1a1a4ec4ac74c381_dep.map new file mode 100644 index 000000000..8276555ad --- /dev/null +++ b/dir_1b739488bd9a560c1a1a4ec4ac74c381_dep.map @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + diff --git a/dir_1b739488bd9a560c1a1a4ec4ac74c381_dep.md5 b/dir_1b739488bd9a560c1a1a4ec4ac74c381_dep.md5 new file mode 100644 index 000000000..0a3dafc8b --- /dev/null +++ b/dir_1b739488bd9a560c1a1a4ec4ac74c381_dep.md5 @@ -0,0 +1 @@ +8a4491a9a0f0afa7449e27ea27221494 \ No newline at end of file diff --git a/dir_1b739488bd9a560c1a1a4ec4ac74c381_dep.svg b/dir_1b739488bd9a560c1a1a4ec4ac74c381_dep.svg new file mode 100644 index 000000000..457e69802 --- /dev/null +++ b/dir_1b739488bd9a560c1a1a4ec4ac74c381_dep.svg @@ -0,0 +1,139 @@ + + + + + + +Controller + +clusterdir_78474edbfdb26b7810ef0ed54a6ffeb0 + + +nixd + + + + + +dir_0a80291a1162a19961e2bbfd790094c7 + + +Support + + + + + +dir_5d9174fd82c34d170442a81ddb0d3867 + + +Eval + + + + + +dir_fae1b722d580b1d4896c7d9500c560d0 + + +Protocol + + + + + +dir_1b739488bd9a560c1a1a4ec4ac74c381 + + +Controller + + + + + +dir_1b739488bd9a560c1a1a4ec4ac74c381->dir_0a80291a1162a19961e2bbfd790094c7 + + + + + + +2 + + + + + +dir_1b739488bd9a560c1a1a4ec4ac74c381->dir_5d9174fd82c34d170442a81ddb0d3867 + + + + + + +1 + + + + + +dir_1b739488bd9a560c1a1a4ec4ac74c381->dir_fae1b722d580b1d4896c7d9500c560d0 + + + + + + +1 + + + + + +dir_5def0a8c33681ccffd5a1a329ca9c6c2 + + +lspserver + + + + + +dir_1b739488bd9a560c1a1a4ec4ac74c381->dir_5def0a8c33681ccffd5a1a329ca9c6c2 + + + + + + +4 + + + + + +dir_9ff0e04ed484c0229c3bd8fc4cfe4cb8 + + +libnixf + + + + + +dir_1b739488bd9a560c1a1a4ec4ac74c381->dir_9ff0e04ed484c0229c3bd8fc4cfe4cb8 + + + + + + +5 + + + + + diff --git a/dir_210b2339cd755ef887faaab3c00d1334.html b/dir_210b2339cd755ef887faaab3c00d1334.html new file mode 100644 index 000000000..9e81db5c7 --- /dev/null +++ b/dir_210b2339cd755ef887faaab3c00d1334.html @@ -0,0 +1,103 @@ + + + + + + + +nixd: Sema Directory Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Sema Directory Reference
+
+
+
+Directory dependency graph for Sema:
+
+
+
+ + + + + + + + + +

+Files

 ParentMap.cpp
 
 SemaActions.cpp
 Semantic Actions of AST nodes.
 
 VariableLookup.cpp
 
+
+ + + + diff --git a/dir_210b2339cd755ef887faaab3c00d1334_dep.map b/dir_210b2339cd755ef887faaab3c00d1334_dep.map new file mode 100644 index 000000000..1040b5b50 --- /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..70b790435 --- /dev/null +++ b/dir_210b2339cd755ef887faaab3c00d1334_dep.md5 @@ -0,0 +1 @@ +a0b3047b1094d8087c990994f31be8cf \ No newline at end of file diff --git a/dir_210b2339cd755ef887faaab3c00d1334_dep.svg b/dir_210b2339cd755ef887faaab3c00d1334_dep.svg new file mode 100644 index 000000000..01d288658 --- /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 + + + + + + +9 + + + + + diff --git a/dir_2449f2b6f5e00bc97ce2a2d4b7e7d3f4.html b/dir_2449f2b6f5e00bc97ce2a2d4b7e7d3f4.html new file mode 100644 index 000000000..12ecc5ab0 --- /dev/null +++ b/dir_2449f2b6f5e00bc97ce2a2d4b7e7d3f4.html @@ -0,0 +1,118 @@ + + + + + + + +nixd: Basic Directory Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Basic Directory Reference
+
+
+
+Directory dependency graph for Basic:
+
+
+
+ + + + +

+Directories

 Nodes
 
+ + + + + + + + + + + + + + + + + + +

+Files

 Diagnostic.h
 
 JSONDiagnostic.h
 Provide jsonified diagnostic, for other languages/structured output.
 
 NodeKinds.inc
 
 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..e5dc9f2ab --- /dev/null +++ b/dir_2449f2b6f5e00bc97ce2a2d4b7e7d3f4_dep.map @@ -0,0 +1,5 @@ + + + + + diff --git a/dir_2449f2b6f5e00bc97ce2a2d4b7e7d3f4_dep.md5 b/dir_2449f2b6f5e00bc97ce2a2d4b7e7d3f4_dep.md5 new file mode 100644 index 000000000..159821947 --- /dev/null +++ b/dir_2449f2b6f5e00bc97ce2a2d4b7e7d3f4_dep.md5 @@ -0,0 +1 @@ +7f2452d3f31439b984bfe4ae549aecaf \ No newline at end of file diff --git a/dir_2449f2b6f5e00bc97ce2a2d4b7e7d3f4_dep.svg b/dir_2449f2b6f5e00bc97ce2a2d4b7e7d3f4_dep.svg new file mode 100644 index 000000000..cccf6f948 --- /dev/null +++ b/dir_2449f2b6f5e00bc97ce2a2d4b7e7d3f4_dep.svg @@ -0,0 +1,41 @@ + + + + + + +Basic + +clusterdir_3b3bb5973b23a394522075bcda2e76c3 + + +nixf + + + + +clusterdir_2449f2b6f5e00bc97ce2a2d4b7e7d3f4 + + + + + + + +dir_2449f2b6f5e00bc97ce2a2d4b7e7d3f4 +Basic + + + +dir_ae82c439e3273bbaefa18569b027ae03 + + +Nodes + + + + + diff --git a/dir_271d3aa807e54726686810b489123a0c.html b/dir_271d3aa807e54726686810b489123a0c.html new file mode 100644 index 000000000..4907a9898 --- /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
 
 include
 
 lib
 
 lspserver
 
 tools
 
+
+ + + + diff --git a/dir_271d3aa807e54726686810b489123a0c_dep.map b/dir_271d3aa807e54726686810b489123a0c_dep.map new file mode 100644 index 000000000..4f08fffef --- /dev/null +++ b/dir_271d3aa807e54726686810b489123a0c_dep.map @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/dir_271d3aa807e54726686810b489123a0c_dep.md5 b/dir_271d3aa807e54726686810b489123a0c_dep.md5 new file mode 100644 index 000000000..7cc1f5349 --- /dev/null +++ b/dir_271d3aa807e54726686810b489123a0c_dep.md5 @@ -0,0 +1 @@ +aa89c86fedb71ac5b2b4a2911eb37f44 \ No newline at end of file diff --git a/dir_271d3aa807e54726686810b489123a0c_dep.svg b/dir_271d3aa807e54726686810b489123a0c_dep.svg new file mode 100644 index 000000000..2276fe4c0 --- /dev/null +++ b/dir_271d3aa807e54726686810b489123a0c_dep.svg @@ -0,0 +1,217 @@ + + + + + + +nixd + +clusterdir_271d3aa807e54726686810b489123a0c + + + + + + + +dir_271d3aa807e54726686810b489123a0c +nixd + + + +dir_fbf4781f84a2dfdac7fb8e01b68aa402 + + +docs + + + + + +dir_6072663c54edb131dd9eabf55cf77072 + + +include + + + + + +dir_5def0a8c33681ccffd5a1a329ca9c6c2 + + +lspserver + + + + + +dir_6072663c54edb131dd9eabf55cf77072->dir_5def0a8c33681ccffd5a1a329ca9c6c2 + + + + + + +10 + + + + + +dir_9ff0e04ed484c0229c3bd8fc4cfe4cb8 + + +libnixf + + + + + +dir_6072663c54edb131dd9eabf55cf77072->dir_9ff0e04ed484c0229c3bd8fc4cfe4cb8 + + + + + + +5 + + + + + +dir_c40eb6f7b133789742bdf3cebb28ba81 + + +libnixt + + + + + +dir_6072663c54edb131dd9eabf55cf77072->dir_c40eb6f7b133789742bdf3cebb28ba81 + + + + + + +2 + + + + + +dir_8710806578cad174ffcb5e19312c912a + + +lib + + + + + +dir_8710806578cad174ffcb5e19312c912a->dir_6072663c54edb131dd9eabf55cf77072 + + + + + + +48 + + + + + +dir_8710806578cad174ffcb5e19312c912a->dir_5def0a8c33681ccffd5a1a329ca9c6c2 + + + + + + +13 + + + + + +dir_8710806578cad174ffcb5e19312c912a->dir_9ff0e04ed484c0229c3bd8fc4cfe4cb8 + + + + + + +30 + + + + + +dir_8710806578cad174ffcb5e19312c912a->dir_c40eb6f7b133789742bdf3cebb28ba81 + + + + + + +1 + + + + + +dir_43dccb67c075cdf61156590789c0ba7d + + +tools + + + + + +dir_43dccb67c075cdf61156590789c0ba7d->dir_6072663c54edb131dd9eabf55cf77072 + + + + + + +4 + + + + + +dir_43dccb67c075cdf61156590789c0ba7d->dir_5def0a8c33681ccffd5a1a329ca9c6c2 + + + + + + +3 + + + + + +dir_43dccb67c075cdf61156590789c0ba7d->dir_c40eb6f7b133789742bdf3cebb28ba81 + + + + + + +1 + + + + + diff --git a/dir_272f3262a55b8c6cb4d459b3d2979355.html b/dir_272f3262a55b8c6cb4d459b3d2979355.html new file mode 100644 index 000000000..a77e618c1 --- /dev/null +++ b/dir_272f3262a55b8c6cb4d459b3d2979355.html @@ -0,0 +1,102 @@ + + + + + + + +nixd: Eval Directory Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Eval Directory Reference
+
+
+
+Directory dependency graph for Eval:
+
+
+
+ + + + + + + + +

+Files

 AttrSetClient.cpp
 
 AttrSetProvider.cpp
 
 Launch.cpp
 
+
+ + + + diff --git a/dir_272f3262a55b8c6cb4d459b3d2979355_dep.map b/dir_272f3262a55b8c6cb4d459b3d2979355_dep.map new file mode 100644 index 000000000..86dbde98e --- /dev/null +++ b/dir_272f3262a55b8c6cb4d459b3d2979355_dep.map @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/dir_272f3262a55b8c6cb4d459b3d2979355_dep.md5 b/dir_272f3262a55b8c6cb4d459b3d2979355_dep.md5 new file mode 100644 index 000000000..3b044c21f --- /dev/null +++ b/dir_272f3262a55b8c6cb4d459b3d2979355_dep.md5 @@ -0,0 +1 @@ +1b24c279dce83486802639e647602b72 \ No newline at end of file diff --git a/dir_272f3262a55b8c6cb4d459b3d2979355_dep.svg b/dir_272f3262a55b8c6cb4d459b3d2979355_dep.svg new file mode 100644 index 000000000..ccf8439a2 --- /dev/null +++ b/dir_272f3262a55b8c6cb4d459b3d2979355_dep.svg @@ -0,0 +1,95 @@ + + + + + + +Eval + +clusterdir_8710806578cad174ffcb5e19312c912a + + +lib + + + + + +dir_272f3262a55b8c6cb4d459b3d2979355 + + +Eval + + + + + +dir_5def0a8c33681ccffd5a1a329ca9c6c2 + + +lspserver + + + + + +dir_272f3262a55b8c6cb4d459b3d2979355->dir_5def0a8c33681ccffd5a1a329ca9c6c2 + + + + + + +1 + + + + + +dir_6072663c54edb131dd9eabf55cf77072 + + +include + + + + + +dir_272f3262a55b8c6cb4d459b3d2979355->dir_6072663c54edb131dd9eabf55cf77072 + + + + + + +5 + + + + + +dir_c40eb6f7b133789742bdf3cebb28ba81 + + +libnixt + + + + + +dir_272f3262a55b8c6cb4d459b3d2979355->dir_c40eb6f7b133789742bdf3cebb28ba81 + + + + + + +1 + + + + + diff --git a/dir_2dfd61e782002e6a63843e36bf78a91c.html b/dir_2dfd61e782002e6a63843e36bf78a91c.html new file mode 100644 index 000000000..c3febd90c --- /dev/null +++ b/dir_2dfd61e782002e6a63843e36bf78a91c.html @@ -0,0 +1,159 @@ + + + + + + + +nixd: Controller Directory Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Controller Directory Reference
+
+
+
+Directory dependency graph for Controller:
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Files

 AST.cpp
 
 AST.h
 This file declares some common analysis (tree walk) on the AST.
 
 CodeAction.cpp
 Implementation of Code Action.
 
 Completion.cpp
 Implementation of Code Completion.
 
 Configuration.cpp
 
 Convert.cpp
 
 Convert.h
 Convert between LSP and nixf types.
 
 Definition.cpp
 Implementation of [Go to Definition].
 
 Definition.h
 
 Diagnostics.cpp
 Implementation of PublishDiagnostics Notification.
 
 DocumentHighlight.cpp
 This implements Document Highlight.
 
 DocumentLink.cpp
 
 DocumentSymbol.cpp
 Implementation of Document Symbol.
 
 FindReferences.cpp
 This implements Find References.
 
 Format.cpp
 Implementation of Formatting.
 
 Hover.cpp
 Implementation of Hover Request.
 
 InlayHints.cpp
 Implementation of Inlay Hints.
 
 LifeTime.cpp
 Implementation of Server Lifecycle.
 
 NixTU.cpp
 
 Rename.cpp
 This implements Rename.
 
 SemanticTokens.cpp
 Implementation of Semantic Tokens.
 
 Support.cpp
 
 TextDocumentSync.cpp
 Implementation of the text document sync.
 
+
+ + + + diff --git a/dir_2dfd61e782002e6a63843e36bf78a91c_dep.map b/dir_2dfd61e782002e6a63843e36bf78a91c_dep.map new file mode 100644 index 000000000..365eef76f --- /dev/null +++ b/dir_2dfd61e782002e6a63843e36bf78a91c_dep.map @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/dir_2dfd61e782002e6a63843e36bf78a91c_dep.md5 b/dir_2dfd61e782002e6a63843e36bf78a91c_dep.md5 new file mode 100644 index 000000000..132e85545 --- /dev/null +++ b/dir_2dfd61e782002e6a63843e36bf78a91c_dep.md5 @@ -0,0 +1 @@ +c7bb44b45fe7ced3c175acb88e5d44f3 \ No newline at end of file diff --git a/dir_2dfd61e782002e6a63843e36bf78a91c_dep.svg b/dir_2dfd61e782002e6a63843e36bf78a91c_dep.svg new file mode 100644 index 000000000..5a4041fa7 --- /dev/null +++ b/dir_2dfd61e782002e6a63843e36bf78a91c_dep.svg @@ -0,0 +1,95 @@ + + + + + + +Controller + +clusterdir_8710806578cad174ffcb5e19312c912a + + +lib + + + + + +dir_2dfd61e782002e6a63843e36bf78a91c + + +Controller + + + + + +dir_5def0a8c33681ccffd5a1a329ca9c6c2 + + +lspserver + + + + + +dir_2dfd61e782002e6a63843e36bf78a91c->dir_5def0a8c33681ccffd5a1a329ca9c6c2 + + + + + + +11 + + + + + +dir_6072663c54edb131dd9eabf55cf77072 + + +include + + + + + +dir_2dfd61e782002e6a63843e36bf78a91c->dir_6072663c54edb131dd9eabf55cf77072 + + + + + + +30 + + + + + +dir_9ff0e04ed484c0229c3bd8fc4cfe4cb8 + + +libnixf + + + + + +dir_2dfd61e782002e6a63843e36bf78a91c->dir_9ff0e04ed484c0229c3bd8fc4cfe4cb8 + + + + + + +30 + + + + + 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..466139f58 --- /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..c27270e2e --- /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_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..b01ac00b0 --- /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..be6e185ff --- /dev/null +++ b/dir_32f167dda2f41d40ac9e24aee0c779a4_dep.svg @@ -0,0 +1,29 @@ + + + + + + +Parse + +clusterdir_3b3bb5973b23a394522075bcda2e76c3 + + +nixf + + + + + +dir_32f167dda2f41d40ac9e24aee0c779a4 + + +Parse + + + + + diff --git a/dir_338dd3c7b4c4659d51339d29f870875c.html b/dir_338dd3c7b4c4659d51339d29f870875c.html new file mode 100644 index 000000000..cdf92229e --- /dev/null +++ b/dir_338dd3c7b4c4659d51339d29f870875c.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_338dd3c7b4c4659d51339d29f870875c_dep.map b/dir_338dd3c7b4c4659d51339d29f870875c_dep.map new file mode 100644 index 000000000..762c116cc --- /dev/null +++ b/dir_338dd3c7b4c4659d51339d29f870875c_dep.map @@ -0,0 +1,5 @@ + + + + + diff --git a/dir_338dd3c7b4c4659d51339d29f870875c_dep.md5 b/dir_338dd3c7b4c4659d51339d29f870875c_dep.md5 new file mode 100644 index 000000000..ec6cbfdbd --- /dev/null +++ b/dir_338dd3c7b4c4659d51339d29f870875c_dep.md5 @@ -0,0 +1 @@ +067f1b4a16873bd33317039162646ff9 \ No newline at end of file diff --git a/dir_338dd3c7b4c4659d51339d29f870875c_dep.svg b/dir_338dd3c7b4c4659d51339d29f870875c_dep.svg new file mode 100644 index 000000000..a95fa22fe --- /dev/null +++ b/dir_338dd3c7b4c4659d51339d29f870875c_dep.svg @@ -0,0 +1,41 @@ + + + + + + +include + +clusterdir_5def0a8c33681ccffd5a1a329ca9c6c2 + + +lspserver + + + + +clusterdir_338dd3c7b4c4659d51339d29f870875c + + + + + + + +dir_338dd3c7b4c4659d51339d29f870875c +include + + + +dir_7690759852530585c31e8e562ca9f92d + + +lspserver + + + + + diff --git a/dir_398406baf6d7c3e11cd5f7be25d09d6d.html b/dir_398406baf6d7c3e11cd5f7be25d09d6d.html new file mode 100644 index 000000000..9b500c6af --- /dev/null +++ b/dir_398406baf6d7c3e11cd5f7be25d09d6d.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_398406baf6d7c3e11cd5f7be25d09d6d_dep.map b/dir_398406baf6d7c3e11cd5f7be25d09d6d_dep.map new file mode 100644 index 000000000..e42aa0e57 --- /dev/null +++ b/dir_398406baf6d7c3e11cd5f7be25d09d6d_dep.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/dir_398406baf6d7c3e11cd5f7be25d09d6d_dep.md5 b/dir_398406baf6d7c3e11cd5f7be25d09d6d_dep.md5 new file mode 100644 index 000000000..5d101b259 --- /dev/null +++ b/dir_398406baf6d7c3e11cd5f7be25d09d6d_dep.md5 @@ -0,0 +1 @@ +7de9770b861aa7aa6778b853fa50a25d \ No newline at end of file diff --git a/dir_398406baf6d7c3e11cd5f7be25d09d6d_dep.svg b/dir_398406baf6d7c3e11cd5f7be25d09d6d_dep.svg new file mode 100644 index 000000000..4d4481640 --- /dev/null +++ b/dir_398406baf6d7c3e11cd5f7be25d09d6d_dep.svg @@ -0,0 +1,51 @@ + + + + + + +src + +clusterdir_5def0a8c33681ccffd5a1a329ca9c6c2 + + +lspserver + + + + + +dir_338dd3c7b4c4659d51339d29f870875c + + +include + + + + + +dir_398406baf6d7c3e11cd5f7be25d09d6d + + +src + + + + + +dir_398406baf6d7c3e11cd5f7be25d09d6d->dir_338dd3c7b4c4659d51339d29f870875c + + + + + + +16 + + + + + diff --git a/dir_3b3bb5973b23a394522075bcda2e76c3.html b/dir_3b3bb5973b23a394522075bcda2e76c3.html new file mode 100644 index 000000000..7edd440e2 --- /dev/null +++ b/dir_3b3bb5973b23a394522075bcda2e76c3.html @@ -0,0 +1,102 @@ + + + + + + + +nixd: nixf Directory Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
nixf Directory Reference
+
+
+
+Directory dependency graph for nixf:
+
+
+
+ + + + + + + + +

+Directories

 Basic
 
 Parse
 
 Sema
 
+
+ + + + diff --git a/dir_3b3bb5973b23a394522075bcda2e76c3_dep.map b/dir_3b3bb5973b23a394522075bcda2e76c3_dep.map new file mode 100644 index 000000000..357f9e84e --- /dev/null +++ b/dir_3b3bb5973b23a394522075bcda2e76c3_dep.map @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/dir_3b3bb5973b23a394522075bcda2e76c3_dep.md5 b/dir_3b3bb5973b23a394522075bcda2e76c3_dep.md5 new file mode 100644 index 000000000..19c9437a6 --- /dev/null +++ b/dir_3b3bb5973b23a394522075bcda2e76c3_dep.md5 @@ -0,0 +1 @@ +5c09e233771d27ddd29940d9a1b6d677 \ No newline at end of file diff --git a/dir_3b3bb5973b23a394522075bcda2e76c3_dep.svg b/dir_3b3bb5973b23a394522075bcda2e76c3_dep.svg new file mode 100644 index 000000000..02f85b551 --- /dev/null +++ b/dir_3b3bb5973b23a394522075bcda2e76c3_dep.svg @@ -0,0 +1,72 @@ + + + + + + +nixf + +clusterdir_2ea7252d21588581e550b8cc37b5f8d9 + + +include + + + + +clusterdir_3b3bb5973b23a394522075bcda2e76c3 + + + + + + + +dir_3b3bb5973b23a394522075bcda2e76c3 +nixf + + + +dir_2449f2b6f5e00bc97ce2a2d4b7e7d3f4 + + +Basic + + + + + +dir_32f167dda2f41d40ac9e24aee0c779a4 + + +Parse + + + + + +dir_7b6db9abfae4478ed416ef77953b66b0 + + +Sema + + + + + +dir_7b6db9abfae4478ed416ef77953b66b0->dir_2449f2b6f5e00bc97ce2a2d4b7e7d3f4 + + + + + + +12 + + + + + diff --git a/dir_4116e555bb27d140ae95b1be9a93ad9a.html b/dir_4116e555bb27d140ae95b1be9a93ad9a.html new file mode 100644 index 000000000..d7439fa9b --- /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

 Displacement.cpp
 
 Flake.cpp
 
 HookExpr.cpp
 
 Kinds.cpp
 
 ParentMap.cpp
 
 Value.cpp
 
+
+ + + + diff --git a/dir_4116e555bb27d140ae95b1be9a93ad9a_dep.map b/dir_4116e555bb27d140ae95b1be9a93ad9a_dep.map new file mode 100644 index 000000000..5e75a2088 --- /dev/null +++ b/dir_4116e555bb27d140ae95b1be9a93ad9a_dep.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/dir_4116e555bb27d140ae95b1be9a93ad9a_dep.md5 b/dir_4116e555bb27d140ae95b1be9a93ad9a_dep.md5 new file mode 100644 index 000000000..c43f13c06 --- /dev/null +++ b/dir_4116e555bb27d140ae95b1be9a93ad9a_dep.md5 @@ -0,0 +1 @@ +39335261f058f0426b9299dc66f9b313 \ No newline at end of file diff --git a/dir_4116e555bb27d140ae95b1be9a93ad9a_dep.svg b/dir_4116e555bb27d140ae95b1be9a93ad9a_dep.svg new file mode 100644 index 000000000..ac9ae7fd7 --- /dev/null +++ b/dir_4116e555bb27d140ae95b1be9a93ad9a_dep.svg @@ -0,0 +1,51 @@ + + + + + + +lib + +clusterdir_c40eb6f7b133789742bdf3cebb28ba81 + + +libnixt + + + + + +dir_b4b9fd25dbc0c6a28797e91ec2fee054 + + +include + + + + + +dir_4116e555bb27d140ae95b1be9a93ad9a + + +lib + + + + + +dir_4116e555bb27d140ae95b1be9a93ad9a->dir_b4b9fd25dbc0c6a28797e91ec2fee054 + + + + + + +8 + + + + + diff --git a/dir_43dccb67c075cdf61156590789c0ba7d.html b/dir_43dccb67c075cdf61156590789c0ba7d.html new file mode 100644 index 000000000..c679e4462 --- /dev/null +++ b/dir_43dccb67c075cdf61156590789c0ba7d.html @@ -0,0 +1,100 @@ + + + + + + + +nixd: tools Directory Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
tools Directory Reference
+
+
+
+Directory dependency graph for tools:
+
+
+
+ + + + + + +

+Files

 nixd-attrset-eval.cpp
 
 nixd.cpp
 
+
+ + + + diff --git a/dir_43dccb67c075cdf61156590789c0ba7d_dep.map b/dir_43dccb67c075cdf61156590789c0ba7d_dep.map new file mode 100644 index 000000000..f2f693381 --- /dev/null +++ b/dir_43dccb67c075cdf61156590789c0ba7d_dep.map @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/dir_43dccb67c075cdf61156590789c0ba7d_dep.md5 b/dir_43dccb67c075cdf61156590789c0ba7d_dep.md5 new file mode 100644 index 000000000..b57d4d050 --- /dev/null +++ b/dir_43dccb67c075cdf61156590789c0ba7d_dep.md5 @@ -0,0 +1 @@ +03d6e4dac87c6f4109ef5a67397db256 \ No newline at end of file diff --git a/dir_43dccb67c075cdf61156590789c0ba7d_dep.svg b/dir_43dccb67c075cdf61156590789c0ba7d_dep.svg new file mode 100644 index 000000000..b900f7f21 --- /dev/null +++ b/dir_43dccb67c075cdf61156590789c0ba7d_dep.svg @@ -0,0 +1,95 @@ + + + + + + +tools + +clusterdir_271d3aa807e54726686810b489123a0c + + +nixd + + + + + +dir_5def0a8c33681ccffd5a1a329ca9c6c2 + + +lspserver + + + + + +dir_6072663c54edb131dd9eabf55cf77072 + + +include + + + + + +dir_43dccb67c075cdf61156590789c0ba7d + + +tools + + + + + +dir_43dccb67c075cdf61156590789c0ba7d->dir_5def0a8c33681ccffd5a1a329ca9c6c2 + + + + + + +3 + + + + + +dir_43dccb67c075cdf61156590789c0ba7d->dir_6072663c54edb131dd9eabf55cf77072 + + + + + + +4 + + + + + +dir_c40eb6f7b133789742bdf3cebb28ba81 + + +libnixt + + + + + +dir_43dccb67c075cdf61156590789c0ba7d->dir_c40eb6f7b133789742bdf3cebb28ba81 + + + + + + +1 + + + + + diff --git a/dir_464f141540dd1f7c0b8c2d5e8b32798f.html b/dir_464f141540dd1f7c0b8c2d5e8b32798f.html new file mode 100644 index 000000000..61d40a8b4 --- /dev/null +++ b/dir_464f141540dd1f7c0b8c2d5e8b32798f.html @@ -0,0 +1,102 @@ + + + + + + + +nixd: src Directory Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
src Directory Reference
+
+
+
+Directory dependency graph for src:
+
+
+
+ + + + + + + + +

+Directories

 Basic
 
 Parse
 
 Sema
 
+
+ + + + diff --git a/dir_464f141540dd1f7c0b8c2d5e8b32798f_dep.map b/dir_464f141540dd1f7c0b8c2d5e8b32798f_dep.map new file mode 100644 index 000000000..b73097cbd --- /dev/null +++ b/dir_464f141540dd1f7c0b8c2d5e8b32798f_dep.map @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/dir_464f141540dd1f7c0b8c2d5e8b32798f_dep.md5 b/dir_464f141540dd1f7c0b8c2d5e8b32798f_dep.md5 new file mode 100644 index 000000000..ffb5ead4a --- /dev/null +++ b/dir_464f141540dd1f7c0b8c2d5e8b32798f_dep.md5 @@ -0,0 +1 @@ +401f5b4de5d7747973e412c56e64e951 \ No newline at end of file diff --git a/dir_464f141540dd1f7c0b8c2d5e8b32798f_dep.svg b/dir_464f141540dd1f7c0b8c2d5e8b32798f_dep.svg new file mode 100644 index 000000000..85b7a889a --- /dev/null +++ b/dir_464f141540dd1f7c0b8c2d5e8b32798f_dep.svg @@ -0,0 +1,107 @@ + + + + + + +src + +clusterdir_9ff0e04ed484c0229c3bd8fc4cfe4cb8 + + +libnixf + + + + +clusterdir_464f141540dd1f7c0b8c2d5e8b32798f + + + + + + + +dir_2ea7252d21588581e550b8cc37b5f8d9 + + +include + + + + + +dir_464f141540dd1f7c0b8c2d5e8b32798f +src + + + +dir_baff22c637407b0f380d92646d04d3e0 + + +Basic + + + + + +dir_baff22c637407b0f380d92646d04d3e0->dir_2ea7252d21588581e550b8cc37b5f8d9 + + + + + + +7 + + + + + +dir_0f13faf2cde331c4efb20e51fbf7d022 + + +Parse + + + + + +dir_0f13faf2cde331c4efb20e51fbf7d022->dir_2ea7252d21588581e550b8cc37b5f8d9 + + + + + + +21 + + + + + +dir_210b2339cd755ef887faaab3c00d1334 + + +Sema + + + + + +dir_210b2339cd755ef887faaab3c00d1334->dir_2ea7252d21588581e550b8cc37b5f8d9 + + + + + + +9 + + + + + diff --git a/dir_5d9174fd82c34d170442a81ddb0d3867.html b/dir_5d9174fd82c34d170442a81ddb0d3867.html new file mode 100644 index 000000000..2e3d156b6 --- /dev/null +++ b/dir_5d9174fd82c34d170442a81ddb0d3867.html @@ -0,0 +1,105 @@ + + + + + + + +nixd: Eval Directory Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Eval Directory Reference
+
+
+
+Directory dependency graph for Eval:
+
+
+
+ + + + + + + + + + + +

+Files

 AttrSetClient.h
 
 AttrSetProvider.h
 Dedicated worker for evaluating attrset.
 
 EvalProvider.h
 
 Launch.h
 
+
+ + + + diff --git a/dir_5d9174fd82c34d170442a81ddb0d3867_dep.map b/dir_5d9174fd82c34d170442a81ddb0d3867_dep.map new file mode 100644 index 000000000..b0403b806 --- /dev/null +++ b/dir_5d9174fd82c34d170442a81ddb0d3867_dep.map @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + diff --git a/dir_5d9174fd82c34d170442a81ddb0d3867_dep.md5 b/dir_5d9174fd82c34d170442a81ddb0d3867_dep.md5 new file mode 100644 index 000000000..ca4f15539 --- /dev/null +++ b/dir_5d9174fd82c34d170442a81ddb0d3867_dep.md5 @@ -0,0 +1 @@ +7b07ccd77deccc1eb97332d48a42433c \ No newline at end of file diff --git a/dir_5d9174fd82c34d170442a81ddb0d3867_dep.svg b/dir_5d9174fd82c34d170442a81ddb0d3867_dep.svg new file mode 100644 index 000000000..4e4c21b78 --- /dev/null +++ b/dir_5d9174fd82c34d170442a81ddb0d3867_dep.svg @@ -0,0 +1,117 @@ + + + + + + +Eval + +clusterdir_78474edbfdb26b7810ef0ed54a6ffeb0 + + +nixd + + + + + +dir_0a80291a1162a19961e2bbfd790094c7 + + +Support + + + + + +dir_fae1b722d580b1d4896c7d9500c560d0 + + +Protocol + + + + + +dir_5d9174fd82c34d170442a81ddb0d3867 + + +Eval + + + + + +dir_5d9174fd82c34d170442a81ddb0d3867->dir_0a80291a1162a19961e2bbfd790094c7 + + + + + + +1 + + + + + +dir_5d9174fd82c34d170442a81ddb0d3867->dir_fae1b722d580b1d4896c7d9500c560d0 + + + + + + +3 + + + + + +dir_5def0a8c33681ccffd5a1a329ca9c6c2 + + +lspserver + + + + + +dir_5d9174fd82c34d170442a81ddb0d3867->dir_5def0a8c33681ccffd5a1a329ca9c6c2 + + + + + + +4 + + + + + +dir_c40eb6f7b133789742bdf3cebb28ba81 + + +libnixt + + + + + +dir_5d9174fd82c34d170442a81ddb0d3867->dir_c40eb6f7b133789742bdf3cebb28ba81 + + + + + + +2 + + + + + diff --git a/dir_5def0a8c33681ccffd5a1a329ca9c6c2.html b/dir_5def0a8c33681ccffd5a1a329ca9c6c2.html new file mode 100644 index 000000000..e5d9883ac --- /dev/null +++ b/dir_5def0a8c33681ccffd5a1a329ca9c6c2.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_5def0a8c33681ccffd5a1a329ca9c6c2_dep.map b/dir_5def0a8c33681ccffd5a1a329ca9c6c2_dep.map new file mode 100644 index 000000000..680917d53 --- /dev/null +++ b/dir_5def0a8c33681ccffd5a1a329ca9c6c2_dep.map @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/dir_5def0a8c33681ccffd5a1a329ca9c6c2_dep.md5 b/dir_5def0a8c33681ccffd5a1a329ca9c6c2_dep.md5 new file mode 100644 index 000000000..472973cfb --- /dev/null +++ b/dir_5def0a8c33681ccffd5a1a329ca9c6c2_dep.md5 @@ -0,0 +1 @@ +1d86a5b70daddee65078d2a9d073599a \ No newline at end of file diff --git a/dir_5def0a8c33681ccffd5a1a329ca9c6c2_dep.svg b/dir_5def0a8c33681ccffd5a1a329ca9c6c2_dep.svg new file mode 100644 index 000000000..85a043492 --- /dev/null +++ b/dir_5def0a8c33681ccffd5a1a329ca9c6c2_dep.svg @@ -0,0 +1,63 @@ + + + + + + +lspserver + +clusterdir_271d3aa807e54726686810b489123a0c + + +nixd + + + + +clusterdir_5def0a8c33681ccffd5a1a329ca9c6c2 + + + + + + + +dir_5def0a8c33681ccffd5a1a329ca9c6c2 +lspserver + + + +dir_338dd3c7b4c4659d51339d29f870875c + + +include + + + + + +dir_398406baf6d7c3e11cd5f7be25d09d6d + + +src + + + + + +dir_398406baf6d7c3e11cd5f7be25d09d6d->dir_338dd3c7b4c4659d51339d29f870875c + + + + + + +16 + + + + + 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..37104071e --- /dev/null +++ b/dir_6008d110f60d9bcc4c39f0eae5b860bc_dep.svg @@ -0,0 +1,29 @@ + + + + + + +editors + +clusterdir_fbf4781f84a2dfdac7fb8e01b68aa402 + + +docs + + + + + +dir_6008d110f60d9bcc4c39f0eae5b860bc + + +editors + + + + + diff --git a/dir_6072663c54edb131dd9eabf55cf77072.html b/dir_6072663c54edb131dd9eabf55cf77072.html new file mode 100644 index 000000000..e7954e4d6 --- /dev/null +++ b/dir_6072663c54edb131dd9eabf55cf77072.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_6072663c54edb131dd9eabf55cf77072_dep.map b/dir_6072663c54edb131dd9eabf55cf77072_dep.map new file mode 100644 index 000000000..7b687bfdd --- /dev/null +++ b/dir_6072663c54edb131dd9eabf55cf77072_dep.map @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/dir_6072663c54edb131dd9eabf55cf77072_dep.md5 b/dir_6072663c54edb131dd9eabf55cf77072_dep.md5 new file mode 100644 index 000000000..68f2fa20e --- /dev/null +++ b/dir_6072663c54edb131dd9eabf55cf77072_dep.md5 @@ -0,0 +1 @@ +b65231f335d3b427dee7a690bfccd1da \ No newline at end of file diff --git a/dir_6072663c54edb131dd9eabf55cf77072_dep.svg b/dir_6072663c54edb131dd9eabf55cf77072_dep.svg new file mode 100644 index 000000000..df4f21a41 --- /dev/null +++ b/dir_6072663c54edb131dd9eabf55cf77072_dep.svg @@ -0,0 +1,107 @@ + + + + + + +include + +clusterdir_271d3aa807e54726686810b489123a0c + + +nixd + + + + +clusterdir_6072663c54edb131dd9eabf55cf77072 + + + + + + + +dir_5def0a8c33681ccffd5a1a329ca9c6c2 + + +lspserver + + + + + +dir_6072663c54edb131dd9eabf55cf77072 +include + + + +dir_78474edbfdb26b7810ef0ed54a6ffeb0 + + +nixd + + + + + +dir_78474edbfdb26b7810ef0ed54a6ffeb0->dir_5def0a8c33681ccffd5a1a329ca9c6c2 + + + + + + +10 + + + + + +dir_9ff0e04ed484c0229c3bd8fc4cfe4cb8 + + +libnixf + + + + + +dir_78474edbfdb26b7810ef0ed54a6ffeb0->dir_9ff0e04ed484c0229c3bd8fc4cfe4cb8 + + + + + + +5 + + + + + +dir_c40eb6f7b133789742bdf3cebb28ba81 + + +libnixt + + + + + +dir_78474edbfdb26b7810ef0ed54a6ffeb0->dir_c40eb6f7b133789742bdf3cebb28ba81 + + + + + + +2 + + + + + diff --git a/dir_7690759852530585c31e8e562ca9f92d.html b/dir_7690759852530585c31e8e562ca9f92d.html new file mode 100644 index 000000000..c0b03788c --- /dev/null +++ b/dir_7690759852530585c31e8e562ca9f92d.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_7690759852530585c31e8e562ca9f92d_dep.map b/dir_7690759852530585c31e8e562ca9f92d_dep.map new file mode 100644 index 000000000..1b5a8ca90 --- /dev/null +++ b/dir_7690759852530585c31e8e562ca9f92d_dep.map @@ -0,0 +1,4 @@ + + + + diff --git a/dir_7690759852530585c31e8e562ca9f92d_dep.md5 b/dir_7690759852530585c31e8e562ca9f92d_dep.md5 new file mode 100644 index 000000000..9e91c81b0 --- /dev/null +++ b/dir_7690759852530585c31e8e562ca9f92d_dep.md5 @@ -0,0 +1 @@ +dc7e022c2e51126a5a54a6b2b4d39c2a \ No newline at end of file diff --git a/dir_7690759852530585c31e8e562ca9f92d_dep.svg b/dir_7690759852530585c31e8e562ca9f92d_dep.svg new file mode 100644 index 000000000..0e92f4478 --- /dev/null +++ b/dir_7690759852530585c31e8e562ca9f92d_dep.svg @@ -0,0 +1,29 @@ + + + + + + +lspserver + +clusterdir_338dd3c7b4c4659d51339d29f870875c + + +include + + + + + +dir_7690759852530585c31e8e562ca9f92d + + +lspserver + + + + + diff --git a/dir_78474edbfdb26b7810ef0ed54a6ffeb0.html b/dir_78474edbfdb26b7810ef0ed54a6ffeb0.html new file mode 100644 index 000000000..b8bbb140f --- /dev/null +++ b/dir_78474edbfdb26b7810ef0ed54a6ffeb0.html @@ -0,0 +1,106 @@ + + + + + + + +nixd: nixd Directory Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
nixd Directory Reference
+
+
+
+Directory dependency graph for nixd:
+
+
+
+ + + + + + + + + + + + +

+Directories

 CommandLine
 
 Controller
 
 Eval
 
 Protocol
 
 Support
 
+
+ + + + diff --git a/dir_78474edbfdb26b7810ef0ed54a6ffeb0_dep.map b/dir_78474edbfdb26b7810ef0ed54a6ffeb0_dep.map new file mode 100644 index 000000000..67354218f --- /dev/null +++ b/dir_78474edbfdb26b7810ef0ed54a6ffeb0_dep.map @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/dir_78474edbfdb26b7810ef0ed54a6ffeb0_dep.md5 b/dir_78474edbfdb26b7810ef0ed54a6ffeb0_dep.md5 new file mode 100644 index 000000000..a5483d2a4 --- /dev/null +++ b/dir_78474edbfdb26b7810ef0ed54a6ffeb0_dep.md5 @@ -0,0 +1 @@ +e65569eea58a7b016c6d0288aae5ea18 \ No newline at end of file diff --git a/dir_78474edbfdb26b7810ef0ed54a6ffeb0_dep.svg b/dir_78474edbfdb26b7810ef0ed54a6ffeb0_dep.svg new file mode 100644 index 000000000..61c884836 --- /dev/null +++ b/dir_78474edbfdb26b7810ef0ed54a6ffeb0_dep.svg @@ -0,0 +1,260 @@ + + + + + + +nixd + +clusterdir_6072663c54edb131dd9eabf55cf77072 + + +include + + + + +clusterdir_78474edbfdb26b7810ef0ed54a6ffeb0 + + + + + + + +dir_78474edbfdb26b7810ef0ed54a6ffeb0 +nixd + + + +dir_0842f02ee6fc0ecc9c7973a56a3aa437 + + +CommandLine + + + + + +dir_1b739488bd9a560c1a1a4ec4ac74c381 + + +Controller + + + + + +dir_0842f02ee6fc0ecc9c7973a56a3aa437->dir_1b739488bd9a560c1a1a4ec4ac74c381 + + + + + + +1 + + + + + +dir_5d9174fd82c34d170442a81ddb0d3867 + + +Eval + + + + + +dir_1b739488bd9a560c1a1a4ec4ac74c381->dir_5d9174fd82c34d170442a81ddb0d3867 + + + + + + +1 + + + + + +dir_fae1b722d580b1d4896c7d9500c560d0 + + +Protocol + + + + + +dir_1b739488bd9a560c1a1a4ec4ac74c381->dir_fae1b722d580b1d4896c7d9500c560d0 + + + + + + +1 + + + + + +dir_0a80291a1162a19961e2bbfd790094c7 + + +Support + + + + + +dir_1b739488bd9a560c1a1a4ec4ac74c381->dir_0a80291a1162a19961e2bbfd790094c7 + + + + + + +2 + + + + + +dir_5def0a8c33681ccffd5a1a329ca9c6c2 + + +lspserver + + + + + +dir_1b739488bd9a560c1a1a4ec4ac74c381->dir_5def0a8c33681ccffd5a1a329ca9c6c2 + + + + + + +4 + + + + + +dir_9ff0e04ed484c0229c3bd8fc4cfe4cb8 + + +libnixf + + + + + +dir_1b739488bd9a560c1a1a4ec4ac74c381->dir_9ff0e04ed484c0229c3bd8fc4cfe4cb8 + + + + + + +5 + + + + + +dir_5d9174fd82c34d170442a81ddb0d3867->dir_fae1b722d580b1d4896c7d9500c560d0 + + + + + + +3 + + + + + +dir_5d9174fd82c34d170442a81ddb0d3867->dir_0a80291a1162a19961e2bbfd790094c7 + + + + + + +1 + + + + + +dir_5d9174fd82c34d170442a81ddb0d3867->dir_5def0a8c33681ccffd5a1a329ca9c6c2 + + + + + + +4 + + + + + +dir_c40eb6f7b133789742bdf3cebb28ba81 + + +libnixt + + + + + +dir_5d9174fd82c34d170442a81ddb0d3867->dir_c40eb6f7b133789742bdf3cebb28ba81 + + + + + + +2 + + + + + +dir_fae1b722d580b1d4896c7d9500c560d0->dir_5def0a8c33681ccffd5a1a329ca9c6c2 + + + + + + +1 + + + + + +dir_0a80291a1162a19961e2bbfd790094c7->dir_5def0a8c33681ccffd5a1a329ca9c6c2 + + + + + + +1 + + + + + diff --git a/dir_7b6db9abfae4478ed416ef77953b66b0.html b/dir_7b6db9abfae4478ed416ef77953b66b0.html new file mode 100644 index 000000000..cc484656c --- /dev/null +++ b/dir_7b6db9abfae4478ed416ef77953b66b0.html @@ -0,0 +1,105 @@ + + + + + + + +nixd: Sema Directory Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Sema Directory Reference
+
+
+
+Directory dependency graph for Sema:
+
+
+
+ + + + + + + + + + + +

+Files

 ParentMap.h
 ParentMap analysis.
 
 SemaActions.h
 Semantic Actions while building the AST.
 
 VariableLookup.h
 Lookup variable names, from it's parent scope.
 
+
+ + + + diff --git a/dir_7b6db9abfae4478ed416ef77953b66b0_dep.map b/dir_7b6db9abfae4478ed416ef77953b66b0_dep.map new file mode 100644 index 000000000..b54e844c2 --- /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..6edf5895b --- /dev/null +++ b/dir_7b6db9abfae4478ed416ef77953b66b0_dep.md5 @@ -0,0 +1 @@ +3545988a66f1ba4a8a5590679fb75153 \ No newline at end of file diff --git a/dir_7b6db9abfae4478ed416ef77953b66b0_dep.svg b/dir_7b6db9abfae4478ed416ef77953b66b0_dep.svg new file mode 100644 index 000000000..503e87ade --- /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 + + + + + + +12 + + + + + diff --git a/dir_8710806578cad174ffcb5e19312c912a.html b/dir_8710806578cad174ffcb5e19312c912a.html new file mode 100644 index 000000000..295e74251 --- /dev/null +++ b/dir_8710806578cad174ffcb5e19312c912a.html @@ -0,0 +1,106 @@ + + + + + + + +nixd: lib Directory Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
lib Directory Reference
+
+
+
+Directory dependency graph for lib:
+
+
+
+ + + + + + + + + + + + +

+Directories

 CommandLine
 
 Controller
 
 Eval
 
 Protocol
 
 Support
 
+
+ + + + diff --git a/dir_8710806578cad174ffcb5e19312c912a_dep.map b/dir_8710806578cad174ffcb5e19312c912a_dep.map new file mode 100644 index 000000000..1f8cc1ca3 --- /dev/null +++ b/dir_8710806578cad174ffcb5e19312c912a_dep.map @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/dir_8710806578cad174ffcb5e19312c912a_dep.md5 b/dir_8710806578cad174ffcb5e19312c912a_dep.md5 new file mode 100644 index 000000000..3fd8c6548 --- /dev/null +++ b/dir_8710806578cad174ffcb5e19312c912a_dep.md5 @@ -0,0 +1 @@ +9158f881d7765a6d502803f543eb16c0 \ No newline at end of file diff --git a/dir_8710806578cad174ffcb5e19312c912a_dep.svg b/dir_8710806578cad174ffcb5e19312c912a_dep.svg new file mode 100644 index 000000000..6dc880291 --- /dev/null +++ b/dir_8710806578cad174ffcb5e19312c912a_dep.svg @@ -0,0 +1,243 @@ + + + + + + +lib + +clusterdir_271d3aa807e54726686810b489123a0c + + +nixd + + + + +clusterdir_8710806578cad174ffcb5e19312c912a + + + + + + + +dir_5def0a8c33681ccffd5a1a329ca9c6c2 + + +lspserver + + + + + +dir_6072663c54edb131dd9eabf55cf77072 + + +include + + + + + +dir_8710806578cad174ffcb5e19312c912a +lib + + + +dir_ace1bc4bdf9378a7354e2dacfa3269ed + + +CommandLine + + + + + +dir_ace1bc4bdf9378a7354e2dacfa3269ed->dir_5def0a8c33681ccffd5a1a329ca9c6c2 + + + + + + +1 + + + + + +dir_ace1bc4bdf9378a7354e2dacfa3269ed->dir_6072663c54edb131dd9eabf55cf77072 + + + + + + +5 + + + + + +dir_2dfd61e782002e6a63843e36bf78a91c + + +Controller + + + + + +dir_2dfd61e782002e6a63843e36bf78a91c->dir_5def0a8c33681ccffd5a1a329ca9c6c2 + + + + + + +11 + + + + + +dir_2dfd61e782002e6a63843e36bf78a91c->dir_6072663c54edb131dd9eabf55cf77072 + + + + + + +30 + + + + + +dir_9ff0e04ed484c0229c3bd8fc4cfe4cb8 + + +libnixf + + + + + +dir_2dfd61e782002e6a63843e36bf78a91c->dir_9ff0e04ed484c0229c3bd8fc4cfe4cb8 + + + + + + +30 + + + + + +dir_272f3262a55b8c6cb4d459b3d2979355 + + +Eval + + + + + +dir_272f3262a55b8c6cb4d459b3d2979355->dir_5def0a8c33681ccffd5a1a329ca9c6c2 + + + + + + +1 + + + + + +dir_272f3262a55b8c6cb4d459b3d2979355->dir_6072663c54edb131dd9eabf55cf77072 + + + + + + +5 + + + + + +dir_c40eb6f7b133789742bdf3cebb28ba81 + + +libnixt + + + + + +dir_272f3262a55b8c6cb4d459b3d2979355->dir_c40eb6f7b133789742bdf3cebb28ba81 + + + + + + +1 + + + + + +dir_c7c53a0769b4ad4e9ba220fbe05bc880 + + +Protocol + + + + + +dir_c7c53a0769b4ad4e9ba220fbe05bc880->dir_6072663c54edb131dd9eabf55cf77072 + + + + + + +2 + + + + + +dir_978717066d8678c437a210f61244a087 + + +Support + + + + + +dir_978717066d8678c437a210f61244a087->dir_6072663c54edb131dd9eabf55cf77072 + + + + + + +6 + + + + + diff --git a/dir_978717066d8678c437a210f61244a087.html b/dir_978717066d8678c437a210f61244a087.html new file mode 100644 index 000000000..b7a8b0bf2 --- /dev/null +++ b/dir_978717066d8678c437a210f61244a087.html @@ -0,0 +1,106 @@ + + + + + + + +nixd: Support Directory Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Support Directory Reference
+
+
+
+Directory dependency graph for Support:
+
+
+
+ + + + + + + + + + + + +

+Files

 AutoCloseFD.cpp
 
 AutoRemoveShm.cpp
 
 ForkPiped.cpp
 
 JSON.cpp
 
 StreamProc.cpp
 
+
+ + + + diff --git a/dir_978717066d8678c437a210f61244a087_dep.map b/dir_978717066d8678c437a210f61244a087_dep.map new file mode 100644 index 000000000..dd8664ce2 --- /dev/null +++ b/dir_978717066d8678c437a210f61244a087_dep.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/dir_978717066d8678c437a210f61244a087_dep.md5 b/dir_978717066d8678c437a210f61244a087_dep.md5 new file mode 100644 index 000000000..7084210ad --- /dev/null +++ b/dir_978717066d8678c437a210f61244a087_dep.md5 @@ -0,0 +1 @@ +da1733716827dbe1cd6e756912e82fd7 \ No newline at end of file diff --git a/dir_978717066d8678c437a210f61244a087_dep.svg b/dir_978717066d8678c437a210f61244a087_dep.svg new file mode 100644 index 000000000..056f6ab90 --- /dev/null +++ b/dir_978717066d8678c437a210f61244a087_dep.svg @@ -0,0 +1,51 @@ + + + + + + +Support + +clusterdir_8710806578cad174ffcb5e19312c912a + + +lib + + + + + +dir_978717066d8678c437a210f61244a087 + + +Support + + + + + +dir_6072663c54edb131dd9eabf55cf77072 + + +include + + + + + +dir_978717066d8678c437a210f61244a087->dir_6072663c54edb131dd9eabf55cf77072 + + + + + + +6 + + + + + diff --git a/dir_9e27054b909c25724b28a0b7e56ac908.html b/dir_9e27054b909c25724b28a0b7e56ac908.html new file mode 100644 index 000000000..939761a05 --- /dev/null +++ b/dir_9e27054b909c25724b28a0b7e56ac908.html @@ -0,0 +1,99 @@ + + + + + + + +nixd: tools Directory Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
tools Directory Reference
+
+
+
+Directory dependency graph for tools:
+
+
+
+ + + + + +

+Files

 nixf-tidy.cpp
 nixf-tidy, provide linting based on libnixf.
 
+
+ + + + diff --git a/dir_9e27054b909c25724b28a0b7e56ac908_dep.map b/dir_9e27054b909c25724b28a0b7e56ac908_dep.map new file mode 100644 index 000000000..f4f70bd34 --- /dev/null +++ b/dir_9e27054b909c25724b28a0b7e56ac908_dep.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/dir_9e27054b909c25724b28a0b7e56ac908_dep.md5 b/dir_9e27054b909c25724b28a0b7e56ac908_dep.md5 new file mode 100644 index 000000000..76eadbedc --- /dev/null +++ b/dir_9e27054b909c25724b28a0b7e56ac908_dep.md5 @@ -0,0 +1 @@ +85f10de1dc78e157eb23fd818bfc0ee1 \ No newline at end of file diff --git a/dir_9e27054b909c25724b28a0b7e56ac908_dep.svg b/dir_9e27054b909c25724b28a0b7e56ac908_dep.svg new file mode 100644 index 000000000..9d6959755 --- /dev/null +++ b/dir_9e27054b909c25724b28a0b7e56ac908_dep.svg @@ -0,0 +1,51 @@ + + + + + + +tools + +clusterdir_9ff0e04ed484c0229c3bd8fc4cfe4cb8 + + +libnixf + + + + + +dir_2ea7252d21588581e550b8cc37b5f8d9 + + +include + + + + + +dir_9e27054b909c25724b28a0b7e56ac908 + + +tools + + + + + +dir_9e27054b909c25724b28a0b7e56ac908->dir_2ea7252d21588581e550b8cc37b5f8d9 + + + + + + +4 + + + + + diff --git a/dir_9ff0e04ed484c0229c3bd8fc4cfe4cb8.html b/dir_9ff0e04ed484c0229c3bd8fc4cfe4cb8.html new file mode 100644 index 000000000..b7caa9e3d --- /dev/null +++ b/dir_9ff0e04ed484c0229c3bd8fc4cfe4cb8.html @@ -0,0 +1,102 @@ + + + + + + + +nixd: libnixf Directory Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
libnixf Directory Reference
+
+
+
+Directory dependency graph for libnixf:
+
+
+
+ + + + + + + + +

+Directories

 include
 
 src
 
 tools
 
+
+ + + + diff --git a/dir_9ff0e04ed484c0229c3bd8fc4cfe4cb8_dep.map b/dir_9ff0e04ed484c0229c3bd8fc4cfe4cb8_dep.map new file mode 100644 index 000000000..6219a7667 --- /dev/null +++ b/dir_9ff0e04ed484c0229c3bd8fc4cfe4cb8_dep.map @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/dir_9ff0e04ed484c0229c3bd8fc4cfe4cb8_dep.md5 b/dir_9ff0e04ed484c0229c3bd8fc4cfe4cb8_dep.md5 new file mode 100644 index 000000000..420c1bbe0 --- /dev/null +++ b/dir_9ff0e04ed484c0229c3bd8fc4cfe4cb8_dep.md5 @@ -0,0 +1 @@ +b48d3ea05852cc800257f1dffab31208 \ No newline at end of file diff --git a/dir_9ff0e04ed484c0229c3bd8fc4cfe4cb8_dep.svg b/dir_9ff0e04ed484c0229c3bd8fc4cfe4cb8_dep.svg new file mode 100644 index 000000000..9ab3f1690 --- /dev/null +++ b/dir_9ff0e04ed484c0229c3bd8fc4cfe4cb8_dep.svg @@ -0,0 +1,77 @@ + + + + + + +libnixf + +clusterdir_9ff0e04ed484c0229c3bd8fc4cfe4cb8 + + + + + + + +dir_9ff0e04ed484c0229c3bd8fc4cfe4cb8 +libnixf + + + +dir_2ea7252d21588581e550b8cc37b5f8d9 + + +include + + + + + +dir_464f141540dd1f7c0b8c2d5e8b32798f + + +src + + + + + +dir_464f141540dd1f7c0b8c2d5e8b32798f->dir_2ea7252d21588581e550b8cc37b5f8d9 + + + + + + +37 + + + + + +dir_9e27054b909c25724b28a0b7e56ac908 + + +tools + + + + + +dir_9e27054b909c25724b28a0b7e56ac908->dir_2ea7252d21588581e550b8cc37b5f8d9 + + + + + + +4 + + + + + diff --git a/dir_ace1bc4bdf9378a7354e2dacfa3269ed.html b/dir_ace1bc4bdf9378a7354e2dacfa3269ed.html new file mode 100644 index 000000000..46c0691dc --- /dev/null +++ b/dir_ace1bc4bdf9378a7354e2dacfa3269ed.html @@ -0,0 +1,101 @@ + + + + + + + +nixd: CommandLine Directory Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
CommandLine Directory Reference
+
+
+
+Directory dependency graph for CommandLine:
+
+
+
+ + + + + + + +

+Files

 Configuration.cpp
 This file implements CLI initialized configuration.
 
 Options.cpp
 
+
+ + + + diff --git a/dir_ace1bc4bdf9378a7354e2dacfa3269ed_dep.map b/dir_ace1bc4bdf9378a7354e2dacfa3269ed_dep.map new file mode 100644 index 000000000..4472ad4be --- /dev/null +++ b/dir_ace1bc4bdf9378a7354e2dacfa3269ed_dep.map @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/dir_ace1bc4bdf9378a7354e2dacfa3269ed_dep.md5 b/dir_ace1bc4bdf9378a7354e2dacfa3269ed_dep.md5 new file mode 100644 index 000000000..ef738cf7e --- /dev/null +++ b/dir_ace1bc4bdf9378a7354e2dacfa3269ed_dep.md5 @@ -0,0 +1 @@ +cc6140c5f81b034b458a70c261804b6f \ No newline at end of file diff --git a/dir_ace1bc4bdf9378a7354e2dacfa3269ed_dep.svg b/dir_ace1bc4bdf9378a7354e2dacfa3269ed_dep.svg new file mode 100644 index 000000000..7f289a97e --- /dev/null +++ b/dir_ace1bc4bdf9378a7354e2dacfa3269ed_dep.svg @@ -0,0 +1,73 @@ + + + + + + +CommandLine + +clusterdir_8710806578cad174ffcb5e19312c912a + + +lib + + + + + +dir_ace1bc4bdf9378a7354e2dacfa3269ed + + +CommandLine + + + + + +dir_5def0a8c33681ccffd5a1a329ca9c6c2 + + +lspserver + + + + + +dir_ace1bc4bdf9378a7354e2dacfa3269ed->dir_5def0a8c33681ccffd5a1a329ca9c6c2 + + + + + + +1 + + + + + +dir_6072663c54edb131dd9eabf55cf77072 + + +include + + + + + +dir_ace1bc4bdf9378a7354e2dacfa3269ed->dir_6072663c54edb131dd9eabf55cf77072 + + + + + + +5 + + + + + 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..24db7897e --- /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..d54b5aafe --- /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..433f06ec8 --- /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..fdbceebdb --- /dev/null +++ b/dir_b4b9fd25dbc0c6a28797e91ec2fee054_dep.map @@ -0,0 +1,5 @@ + + + + + diff --git a/dir_b4b9fd25dbc0c6a28797e91ec2fee054_dep.md5 b/dir_b4b9fd25dbc0c6a28797e91ec2fee054_dep.md5 new file mode 100644 index 000000000..43cd55186 --- /dev/null +++ b/dir_b4b9fd25dbc0c6a28797e91ec2fee054_dep.md5 @@ -0,0 +1 @@ +72668db7462d57f7621dd7b4bdb3ed36 \ No newline at end of file diff --git a/dir_b4b9fd25dbc0c6a28797e91ec2fee054_dep.svg b/dir_b4b9fd25dbc0c6a28797e91ec2fee054_dep.svg new file mode 100644 index 000000000..873c43ebe --- /dev/null +++ b/dir_b4b9fd25dbc0c6a28797e91ec2fee054_dep.svg @@ -0,0 +1,41 @@ + + + + + + +include + +clusterdir_c40eb6f7b133789742bdf3cebb28ba81 + + +libnixt + + + + +clusterdir_b4b9fd25dbc0c6a28797e91ec2fee054 + + + + + + + +dir_b4b9fd25dbc0c6a28797e91ec2fee054 +include + + + +dir_f31a81659f826c680a95cd6e61881ea8 + + +nixt + + + + + diff --git a/dir_baff22c637407b0f380d92646d04d3e0.html b/dir_baff22c637407b0f380d92646d04d3e0.html new file mode 100644 index 000000000..057da4752 --- /dev/null +++ b/dir_baff22c637407b0f380d92646d04d3e0.html @@ -0,0 +1,110 @@ + + + + + + + +nixd: Basic Directory Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Basic Directory Reference
+
+
+
+Directory dependency graph for Basic:
+
+
+
+ + + + + + + + + + + + + + + + +

+Files

 Diagnostic.cpp
 
 Diagnostic.cpp.py
 
 diagnostic.py
 
 DiagnosticEnum.h.py
 
 JSONDiagnostic.cpp
 
 Nodes.cpp
 
 support.py
 
+
+ + + + diff --git a/dir_baff22c637407b0f380d92646d04d3e0_dep.map b/dir_baff22c637407b0f380d92646d04d3e0_dep.map new file mode 100644 index 000000000..2223f4c3c --- /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..87b1b5623 --- /dev/null +++ b/dir_baff22c637407b0f380d92646d04d3e0_dep.md5 @@ -0,0 +1 @@ +24ce09973068a83c44e7ce1ce7816892 \ No newline at end of file diff --git a/dir_baff22c637407b0f380d92646d04d3e0_dep.svg b/dir_baff22c637407b0f380d92646d04d3e0_dep.svg new file mode 100644 index 000000000..0e337fe4c --- /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 + + + + + + +7 + + + + + diff --git a/dir_c40eb6f7b133789742bdf3cebb28ba81.html b/dir_c40eb6f7b133789742bdf3cebb28ba81.html new file mode 100644 index 000000000..5a7dbd0f8 --- /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..9fd909448 --- /dev/null +++ b/dir_c40eb6f7b133789742bdf3cebb28ba81_dep.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/dir_c40eb6f7b133789742bdf3cebb28ba81_dep.md5 b/dir_c40eb6f7b133789742bdf3cebb28ba81_dep.md5 new file mode 100644 index 000000000..364d4281f --- /dev/null +++ b/dir_c40eb6f7b133789742bdf3cebb28ba81_dep.md5 @@ -0,0 +1 @@ +63e89274314b04fc5a1fcdc05a24ddb5 \ No newline at end of file diff --git a/dir_c40eb6f7b133789742bdf3cebb28ba81_dep.svg b/dir_c40eb6f7b133789742bdf3cebb28ba81_dep.svg new file mode 100644 index 000000000..b013d15eb --- /dev/null +++ b/dir_c40eb6f7b133789742bdf3cebb28ba81_dep.svg @@ -0,0 +1,55 @@ + + + + + + +libnixt + +clusterdir_c40eb6f7b133789742bdf3cebb28ba81 + + + + + + + +dir_c40eb6f7b133789742bdf3cebb28ba81 +libnixt + + + +dir_b4b9fd25dbc0c6a28797e91ec2fee054 + + +include + + + + + +dir_4116e555bb27d140ae95b1be9a93ad9a + + +lib + + + + + +dir_4116e555bb27d140ae95b1be9a93ad9a->dir_b4b9fd25dbc0c6a28797e91ec2fee054 + + + + + + +8 + + + + + diff --git a/dir_c7c53a0769b4ad4e9ba220fbe05bc880.html b/dir_c7c53a0769b4ad4e9ba220fbe05bc880.html new file mode 100644 index 000000000..79693d705 --- /dev/null +++ b/dir_c7c53a0769b4ad4e9ba220fbe05bc880.html @@ -0,0 +1,100 @@ + + + + + + + +nixd: Protocol Directory Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Protocol Directory Reference
+
+
+
+Directory dependency graph for Protocol:
+
+
+
+ + + + + + +

+Files

 AttrSet.cpp
 
 Protocol.cpp
 
+
+ + + + diff --git a/dir_c7c53a0769b4ad4e9ba220fbe05bc880_dep.map b/dir_c7c53a0769b4ad4e9ba220fbe05bc880_dep.map new file mode 100644 index 000000000..f6b4c43a9 --- /dev/null +++ b/dir_c7c53a0769b4ad4e9ba220fbe05bc880_dep.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/dir_c7c53a0769b4ad4e9ba220fbe05bc880_dep.md5 b/dir_c7c53a0769b4ad4e9ba220fbe05bc880_dep.md5 new file mode 100644 index 000000000..6b3fbe781 --- /dev/null +++ b/dir_c7c53a0769b4ad4e9ba220fbe05bc880_dep.md5 @@ -0,0 +1 @@ +7c9858c4fd5fa8da68303e1e5614024f \ No newline at end of file diff --git a/dir_c7c53a0769b4ad4e9ba220fbe05bc880_dep.svg b/dir_c7c53a0769b4ad4e9ba220fbe05bc880_dep.svg new file mode 100644 index 000000000..6dac795f8 --- /dev/null +++ b/dir_c7c53a0769b4ad4e9ba220fbe05bc880_dep.svg @@ -0,0 +1,51 @@ + + + + + + +Protocol + +clusterdir_8710806578cad174ffcb5e19312c912a + + +lib + + + + + +dir_c7c53a0769b4ad4e9ba220fbe05bc880 + + +Protocol + + + + + +dir_6072663c54edb131dd9eabf55cf77072 + + +include + + + + + +dir_c7c53a0769b4ad4e9ba220fbe05bc880->dir_6072663c54edb131dd9eabf55cf77072 + + + + + + +2 + + + + + diff --git a/dir_f31a81659f826c680a95cd6e61881ea8.html b/dir_f31a81659f826c680a95cd6e61881ea8.html new file mode 100644 index 000000000..68e538dc0 --- /dev/null +++ b/dir_f31a81659f826c680a95cd6e61881ea8.html @@ -0,0 +1,136 @@ + + + + + + + +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.
 
 BinOps.inc
 
 Deserialize.h
 
 Displacement.h
 Get nix::PosIdx of an nix::Expr, from nix::Displacement.
 
 Flake.h
 Utilities about nix flake.
 
 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
 
 Value.h
 
 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..634a1b434 --- /dev/null +++ b/dir_f31a81659f826c680a95cd6e61881ea8_dep.map @@ -0,0 +1,4 @@ + + + + diff --git a/dir_f31a81659f826c680a95cd6e61881ea8_dep.md5 b/dir_f31a81659f826c680a95cd6e61881ea8_dep.md5 new file mode 100644 index 000000000..21090dfee --- /dev/null +++ b/dir_f31a81659f826c680a95cd6e61881ea8_dep.md5 @@ -0,0 +1 @@ +25f466729d0f8883d707ce99bfe733bd \ No newline at end of file diff --git a/dir_f31a81659f826c680a95cd6e61881ea8_dep.svg b/dir_f31a81659f826c680a95cd6e61881ea8_dep.svg new file mode 100644 index 000000000..e3d987391 --- /dev/null +++ b/dir_f31a81659f826c680a95cd6e61881ea8_dep.svg @@ -0,0 +1,29 @@ + + + + + + +nixt + +clusterdir_b4b9fd25dbc0c6a28797e91ec2fee054 + + +include + + + + + +dir_f31a81659f826c680a95cd6e61881ea8 + + +nixt + + + + + diff --git a/dir_fae1b722d580b1d4896c7d9500c560d0.html b/dir_fae1b722d580b1d4896c7d9500c560d0.html new file mode 100644 index 000000000..08ecf3aaa --- /dev/null +++ b/dir_fae1b722d580b1d4896c7d9500c560d0.html @@ -0,0 +1,101 @@ + + + + + + + +nixd: Protocol Directory Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
Protocol Directory Reference
+
+
+
+Directory dependency graph for Protocol:
+
+
+
+ + + + + + + +

+Files

 AttrSet.h
 Types used in nixpkgs provider.
 
 Protocol.h
 
+
+ + + + diff --git a/dir_fae1b722d580b1d4896c7d9500c560d0_dep.map b/dir_fae1b722d580b1d4896c7d9500c560d0_dep.map new file mode 100644 index 000000000..89d9733e2 --- /dev/null +++ b/dir_fae1b722d580b1d4896c7d9500c560d0_dep.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/dir_fae1b722d580b1d4896c7d9500c560d0_dep.md5 b/dir_fae1b722d580b1d4896c7d9500c560d0_dep.md5 new file mode 100644 index 000000000..613b858d5 --- /dev/null +++ b/dir_fae1b722d580b1d4896c7d9500c560d0_dep.md5 @@ -0,0 +1 @@ +07c2a5042e7c4a589155dcf8ee9c8bec \ No newline at end of file diff --git a/dir_fae1b722d580b1d4896c7d9500c560d0_dep.svg b/dir_fae1b722d580b1d4896c7d9500c560d0_dep.svg new file mode 100644 index 000000000..4d3b1218d --- /dev/null +++ b/dir_fae1b722d580b1d4896c7d9500c560d0_dep.svg @@ -0,0 +1,51 @@ + + + + + + +Protocol + +clusterdir_78474edbfdb26b7810ef0ed54a6ffeb0 + + +nixd + + + + + +dir_fae1b722d580b1d4896c7d9500c560d0 + + +Protocol + + + + + +dir_5def0a8c33681ccffd5a1a329ca9c6c2 + + +lspserver + + + + + +dir_fae1b722d580b1d4896c7d9500c560d0->dir_5def0a8c33681ccffd5a1a329ca9c6c2 + + + + + + +1 + + + + + diff --git a/dir_fbf4781f84a2dfdac7fb8e01b68aa402.html b/dir_fbf4781f84a2dfdac7fb8e01b68aa402.html new file mode 100644 index 000000000..941a0fbf3 --- /dev/null +++ b/dir_fbf4781f84a2dfdac7fb8e01b68aa402.html @@ -0,0 +1,98 @@ + + + + + + + +nixd: docs Directory Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
docs Directory Reference
+
+
+
+Directory dependency graph for docs:
+
+
+
+ + + + +

+Directories

 editors
 
+
+ + + + diff --git a/dir_fbf4781f84a2dfdac7fb8e01b68aa402_dep.map b/dir_fbf4781f84a2dfdac7fb8e01b68aa402_dep.map new file mode 100644 index 000000000..c0f668690 --- /dev/null +++ b/dir_fbf4781f84a2dfdac7fb8e01b68aa402_dep.map @@ -0,0 +1,5 @@ + + + + + diff --git a/dir_fbf4781f84a2dfdac7fb8e01b68aa402_dep.md5 b/dir_fbf4781f84a2dfdac7fb8e01b68aa402_dep.md5 new file mode 100644 index 000000000..65ea9e8f0 --- /dev/null +++ b/dir_fbf4781f84a2dfdac7fb8e01b68aa402_dep.md5 @@ -0,0 +1 @@ +7b46014b811a478061cc6b21399f6dd2 \ No newline at end of file diff --git a/dir_fbf4781f84a2dfdac7fb8e01b68aa402_dep.svg b/dir_fbf4781f84a2dfdac7fb8e01b68aa402_dep.svg new file mode 100644 index 000000000..f88f6a8d8 --- /dev/null +++ b/dir_fbf4781f84a2dfdac7fb8e01b68aa402_dep.svg @@ -0,0 +1,41 @@ + + + + + + +docs + +clusterdir_271d3aa807e54726686810b489123a0c + + +nixd + + + + +clusterdir_fbf4781f84a2dfdac7fb8e01b68aa402 + + + + + + + +dir_fbf4781f84a2dfdac7fb8e01b68aa402 +docs + + + +dir_6008d110f60d9bcc4c39f0eae5b860bc + + +editors + + + + + 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..c6a9f3615 --- /dev/null +++ b/doxygen_crawl.html @@ -0,0 +1,1099 @@ + + + +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/examples.html b/examples.html new file mode 100644 index 000000000..cafa3966b --- /dev/null +++ b/examples.html @@ -0,0 +1,86 @@ + + + + + + + +nixd: Examples + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Examples
+
+
+
Here is a list of all examples:
+
+ + + + diff --git a/features_8md.html b/features_8md.html new file mode 100644 index 000000000..6cb5b123f --- /dev/null +++ b/features_8md.html @@ -0,0 +1,83 @@ + + + + + + + +nixd: features.md File Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
+
features.md File Reference
+
+
+
+ + + + diff --git a/files.html b/files.html new file mode 100644 index 000000000..d1a967e8b --- /dev/null +++ b/files.html @@ -0,0 +1,261 @@ + + + + + + + +nixd: File List + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
File List
+
+
+
Here is a list of all files with brief descriptions:
+
[detail level 123456]
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  libnixf
  include
  nixf
  src
  Basic
  Parse
  Sema
  tools
 nixf-tidy.cppNixf-tidy, provide linting based on libnixf
  libnixt
  include
  nixt
  lib
 Displacement.cpp
 Flake.cpp
 HookExpr.cpp
 Kinds.cpp
 ParentMap.cpp
 Value.cpp
  nixd
  docs
 editors
  include
  nixd
  lib
  CommandLine
  Controller
  Eval
  Protocol
  Support
  lspserver
  include
  src
  tools
 nixd-attrset-eval.cpp
 nixd.cpp
+
+
+ + + + 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..a2b291274 --- /dev/null +++ b/functions.html @@ -0,0 +1,120 @@ + + + + + + + +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..c59f9adc8 --- /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..68422212f --- /dev/null +++ b/functions_c.html @@ -0,0 +1,137 @@ + + + + + + + +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..eee85b83f --- /dev/null +++ b/functions_d.html @@ -0,0 +1,133 @@ + + + + + + + +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..9b78cd373 --- /dev/null +++ b/functions_e.html @@ -0,0 +1,132 @@ + + + + + + + +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..26c0f16fe --- /dev/null +++ b/functions_enum.html @@ -0,0 +1,94 @@ + + + + + + + +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..a0b98105b --- /dev/null +++ b/functions_eval.html @@ -0,0 +1,154 @@ + + + + + + + +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:
+ +

- a -

+ + +

- d -

+ + +

- e -

+ + +

- f -

+ + +

- i -

+ + +

- n -

+ + +

- o -

+ + +

- p -

+ + +

- s -

+ + +

- v -

+
+ + + + diff --git a/functions_f.html b/functions_f.html new file mode 100644 index 000000000..d9ddcfbc0 --- /dev/null +++ b/functions_f.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:
+ +

- f -

+
+ + + + diff --git a/functions_func.html b/functions_func.html new file mode 100644 index 000000000..9853c59d4 --- /dev/null +++ b/functions_func.html @@ -0,0 +1,107 @@ + + + + + + + +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..b1e8ab0e3 --- /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..cab990b58 --- /dev/null +++ b/functions_func_c.html @@ -0,0 +1,104 @@ + + + + + + + +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..835d7a3f8 --- /dev/null +++ b/functions_func_d.html @@ -0,0 +1,98 @@ + + + + + + + +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..ce5581760 --- /dev/null +++ b/functions_func_e.html @@ -0,0 +1,121 @@ + + + + + + + +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..c4b9366be --- /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..948fe9df2 --- /dev/null +++ b/functions_func_g.html @@ -0,0 +1,92 @@ + + + + + + + +nixd: Class Members - Functions + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + + + + + diff --git a/functions_func_h.html b/functions_func_h.html new file mode 100644 index 000000000..13f41f9e8 --- /dev/null +++ b/functions_func_h.html @@ -0,0 +1,110 @@ + + + + + + + +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..2a72dd11f --- /dev/null +++ b/functions_func_i.html @@ -0,0 +1,111 @@ + + + + + + + +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_j.html b/functions_func_j.html new file mode 100644 index 000000000..b1fed7845 --- /dev/null +++ b/functions_func_j.html @@ -0,0 +1,86 @@ + + + + + + + +nixd: Class Members - Functions + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Here is a list of all functions with links to the classes they belong to:
+ +

- j -

+
+ + + + diff --git a/functions_func_k.html b/functions_func_k.html new file mode 100644 index 000000000..81b7573c2 --- /dev/null +++ b/functions_func_k.html @@ -0,0 +1,88 @@ + + + + + + + +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..88974edd1 --- /dev/null +++ b/functions_func_l.html @@ -0,0 +1,107 @@ + + + + + + + +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..b37aa0584 --- /dev/null +++ b/functions_func_m.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:
+ +

- m -

+
+ + + + diff --git a/functions_func_n.html b/functions_func_n.html new file mode 100644 index 000000000..d6f5b8c1c --- /dev/null +++ b/functions_func_n.html @@ -0,0 +1,94 @@ + + + + + + + +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..70dc98000 --- /dev/null +++ b/functions_func_o.html @@ -0,0 +1,114 @@ + + + + + + + +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..d28219cbb --- /dev/null +++ b/functions_func_p.html @@ -0,0 +1,123 @@ + + + + + + + +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_q.html b/functions_func_q.html new file mode 100644 index 000000000..e9396b426 --- /dev/null +++ b/functions_func_q.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:
+ +

- q -

+
+ + + + diff --git a/functions_func_r.html b/functions_func_r.html new file mode 100644 index 000000000..9b83ccdbb --- /dev/null +++ b/functions_func_r.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:
+ +

- r -

+
+ + + + diff --git a/functions_func_s.html b/functions_func_s.html new file mode 100644 index 000000000..a17ac20dc --- /dev/null +++ b/functions_func_s.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:
+ +

- s -

+
+ + + + diff --git a/functions_func_t.html b/functions_func_t.html new file mode 100644 index 000000000..acacf9bcb --- /dev/null +++ b/functions_func_t.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:
+ +

- t -

+
+ + + + diff --git a/functions_func_u.html b/functions_func_u.html new file mode 100644 index 000000000..885107b9c --- /dev/null +++ b/functions_func_u.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:
+ +

- u -

+
+ + + + diff --git a/functions_func_v.html b/functions_func_v.html new file mode 100644 index 000000000..b702fc697 --- /dev/null +++ b/functions_func_v.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:
+ +

- v -

+
+ + + + diff --git a/functions_func_w.html b/functions_func_w.html new file mode 100644 index 000000000..9c50a483e --- /dev/null +++ b/functions_func_w.html @@ -0,0 +1,86 @@ + + + + + + + +nixd: Class Members - Functions + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + + + + + diff --git a/functions_func_~.html b/functions_func_~.html new file mode 100644 index 000000000..24e153666 --- /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..58171e7cb --- /dev/null +++ b/functions_g.html @@ -0,0 +1,92 @@ + + + + + + + +nixd: Class Members + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + + + + + diff --git a/functions_h.html b/functions_h.html new file mode 100644 index 000000000..26745fdec --- /dev/null +++ b/functions_h.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:
+ +

- h -

+
+ + + + diff --git a/functions_i.html b/functions_i.html new file mode 100644 index 000000000..93432eb3a --- /dev/null +++ b/functions_i.html @@ -0,0 +1,128 @@ + + + + + + + +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..1eb13ebc5 --- /dev/null +++ b/functions_j.html @@ -0,0 +1,87 @@ + + + + + + + +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..ee9e20a42 --- /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..d58d0c5cb --- /dev/null +++ b/functions_l.html @@ -0,0 +1,120 @@ + + + + + + + +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..142aad4d8 --- /dev/null +++ b/functions_m.html @@ -0,0 +1,100 @@ + + + + + + + +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..db55d84b2 --- /dev/null +++ b/functions_n.html @@ -0,0 +1,107 @@ + + + + + + + +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..d30298437 --- /dev/null +++ b/functions_o.html @@ -0,0 +1,124 @@ + + + + + + + +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..fe8b5ec11 --- /dev/null +++ b/functions_p.html @@ -0,0 +1,144 @@ + + + + + + + +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..a48af8a46 --- /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..0d2b6d06e --- /dev/null +++ b/functions_r.html @@ -0,0 +1,119 @@ + + + + + + + +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..f6f705930 --- /dev/null +++ b/functions_s.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:
+ +

- s -

+
+ + + + diff --git a/functions_t.html b/functions_t.html new file mode 100644 index 000000000..28a9f7f84 --- /dev/null +++ b/functions_t.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:
+ +

- t -

+
+ + + + diff --git a/functions_type.html b/functions_type.html new file mode 100644 index 000000000..35f23fa87 --- /dev/null +++ b/functions_type.html @@ -0,0 +1,93 @@ + + + + + + + +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..21e43e444 --- /dev/null +++ b/functions_u.html @@ -0,0 +1,94 @@ + + + + + + + +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..47df87220 --- /dev/null +++ b/functions_v.html @@ -0,0 +1,97 @@ + + + + + + + +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..c44d0e2ce --- /dev/null +++ b/functions_vars_c.html @@ -0,0 +1,117 @@ + + + + + + + +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..84d2a7c6d --- /dev/null +++ b/functions_vars_d.html @@ -0,0 +1,104 @@ + + + + + + + +nixd: Class Members - Variables + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Here is a list of all variables with links to the classes they belong to:
+ +

- d -

+
+ + + + diff --git a/functions_vars_e.html b/functions_vars_e.html new file mode 100644 index 000000000..8ab995816 --- /dev/null +++ b/functions_vars_e.html @@ -0,0 +1,95 @@ + + + + + + + +nixd: Class Members - Variables + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + + + + + diff --git a/functions_vars_f.html b/functions_vars_f.html new file mode 100644 index 000000000..3532688b3 --- /dev/null +++ b/functions_vars_f.html @@ -0,0 +1,94 @@ + + + + + + + +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..fc73112b3 --- /dev/null +++ b/functions_vars_h.html @@ -0,0 +1,90 @@ + + + + + + + +nixd: Class Members - Variables + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + + + + + 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..8e4ad7205 --- /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..217be75b7 --- /dev/null +++ b/functions_vars_l.html @@ -0,0 +1,95 @@ + + + + + + + +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..9aabc7e95 --- /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..51fa40b1a --- /dev/null +++ b/functions_vars_n.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:
+ +

- n -

+
+ + + + diff --git a/functions_vars_o.html b/functions_vars_o.html new file mode 100644 index 000000000..5bfc3785f --- /dev/null +++ b/functions_vars_o.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:
+ +

- o -

+
+ + + + diff --git a/functions_vars_p.html b/functions_vars_p.html new file mode 100644 index 000000000..fcd8101f7 --- /dev/null +++ b/functions_vars_p.html @@ -0,0 +1,101 @@ + + + + + + + +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..122ec6a03 --- /dev/null +++ b/functions_vars_s.html @@ -0,0 +1,112 @@ + + + + + + + +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..b64126508 --- /dev/null +++ b/functions_vars_t.html @@ -0,0 +1,104 @@ + + + + + + + +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..8bbc83ab3 --- /dev/null +++ b/functions_vars_v.html @@ -0,0 +1,91 @@ + + + + + + + +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..f5bad02c7 --- /dev/null +++ b/functions_w.html @@ -0,0 +1,91 @@ + + + + + + + +nixd: Class Members + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + + + + + diff --git a/functions_~.html b/functions_~.html new file mode 100644 index 000000000..44edc269a --- /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..f420cf9b9 --- /dev/null +++ b/globals.html @@ -0,0 +1,127 @@ + + + + + + + +nixd: File Members + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Here is a list of all file members with links to the files they belong to:
+ +

- d -

+ + +

- e -

+ + +

- l -

+ + +

- m -

+ + +

- n -

+ + +

- r -

+ + +

- t -

+
+ + + + diff --git a/globals_defs.html b/globals_defs.html new file mode 100644 index 000000000..5d05c4747 --- /dev/null +++ b/globals_defs.html @@ -0,0 +1,95 @@ + + + + + + + +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..7ed3da501 --- /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/globals_type.html b/globals_type.html new file mode 100644 index 000000000..9c71e56a8 --- /dev/null +++ b/globals_type.html @@ -0,0 +1,87 @@ + + + + + + + +nixd: File Members + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
Here is a list of all typedefs 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..3810f3eb2 --- /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..e94e03be2 --- /dev/null +++ b/hierarchy.html @@ -0,0 +1,364 @@ + + + + + + + +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::ASTHeaderHeader of serialized AST
 Clspserver::ASTNode
 Clspserver::ASTParams
 Cnixf::Attribute
 Cnixd::AttrPathCompleteParams
 Cnixd::AttrPathInfoResponse
 Cnixd::AttrSetClientProc
 Cnixd::util::AutoCloseFDFile Descriptor RAII wrapper
 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
 Cnixd::Configuration
 Clspserver::ConfigurationItem
 Clspserver::ConfigurationParams
 Clspserver::ConfigurationSettings
 Cnixf::DefinitionRepresents a definition
 Cnixt::DeserializeContextAPI Wrapper around nix::
 Clspserver::Diagnostic
 Cnixd::Configuration::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
 Cnixf::EnvNodeA set of variable definitions, which may inherit parent environment
 Cllvm::ErrorInfo
 Cnixt::detail::EvalCacheF
 Clspserver::Event< T >An Event<T> allows events of type T to be broadcast to listeners
 Cstd::exception
 Clspserver::ExecuteCommandParams
 Cnix::ExprAssert
 Cnix::ExprAttrs
 Cnix::ExprCall
 Cnix::ExprConcatStrings
 Cnix::ExprFloat
 Cnix::ExprIf
 Cnix::ExprInt
 Cnix::ExprLambda
 Cnix::ExprLet
 Cnix::ExprList
 Cnix::ExprOpAnd
 Cnix::ExprOpConcatLists
 Cnix::ExprOpEq
 Cnix::ExprOpHasAttr
 Cnix::ExprOpImpl
 Cnix::ExprOpNEq
 Cnix::ExprOpNot
 Cnix::ExprOpOr
 Cnix::ExprOpUpdate
 Cnix::ExprPath
 Cnix::ExprPos
 Cnix::ExprSelect
 Cnix::ExprString
 Cnixd::rpc::ExprValueParams
 Cnixd::rpc::ExprValueResponse
 Cnix::ExprVar
 Cnix::ExprWith
 Cnixt::detail::RB< Tag, p >::F
 Clspserver::FileEvent
 Clspserver::FileStatus
 Cnixf::Fix
 Clspserver::FoldingRangeStores information about a region of code that can be folded
 Clspserver::FoldingRangeParams
 Cllvm::format_provider< lspserver::Position >
 Cnixd::Configuration::Formatting
 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
 Cnixf::VariableLookupAnalysis::LookupResult
 Clspserver::LSPDiagnosticCompare
 Clspserver::MarkupContent
 Clspserver::MessageHandler
 Cnixd::Configuration::NixpkgsProvider
 Cnixd::NixTUHolds analyzed information about a document
 Cnixf::Node
 Clspserver::NoParams
 Cnixd::OptionDescription
 Cnixd::OptionField
 Cnixd::Configuration::OptionProvider
 Cnixd::OptionType
 Clspserver::OutboundPort
 Cnixd::util::OwnedRegion
 Cnixd::PackageDescription
 Clspserver::ParameterInformationA single parameter of a particular signature
 Cnixf::ParentMapAnalysis
 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
 Cnixd::StreamProc
 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
 Cnixd::ValueMetaGeneral metadata of all nix::Values
 Cnixf::VariableLookupAnalysis
 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
 CTypedDict
+
+
+ + + + diff --git a/include_2nixd_2Protocol_2Protocol_8h.html b/include_2nixd_2Protocol_2Protocol_8h.html new file mode 100644 index 000000000..277f80942 --- /dev/null +++ b/include_2nixd_2Protocol_2Protocol_8h.html @@ -0,0 +1,138 @@ + + + + + + + +nixd: Protocol.h File Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
Protocol.h File Reference
+
+
+
#include <llvm/Support/JSON.h>
+#include <cstdint>
+#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/include_2nixd_2Protocol_2Protocol_8h_source.html b/include_2nixd_2Protocol_2Protocol_8h_source.html new file mode 100644 index 000000000..052799224 --- /dev/null +++ b/include_2nixd_2Protocol_2Protocol_8h_source.html @@ -0,0 +1,202 @@ + + + + + + + +nixd: Protocol.h Source File + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
include/nixd/Protocol/Protocol.h
+
+
+Go to the documentation of this file.
1#pragma once
+
2
+
3#include <llvm/Support/JSON.h>
+
4
+
5#include <cstdint>
+
6#include <string>
+
7
+
+
8namespace nixd::rpc {
+
9
+
+
10enum class LogLevel {
+
11 Debug,
+
12 Info,
+
13 Warning,
+
14 Error,
+
15};
+
+
16
+
+ +
18 std::string Shm;
+
19 std::string BasePath;
+
20 std::string CachePath;
+
21 std::int64_t Size;
+
22};
+
+
23
+
24llvm::json::Value toJSON(const RegisterBCParams &Params);
+
25bool fromJSON(const llvm::json::Value &Params, RegisterBCParams &R,
+
26 llvm::json::Path P);
+
27
+
+ +
29 std::int64_t ExprID;
+
30};
+
+
31
+
32llvm::json::Value toJSON(const ExprValueParams &Params);
+
33bool fromJSON(const llvm::json::Value &Params, ExprValueParams &R,
+
34 llvm::json::Path P);
+
35
+
+ +
+ +
38 /// \brief The expr is not found in the registered bytecodes.
+ +
40
+
41 /// \brief The expr is found, but the value is not evaluated. e.g. too deep
+ +
43
+
44 /// \brief Encountered an error when evaluating the value.
+ +
46
+
47 /// \brief The value is available.
+ +
49 };
+
+ +
51 /// \brief The value ID, for future reference.
+
52 ///
+
53 /// We may want to query the value of the same expr multiple times, with more
+
54 /// detailed information.
+
55 std::int64_t ValueID;
+
56
+
57 /// \brief Opaque data, the value of the expr.
+
+ + + +
61 };
+
+ +
63};
+
+
64
+
65llvm::json::Value toJSON(const ExprValueResponse &Params);
+
66bool fromJSON(const llvm::json::Value &Params, ExprValueResponse &R,
+
67 llvm::json::Path P);
+
68
+
69} // 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/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..526926548 --- /dev/null +++ b/include_2nixf_2Parse_2Parser_8h_source.html @@ -0,0 +1,118 @@ + + + + + + + +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..b80d72774 --- /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..2c4a6341b --- /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..a51a361ed --- /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..fdfbac725 --- /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..bc2fbb385 --- /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..418d325d7 --- /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..ec14c0ac9 --- /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..90247515d --- /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..69feae246 --- /dev/null +++ b/inherit_graph_104.map @@ -0,0 +1,5 @@ + + + + + diff --git a/inherit_graph_104.md5 b/inherit_graph_104.md5 new file mode 100644 index 000000000..1e740d885 --- /dev/null +++ b/inherit_graph_104.md5 @@ -0,0 +1 @@ +1c44982d91d348ee3b816b053781c1ab \ No newline at end of file diff --git a/inherit_graph_104.svg b/inherit_graph_104.svg new file mode 100644 index 000000000..d1e583a19 --- /dev/null +++ b/inherit_graph_104.svg @@ -0,0 +1,39 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +nix::ExprAssert + + + + + +Node1 + + +nixt::HookExprAssert + + + + + +Node0->Node1 + + + + + + + + diff --git a/inherit_graph_105.map b/inherit_graph_105.map new file mode 100644 index 000000000..d342a0845 --- /dev/null +++ b/inherit_graph_105.map @@ -0,0 +1,5 @@ + + + + + diff --git a/inherit_graph_105.md5 b/inherit_graph_105.md5 new file mode 100644 index 000000000..50607c26c --- /dev/null +++ b/inherit_graph_105.md5 @@ -0,0 +1 @@ +a2c268046cfe823e4ae6da0615efbfae \ No newline at end of file diff --git a/inherit_graph_105.svg b/inherit_graph_105.svg new file mode 100644 index 000000000..99e5b2d16 --- /dev/null +++ b/inherit_graph_105.svg @@ -0,0 +1,39 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +nix::ExprAttrs + + + + + +Node1 + + +nixt::HookExprAttrs + + + + + +Node0->Node1 + + + + + + + + diff --git a/inherit_graph_106.map b/inherit_graph_106.map new file mode 100644 index 000000000..fa9e8c3de --- /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..a07d19bca --- /dev/null +++ b/inherit_graph_106.md5 @@ -0,0 +1 @@ +c75b33e6e261b15abbe3c6aaf1d329c0 \ No newline at end of file diff --git a/inherit_graph_106.svg b/inherit_graph_106.svg new file mode 100644 index 000000000..bf6d07ae3 --- /dev/null +++ b/inherit_graph_106.svg @@ -0,0 +1,39 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +nix::ExprCall + + + + + +Node1 + + +nixt::HookExprCall + + + + + +Node0->Node1 + + + + + + + + diff --git a/inherit_graph_107.map b/inherit_graph_107.map new file mode 100644 index 000000000..79f2d7290 --- /dev/null +++ b/inherit_graph_107.map @@ -0,0 +1,5 @@ + + + + + diff --git a/inherit_graph_107.md5 b/inherit_graph_107.md5 new file mode 100644 index 000000000..432034641 --- /dev/null +++ b/inherit_graph_107.md5 @@ -0,0 +1 @@ +087e2bf35b41c62fa79945911964c0f2 \ No newline at end of file diff --git a/inherit_graph_107.svg b/inherit_graph_107.svg new file mode 100644 index 000000000..ed1dfdc72 --- /dev/null +++ b/inherit_graph_107.svg @@ -0,0 +1,39 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +nix::ExprConcatStrings + + + + + +Node1 + + +nixt::HookExprConcatStrings + + + + + +Node0->Node1 + + + + + + + + diff --git a/inherit_graph_108.map b/inherit_graph_108.map new file mode 100644 index 000000000..0bfa4d2b1 --- /dev/null +++ b/inherit_graph_108.map @@ -0,0 +1,5 @@ + + + + + diff --git a/inherit_graph_108.md5 b/inherit_graph_108.md5 new file mode 100644 index 000000000..a78e46413 --- /dev/null +++ b/inherit_graph_108.md5 @@ -0,0 +1 @@ +6a4202f6ffaff14a0de7f724344827e3 \ No newline at end of file diff --git a/inherit_graph_108.svg b/inherit_graph_108.svg new file mode 100644 index 000000000..240262ad4 --- /dev/null +++ b/inherit_graph_108.svg @@ -0,0 +1,39 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +nix::ExprFloat + + + + + +Node1 + + +nixt::HookExprFloat + + + + + +Node0->Node1 + + + + + + + + diff --git a/inherit_graph_109.map b/inherit_graph_109.map new file mode 100644 index 000000000..584cc821c --- /dev/null +++ b/inherit_graph_109.map @@ -0,0 +1,5 @@ + + + + + diff --git a/inherit_graph_109.md5 b/inherit_graph_109.md5 new file mode 100644 index 000000000..0a231fa3d --- /dev/null +++ b/inherit_graph_109.md5 @@ -0,0 +1 @@ +50b5fba70d4e1e1fe087b82cdd8f11d4 \ No newline at end of file diff --git a/inherit_graph_109.svg b/inherit_graph_109.svg new file mode 100644 index 000000000..a9caf5329 --- /dev/null +++ b/inherit_graph_109.svg @@ -0,0 +1,39 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +nix::ExprIf + + + + + +Node1 + + +nixt::HookExprIf + + + + + +Node0->Node1 + + + + + + + + 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..36c806321 --- /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..6dccd4a0b --- /dev/null +++ b/inherit_graph_110.map @@ -0,0 +1,5 @@ + + + + + diff --git a/inherit_graph_110.md5 b/inherit_graph_110.md5 new file mode 100644 index 000000000..174fed7c2 --- /dev/null +++ b/inherit_graph_110.md5 @@ -0,0 +1 @@ +09d63f8a301bdab86bcd61d3871a928c \ No newline at end of file diff --git a/inherit_graph_110.svg b/inherit_graph_110.svg new file mode 100644 index 000000000..fd4832c7f --- /dev/null +++ b/inherit_graph_110.svg @@ -0,0 +1,39 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +nix::ExprInt + + + + + +Node1 + + +nixt::HookExprInt + + + + + +Node0->Node1 + + + + + + + + diff --git a/inherit_graph_111.map b/inherit_graph_111.map new file mode 100644 index 000000000..b08645763 --- /dev/null +++ b/inherit_graph_111.map @@ -0,0 +1,5 @@ + + + + + diff --git a/inherit_graph_111.md5 b/inherit_graph_111.md5 new file mode 100644 index 000000000..a4183a913 --- /dev/null +++ b/inherit_graph_111.md5 @@ -0,0 +1 @@ +fc04e389ebf469e8b5faf8c525b5b68b \ No newline at end of file diff --git a/inherit_graph_111.svg b/inherit_graph_111.svg new file mode 100644 index 000000000..38893a007 --- /dev/null +++ b/inherit_graph_111.svg @@ -0,0 +1,39 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +nix::ExprLambda + + + + + +Node1 + + +nixt::HookExprLambda + + + + + +Node0->Node1 + + + + + + + + diff --git a/inherit_graph_112.map b/inherit_graph_112.map new file mode 100644 index 000000000..4d20abd4d --- /dev/null +++ b/inherit_graph_112.map @@ -0,0 +1,5 @@ + + + + + diff --git a/inherit_graph_112.md5 b/inherit_graph_112.md5 new file mode 100644 index 000000000..e15d28bf5 --- /dev/null +++ b/inherit_graph_112.md5 @@ -0,0 +1 @@ +c8d851e22415ee165425b64076e42c90 \ No newline at end of file diff --git a/inherit_graph_112.svg b/inherit_graph_112.svg new file mode 100644 index 000000000..4fe4cb616 --- /dev/null +++ b/inherit_graph_112.svg @@ -0,0 +1,39 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +nix::ExprLet + + + + + +Node1 + + +nixt::HookExprLet + + + + + +Node0->Node1 + + + + + + + + diff --git a/inherit_graph_113.map b/inherit_graph_113.map new file mode 100644 index 000000000..f2b746f62 --- /dev/null +++ b/inherit_graph_113.map @@ -0,0 +1,5 @@ + + + + + diff --git a/inherit_graph_113.md5 b/inherit_graph_113.md5 new file mode 100644 index 000000000..9323284d8 --- /dev/null +++ b/inherit_graph_113.md5 @@ -0,0 +1 @@ +d1fd03288d2393c31e972035282184f5 \ No newline at end of file diff --git a/inherit_graph_113.svg b/inherit_graph_113.svg new file mode 100644 index 000000000..b3dc0b0c4 --- /dev/null +++ b/inherit_graph_113.svg @@ -0,0 +1,39 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +nix::ExprList + + + + + +Node1 + + +nixt::HookExprList + + + + + +Node0->Node1 + + + + + + + + diff --git a/inherit_graph_114.map b/inherit_graph_114.map new file mode 100644 index 000000000..e6db05380 --- /dev/null +++ b/inherit_graph_114.map @@ -0,0 +1,5 @@ + + + + + diff --git a/inherit_graph_114.md5 b/inherit_graph_114.md5 new file mode 100644 index 000000000..1c349fc6c --- /dev/null +++ b/inherit_graph_114.md5 @@ -0,0 +1 @@ +2596b894d06a9a4cd2d179e199c223a2 \ No newline at end of file diff --git a/inherit_graph_114.svg b/inherit_graph_114.svg new file mode 100644 index 000000000..27739b01b --- /dev/null +++ b/inherit_graph_114.svg @@ -0,0 +1,39 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +nix::ExprOpAnd + + + + + +Node1 + + +nixt::HookExprOpAnd + + + + + +Node0->Node1 + + + + + + + + diff --git a/inherit_graph_115.map b/inherit_graph_115.map new file mode 100644 index 000000000..a4b21ad48 --- /dev/null +++ b/inherit_graph_115.map @@ -0,0 +1,5 @@ + + + + + diff --git a/inherit_graph_115.md5 b/inherit_graph_115.md5 new file mode 100644 index 000000000..6b4e4f049 --- /dev/null +++ b/inherit_graph_115.md5 @@ -0,0 +1 @@ +7ca3fad9340892b9b11d6e21fd9023b9 \ No newline at end of file diff --git a/inherit_graph_115.svg b/inherit_graph_115.svg new file mode 100644 index 000000000..f6c7c843a --- /dev/null +++ b/inherit_graph_115.svg @@ -0,0 +1,39 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +nix::ExprOpConcatLists + + + + + +Node1 + + +nixt::HookExprOpConcatLists + + + + + +Node0->Node1 + + + + + + + + diff --git a/inherit_graph_116.map b/inherit_graph_116.map new file mode 100644 index 000000000..653958c2c --- /dev/null +++ b/inherit_graph_116.map @@ -0,0 +1,5 @@ + + + + + diff --git a/inherit_graph_116.md5 b/inherit_graph_116.md5 new file mode 100644 index 000000000..efd77328a --- /dev/null +++ b/inherit_graph_116.md5 @@ -0,0 +1 @@ +f16977730cfb5a6192a426c7e893d137 \ No newline at end of file diff --git a/inherit_graph_116.svg b/inherit_graph_116.svg new file mode 100644 index 000000000..a869de63d --- /dev/null +++ b/inherit_graph_116.svg @@ -0,0 +1,39 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +nix::ExprOpEq + + + + + +Node1 + + +nixt::HookExprOpEq + + + + + +Node0->Node1 + + + + + + + + diff --git a/inherit_graph_117.map b/inherit_graph_117.map new file mode 100644 index 000000000..5323124d7 --- /dev/null +++ b/inherit_graph_117.map @@ -0,0 +1,5 @@ + + + + + diff --git a/inherit_graph_117.md5 b/inherit_graph_117.md5 new file mode 100644 index 000000000..0133e8159 --- /dev/null +++ b/inherit_graph_117.md5 @@ -0,0 +1 @@ +c22654ba029a0ff013ff4089ba97c2ea \ No newline at end of file diff --git a/inherit_graph_117.svg b/inherit_graph_117.svg new file mode 100644 index 000000000..6a2475a39 --- /dev/null +++ b/inherit_graph_117.svg @@ -0,0 +1,39 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +nix::ExprOpHasAttr + + + + + +Node1 + + +nixt::HookExprOpHasAttr + + + + + +Node0->Node1 + + + + + + + + diff --git a/inherit_graph_118.map b/inherit_graph_118.map new file mode 100644 index 000000000..1b739c21a --- /dev/null +++ b/inherit_graph_118.map @@ -0,0 +1,5 @@ + + + + + diff --git a/inherit_graph_118.md5 b/inherit_graph_118.md5 new file mode 100644 index 000000000..4fcc46ba9 --- /dev/null +++ b/inherit_graph_118.md5 @@ -0,0 +1 @@ +87698006dca8e4b9012f56305f59b7a3 \ No newline at end of file diff --git a/inherit_graph_118.svg b/inherit_graph_118.svg new file mode 100644 index 000000000..49ae4efad --- /dev/null +++ b/inherit_graph_118.svg @@ -0,0 +1,39 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +nix::ExprOpImpl + + + + + +Node1 + + +nixt::HookExprOpImpl + + + + + +Node0->Node1 + + + + + + + + diff --git a/inherit_graph_119.map b/inherit_graph_119.map new file mode 100644 index 000000000..2d4c21f88 --- /dev/null +++ b/inherit_graph_119.map @@ -0,0 +1,5 @@ + + + + + diff --git a/inherit_graph_119.md5 b/inherit_graph_119.md5 new file mode 100644 index 000000000..c136a7360 --- /dev/null +++ b/inherit_graph_119.md5 @@ -0,0 +1 @@ +6e15f643c31f231a497833e16983cde4 \ No newline at end of file diff --git a/inherit_graph_119.svg b/inherit_graph_119.svg new file mode 100644 index 000000000..e5c9e94e2 --- /dev/null +++ b/inherit_graph_119.svg @@ -0,0 +1,39 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +nix::ExprOpNEq + + + + + +Node1 + + +nixt::HookExprOpNEq + + + + + +Node0->Node1 + + + + + + + + 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..12c94833e --- /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..f36a4fd9e --- /dev/null +++ b/inherit_graph_120.map @@ -0,0 +1,5 @@ + + + + + diff --git a/inherit_graph_120.md5 b/inherit_graph_120.md5 new file mode 100644 index 000000000..fccdd4a3e --- /dev/null +++ b/inherit_graph_120.md5 @@ -0,0 +1 @@ +9d00ad33a78d34378728b49f36d4d246 \ No newline at end of file diff --git a/inherit_graph_120.svg b/inherit_graph_120.svg new file mode 100644 index 000000000..562f1eb6b --- /dev/null +++ b/inherit_graph_120.svg @@ -0,0 +1,39 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +nix::ExprOpNot + + + + + +Node1 + + +nixt::HookExprOpNot + + + + + +Node0->Node1 + + + + + + + + diff --git a/inherit_graph_121.map b/inherit_graph_121.map new file mode 100644 index 000000000..982d374c4 --- /dev/null +++ b/inherit_graph_121.map @@ -0,0 +1,5 @@ + + + + + diff --git a/inherit_graph_121.md5 b/inherit_graph_121.md5 new file mode 100644 index 000000000..ad99dfe42 --- /dev/null +++ b/inherit_graph_121.md5 @@ -0,0 +1 @@ +615b9ea03774284d127c6cf4e55afe96 \ No newline at end of file diff --git a/inherit_graph_121.svg b/inherit_graph_121.svg new file mode 100644 index 000000000..5437b5666 --- /dev/null +++ b/inherit_graph_121.svg @@ -0,0 +1,39 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +nix::ExprOpOr + + + + + +Node1 + + +nixt::HookExprOpOr + + + + + +Node0->Node1 + + + + + + + + diff --git a/inherit_graph_122.map b/inherit_graph_122.map new file mode 100644 index 000000000..c78ca3103 --- /dev/null +++ b/inherit_graph_122.map @@ -0,0 +1,5 @@ + + + + + diff --git a/inherit_graph_122.md5 b/inherit_graph_122.md5 new file mode 100644 index 000000000..fd96a76a2 --- /dev/null +++ b/inherit_graph_122.md5 @@ -0,0 +1 @@ +15bd180c24c23dc39d8cf29a292d1a23 \ No newline at end of file diff --git a/inherit_graph_122.svg b/inherit_graph_122.svg new file mode 100644 index 000000000..724aa0e4a --- /dev/null +++ b/inherit_graph_122.svg @@ -0,0 +1,39 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +nix::ExprOpUpdate + + + + + +Node1 + + +nixt::HookExprOpUpdate + + + + + +Node0->Node1 + + + + + + + + diff --git a/inherit_graph_123.map b/inherit_graph_123.map new file mode 100644 index 000000000..17a19b2bb --- /dev/null +++ b/inherit_graph_123.map @@ -0,0 +1,5 @@ + + + + + diff --git a/inherit_graph_123.md5 b/inherit_graph_123.md5 new file mode 100644 index 000000000..77ee58933 --- /dev/null +++ b/inherit_graph_123.md5 @@ -0,0 +1 @@ +bd1f69ac14a759f58d28a066adf6ed8c \ No newline at end of file diff --git a/inherit_graph_123.svg b/inherit_graph_123.svg new file mode 100644 index 000000000..b7f769fea --- /dev/null +++ b/inherit_graph_123.svg @@ -0,0 +1,39 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +nix::ExprPath + + + + + +Node1 + + +nixt::HookExprPath + + + + + +Node0->Node1 + + + + + + + + diff --git a/inherit_graph_124.map b/inherit_graph_124.map new file mode 100644 index 000000000..410418270 --- /dev/null +++ b/inherit_graph_124.map @@ -0,0 +1,5 @@ + + + + + diff --git a/inherit_graph_124.md5 b/inherit_graph_124.md5 new file mode 100644 index 000000000..a429b60de --- /dev/null +++ b/inherit_graph_124.md5 @@ -0,0 +1 @@ +7c2ef85ea69add76eaaa9a870f452e82 \ No newline at end of file diff --git a/inherit_graph_124.svg b/inherit_graph_124.svg new file mode 100644 index 000000000..b66e00d66 --- /dev/null +++ b/inherit_graph_124.svg @@ -0,0 +1,39 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +nix::ExprPos + + + + + +Node1 + + +nixt::HookExprPos + + + + + +Node0->Node1 + + + + + + + + diff --git a/inherit_graph_125.map b/inherit_graph_125.map new file mode 100644 index 000000000..825b8de5c --- /dev/null +++ b/inherit_graph_125.map @@ -0,0 +1,5 @@ + + + + + diff --git a/inherit_graph_125.md5 b/inherit_graph_125.md5 new file mode 100644 index 000000000..e324e108e --- /dev/null +++ b/inherit_graph_125.md5 @@ -0,0 +1 @@ +53a372f3e088d77626f39700dcaf57a7 \ No newline at end of file diff --git a/inherit_graph_125.svg b/inherit_graph_125.svg new file mode 100644 index 000000000..836708366 --- /dev/null +++ b/inherit_graph_125.svg @@ -0,0 +1,39 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +nix::ExprSelect + + + + + +Node1 + + +nixt::HookExprSelect + + + + + +Node0->Node1 + + + + + + + + diff --git a/inherit_graph_126.map b/inherit_graph_126.map new file mode 100644 index 000000000..4e6636f61 --- /dev/null +++ b/inherit_graph_126.map @@ -0,0 +1,5 @@ + + + + + diff --git a/inherit_graph_126.md5 b/inherit_graph_126.md5 new file mode 100644 index 000000000..fb0f3d4ce --- /dev/null +++ b/inherit_graph_126.md5 @@ -0,0 +1 @@ +d85a57560c739ede47b794e8a91ae0a8 \ No newline at end of file diff --git a/inherit_graph_126.svg b/inherit_graph_126.svg new file mode 100644 index 000000000..2a7efacb8 --- /dev/null +++ b/inherit_graph_126.svg @@ -0,0 +1,39 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +nix::ExprString + + + + + +Node1 + + +nixt::HookExprString + + + + + +Node0->Node1 + + + + + + + + diff --git a/inherit_graph_127.map b/inherit_graph_127.map new file mode 100644 index 000000000..652259c79 --- /dev/null +++ b/inherit_graph_127.map @@ -0,0 +1,5 @@ + + + + + diff --git a/inherit_graph_127.md5 b/inherit_graph_127.md5 new file mode 100644 index 000000000..3bb011abd --- /dev/null +++ b/inherit_graph_127.md5 @@ -0,0 +1 @@ +04bfd8315bfa8d25ff057875b5fff06a \ No newline at end of file diff --git a/inherit_graph_127.svg b/inherit_graph_127.svg new file mode 100644 index 000000000..767758b64 --- /dev/null +++ b/inherit_graph_127.svg @@ -0,0 +1,39 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +nix::ExprVar + + + + + +Node1 + + +nixt::HookExprVar + + + + + +Node0->Node1 + + + + + + + + diff --git a/inherit_graph_128.map b/inherit_graph_128.map new file mode 100644 index 000000000..e4178e8a3 --- /dev/null +++ b/inherit_graph_128.map @@ -0,0 +1,5 @@ + + + + + diff --git a/inherit_graph_128.md5 b/inherit_graph_128.md5 new file mode 100644 index 000000000..5d1b2517d --- /dev/null +++ b/inherit_graph_128.md5 @@ -0,0 +1 @@ +13860de8594921b9ef936793058fb6ce \ No newline at end of file diff --git a/inherit_graph_128.svg b/inherit_graph_128.svg new file mode 100644 index 000000000..cdf3af3c7 --- /dev/null +++ b/inherit_graph_128.svg @@ -0,0 +1,39 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +nix::ExprWith + + + + + +Node1 + + +nixt::HookExprWith + + + + + +Node0->Node1 + + + + + + + + diff --git a/inherit_graph_129.map b/inherit_graph_129.map new file mode 100644 index 000000000..11643533f --- /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..0b4a5baa8 --- /dev/null +++ b/inherit_graph_129.md5 @@ -0,0 +1 @@ +87db96ba5e40841867f3eef6e97a66dc \ No newline at end of file diff --git a/inherit_graph_129.svg b/inherit_graph_129.svg new file mode 100644 index 000000000..fb689ddcf --- /dev/null +++ b/inherit_graph_129.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +nixd::AttrPathCompleteParams + + + + + 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..bbee4f20a --- /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..6549c67a1 --- /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..1fe63792f --- /dev/null +++ b/inherit_graph_130.md5 @@ -0,0 +1 @@ +5ffa830fbfe72fcddc08bf178131e208 \ No newline at end of file diff --git a/inherit_graph_130.svg b/inherit_graph_130.svg new file mode 100644 index 000000000..0b8e6b1a3 --- /dev/null +++ b/inherit_graph_130.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +nixd::AttrPathInfoResponse + + + + + diff --git a/inherit_graph_131.map b/inherit_graph_131.map new file mode 100644 index 000000000..951c74ffc --- /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..a61457182 --- /dev/null +++ b/inherit_graph_131.md5 @@ -0,0 +1 @@ +ba365f9af3a7007674eab46c86250349 \ No newline at end of file diff --git a/inherit_graph_131.svg b/inherit_graph_131.svg new file mode 100644 index 000000000..b2df5f66c --- /dev/null +++ b/inherit_graph_131.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +nixd::AttrSetClientProc + + + + + diff --git a/inherit_graph_132.map b/inherit_graph_132.map new file mode 100644 index 000000000..ba103ed10 --- /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..58cad6a4e --- /dev/null +++ b/inherit_graph_132.md5 @@ -0,0 +1 @@ +17a574a6cf49ffeee51a548bb202ad2b \ No newline at end of file diff --git a/inherit_graph_132.svg b/inherit_graph_132.svg new file mode 100644 index 000000000..07acb227e --- /dev/null +++ b/inherit_graph_132.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +nixd::Configuration + + + + + diff --git a/inherit_graph_133.map b/inherit_graph_133.map new file mode 100644 index 000000000..df2a6e7a1 --- /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..6a812de46 --- /dev/null +++ b/inherit_graph_133.md5 @@ -0,0 +1 @@ +3fd7116f9abaae14effcb102b4082b0f \ No newline at end of file diff --git a/inherit_graph_133.svg b/inherit_graph_133.svg new file mode 100644 index 000000000..3a104057b --- /dev/null +++ b/inherit_graph_133.svg @@ -0,0 +1,22 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +nixd::Configuration +::Diagnostic + + + + + diff --git a/inherit_graph_134.map b/inherit_graph_134.map new file mode 100644 index 000000000..7dbbbb274 --- /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..b1543ec88 --- /dev/null +++ b/inherit_graph_134.md5 @@ -0,0 +1 @@ +be0b696b8dbb7504fb1014674209d1b0 \ No newline at end of file diff --git a/inherit_graph_134.svg b/inherit_graph_134.svg new file mode 100644 index 000000000..44d7e4d17 --- /dev/null +++ b/inherit_graph_134.svg @@ -0,0 +1,22 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +nixd::Configuration +::Formatting + + + + + diff --git a/inherit_graph_135.map b/inherit_graph_135.map new file mode 100644 index 000000000..015908f5a --- /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..b360c06cf --- /dev/null +++ b/inherit_graph_135.md5 @@ -0,0 +1 @@ +2a148fe09ce111086886a4fa7ded359e \ No newline at end of file diff --git a/inherit_graph_135.svg b/inherit_graph_135.svg new file mode 100644 index 000000000..3194b81e4 --- /dev/null +++ b/inherit_graph_135.svg @@ -0,0 +1,22 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +nixd::Configuration +::NixpkgsProvider + + + + + diff --git a/inherit_graph_136.map b/inherit_graph_136.map new file mode 100644 index 000000000..a65fca9c5 --- /dev/null +++ b/inherit_graph_136.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_136.md5 b/inherit_graph_136.md5 new file mode 100644 index 000000000..8a817232e --- /dev/null +++ b/inherit_graph_136.md5 @@ -0,0 +1 @@ +231f7efcc23348399a345cba4cc0eac7 \ No newline at end of file diff --git a/inherit_graph_136.svg b/inherit_graph_136.svg new file mode 100644 index 000000000..4f4f3eb1e --- /dev/null +++ b/inherit_graph_136.svg @@ -0,0 +1,22 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +nixd::Configuration +::OptionProvider + + + + + diff --git a/inherit_graph_137.map b/inherit_graph_137.map new file mode 100644 index 000000000..7635064b2 --- /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..c1423e99a --- /dev/null +++ b/inherit_graph_137.md5 @@ -0,0 +1 @@ +1ba5dbbc0819a530158ef76316583644 \ No newline at end of file diff --git a/inherit_graph_137.svg b/inherit_graph_137.svg new file mode 100644 index 000000000..996d72765 --- /dev/null +++ b/inherit_graph_137.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +nixd::NixTU + + + + + diff --git a/inherit_graph_138.map b/inherit_graph_138.map new file mode 100644 index 000000000..896d03e22 --- /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..ba6528077 --- /dev/null +++ b/inherit_graph_138.md5 @@ -0,0 +1 @@ +957bb3995c87c7f978092c8e269d6bf2 \ No newline at end of file diff --git a/inherit_graph_138.svg b/inherit_graph_138.svg new file mode 100644 index 000000000..b19f8b703 --- /dev/null +++ b/inherit_graph_138.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +nixd::OptionDescription + + + + + diff --git a/inherit_graph_139.map b/inherit_graph_139.map new file mode 100644 index 000000000..17f22210e --- /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..0f76335e8 --- /dev/null +++ b/inherit_graph_139.md5 @@ -0,0 +1 @@ +5ee62d54a16fc58a004b7793a1ef10a7 \ No newline at end of file diff --git a/inherit_graph_139.svg b/inherit_graph_139.svg new file mode 100644 index 000000000..6b9fd8a57 --- /dev/null +++ b/inherit_graph_139.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +nixd::OptionField + + + + + 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..bd3e70ccd --- /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..d5ecc5446 --- /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..59972d9a9 --- /dev/null +++ b/inherit_graph_140.md5 @@ -0,0 +1 @@ +f10fd289ed663bb66d4a163063a5b1d5 \ No newline at end of file diff --git a/inherit_graph_140.svg b/inherit_graph_140.svg new file mode 100644 index 000000000..c2c5af57c --- /dev/null +++ b/inherit_graph_140.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +nixd::OptionType + + + + + diff --git a/inherit_graph_141.map b/inherit_graph_141.map new file mode 100644 index 000000000..5bc6bcf21 --- /dev/null +++ b/inherit_graph_141.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_141.md5 b/inherit_graph_141.md5 new file mode 100644 index 000000000..84d0a0fd6 --- /dev/null +++ b/inherit_graph_141.md5 @@ -0,0 +1 @@ +bb478fbfe15efb756d51aab11fea9af9 \ No newline at end of file diff --git a/inherit_graph_141.svg b/inherit_graph_141.svg new file mode 100644 index 000000000..dfbe67198 --- /dev/null +++ b/inherit_graph_141.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +nixd::PackageDescription + + + + + diff --git a/inherit_graph_142.map b/inherit_graph_142.map new file mode 100644 index 000000000..74b7a5f58 --- /dev/null +++ b/inherit_graph_142.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_142.md5 b/inherit_graph_142.md5 new file mode 100644 index 000000000..dd450abb2 --- /dev/null +++ b/inherit_graph_142.md5 @@ -0,0 +1 @@ +9eac6dbd6b70be6034b4ba6820df6880 \ No newline at end of file diff --git a/inherit_graph_142.svg b/inherit_graph_142.svg new file mode 100644 index 000000000..eb93d869b --- /dev/null +++ b/inherit_graph_142.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +nixd::rpc::ExprValueParams + + + + + diff --git a/inherit_graph_143.map b/inherit_graph_143.map new file mode 100644 index 000000000..18869ad92 --- /dev/null +++ b/inherit_graph_143.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_143.md5 b/inherit_graph_143.md5 new file mode 100644 index 000000000..0392bd4ec --- /dev/null +++ b/inherit_graph_143.md5 @@ -0,0 +1 @@ +550a1fd19834aa810b46e4e4dabda154 \ No newline at end of file diff --git a/inherit_graph_143.svg b/inherit_graph_143.svg new file mode 100644 index 000000000..db994c6d3 --- /dev/null +++ b/inherit_graph_143.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +nixd::rpc::ExprValueResponse + + + + + diff --git a/inherit_graph_144.map b/inherit_graph_144.map new file mode 100644 index 000000000..5e994e037 --- /dev/null +++ b/inherit_graph_144.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_144.md5 b/inherit_graph_144.md5 new file mode 100644 index 000000000..105ecd331 --- /dev/null +++ b/inherit_graph_144.md5 @@ -0,0 +1 @@ +966713de3357624194a9b5dfcc93165c \ No newline at end of file diff --git a/inherit_graph_144.svg b/inherit_graph_144.svg new file mode 100644 index 000000000..6d7a000fe --- /dev/null +++ b/inherit_graph_144.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +nixd::rpc::RegisterBCParams + + + + + diff --git a/inherit_graph_145.map b/inherit_graph_145.map new file mode 100644 index 000000000..2f71002a4 --- /dev/null +++ b/inherit_graph_145.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_145.md5 b/inherit_graph_145.md5 new file mode 100644 index 000000000..502bf64f9 --- /dev/null +++ b/inherit_graph_145.md5 @@ -0,0 +1 @@ +c4dbf12cc3841e8669c36545fec89acf \ No newline at end of file diff --git a/inherit_graph_145.svg b/inherit_graph_145.svg new file mode 100644 index 000000000..8829c2d99 --- /dev/null +++ b/inherit_graph_145.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +nixd::StreamProc + + + + + diff --git a/inherit_graph_146.map b/inherit_graph_146.map new file mode 100644 index 000000000..1a69823d9 --- /dev/null +++ b/inherit_graph_146.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_146.md5 b/inherit_graph_146.md5 new file mode 100644 index 000000000..98b93e246 --- /dev/null +++ b/inherit_graph_146.md5 @@ -0,0 +1 @@ +f0c255b33ed30d203284c5243d998ce5 \ No newline at end of file diff --git a/inherit_graph_146.svg b/inherit_graph_146.svg new file mode 100644 index 000000000..445aa7b31 --- /dev/null +++ b/inherit_graph_146.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +nixd::util::AutoCloseFD + + + + + diff --git a/inherit_graph_147.map b/inherit_graph_147.map new file mode 100644 index 000000000..3ccab938e --- /dev/null +++ b/inherit_graph_147.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_147.md5 b/inherit_graph_147.md5 new file mode 100644 index 000000000..a00f5d946 --- /dev/null +++ b/inherit_graph_147.md5 @@ -0,0 +1 @@ +6aef7d262ce8c80d8b2ec9f1d194b068 \ No newline at end of file diff --git a/inherit_graph_147.svg b/inherit_graph_147.svg new file mode 100644 index 000000000..0ed3322eb --- /dev/null +++ b/inherit_graph_147.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +nixd::util::AutoRemoveShm + + + + + diff --git a/inherit_graph_148.map b/inherit_graph_148.map new file mode 100644 index 000000000..29a1d7fdb --- /dev/null +++ b/inherit_graph_148.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_148.md5 b/inherit_graph_148.md5 new file mode 100644 index 000000000..891cb91eb --- /dev/null +++ b/inherit_graph_148.md5 @@ -0,0 +1 @@ +929c4c26f00b7aee82561dea39e6c450 \ No newline at end of file diff --git a/inherit_graph_148.svg b/inherit_graph_148.svg new file mode 100644 index 000000000..ddd9e5e40 --- /dev/null +++ b/inherit_graph_148.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +nixd::util::OwnedRegion + + + + + diff --git a/inherit_graph_149.map b/inherit_graph_149.map new file mode 100644 index 000000000..c2a90a74b --- /dev/null +++ b/inherit_graph_149.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_149.md5 b/inherit_graph_149.md5 new file mode 100644 index 000000000..71e5c6156 --- /dev/null +++ b/inherit_graph_149.md5 @@ -0,0 +1 @@ +21e18c19217e2f11ae5aca71ccb3644b \ No newline at end of file diff --git a/inherit_graph_149.svg b/inherit_graph_149.svg new file mode 100644 index 000000000..a9e6a7aa7 --- /dev/null +++ b/inherit_graph_149.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +nixd::util::PipedProc + + + + + 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..a06975bec --- /dev/null +++ b/inherit_graph_15.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +lspserver::CodeActionContext + + + + + diff --git a/inherit_graph_150.map b/inherit_graph_150.map new file mode 100644 index 000000000..b8cbdc149 --- /dev/null +++ b/inherit_graph_150.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_150.md5 b/inherit_graph_150.md5 new file mode 100644 index 000000000..7bcba6b17 --- /dev/null +++ b/inherit_graph_150.md5 @@ -0,0 +1 @@ +e157460e54bd36e3ce183480637e348e \ No newline at end of file diff --git a/inherit_graph_150.svg b/inherit_graph_150.svg new file mode 100644 index 000000000..5b89a8e8d --- /dev/null +++ b/inherit_graph_150.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +nixd::ValueMeta + + + + + diff --git a/inherit_graph_151.map b/inherit_graph_151.map new file mode 100644 index 000000000..8187aac58 --- /dev/null +++ b/inherit_graph_151.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_151.md5 b/inherit_graph_151.md5 new file mode 100644 index 000000000..7036a624f --- /dev/null +++ b/inherit_graph_151.md5 @@ -0,0 +1 @@ +8c7474faec7a0ce34ac4d78bfc026857 \ No newline at end of file diff --git a/inherit_graph_151.svg b/inherit_graph_151.svg new file mode 100644 index 000000000..781bd11a3 --- /dev/null +++ b/inherit_graph_151.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +nixf::Attribute + + + + + diff --git a/inherit_graph_152.map b/inherit_graph_152.map new file mode 100644 index 000000000..3c87eb384 --- /dev/null +++ b/inherit_graph_152.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_152.md5 b/inherit_graph_152.md5 new file mode 100644 index 000000000..088b6999d --- /dev/null +++ b/inherit_graph_152.md5 @@ -0,0 +1 @@ +dd9020da75f70e2dd5d17259ccb75dc9 \ No newline at end of file diff --git a/inherit_graph_152.svg b/inherit_graph_152.svg new file mode 100644 index 000000000..c38ec694d --- /dev/null +++ b/inherit_graph_152.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +nixf::Definition + + + + + diff --git a/inherit_graph_153.map b/inherit_graph_153.map new file mode 100644 index 000000000..a0d981eb0 --- /dev/null +++ b/inherit_graph_153.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_153.md5 b/inherit_graph_153.md5 new file mode 100644 index 000000000..d4ba3ae8f --- /dev/null +++ b/inherit_graph_153.md5 @@ -0,0 +1 @@ +d9a253fd1df5ecf8a093cd01338010d6 \ No newline at end of file diff --git a/inherit_graph_153.svg b/inherit_graph_153.svg new file mode 100644 index 000000000..4d734cb1e --- /dev/null +++ b/inherit_graph_153.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +nixf::EnvNode + + + + + diff --git a/inherit_graph_154.map b/inherit_graph_154.map new file mode 100644 index 000000000..934a54033 --- /dev/null +++ b/inherit_graph_154.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_154.md5 b/inherit_graph_154.md5 new file mode 100644 index 000000000..b14dbc77b --- /dev/null +++ b/inherit_graph_154.md5 @@ -0,0 +1 @@ +3c9e80f5091f4de3b4ac09a0f9432e96 \ No newline at end of file diff --git a/inherit_graph_154.svg b/inherit_graph_154.svg new file mode 100644 index 000000000..afa27d1a6 --- /dev/null +++ b/inherit_graph_154.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +nixf::Fix + + + + + diff --git a/inherit_graph_155.map b/inherit_graph_155.map new file mode 100644 index 000000000..a556c92dc --- /dev/null +++ b/inherit_graph_155.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_155.md5 b/inherit_graph_155.md5 new file mode 100644 index 000000000..4e51ed2be --- /dev/null +++ b/inherit_graph_155.md5 @@ -0,0 +1 @@ +2b2223c6d7e3ad7a2838cc0a9ebe31e6 \ No newline at end of file diff --git a/inherit_graph_155.svg b/inherit_graph_155.svg new file mode 100644 index 000000000..874d4dbfa --- /dev/null +++ b/inherit_graph_155.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +nixf::InterpolablePart + + + + + diff --git a/inherit_graph_156.map b/inherit_graph_156.map new file mode 100644 index 000000000..61319f563 --- /dev/null +++ b/inherit_graph_156.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_156.md5 b/inherit_graph_156.md5 new file mode 100644 index 000000000..8567d9a83 --- /dev/null +++ b/inherit_graph_156.md5 @@ -0,0 +1 @@ +c1e431ca5ab7622fa8b136e78b4df7f5 \ No newline at end of file diff --git a/inherit_graph_156.svg b/inherit_graph_156.svg new file mode 100644 index 000000000..83cabcaa3 --- /dev/null +++ b/inherit_graph_156.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +nixf::Lexer + + + + + diff --git a/inherit_graph_157.map b/inherit_graph_157.map new file mode 100644 index 000000000..272e29732 --- /dev/null +++ b/inherit_graph_157.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_157.md5 b/inherit_graph_157.md5 new file mode 100644 index 000000000..893b3f3ea --- /dev/null +++ b/inherit_graph_157.md5 @@ -0,0 +1 @@ +d50e474a811cf2329c2dea8dd7994fe1 \ No newline at end of file diff --git a/inherit_graph_157.svg b/inherit_graph_157.svg new file mode 100644 index 000000000..142081c19 --- /dev/null +++ b/inherit_graph_157.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +nixf::LexerCursor + + + + + diff --git a/inherit_graph_158.map b/inherit_graph_158.map new file mode 100644 index 000000000..9e2efe393 --- /dev/null +++ b/inherit_graph_158.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_158.md5 b/inherit_graph_158.md5 new file mode 100644 index 000000000..90aa1f27a --- /dev/null +++ b/inherit_graph_158.md5 @@ -0,0 +1 @@ +dff48bb4006af41743d4ad500699e1c0 \ No newline at end of file diff --git a/inherit_graph_158.svg b/inherit_graph_158.svg new file mode 100644 index 000000000..6f8c50ebb --- /dev/null +++ b/inherit_graph_158.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +nixf::LexerCursorRange + + + + + diff --git a/inherit_graph_159.map b/inherit_graph_159.map new file mode 100644 index 000000000..61c934f59 --- /dev/null +++ b/inherit_graph_159.map @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/inherit_graph_159.md5 b/inherit_graph_159.md5 new file mode 100644 index 000000000..51239992a --- /dev/null +++ b/inherit_graph_159.md5 @@ -0,0 +1 @@ +e7e03090a6fb20d9e8728791bc0fdc4a \ No newline at end of file diff --git a/inherit_graph_159.svg b/inherit_graph_159.svg new file mode 100644 index 000000000..72358ea26 --- /dev/null +++ b/inherit_graph_159.svg @@ -0,0 +1,651 @@ + + + + + + +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::Dot + + + + + +Node0->Node5 + + + + + + + + +Node6 + + +nixf::Expr + + + + + +Node0->Node6 + + + + + + + + +Node27 + + +nixf::Formal + + + + + +Node0->Node27 + + + + + + + + +Node28 + + +nixf::Formals + + + + + +Node0->Node28 + + + + + + + + +Node29 + + +nixf::Identifier + + + + + +Node0->Node29 + + + + + + + + +Node30 + + +nixf::Inherit + + + + + +Node0->Node30 + + + + + + + + +Node31 + + +nixf::InterpolatedParts + + + + + +Node0->Node31 + + + + + + + + +Node32 + + +nixf::Interpolation + + + + + +Node0->Node32 + + + + + + + + +Node33 + + +nixf::LambdaArg + + + + + +Node0->Node33 + + + + + + + + +Node34 + + +nixf::Misc + + + + + +Node0->Node34 + + + + + + + + +Node35 + + +nixf::Op + + + + + +Node0->Node35 + + + + + + + + +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::ExprSPath + + + + + +Node6->Node22 + + + + + + + + +Node23 + + +nixf::ExprSelect + + + + + +Node6->Node23 + + + + + + + + +Node24 + + +nixf::ExprString + + + + + +Node6->Node24 + + + + + + + + +Node25 + + +nixf::ExprVar + + + + + +Node6->Node25 + + + + + + + + +Node26 + + +nixf::ExprWith + + + + + +Node6->Node26 + + + + + + + + +Node17 + + +nixf::ExprBinOp + + + + + +Node16->Node17 + + + + + + + + +Node18 + + +nixf::ExprOpHasAttr + + + + + +Node16->Node18 + + + + + + + + +Node19 + + +nixf::ExprUnaryOp + + + + + +Node16->Node19 + + + + + + + + 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..ee76dc527 --- /dev/null +++ b/inherit_graph_16.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +lspserver::CodeActionParams + + + + + diff --git a/inherit_graph_160.map b/inherit_graph_160.map new file mode 100644 index 000000000..b87bb99fc --- /dev/null +++ b/inherit_graph_160.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_160.md5 b/inherit_graph_160.md5 new file mode 100644 index 000000000..d76ecb687 --- /dev/null +++ b/inherit_graph_160.md5 @@ -0,0 +1 @@ +9d3a75f2a5825f706798c40a4b2f9652 \ No newline at end of file diff --git a/inherit_graph_160.svg b/inherit_graph_160.svg new file mode 100644 index 000000000..832dde25e --- /dev/null +++ b/inherit_graph_160.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +nixf::ParentMapAnalysis + + + + + diff --git a/inherit_graph_161.map b/inherit_graph_161.map new file mode 100644 index 000000000..41bf6828b --- /dev/null +++ b/inherit_graph_161.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_161.md5 b/inherit_graph_161.md5 new file mode 100644 index 000000000..0efd945d5 --- /dev/null +++ b/inherit_graph_161.md5 @@ -0,0 +1 @@ +35b1e6bb8b7445497b1482ce737bd955 \ No newline at end of file diff --git a/inherit_graph_161.svg b/inherit_graph_161.svg new file mode 100644 index 000000000..5031468f8 --- /dev/null +++ b/inherit_graph_161.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +nixf::Parser + + + + + diff --git a/inherit_graph_162.map b/inherit_graph_162.map new file mode 100644 index 000000000..1bbf53f83 --- /dev/null +++ b/inherit_graph_162.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/inherit_graph_162.md5 b/inherit_graph_162.md5 new file mode 100644 index 000000000..3ad8da152 --- /dev/null +++ b/inherit_graph_162.md5 @@ -0,0 +1 @@ +ff4549fb053c34ab5c975c8749db97e5 \ No newline at end of file diff --git a/inherit_graph_162.svg b/inherit_graph_162.svg new file mode 100644 index 000000000..309cd46a5 --- /dev/null +++ b/inherit_graph_162.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_163.map b/inherit_graph_163.map new file mode 100644 index 000000000..8e1d733ac --- /dev/null +++ b/inherit_graph_163.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_163.md5 b/inherit_graph_163.md5 new file mode 100644 index 000000000..b83ee99c8 --- /dev/null +++ b/inherit_graph_163.md5 @@ -0,0 +1 @@ +2fe4ea90867358896c3f2e8816f7d411 \ No newline at end of file diff --git a/inherit_graph_163.svg b/inherit_graph_163.svg new file mode 100644 index 000000000..cabc304c3 --- /dev/null +++ b/inherit_graph_163.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +nixf::Position + + + + + diff --git a/inherit_graph_164.map b/inherit_graph_164.map new file mode 100644 index 000000000..997e50a4d --- /dev/null +++ b/inherit_graph_164.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_164.md5 b/inherit_graph_164.md5 new file mode 100644 index 000000000..2a4c6f9d1 --- /dev/null +++ b/inherit_graph_164.md5 @@ -0,0 +1 @@ +c6b95418a41baa2d3006d9cc670f7322 \ No newline at end of file diff --git a/inherit_graph_164.svg b/inherit_graph_164.svg new file mode 100644 index 000000000..ffaa7b287 --- /dev/null +++ b/inherit_graph_164.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +nixf::PositionRange + + + + + diff --git a/inherit_graph_165.map b/inherit_graph_165.map new file mode 100644 index 000000000..15fbf9e8b --- /dev/null +++ b/inherit_graph_165.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_165.md5 b/inherit_graph_165.md5 new file mode 100644 index 000000000..6ac6ea95d --- /dev/null +++ b/inherit_graph_165.md5 @@ -0,0 +1 @@ +ed609be1784bca96237c02a8ed8bba53 \ No newline at end of file diff --git a/inherit_graph_165.svg b/inherit_graph_165.svg new file mode 100644 index 000000000..35b2c6b22 --- /dev/null +++ b/inherit_graph_165.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +nixf::Sema + + + + + diff --git a/inherit_graph_166.map b/inherit_graph_166.map new file mode 100644 index 000000000..91d09feb8 --- /dev/null +++ b/inherit_graph_166.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_166.md5 b/inherit_graph_166.md5 new file mode 100644 index 000000000..2cb70b145 --- /dev/null +++ b/inherit_graph_166.md5 @@ -0,0 +1 @@ +bd8692e55d47afa628889e61cb7f4f67 \ No newline at end of file diff --git a/inherit_graph_166.svg b/inherit_graph_166.svg new file mode 100644 index 000000000..d747d5a57 --- /dev/null +++ b/inherit_graph_166.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +nixf::SemaAttrs + + + + + diff --git a/inherit_graph_167.map b/inherit_graph_167.map new file mode 100644 index 000000000..6c76705f5 --- /dev/null +++ b/inherit_graph_167.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_167.md5 b/inherit_graph_167.md5 new file mode 100644 index 000000000..b38919708 --- /dev/null +++ b/inherit_graph_167.md5 @@ -0,0 +1 @@ +28be3343f9a1094d387c5e27753fdacc \ No newline at end of file diff --git a/inherit_graph_167.svg b/inherit_graph_167.svg new file mode 100644 index 000000000..ca0851bcf --- /dev/null +++ b/inherit_graph_167.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +nixf::TextEdit + + + + + diff --git a/inherit_graph_168.map b/inherit_graph_168.map new file mode 100644 index 000000000..c46124628 --- /dev/null +++ b/inherit_graph_168.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_168.md5 b/inherit_graph_168.md5 new file mode 100644 index 000000000..4ddc7ed52 --- /dev/null +++ b/inherit_graph_168.md5 @@ -0,0 +1 @@ +9b8a248b016a9795b17284e25fe332a2 \ No newline at end of file diff --git a/inherit_graph_168.svg b/inherit_graph_168.svg new file mode 100644 index 000000000..c9e715e46 --- /dev/null +++ b/inherit_graph_168.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +nixf::Token + + + + + diff --git a/inherit_graph_169.map b/inherit_graph_169.map new file mode 100644 index 000000000..0e2dcb153 --- /dev/null +++ b/inherit_graph_169.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_169.md5 b/inherit_graph_169.md5 new file mode 100644 index 000000000..4afc25bb4 --- /dev/null +++ b/inherit_graph_169.md5 @@ -0,0 +1 @@ +c3d273c96f8fa4631bcc8453bd7ad301 \ No newline at end of file diff --git a/inherit_graph_169.svg b/inherit_graph_169.svg new file mode 100644 index 000000000..7cc3c1665 --- /dev/null +++ b/inherit_graph_169.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +nixf::VariableLookupAnalysis + + + + + 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..b4d3bee80 --- /dev/null +++ b/inherit_graph_17.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +lspserver::CodeDescription + + + + + diff --git a/inherit_graph_170.map b/inherit_graph_170.map new file mode 100644 index 000000000..295bfcbfd --- /dev/null +++ b/inherit_graph_170.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_170.md5 b/inherit_graph_170.md5 new file mode 100644 index 000000000..2964f7d88 --- /dev/null +++ b/inherit_graph_170.md5 @@ -0,0 +1 @@ +55291ae5a0da6f0afebf04ac8e568dbf \ No newline at end of file diff --git a/inherit_graph_170.svg b/inherit_graph_170.svg new file mode 100644 index 000000000..4dcfac809 --- /dev/null +++ b/inherit_graph_170.svg @@ -0,0 +1,22 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +nixf::VariableLookupAnalysis +::LookupResult + + + + + diff --git a/inherit_graph_171.map b/inherit_graph_171.map new file mode 100644 index 000000000..b716416d7 --- /dev/null +++ b/inherit_graph_171.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_171.md5 b/inherit_graph_171.md5 new file mode 100644 index 000000000..d5eae7f2d --- /dev/null +++ b/inherit_graph_171.md5 @@ -0,0 +1 @@ +dcabaf74515323db6c05a69816a5cd27 \ No newline at end of file diff --git a/inherit_graph_171.svg b/inherit_graph_171.svg new file mode 100644 index 000000000..4240beb26 --- /dev/null +++ b/inherit_graph_171.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +nixt::ArrayRef< T > + + + + + diff --git a/inherit_graph_172.map b/inherit_graph_172.map new file mode 100644 index 000000000..40b524c47 --- /dev/null +++ b/inherit_graph_172.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_172.md5 b/inherit_graph_172.md5 new file mode 100644 index 000000000..a3fcdbb50 --- /dev/null +++ b/inherit_graph_172.md5 @@ -0,0 +1 @@ +f9d0ea46cd4e9c70a054ad39d8b9258d \ No newline at end of file diff --git a/inherit_graph_172.svg b/inherit_graph_172.svg new file mode 100644 index 000000000..bad080ddb --- /dev/null +++ b/inherit_graph_172.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +nixt::ASTHeader + + + + + diff --git a/inherit_graph_173.map b/inherit_graph_173.map new file mode 100644 index 000000000..52721bbeb --- /dev/null +++ b/inherit_graph_173.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_173.md5 b/inherit_graph_173.md5 new file mode 100644 index 000000000..cde1a663c --- /dev/null +++ b/inherit_graph_173.md5 @@ -0,0 +1 @@ +aa4b1b85ca6240e79e3e95e5166611fe \ No newline at end of file diff --git a/inherit_graph_173.svg b/inherit_graph_173.svg new file mode 100644 index 000000000..561565814 --- /dev/null +++ b/inherit_graph_173.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +nixt::DeserializeContext + + + + + diff --git a/inherit_graph_174.map b/inherit_graph_174.map new file mode 100644 index 000000000..9ae15b909 --- /dev/null +++ b/inherit_graph_174.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_174.md5 b/inherit_graph_174.md5 new file mode 100644 index 000000000..e4e7ffca8 --- /dev/null +++ b/inherit_graph_174.md5 @@ -0,0 +1 @@ +99eb490f6fb9e2ff15a38fdf92fc05cf \ No newline at end of file diff --git a/inherit_graph_174.svg b/inherit_graph_174.svg new file mode 100644 index 000000000..188c343e4 --- /dev/null +++ b/inherit_graph_174.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +nixt::detail::EvalCacheF + + + + + diff --git a/inherit_graph_175.map b/inherit_graph_175.map new file mode 100644 index 000000000..318645483 --- /dev/null +++ b/inherit_graph_175.map @@ -0,0 +1,5 @@ + + + + + diff --git a/inherit_graph_175.md5 b/inherit_graph_175.md5 new file mode 100644 index 000000000..8cb6e1382 --- /dev/null +++ b/inherit_graph_175.md5 @@ -0,0 +1 @@ +c115e52e3733903382f335547da87839 \ No newline at end of file diff --git a/inherit_graph_175.svg b/inherit_graph_175.svg new file mode 100644 index 000000000..85e5494a0 --- /dev/null +++ b/inherit_graph_175.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_176.map b/inherit_graph_176.map new file mode 100644 index 000000000..818320c04 --- /dev/null +++ b/inherit_graph_176.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_176.md5 b/inherit_graph_176.md5 new file mode 100644 index 000000000..180ba90c8 --- /dev/null +++ b/inherit_graph_176.md5 @@ -0,0 +1 @@ +50ef14b1574587338860f0fd8da4eb5a \ No newline at end of file diff --git a/inherit_graph_176.svg b/inherit_graph_176.svg new file mode 100644 index 000000000..95ffbb634 --- /dev/null +++ b/inherit_graph_176.svg @@ -0,0 +1,22 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +nixt::detail::RB< Tag, + p >::F + + + + + diff --git a/inherit_graph_177.map b/inherit_graph_177.map new file mode 100644 index 000000000..342b32e09 --- /dev/null +++ b/inherit_graph_177.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_177.md5 b/inherit_graph_177.md5 new file mode 100644 index 000000000..23eae37d4 --- /dev/null +++ b/inherit_graph_177.md5 @@ -0,0 +1 @@ +f3a48caa41803c253b6c1ea38779bcb0 \ No newline at end of file diff --git a/inherit_graph_177.svg b/inherit_graph_177.svg new file mode 100644 index 000000000..031ae6efa --- /dev/null +++ b/inherit_graph_177.svg @@ -0,0 +1,22 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +nixt::PtrPool< nix +::Expr > + + + + + diff --git a/inherit_graph_178.map b/inherit_graph_178.map new file mode 100644 index 000000000..7c7a7ceac --- /dev/null +++ b/inherit_graph_178.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_178.md5 b/inherit_graph_178.md5 new file mode 100644 index 000000000..eb2ce64ea --- /dev/null +++ b/inherit_graph_178.md5 @@ -0,0 +1 @@ +1f0b0f75b6950817aa7fa888199494cb \ No newline at end of file diff --git a/inherit_graph_178.svg b/inherit_graph_178.svg new file mode 100644 index 000000000..c23e66b2a --- /dev/null +++ b/inherit_graph_178.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +nixt::PtrPool< T > + + + + + diff --git a/inherit_graph_179.map b/inherit_graph_179.map new file mode 100644 index 000000000..cbc43f66a --- /dev/null +++ b/inherit_graph_179.map @@ -0,0 +1,3 @@ + + + diff --git a/inherit_graph_179.md5 b/inherit_graph_179.md5 new file mode 100644 index 000000000..2680b28e5 --- /dev/null +++ b/inherit_graph_179.md5 @@ -0,0 +1 @@ +3205507a413eed214175a605de6040c4 \ No newline at end of file diff --git a/inherit_graph_179.svg b/inherit_graph_179.svg new file mode 100644 index 000000000..cf2d743a9 --- /dev/null +++ b/inherit_graph_179.svg @@ -0,0 +1,22 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +nixt::RecursiveASTVisitor +< Derived > + + + + + 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..589d26eec --- /dev/null +++ b/inherit_graph_18.svg @@ -0,0 +1,21 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +lspserver::CompletionContext + + + + + diff --git a/inherit_graph_180.map b/inherit_graph_180.map new file mode 100644 index 000000000..77cbba511 --- /dev/null +++ b/inherit_graph_180.map @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/inherit_graph_180.md5 b/inherit_graph_180.md5 new file mode 100644 index 000000000..3f1b8ff33 --- /dev/null +++ b/inherit_graph_180.md5 @@ -0,0 +1 @@ +a54a8fba8e4258b46d52403415244cea \ No newline at end of file diff --git a/inherit_graph_180.svg b/inherit_graph_180.svg new file mode 100644 index 000000000..a99873c17 --- /dev/null +++ b/inherit_graph_180.svg @@ -0,0 +1,261 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +std::exception + + + + + +Node1 + + +nixd::CannotFindVarException + + + + + +Node0->Node1 + + + + + + + + +Node2 + + +nixd::LLVMErrorException + + + + + +Node0->Node2 + + + + + + + + +Node5 + + +nixd::idioms::IdiomException + + + + + +Node0->Node5 + + + + + + + + +Node6 + + +nixd::idioms::IdiomSelector +Exception + + + + + +Node0->Node6 + + + + + + + + +Node10 + + +nixd::idioms::NoLocation +ForBuiltinVariable + + + + + +Node0->Node10 + + + + + + + + +Node11 + + +nixd::idioms::VLAException + + + + + +Node0->Node11 + + + + + + + + +Node3 + + +nixd::JSONParseException + + + + + +Node2->Node3 + + + + + + + + +Node4 + + +nixd::JSONSchemaException + + + + + +Node2->Node4 + + + + + + + + +Node7 + + +nixd::idioms::DynamicName +Exception + + + + + +Node6->Node7 + + + + + + + + +Node8 + + +nixd::idioms::NotAnIdiom +Exception + + + + + +Node6->Node8 + + + + + + + + +Node9 + + +nixd::idioms::NotVariable +Select + + + + + +Node6->Node9 + + + + + + + + +Node12 + + +nixd::idioms::NoSuchVarException + + + + + +Node11->Node12 + + + + + + + + +Node13 + + +nixd::idioms::UndefinedVar +Exception + + + + + +Node11->Node13 + + + + + + + + diff --git a/inherit_graph_181.map b/inherit_graph_181.map new file mode 100644 index 000000000..a5c413ee3 --- /dev/null +++ b/inherit_graph_181.map @@ -0,0 +1,5 @@ + + + + + diff --git a/inherit_graph_181.md5 b/inherit_graph_181.md5 new file mode 100644 index 000000000..60039ba0b --- /dev/null +++ b/inherit_graph_181.md5 @@ -0,0 +1 @@ +1793866550fb53f82ca56d4f2d41eaa3 \ No newline at end of file diff --git a/inherit_graph_181.svg b/inherit_graph_181.svg new file mode 100644 index 000000000..4a2c9e789 --- /dev/null +++ b/inherit_graph_181.svg @@ -0,0 +1,39 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +TypedDict + + + + + +Node1 + + +diagnostic.Diagnostic + + + + + +Node0->Node1 + + + + + + + + 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..811188b28 --- /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..31edf1277 --- /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..f2ed0e194 --- /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..47e4ea5a2 --- /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..115550f83 --- /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..c9d86a1b5 --- /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..e49a028ff --- /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..7337dd97f --- /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..a2390b246 --- /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..94213d96e --- /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..b3a2f7736 --- /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..a40edb162 --- /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..84f7e5eea --- /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..3c262ca3b --- /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..2ba516246 --- /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..27fd4e24f --- /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..241a37e2c --- /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..b18b0d066 --- /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..6b279b865 --- /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..9f75761e2 --- /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..a651a0969 --- /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..b54e6b377 --- /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..e13e51d13 --- /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..1307e2971 --- /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..612bd8612 --- /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..deb95bd51 --- /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..f3b170aae --- /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..2f896ba64 --- /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..382d52d7e --- /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..74d756105 --- /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..d61934b9a --- /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..e6edb4606 --- /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..c5e2c5939 --- /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..7c324d775 --- /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..911945454 --- /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..bde4d5da5 --- /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..540eabbdf --- /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..23fad1e72 --- /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..112b4c9a6 --- /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..879af199b --- /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..d4c868ad5 --- /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..b7f787a55 --- /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..c495503c1 --- /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..9e3304f60 --- /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..2755363fe --- /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..749598a51 --- /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..15183e7bc --- /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..b82680b10 --- /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..be6f42821 --- /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..9b518e05e --- /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..423021c2c --- /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..915a9af83 --- /dev/null +++ b/inherit_graph_63.map @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + diff --git a/inherit_graph_63.md5 b/inherit_graph_63.md5 new file mode 100644 index 000000000..8747d23a3 --- /dev/null +++ b/inherit_graph_63.md5 @@ -0,0 +1 @@ +7ccbb2673d3a0d7edd158ec6d615a37c \ No newline at end of file diff --git a/inherit_graph_63.svg b/inherit_graph_63.svg new file mode 100644 index 000000000..d160a209b --- /dev/null +++ b/inherit_graph_63.svg @@ -0,0 +1,147 @@ + + + + + + +Graphical Class Hierarchy + + +Node0 + + +lspserver::MessageHandler + + + + + +Node1 + + +lspserver::LSPServer + + + + + +Node0->Node1 + + + + + + + + +Node2 + + +nixd::AttrSetClient + + + + + +Node1->Node2 + + + + + + + + +Node3 + + +nixd::AttrSetProvider + + + + + +Node1->Node3 + + + + + + + + +Node4 + + +nixd::Controller + + + + + +Node1->Node4 + + + + + + + + +Node5 + + +nixd::EvalClient + + + + + +Node1->Node5 + + + + + + + + +Node7 + + +nixd::EvalProvider + + + + + +Node1->Node7 + + + + + + + + +Node6 + + +nixd::OwnedEvalClient + + + + + +Node5->Node6 + + + + + + + + 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..21c2aa3fc --- /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..54b6e057e --- /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..9b1b0795d --- /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..265a26efd --- /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..a02a3fa3d --- /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..522baa9fb --- /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..ff5aa65ee --- /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..0fdc80147 --- /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..ccf53514c --- /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..df6f0f79c --- /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..79c13ccb2 --- /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..db2c3c1f1 --- /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..fc65a305e --- /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..5fc21cdb1 --- /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..96defc25f --- /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..c3db91094 --- /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..179a83182 --- /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..c918b8983 --- /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..4b448be9d --- /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..bcef6a8cc --- /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..841674735 --- /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..867fac5bd --- /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..5203dcdde --- /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..1a76c6890 --- /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..70ae82792 --- /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..2be524bc8 --- /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..4d9563ccf --- /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..f2ad9d043 --- /dev/null +++ b/inherit_graph_88.md5 @@ -0,0 +1 @@ +436e510767cfbdc463973477d2e7ce3b \ No newline at end of file diff --git a/inherit_graph_88.svg b/inherit_graph_88.svg new file mode 100644 index 000000000..58df0e3da --- /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..65ffa4c23 --- /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..880548b29 --- /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..208c07272 --- /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..f58e8b032 --- /dev/null +++ b/inherit_graph_90.md5 @@ -0,0 +1 @@ +8116dbba7b98d5f4bada90e35e98f1d0 \ No newline at end of file diff --git a/inherit_graph_90.svg b/inherit_graph_90.svg new file mode 100644 index 000000000..3c245829d --- /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..c7e601060 --- /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..ec3ada646 --- /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..4b4441b81 --- /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..c51912330 --- /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..003ac08ac --- /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..4a5c5e6b2 --- /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..5372b5b63 --- /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..06b2595cc --- /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..a40db2a54 --- /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..459d94ca0 --- /dev/null +++ b/inherits.html @@ -0,0 +1,269 @@ + + + + + + + +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/lib_2Protocol_2Protocol_8cpp.html b/lib_2Protocol_2Protocol_8cpp.html new file mode 100644 index 000000000..f124dcdbb --- /dev/null +++ b/lib_2Protocol_2Protocol_8cpp.html @@ -0,0 +1,116 @@ + + + + + + + +nixd: Protocol.cpp File Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
Protocol.cpp File Reference
+
+
+ +

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/lib_2Protocol_2Protocol_8cpp_source.html b/lib_2Protocol_2Protocol_8cpp_source.html new file mode 100644 index 000000000..71a2061ce --- /dev/null +++ b/lib_2Protocol_2Protocol_8cpp_source.html @@ -0,0 +1,162 @@ + + + + + + + +nixd: Protocol.cpp Source File + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
lib/Protocol/Protocol.cpp
+
+
+Go to the documentation of this file.
+
2
+
3namespace nixd::rpc {
+
4
+
5using namespace llvm::json;
+
6
+
+ +
8 return Object{{"Shm", Params.Shm},
+
9 {"BasePath", Params.BasePath},
+
10 {"CachePath", Params.CachePath},
+
11 {"Size", Params.Size}};
+
12}
+
+
13
+
+
14bool fromJSON(const Value &Params, RegisterBCParams &R, Path P) {
+
15 ObjectMapper O(Params, P);
+
16 return O && O.map("Shm", R.Shm) && O.map("BasePath", R.BasePath) &&
+
17 O.map("CachePath", R.CachePath) && O.map("Size", R.Size);
+
18}
+
+
19
+
+ +
21 return Object{{"ExprID", Params.ExprID}};
+
22}
+
+
23
+
+
24bool fromJSON(const Value &Params, ExprValueParams &R, Path P) {
+
25 ObjectMapper O(Params, P);
+
26 return O && O.map("ExprID", R.ExprID);
+
27}
+
+
28
+
+ +
30 return Object{{"ResultKind", Params.ResultKind},
+
31 {"ValueID", Params.ValueID},
+
32 {"ValueKind", Params.ValueKind}};
+
33}
+
+
34
+
+
35bool fromJSON(const Value &Params, ExprValueResponse &R, Path P) {
+
36 ObjectMapper O(Params, P);
+
37 return O && O.map("ResultKind", R.ResultKind) &&
+
38 O.map("ValueID", R.ValueID) && O.map("ValueKind", R.ValueKind);
+
39}
+
+
40
+
41} // namespace nixd::rpc
+ +
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/libnixf_2README_8md.html b/libnixf_2README_8md.html new file mode 100644 index 000000000..ccd272335 --- /dev/null +++ b/libnixf_2README_8md.html @@ -0,0 +1,83 @@ + + + + + + + +nixd: README.md File Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
+
README.md File Reference
+
+
+
+ + + + diff --git a/libnixf_2include_2nixf_2Sema_2ParentMap_8h.html b/libnixf_2include_2nixf_2Sema_2ParentMap_8h.html new file mode 100644 index 000000000..af000e782 --- /dev/null +++ b/libnixf_2include_2nixf_2Sema_2ParentMap_8h.html @@ -0,0 +1,113 @@ + + + + + + + +nixd: ParentMap.h File Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+ +
ParentMap.h File Reference
+
+
+ +

ParentMap analysis. +More...

+
#include "nixf/Basic/Nodes/Basic.h"
+#include <map>
+
+

Go to the source code of this file.

+ + + + +

+Classes

class  nixf::ParentMapAnalysis
 
+ + + +

+Namespaces

namespace  nixf
 
+

Detailed Description

+

ParentMap analysis.

+

This is used to construct upward edges. For each node, record it's direct parent. (Abstract Syntax TREE only have one parent for each node).

+ +

Definition in file libnixf/include/nixf/Sema/ParentMap.h.

+
+ + + + diff --git a/libnixf_2include_2nixf_2Sema_2ParentMap_8h_source.html b/libnixf_2include_2nixf_2Sema_2ParentMap_8h_source.html new file mode 100644 index 000000000..e80251901 --- /dev/null +++ b/libnixf_2include_2nixf_2Sema_2ParentMap_8h_source.html @@ -0,0 +1,142 @@ + + + + + + + +nixd: ParentMap.h Source File + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
libnixf/include/nixf/Sema/ParentMap.h
+
+
+Go to the documentation of this file.
1/// \file
+
2/// \brief ParentMap analysis.
+
3///
+
4/// This is used to construct upward edges. For each node, record it's direct
+
5/// parent. (Abstract Syntax TREE only have one parent for each node).
+
6
+
7#pragma once
+
8
+ +
10
+
11#include <map>
+
12
+
13namespace nixf {
+
14
+
+ +
16 std::map<const Node *, const Node *> ParentMap;
+
17
+
18 void dfs(const Node *N, const Node *Parent);
+
19
+
20public:
+
21 void runOnAST(const Node &Root);
+
22
+
23 [[nodiscard]] const Node *query(const Node &N) const;
+
24
+
25 static bool isRoot(const Node *Up, const Node &N);
+
26
+
27 /// \brief Search up until the node becomes a concrete expression.
+
28 /// a
+
29 /// ^<----- ID -> ExprVar
+
30 [[nodiscard]] const Node *upExpr(const Node &N) const;
+
31
+
32 /// \brief Search up until some kind of node is found.
+
33 [[nodiscard]] const Node *upTo(const Node &N, Node::NodeKind Kind) const;
+
34
+
35 [[nodiscard]] bool isRoot(const Node &N) const;
+
36};
+
+
37
+
38} // namespace nixf
+ + + + +
const Node * upExpr(const Node &N) const
Search up until the node becomes a concrete expression. a ^<--— ID -> ExprVar.
+
static bool isRoot(const Node *Up, const Node &N)
+
const Node * upTo(const Node &N, Node::NodeKind Kind) const
Search up until some kind of node is found.
+ +
const Node * query(const Node &N) const
+ +
+ + + + diff --git a/libnixf_2src_2Sema_2ParentMap_8cpp.html b/libnixf_2src_2Sema_2ParentMap_8cpp.html new file mode 100644 index 000000000..c6769e2dd --- /dev/null +++ b/libnixf_2src_2Sema_2ParentMap_8cpp.html @@ -0,0 +1,90 @@ + + + + + + + +nixd: ParentMap.cpp File Reference + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
ParentMap.cpp File Reference
+
+ + + + + diff --git a/libnixf_2src_2Sema_2ParentMap_8cpp_source.html b/libnixf_2src_2Sema_2ParentMap_8cpp_source.html new file mode 100644 index 000000000..8a9121ddb --- /dev/null +++ b/libnixf_2src_2Sema_2ParentMap_8cpp_source.html @@ -0,0 +1,163 @@ + + + + + + + +nixd: ParentMap.cpp Source File + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
libnixf/src/Sema/ParentMap.cpp
+
+
+Go to the documentation of this file.
+
2
+
3using namespace nixf;
+
4
+
5void ParentMapAnalysis::dfs(const Node *N, const Node *Parent) {
+
6 if (!N)
+
7 return;
+
8 ParentMap.insert({N, Parent});
+
9 for (const Node *Ch : N->children())
+
10 dfs(Ch, N);
+
11}
+
12
+
+
13const Node *ParentMapAnalysis::query(const Node &N) const {
+
14 return ParentMap.contains(&N) ? ParentMap.at(&N) : nullptr;
+
15}
+
+
16
+
+
17const Node *ParentMapAnalysis::upExpr(const Node &N) const {
+
18
+
19 if (Expr::isExpr(N.kind()))
+
20 return &N;
+
21 const Node *Up = query(N);
+
22 if (isRoot(Up, N) || !Up)
+
23 return nullptr;
+
24 return upExpr(*Up);
+
25}
+
+
26
+
+
27const Node *ParentMapAnalysis::upTo(const Node &N, Node::NodeKind Kind) const {
+
28
+
29 if (N.kind() == Kind)
+
30 return &N;
+
31 const Node *Up = query(N);
+
32 if (isRoot(Up, N) || !Up)
+
33 return nullptr;
+
34 return upTo(*Up, Kind);
+
35}
+
+
36
+
+ +
38 // Special case. Root node has itself as "parent".
+
39 dfs(&Root, &Root);
+
40}
+
+
41
+
+
42bool nixf::ParentMapAnalysis::isRoot(const Node *Up, const Node &N) {
+
43 return Up == &N;
+
44}
+
+
45
+
+ +
47 return isRoot(query(N), N);
+
48}
+
+
static bool isExpr(NodeKind Kind)
Definition Basic.h:79
+ + +
NodeKind kind() const
Definition Basic.h:34
+
const Node * upExpr(const Node &N) const
Search up until the node becomes a concrete expression. a ^<--— ID -> ExprVar.
+
static bool isRoot(const Node *Up, const Node &N)
+
const Node * upTo(const Node &N, Node::NodeKind Kind) const
Search up until some kind of node is found.
+ +
const Node * query(const Node &N) const
+
ParentMap analysis.
+ +
+ + + + 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/libnixt_2include_2nixt_2ParentMap_8h.html b/libnixt_2include_2nixt_2ParentMap_8h.html new file mode 100644 index 000000000..80fb82aa6 --- /dev/null +++ b/libnixt_2include_2nixt_2ParentMap_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 EvalCache 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 libnixt/include/nixt/ParentMap.h.

+
+ + + + diff --git a/libnixt_2include_2nixt_2ParentMap_8h_source.html b/libnixt_2include_2nixt_2ParentMap_8h_source.html new file mode 100644 index 000000000..9b6dd2643 --- /dev/null +++ b/libnixt_2include_2nixt_2ParentMap_8h_source.html @@ -0,0 +1,112 @@ + + + + + + + +nixd: ParentMap.h Source File + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
libnixt/include/nixt/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 EvalCache 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".
+
ParentMap parentMap(const nix::Expr *Root)
Construct child -> parent relations of nix::Expr nodes.
+
+ + + + diff --git a/libnixt_2lib_2ParentMap_8cpp.html b/libnixt_2lib_2ParentMap_8cpp.html new file mode 100644 index 000000000..d9f8c8a7d --- /dev/null +++ b/libnixt_2lib_2ParentMap_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 EvalCache in nix::EvalState.
 
+ + + + +

+Functions

ParentMap nixt::parentMap (const nix::Expr *Root)
 Construct child -> parent relations of nix::Expr nodes.
 
+
+ + + + diff --git a/libnixt_2lib_2ParentMap_8cpp_source.html b/libnixt_2lib_2ParentMap_8cpp_source.html new file mode 100644 index 000000000..7ce9920b5 --- /dev/null +++ b/libnixt_2lib_2ParentMap_8cpp_source.html @@ -0,0 +1,136 @@ + + + + + + + +nixd: ParentMap.cpp Source File + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ + +
+
+
libnixt/lib/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 EvalCache 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".
+
ParentMap parentMap(const nix::Expr *Root)
Construct child -> parent relations of nix::Expr nodes.
+
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/lspserver_2include_2lspserver_2Protocol_8h.html b/lspserver_2include_2lspserver_2Protocol_8h.html new file mode 100644 index 000000000..5e6d947fa --- /dev/null +++ b/lspserver_2include_2lspserver_2Protocol_8h.html @@ -0,0 +1,811 @@ + + + + + + + +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 &)
 
bool lspserver::fromJSON (const llvm::json::Value &, Location &, llvm::json::Path)
 
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)
 
bool lspserver::fromJSON (const llvm::json::Value &, MarkupContent &, llvm::json::Path)
 
llvm::json::Value lspserver::toJSON (const Hover &H)
 
llvm::json::Value lspserver::toJSON (const CompletionItem &)
 
bool lspserver::fromJSON (const llvm::json::Value &, CompletionItem &, llvm::json::Path)
 
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..e4e6ea447 --- /dev/null +++ b/lspserver_2include_2lspserver_2Protocol_8h_source.html @@ -0,0 +1,2814 @@ + + + + + + + +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 &);
+
210bool fromJSON(const llvm::json::Value &, Location &, llvm::json::Path);
+
211llvm::raw_ostream &operator<<(llvm::raw_ostream &, const Location &);
+
212
+
213/// Extends Locations returned by textDocument/references with extra info.
+
214/// This is a clangd extension: LSP uses `Location`.
+
+ +
216 /// clangd extension: contains the name of the function or class in which the
+
217 /// reference occurs
+
218 std::optional<std::string> containerName;
+
219};
+
+
220llvm::json::Value toJSON(const ReferenceLocation &);
+
221llvm::raw_ostream &operator<<(llvm::raw_ostream &, const ReferenceLocation &);
+
222
+
223using ChangeAnnotationIdentifier = std::string;
+
224// A combination of a LSP standard TextEdit and AnnotatedTextEdit.
+
+
225struct TextEdit {
+
226 /// The range of the text document to be manipulated. To insert
+
227 /// text into a document create a range where start === end.
+ +
229
+
230 /// The string to be inserted. For delete operations use an
+
231 /// empty string.
+
232 std::string newText;
+
233
+
234 /// The actual annotation identifier (optional)
+
235 /// If empty, then this field is nullopt.
+ +
237};
+
+
+
238inline bool operator==(const TextEdit &L, const TextEdit &R) {
+
239 return std::tie(L.newText, L.range, L.annotationId) ==
+
240 std::tie(R.newText, R.range, L.annotationId);
+
241}
+
+
242bool fromJSON(const llvm::json::Value &, TextEdit &, llvm::json::Path);
+
243llvm::json::Value toJSON(const TextEdit &);
+
244llvm::raw_ostream &operator<<(llvm::raw_ostream &, const TextEdit &);
+
245
+
+ +
247 /// A human-readable string describing the actual change. The string
+
248 /// is rendered prominent in the user interface.
+
249 std::string label;
+
250
+
251 /// A flag which indicates that user confirmation is needed
+
252 /// before applying the change.
+
253 std::optional<bool> needsConfirmation;
+
254
+
255 /// A human-readable string which is rendered less prominent in
+
256 /// the user interface.
+
257 std::string description;
+
258};
+
+
259bool fromJSON(const llvm::json::Value &, ChangeAnnotation &, llvm::json::Path);
+
260llvm::json::Value toJSON(const ChangeAnnotation &);
+
261
+
+ +
263 /// The text document to change.
+ +
265
+
266 /// The edits to be applied.
+
267 /// FIXME: support the AnnotatedTextEdit variant.
+
268 std::vector<TextEdit> edits;
+
269};
+
+
270bool fromJSON(const llvm::json::Value &, TextDocumentEdit &, llvm::json::Path);
+
271llvm::json::Value toJSON(const TextDocumentEdit &);
+
272
+
+ +
274 /// The text document's URI.
+ +
276
+
277 /// The text document's language identifier.
+
278 std::string languageId;
+
279
+
280 /// The version number of this document (it will strictly increase after each
+
281 /// change, including undo/redo.
+
282 ///
+
283 /// clangd extension: versions are optional, and synthesized if missing.
+
284 std::optional<int64_t> version;
+
285
+
286 /// The content of the opened text document.
+
287 std::string text;
+
288};
+
+
289bool fromJSON(const llvm::json::Value &, TextDocumentItem &, llvm::json::Path);
+
290
+
+
291enum class TraceLevel {
+
292 Off = 0,
+
293 Messages = 1,
+
294 Verbose = 2,
+
295};
+
+
296bool fromJSON(const llvm::json::Value &E, TraceLevel &Out, llvm::json::Path);
+
297
+
298struct NoParams {};
+
299inline llvm::json::Value toJSON(const NoParams &) { return nullptr; }
+
+
300inline bool fromJSON(const llvm::json::Value &, NoParams &, llvm::json::Path) {
+
301 return true;
+
302}
+
+ +
304
+
305/// Defines how the host (editor) should sync document changes to the language
+
306/// server.
+
+ +
308 /// Documents should not be synced at all.
+
309 None = 0,
+
310
+
311 /// Documents are synced by always sending the full content of the document.
+
312 Full = 1,
+
313
+
314 /// Documents are synced by sending the full content on open. After that
+
315 /// only incremental updates to the document are send.
+
316 Incremental = 2,
+
317};
+
+
318
+
319/// The kind of a completion entry.
+
+ +
321 Missing = 0,
+
322 Text = 1,
+
323 Method = 2,
+
324 Function = 3,
+
325 Constructor = 4,
+
326 Field = 5,
+
327 Variable = 6,
+
328 Class = 7,
+
329 Interface = 8,
+
330 Module = 9,
+
331 Property = 10,
+
332 Unit = 11,
+
333 Value = 12,
+
334 Enum = 13,
+
335 Keyword = 14,
+
336 Snippet = 15,
+
337 Color = 16,
+
338 File = 17,
+
339 Reference = 18,
+
340 Folder = 19,
+
341 EnumMember = 20,
+
342 Constant = 21,
+
343 Struct = 22,
+
344 Event = 23,
+
345 Operator = 24,
+
346 TypeParameter = 25,
+
347};
+
+
348bool fromJSON(const llvm::json::Value &, CompletionItemKind &,
+
349 llvm::json::Path);
+
350constexpr auto CompletionItemKindMin =
+
351 static_cast<size_t>(CompletionItemKind::Text);
+
352constexpr auto CompletionItemKindMax =
+
353 static_cast<size_t>(CompletionItemKind::TypeParameter);
+
354using CompletionItemKindBitset = std::bitset<CompletionItemKindMax + 1>;
+
355bool fromJSON(const llvm::json::Value &, CompletionItemKindBitset &,
+
356 llvm::json::Path);
+ + + +
360
+
361/// A symbol kind.
+
+
362enum class SymbolKind {
+
363 File = 1,
+
364 Module = 2,
+
365 Namespace = 3,
+
366 Package = 4,
+
367 Class = 5,
+
368 Method = 6,
+
369 Property = 7,
+
370 Field = 8,
+
371 Constructor = 9,
+
372 Enum = 10,
+
373 Interface = 11,
+
374 Function = 12,
+
375 Variable = 13,
+
376 Constant = 14,
+
377 String = 15,
+
378 Number = 16,
+
379 Boolean = 17,
+
380 Array = 18,
+
381 Object = 19,
+
382 Key = 20,
+
383 Null = 21,
+
384 EnumMember = 22,
+
385 Struct = 23,
+
386 Event = 24,
+
387 Operator = 25,
+
388 TypeParameter = 26
+
389};
+
+
390bool fromJSON(const llvm::json::Value &, SymbolKind &, llvm::json::Path);
+
391constexpr auto SymbolKindMin = static_cast<size_t>(SymbolKind::File);
+
392constexpr auto SymbolKindMax = static_cast<size_t>(SymbolKind::TypeParameter);
+
393using SymbolKindBitset = std::bitset<SymbolKindMax + 1>;
+
394bool fromJSON(const llvm::json::Value &, SymbolKindBitset &, llvm::json::Path);
+ + +
397
+
398// Determines the encoding used to measure offsets and lengths of source in LSP.
+
+
399enum class OffsetEncoding {
+
400 // Any string is legal on the wire. Unrecognized encodings parse as this.
+ +
402 // Length counts code units of UTF-16 encoded text. (Standard LSP behavior).
+
403 UTF16,
+
404 // Length counts bytes of UTF-8 encoded text. (Clangd extension).
+
405 UTF8,
+
406 // Length counts codepoints in unicode text. (Clangd extension).
+
407 UTF32,
+
408};
+
+
409llvm::json::Value toJSON(const OffsetEncoding &);
+
410bool fromJSON(const llvm::json::Value &, OffsetEncoding &, llvm::json::Path);
+
411llvm::raw_ostream &operator<<(llvm::raw_ostream &, OffsetEncoding);
+
412
+
413// Describes the content type that a client supports in various result literals
+
414// like `Hover`, `ParameterInfo` or `CompletionItem`.
+
+
415enum class MarkupKind {
+
416 PlainText,
+
417 Markdown,
+
418};
+
+
419bool fromJSON(const llvm::json::Value &, MarkupKind &, llvm::json::Path);
+
420llvm::raw_ostream &operator<<(llvm::raw_ostream &OS, MarkupKind);
+
421
+
422// This struct doesn't mirror LSP!
+
423// The protocol defines deeply nested structures for client capabilities.
+
424// Instead of mapping them all, this just parses out the bits we care about.
+
+ +
426 /// The supported set of SymbolKinds for workspace/symbol.
+
427 /// workspace.symbol.symbolKind.valueSet
+
428 std::optional<SymbolKindBitset> WorkspaceSymbolKinds;
+
429
+
430 /// Whether the client accepts diagnostics with codeActions attached inline.
+
431 /// textDocument.publishDiagnostics.codeActionsInline.
+
432 bool DiagnosticFixes = false;
+
433
+
434 /// Whether the client accepts diagnostics with related locations.
+
435 /// textDocument.publishDiagnostics.relatedInformation.
+ +
437
+
438 /// Whether the client accepts diagnostics with category attached to it
+
439 /// using the "category" extension.
+
440 /// textDocument.publishDiagnostics.categorySupport
+
441 bool DiagnosticCategory = false;
+
442
+
443 /// Client supports snippets as insert text.
+
444 /// textDocument.completion.completionItem.snippetSupport
+
445 bool CompletionSnippets = false;
+
446
+
447 /// Client supports completions with additionalTextEdit near the cursor.
+
448 /// This is a clangd extension. (LSP says this is for unrelated text only).
+
449 /// textDocument.completion.editsNearCursor
+
450 bool CompletionFixes = false;
+
451
+
452 /// Client supports displaying a container string for results of
+
453 /// textDocument/reference (clangd extension)
+
454 bool ReferenceContainer = false;
+
455
+
456 /// Client supports hierarchical document symbols.
+
457 /// textDocument.documentSymbol.hierarchicalDocumentSymbolSupport
+ +
459
+
460 /// Client supports signature help.
+
461 /// textDocument.signatureHelp
+
462 bool HasSignatureHelp = false;
+
463
+
464 /// Client signals that it only supports folding complete lines.
+
465 /// Client will ignore specified `startCharacter` and `endCharacter`
+
466 /// properties in a FoldingRange.
+
467 /// textDocument.foldingRange.lineFoldingOnly
+
468 bool LineFoldingOnly = false;
+
469
+
470 /// Client supports processing label offsets instead of a simple label string.
+
471 /// textDocument.signatureHelp.signatureInformation.parameterInformation.labelOffsetSupport
+ +
473
+
474 /// The documentation format that should be used for
+
475 /// textDocument/signatureHelp.
+
476 /// textDocument.signatureHelp.signatureInformation.documentationFormat
+ +
478
+
479 /// The supported set of CompletionItemKinds for textDocument/completion.
+
480 /// textDocument.completion.completionItemKind.valueSet
+
481 std::optional<CompletionItemKindBitset> CompletionItemKinds;
+
482
+
483 /// The documentation format that should be used for textDocument/completion.
+
484 /// textDocument.completion.completionItem.documentationFormat
+ +
486
+
487 /// Client supports CodeAction return value for textDocument/codeAction.
+
488 /// textDocument.codeAction.codeActionLiteralSupport.
+ +
490
+
491 /// Client advertises support for the semanticTokens feature.
+
492 /// We support the textDocument/semanticTokens request in any case.
+
493 /// textDocument.semanticTokens
+
494 bool SemanticTokens = false;
+
495 /// Client supports Theia semantic highlighting extension.
+
496 /// https://github.com/microsoft/vscode-languageserver-node/pull/367
+
497 /// clangd no longer supports this, we detect it just to log a warning.
+
498 /// textDocument.semanticHighlightingCapabilities.semanticHighlighting
+ +
500
+
501 /// Supported encodings for LSP character offsets. (clangd extension).
+
502 std::optional<std::vector<OffsetEncoding>> offsetEncoding;
+
503
+
504 /// The content format that should be used for Hover requests.
+
505 /// textDocument.hover.contentEncoding
+ +
507
+
508 /// The client supports testing for validity of rename operations
+
509 /// before execution.
+ +
511
+
512 /// The client supports progress notifications.
+
513 /// window.workDoneProgress
+
514 bool WorkDoneProgress = false;
+
515
+
516 /// The client supports implicit $/progress work-done progress streams,
+
517 /// without a preceding window/workDoneProgress/create.
+
518 /// This is a clangd extension.
+
519 /// window.implicitWorkDoneProgressCreate
+ +
521
+
522 /// Whether the client claims to cancel stale requests.
+
523 /// general.staleRequestSupport.cancel
+ +
525
+
526 /// Whether the client implementation supports a refresh request sent from the
+
527 /// server to the client.
+ +
529
+
530 /// The client supports versioned document changes for WorkspaceEdit.
+
531 bool DocumentChanges = false;
+
532
+
533 /// The client supports change annotations on text edits,
+
534 bool ChangeAnnotation = false;
+
535
+
536 /// Whether the client supports the textDocument/inactiveRegions
+
537 /// notification. This is a clangd extension.
+
538 bool InactiveRegions = false;
+
539
+ +
541};
+
+
542bool fromJSON(const llvm::json::Value &, ClientCapabilities &,
+
543 llvm::json::Path);
+
544
+
545/// Clangd extension that's used in the 'compilationDatabaseChanges' in
+
546/// workspace/didChangeConfiguration to record updates to the in-memory
+
547/// compilation database.
+
+ +
549 std::string workingDirectory;
+
550 std::vector<std::string> compilationCommand;
+
551};
+
+
552bool fromJSON(const llvm::json::Value &, ClangdCompileCommand &,
+
553 llvm::json::Path);
+
554
+
555/// Clangd extension: parameters configurable at any time, via the
+
556/// `workspace/didChangeConfiguration` notification.
+
557/// LSP defines this type as `any`.
+
+ +
559 // Changes to the in-memory compilation database.
+
560 // The key of the map is a file name.
+
561 std::map<std::string, ClangdCompileCommand> compilationDatabaseChanges;
+
562};
+
+
563bool fromJSON(const llvm::json::Value &, ConfigurationSettings &,
+
564 llvm::json::Path);
+
565
+
566/// Clangd extension: parameters configurable at `initialize` time.
+
567/// LSP defines this type as `any`.
+
+ +
569 // What we can change throught the didChangeConfiguration request, we can
+
570 // also set through the initialize request (initializationOptions field).
+ +
572
+
573 std::optional<std::string> compilationDatabasePath;
+
574 // Additional flags to be included in the "fallback command" used when
+
575 // the compilation database doesn't describe an opened file.
+
576 // The command used will be approximately `clang $FILE $fallbackFlags`.
+
577 std::vector<std::string> fallbackFlags;
+
578
+
579 /// Clients supports show file status for textDocument/clangd.fileStatus.
+
580 bool FileStatus = false;
+
581};
+
+
582bool fromJSON(const llvm::json::Value &, InitializationOptions &,
+
583 llvm::json::Path);
+
584
+
+ +
586 /// The process Id of the parent process that started
+
587 /// the server. Is null if the process has not been started by another
+
588 /// process. If the parent process is not alive then the server should exit
+
589 /// (see exit notification) its process.
+
590 std::optional<int> processId;
+
591
+
592 /// The rootPath of the workspace. Is null
+
593 /// if no folder is open.
+
594 ///
+
595 /// deprecated, in favour of rootUri.
+
596 std::optional<std::string> rootPath;
+
597
+
598 /// The rootUri of the workspace. Is null if no
+
599 /// folder is open. If both `rootPath` and `rootUri` are set
+
600 /// `rootUri` wins.
+
601 std::optional<URIForFile> rootUri;
+
602
+
603 // User provided initialization options.
+
604 // initializationOptions?: any;
+
605
+
606 /// The capabilities provided by the client (editor or tool)
+ +
608 /// The same data as capabilities, but not parsed (to expose to modules).
+
609 llvm::json::Object rawCapabilities;
+
610
+
611 /// The initial trace setting. If omitted trace is disabled ('off').
+
612 std::optional<TraceLevel> trace;
+
613
+
614 /// User-provided initialization options.
+ +
616};
+
+
617bool fromJSON(const llvm::json::Value &, InitializeParams &, llvm::json::Path);
+
618
+
+ +
620 /// The token to be used to report progress.
+
621 llvm::json::Value token = nullptr;
+
622};
+
+
623llvm::json::Value toJSON(const WorkDoneProgressCreateParams &P);
+
624
+
+
625template <typename T> struct ProgressParams {
+
626 /// The progress token provided by the client or server.
+
627 llvm::json::Value token = nullptr;
+
628
+
629 /// The progress data.
+ +
631};
+
+
+
632template <typename T> llvm::json::Value toJSON(const ProgressParams<T> &P) {
+
633 return llvm::json::Object{{"token", P.token}, {"value", P.value}};
+
634}
+
+
635/// To start progress reporting a $/progress notification with the following
+
636/// payload must be sent.
+
+ +
638 /// Mandatory title of the progress operation. Used to briefly inform about
+
639 /// the kind of operation being performed.
+
640 ///
+
641 /// Examples: "Indexing" or "Linking dependencies".
+
642 std::string title;
+
643
+
644 /// Controls if a cancel button should show to allow the user to cancel the
+
645 /// long-running operation. Clients that don't support cancellation are
+
646 /// allowed to ignore the setting.
+
647 bool cancellable = false;
+
648
+
649 /// Optional progress percentage to display (value 100 is considered 100%).
+
650 /// If not provided infinite progress is assumed and clients are allowed
+
651 /// to ignore the `percentage` value in subsequent in report notifications.
+
652 ///
+
653 /// The value should be steadily rising. Clients are free to ignore values
+
654 /// that are not following this rule.
+
655 ///
+
656 /// Clangd implementation note: we only send nonzero percentages in
+
657 /// the WorkProgressReport. 'true' here means percentages will be used.
+
658 bool percentage = false;
+
659};
+
+
660llvm::json::Value toJSON(const WorkDoneProgressBegin &);
+
661
+
662/// Reporting progress is done using the following payload.
+
+ +
664 /// Mandatory title of the progress operation. Used to briefly inform about
+
665 /// the kind of operation being performed.
+
666 ///
+
667 /// Examples: "Indexing" or "Linking dependencies".
+
668 std::string title;
+
669
+
670 /// Controls enablement state of a cancel button. This property is only valid
+
671 /// if a cancel button got requested in the `WorkDoneProgressStart` payload.
+
672 ///
+
673 /// Clients that don't support cancellation or don't support control
+
674 /// the button's enablement state are allowed to ignore the setting.
+
675 std::optional<bool> cancellable;
+
676
+
677 /// Optional, more detailed associated progress message. Contains
+
678 /// complementary information to the `title`.
+
679 ///
+
680 /// Examples: "3/25 files", "project/src/module2", "node_modules/some_dep".
+
681 /// If unset, the previous progress message (if any) is still valid.
+
682 std::optional<std::string> message;
+
683
+
684 /// Optional progress percentage to display (value 100 is considered 100%).
+
685 /// If not provided infinite progress is assumed and clients are allowed
+
686 /// to ignore the `percentage` value in subsequent in report notifications.
+
687 ///
+
688 /// The value should be steadily rising. Clients are free to ignore values
+
689 /// that are not following this rule.
+
690 std::optional<unsigned> percentage;
+
691};
+
+
692llvm::json::Value toJSON(const WorkDoneProgressReport &);
+
693//
+
694/// Signals the end of progress reporting.
+
+ +
696 /// Optional, a final message indicating to for example indicate the outcome
+
697 /// of the operation.
+
698 std::optional<std::string> message;
+
699};
+
+
700llvm::json::Value toJSON(const WorkDoneProgressEnd &);
+
701
+
+
702enum class MessageType {
+
703 /// An error message.
+
704 Error = 1,
+
705 /// A warning message.
+
706 Warning = 2,
+
707 /// An information message.
+
708 Info = 3,
+
709 /// A log message.
+
710 Log = 4,
+
711};
+
+
712llvm::json::Value toJSON(const MessageType &);
+
713
+
714/// The show message notification is sent from a server to a client to ask the
+
715/// client to display a particular message in the user interface.
+
+ +
717 /// The message type.
+ +
719 /// The actual message.
+
720 std::string message;
+
721};
+
+
722llvm::json::Value toJSON(const ShowMessageParams &);
+
723
+
+ +
725 /// The document that was opened.
+ +
727};
+
+
728bool fromJSON(const llvm::json::Value &, DidOpenTextDocumentParams &,
+
729 llvm::json::Path);
+
730
+
+ +
732 /// The document that was closed.
+ +
734};
+
+
735bool fromJSON(const llvm::json::Value &, DidCloseTextDocumentParams &,
+
736 llvm::json::Path);
+
737
+
+ +
739 /// The document that was saved.
+ +
741};
+
+
742bool fromJSON(const llvm::json::Value &, DidSaveTextDocumentParams &,
+
743 llvm::json::Path);
+
744
+
+ +
746 /// The range of the document that changed.
+
747 std::optional<Range> range;
+
748
+
749 /// The length of the range that got replaced.
+
750 std::optional<int> rangeLength;
+
751
+
752 /// The new text of the range/document.
+
753 std::string text;
+
754};
+
+
755bool fromJSON(const llvm::json::Value &, TextDocumentContentChangeEvent &,
+
756 llvm::json::Path);
+
757
+
+ +
759 /// The document that did change. The version number points
+
760 /// to the version after all provided content changes have
+
761 /// been applied.
+ +
763
+
764 /// The actual content changes.
+
765 std::vector<TextDocumentContentChangeEvent> contentChanges;
+
766
+
767 /// Forces diagnostics to be generated, or to not be generated, for this
+
768 /// version of the file. If not set, diagnostics are eventually consistent:
+
769 /// either they will be provided for this version or some subsequent one.
+
770 /// This is a clangd extension.
+
771 std::optional<bool> wantDiagnostics;
+
772
+
773 /// Force a complete rebuild of the file, ignoring all cached state. Slow!
+
774 /// This is useful to defeat clangd's assumption that missing headers will
+
775 /// stay missing.
+
776 /// This is a clangd extension.
+
777 bool forceRebuild = false;
+
778};
+
+
779bool fromJSON(const llvm::json::Value &, DidChangeTextDocumentParams &,
+
780 llvm::json::Path);
+
781
+
+
782enum class FileChangeType {
+
783 /// The file got created.
+
784 Created = 1,
+
785 /// The file got changed.
+
786 Changed = 2,
+
787 /// The file got deleted.
+
788 Deleted = 3
+
789};
+
+
790bool fromJSON(const llvm::json::Value &E, FileChangeType &Out,
+
791 llvm::json::Path);
+
792
+
+
793struct FileEvent {
+
794 /// The file's URI.
+ +
796 /// The change type.
+ +
798};
+
+
799bool fromJSON(const llvm::json::Value &, FileEvent &, llvm::json::Path);
+
800
+
+ +
802 /// The actual file events.
+
803 std::vector<FileEvent> changes;
+
804};
+
+
805bool fromJSON(const llvm::json::Value &, DidChangeWatchedFilesParams &,
+
806 llvm::json::Path);
+
807
+ +
811bool fromJSON(const llvm::json::Value &, DidChangeConfigurationParams &,
+
812 llvm::json::Path);
+
813
+
814// Note: we do not parse FormattingOptions for *FormattingParams.
+
815// In general, we use a clang-format style detected from common mechanisms
+
816// (.clang-format files and the -fallback-style flag).
+
817// It would be possible to override these with FormatOptions, but:
+
818// - the protocol makes FormatOptions mandatory, so many clients set them to
+
819// useless values, and we can't tell when to respect them
+
820// - we also format in other places, where FormatOptions aren't available.
+
821
+
+ +
823 /// The document to format.
+ +
825
+
826 /// The range to format
+ +
828};
+
+
829bool fromJSON(const llvm::json::Value &, DocumentRangeFormattingParams &,
+
830 llvm::json::Path);
+
831
+
+ +
833 /// The document to format.
+ +
835
+
836 /// The position at which this request was sent.
+ +
838
+
839 /// The character that has been typed.
+
840 std::string ch;
+
841};
+
+
842bool fromJSON(const llvm::json::Value &, DocumentOnTypeFormattingParams &,
+
843 llvm::json::Path);
+
844
+
+ +
846 /// The document to format.
+ +
848};
+
+
849bool fromJSON(const llvm::json::Value &, DocumentFormattingParams &,
+
850 llvm::json::Path);
+
851
+
+ +
853 // The text document to find symbols in.
+ +
855};
+
+
856bool fromJSON(const llvm::json::Value &, DocumentSymbolParams &,
+
857 llvm::json::Path);
+
858
+
859/// Represents a related message and source code location for a diagnostic.
+
860/// This should be used to point to code locations that cause or related to a
+
861/// diagnostics, e.g when duplicating a symbol in a scope.
+
+ +
863 /// The location of this related diagnostic information.
+ +
865 /// The message of this related diagnostic information.
+
866 std::string message;
+
867};
+
+
868llvm::json::Value toJSON(const DiagnosticRelatedInformation &);
+
869
+
+ +
871 /// Unused or unnecessary code.
+
872 ///
+
873 /// Clients are allowed to render diagnostics with this tag faded out instead
+
874 /// of having an error squiggle.
+ +
876 /// Deprecated or obsolete code.
+
877 ///
+
878 /// Clients are allowed to rendered diagnostics with this tag strike through.
+ +
880};
+
+
881llvm::json::Value toJSON(DiagnosticTag Tag);
+
882
+
883/// Structure to capture a description for an error code.
+
+ +
885 /// An URI to open with more information about the diagnostic error.
+
886 std::string href;
+
887};
+
+
888llvm::json::Value toJSON(const CodeDescription &);
+
889
+
890struct CodeAction;
+
+ +
892 /// The range at which the message applies.
+ +
894
+
895 /// The diagnostic's severity. Can be omitted. If omitted it is up to the
+
896 /// client to interpret diagnostics as error, warning, info or hint.
+
897 int severity = 0;
+
898
+
899 /// The diagnostic's code. Can be omitted.
+
900 std::string code;
+
901
+
902 /// An optional property to describe the error code.
+
903 std::optional<CodeDescription> codeDescription;
+
904
+
905 /// A human-readable string describing the source of this
+
906 /// diagnostic, e.g. 'typescript' or 'super lint'.
+
907 std::string source;
+
908
+
909 /// The diagnostic's message.
+
910 std::string message;
+
911
+
912 /// Additional metadata about the diagnostic.
+
913 llvm::SmallVector<DiagnosticTag, 1> tags;
+
914
+
915 /// An array of related diagnostic information, e.g. when symbol-names within
+
916 /// a scope collide all definitions can be marked via this property.
+
917 std::optional<std::vector<DiagnosticRelatedInformation>> relatedInformation;
+
918
+
919 /// The diagnostic's category. Can be omitted.
+
920 /// An LSP extension that's used to send the name of the category over to the
+
921 /// client. The category typically describes the compilation stage during
+
922 /// which the issue was produced, e.g. "Semantic Issue" or "Parse Issue".
+
923 std::optional<std::string> category;
+
924
+
925 /// Clangd extension: code actions related to this diagnostic.
+
926 /// Only with capability textDocument.publishDiagnostics.codeActionsInline.
+
927 /// (These actions can also be obtained using textDocument/codeAction).
+
928 std::optional<std::vector<CodeAction>> codeActions;
+
929
+
930 /// A data entry field that is preserved between a
+
931 /// `textDocument/publishDiagnostics` notification
+
932 /// and `textDocument/codeAction` request.
+
933 /// Mutating users should associate their data with a unique key they can use
+
934 /// to retrieve later on.
+
935 llvm::json::Object data;
+
936};
+
+
937llvm::json::Value toJSON(const Diagnostic &);
+
938
+
939/// A LSP-specific comparator used to find diagnostic in a container like
+
940/// std:map.
+
941/// We only use the required fields of Diagnostic to do the comparison to avoid
+
942/// any regression issues from LSP clients (e.g. VScode), see
+
943/// https://git.io/vbr29
+
+ +
+
945 bool operator()(const Diagnostic &LHS, const Diagnostic &RHS) const {
+
946 return std::tie(LHS.range, LHS.message) < std::tie(RHS.range, RHS.message);
+
947 }
+
+
948};
+
+
949bool fromJSON(const llvm::json::Value &, Diagnostic &, llvm::json::Path);
+
950llvm::raw_ostream &operator<<(llvm::raw_ostream &, const Diagnostic &);
+
951
+
+ +
953 /// The URI for which diagnostic information is reported.
+ +
955 /// An array of diagnostic information items.
+
956 std::vector<Diagnostic> diagnostics;
+
957 /// The version number of the document the diagnostics are published for.
+
958 std::optional<int64_t> version;
+
959};
+
+
960llvm::json::Value toJSON(const PublishDiagnosticsParams &);
+
961
+
+ +
963 /// An array of diagnostics known on the client side overlapping the range
+
964 /// provided to the `textDocument/codeAction` request. They are provided so
+
965 /// that the server knows which errors are currently presented to the user for
+
966 /// the given range. There is no guarantee that these accurately reflect the
+
967 /// error state of the resource. The primary parameter to compute code actions
+
968 /// is the provided range.
+
969 std::vector<Diagnostic> diagnostics;
+
970
+
971 /// Requested kind of actions to return.
+
972 ///
+
973 /// Actions not of this kind are filtered out by the client before being
+
974 /// shown. So servers can omit computing them.
+
975 std::vector<std::string> only;
+
976};
+
+
977bool fromJSON(const llvm::json::Value &, CodeActionContext &, llvm::json::Path);
+
978
+
+ +
980 /// The document in which the command was invoked.
+ +
982
+
983 /// The range for which the command was invoked.
+ +
985
+
986 /// Context carrying additional information.
+ +
988};
+
+
989bool fromJSON(const llvm::json::Value &, CodeActionParams &, llvm::json::Path);
+
990
+
991/// The edit should either provide changes or documentChanges. If the client
+
992/// can handle versioned document edits and if documentChanges are present,
+
993/// the latter are preferred over changes.
+
+ +
995 /// Holds changes to existing resources.
+
996 std::optional<std::map<std::string, std::vector<TextEdit>>> changes;
+
997 /// Versioned document edits.
+
998 ///
+
999 /// If a client neither supports `documentChanges` nor
+
1000 /// `workspace.workspaceEdit.resourceOperations` then only plain `TextEdit`s
+
1001 /// using the `changes` property are supported.
+
1002 std::optional<std::vector<TextDocumentEdit>> documentChanges;
+
1003
+
1004 /// A map of change annotations that can be referenced in
+
1005 /// AnnotatedTextEdit.
+
1006 std::map<std::string, ChangeAnnotation> changeAnnotations;
+
1007};
+
+
1008bool fromJSON(const llvm::json::Value &, WorkspaceEdit &, llvm::json::Path);
+
1009llvm::json::Value toJSON(const WorkspaceEdit &WE);
+
1010
+
1011/// Arguments for the 'applyTweak' command. The server sends these commands as a
+
1012/// response to the textDocument/codeAction request. The client can later send a
+
1013/// command back to the server if the user requests to execute a particular code
+
1014/// tweak.
+
+ +
1016 /// A file provided by the client on a textDocument/codeAction request.
+ +
1018 /// A selection provided by the client on a textDocument/codeAction request.
+ +
1020 /// ID of the tweak that should be executed. Corresponds to Tweak::id().
+
1021 std::string tweakID;
+
1022};
+
+
1023bool fromJSON(const llvm::json::Value &, TweakArgs &, llvm::json::Path);
+
1024llvm::json::Value toJSON(const TweakArgs &A);
+
1025
+
+ +
1027 /// The identifier of the actual command handler.
+
1028 std::string command;
+
1029
+
1030 // This is `arguments?: []any` in LSP.
+
1031 // All clangd's commands accept a single argument (or none => null).
+
1032 llvm::json::Value argument = nullptr;
+
1033};
+
+
1034bool fromJSON(const llvm::json::Value &, ExecuteCommandParams &,
+
1035 llvm::json::Path);
+
1036
+
+ +
1038 std::string title;
+
1039};
+
+
1040llvm::json::Value toJSON(const Command &C);
+
1041
+
1042/// A code action represents a change that can be performed in code, e.g. to fix
+
1043/// a problem or to refactor code.
+
1044///
+
1045/// A CodeAction must set either `edit` and/or a `command`. If both are
+
1046/// supplied, the `edit` is applied first, then the `command` is executed.
+
+ +
1048 /// A short, human-readable, title for this code action.
+
1049 std::string title;
+
1050
+
1051 /// The kind of the code action.
+
1052 /// Used to filter code actions.
+
1053 std::optional<std::string> kind;
+
1054 const static llvm::StringLiteral QUICKFIX_KIND;
+
1055 const static llvm::StringLiteral REFACTOR_KIND;
+
1056 const static llvm::StringLiteral INFO_KIND;
+
1057
+
1058 /// The diagnostics that this code action resolves.
+
1059 std::optional<std::vector<Diagnostic>> diagnostics;
+
1060
+
1061 /// Marks this as a preferred action. Preferred actions are used by the
+
1062 /// `auto fix` command and can be targeted by keybindings.
+
1063 /// A quick fix should be marked preferred if it properly addresses the
+
1064 /// underlying error. A refactoring should be marked preferred if it is the
+
1065 /// most reasonable choice of actions to take.
+
1066 bool isPreferred = false;
+
1067
+
1068 /// The workspace edit this code action performs.
+
1069 std::optional<WorkspaceEdit> edit;
+
1070
+
1071 /// A command this code action executes. If a code action provides an edit
+
1072 /// and a command, first the edit is executed and then the command.
+
1073 std::optional<Command> command;
+
1074};
+
+
1075llvm::json::Value toJSON(const CodeAction &);
+
1076
+
1077/// Represents programming constructs like variables, classes, interfaces etc.
+
1078/// that appear in a document. Document symbols can be hierarchical and they
+
1079/// have two ranges: one that encloses its definition and one that points to its
+
1080/// most interesting range, e.g. the range of an identifier.
+
+ +
1082 /// The name of this symbol.
+
1083 std::string name;
+
1084
+
1085 /// More detail for this symbol, e.g the signature of a function.
+
1086 std::string detail;
+
1087
+
1088 /// The kind of this symbol.
+ +
1090
+
1091 /// Indicates if this symbol is deprecated.
+
1092 bool deprecated = false;
+
1093
+
1094 /// The range enclosing this symbol not including leading/trailing whitespace
+
1095 /// but everything else like comments. This information is typically used to
+
1096 /// determine if the clients cursor is inside the symbol to reveal in the
+
1097 /// symbol in the UI.
+ +
1099
+
1100 /// The range that should be selected and revealed when this symbol is being
+
1101 /// picked, e.g the name of a function. Must be contained by the `range`.
+ +
1103
+
1104 /// Children of this symbol, e.g. properties of a class.
+
1105 std::vector<DocumentSymbol> children;
+
1106};
+
+
1107llvm::raw_ostream &operator<<(llvm::raw_ostream &O, const DocumentSymbol &S);
+
1108llvm::json::Value toJSON(const DocumentSymbol &S);
+
1109
+
1110/// Represents information about programming constructs like variables, classes,
+
1111/// interfaces etc.
+
+ +
1113 /// The name of this symbol.
+
1114 std::string name;
+
1115
+
1116 /// The kind of this symbol.
+ +
1118
+
1119 /// The location of this symbol.
+ +
1121
+
1122 /// The name of the symbol containing this symbol.
+
1123 std::string containerName;
+
1124
+
1125 /// The score that clangd calculates to rank the returned symbols.
+
1126 /// This excludes the fuzzy-matching score between `name` and the query.
+
1127 /// (Specifically, the last ::-separated component).
+
1128 /// This can be used to re-rank results as the user types, using client-side
+
1129 /// fuzzy-matching (that score should be multiplied with this one).
+
1130 /// This is a clangd extension, set only for workspace/symbol responses.
+
1131 std::optional<float> score;
+
1132};
+
+
1133llvm::json::Value toJSON(const SymbolInformation &);
+
1134llvm::raw_ostream &operator<<(llvm::raw_ostream &, const SymbolInformation &);
+
1135
+
1136/// The parameters of a Workspace Symbol Request.
+
+ +
1138 /// A query string to filter symbols by.
+
1139 /// Clients may send an empty string here to request all the symbols.
+
1140 std::string query;
+
1141
+
1142 /// Max results to return, overriding global default. 0 means no limit.
+
1143 /// Clangd extension.
+
1144 std::optional<int> limit;
+
1145};
+
+
1146bool fromJSON(const llvm::json::Value &, WorkspaceSymbolParams &,
+
1147 llvm::json::Path);
+
1148
+ +
1152llvm::json::Value toJSON(const ApplyWorkspaceEditParams &);
+
1153
+
+ +
1155 bool applied = true;
+
1156 std::optional<std::string> failureReason;
+
1157};
+
+
1158bool fromJSON(const llvm::json::Value &, ApplyWorkspaceEditResponse &,
+
1159 llvm::json::Path);
+
1160
+
+ +
1162 /// The text document.
+ +
1164
+
1165 /// The position inside the text document.
+ +
1167};
+
+
1168bool fromJSON(const llvm::json::Value &, TextDocumentPositionParams &,
+
1169 llvm::json::Path);
+
1170
+
+ +
1172 /// Completion was triggered by typing an identifier (24x7 code
+
1173 /// complete), manual invocation (e.g Ctrl+Space) or via API.
+
1174 Invoked = 1,
+
1175 /// Completion was triggered by a trigger character specified by
+
1176 /// the `triggerCharacters` properties of the `CompletionRegistrationOptions`.
+
1177 TriggerCharacter = 2,
+
1178 /// Completion was re-triggered as the current completion list is incomplete.
+ +
1180};
+
+
1181
+
+ +
1183 /// How the completion was triggered.
+ +
1185 /// The trigger character (a single character) that has trigger code complete.
+
1186 /// Is undefined if `triggerKind !== CompletionTriggerKind.TriggerCharacter`
+
1187 std::string triggerCharacter;
+
1188};
+
+
1189bool fromJSON(const llvm::json::Value &, CompletionContext &, llvm::json::Path);
+
1190
+
+ + +
1193
+
1194 /// Max results to return, overriding global default. 0 means no limit.
+
1195 /// Clangd extension.
+
1196 std::optional<int> limit;
+
1197};
+
+
1198bool fromJSON(const llvm::json::Value &, CompletionParams &, llvm::json::Path);
+
1199
+
+ + +
1202 std::string value;
+
1203};
+
+
1204llvm::json::Value toJSON(const MarkupContent &MC);
+
1205bool fromJSON(const llvm::json::Value &, MarkupContent &, llvm::json::Path);
+
1206
+
+
1207struct Hover {
+
1208 /// The hover's content
+ +
1210
+
1211 /// An optional range is a range inside a text document
+
1212 /// that is used to visualize a hover, e.g. by changing the background color.
+
1213 std::optional<Range> range;
+
1214};
+
+
1215llvm::json::Value toJSON(const Hover &H);
+
1216
+
1217/// Defines whether the insert text in a completion item should be interpreted
+
1218/// as plain text or a snippet.
+
+ +
1220 Missing = 0,
+
1221 /// The primary text to be inserted is treated as a plain string.
+
1222 PlainText = 1,
+
1223 /// The primary text to be inserted is treated as a snippet.
+
1224 ///
+
1225 /// A snippet can define tab stops and placeholders with `$1`, `$2`
+
1226 /// and `${3:foo}`. `$0` defines the final tab stop, it defaults to the end
+
1227 /// of the snippet. Placeholders with equal identifiers are linked, that is
+
1228 /// typing in one will update others too.
+
1229 ///
+
1230 /// See also:
+
1231 /// https://github.com/Microsoft/vscode/blob/main/src/vs/editor/contrib/snippet/snippet.md
+
1232 Snippet = 2,
+
1233};
+
+
1234
+
+ +
1236 /// The label of this completion item. By default also the text that is
+
1237 /// inserted when selecting this completion.
+
1238 std::string label;
+
1239
+
1240 /// The kind of this completion item. Based of the kind an icon is chosen by
+
1241 /// the editor.
+ +
1243
+
1244 /// A human-readable string with additional information about this item, like
+
1245 /// type or symbol information.
+
1246 std::string detail;
+
1247
+
1248 /// A human-readable string that represents a doc-comment.
+
1249 std::optional<MarkupContent> documentation;
+
1250
+
1251 /// A string that should be used when comparing this item with other items.
+
1252 /// When `falsy` the label is used.
+
1253 std::string sortText;
+
1254
+
1255 /// A string that should be used when filtering a set of completion items.
+
1256 /// When `falsy` the label is used.
+
1257 std::string filterText;
+
1258
+
1259 /// A string that should be inserted to a document when selecting this
+
1260 /// completion. When `falsy` the label is used.
+
1261 std::string insertText;
+
1262
+
1263 /// The format of the insert text. The format applies to both the `insertText`
+
1264 /// property and the `newText` property of a provided `textEdit`.
+ +
1266
+
1267 /// An edit which is applied to a document when selecting this completion.
+
1268 /// When an edit is provided `insertText` is ignored.
+
1269 ///
+
1270 /// Note: The range of the edit must be a single line range and it must
+
1271 /// contain the position at which completion has been requested.
+
1272 std::optional<TextEdit> textEdit;
+
1273
+
1274 /// An optional array of additional text edits that are applied when selecting
+
1275 /// this completion. Edits must not overlap with the main edit nor with
+
1276 /// themselves.
+
1277 std::vector<TextEdit> additionalTextEdits;
+
1278
+
1279 /// Indicates if this item is deprecated.
+
1280 bool deprecated = false;
+
1281
+
1282 /// The score that clangd calculates to rank the returned completions.
+
1283 /// This excludes the fuzzy-match between `filterText` and the partial word.
+
1284 /// This can be used to re-rank results as the user types, using client-side
+
1285 /// fuzzy-matching (that score should be multiplied with this one).
+
1286 /// This is a clangd extension.
+
1287 float score = 0.f;
+
1288
+
1289 // TODO: Add custom commitCharacters for some of the completion items. For
+
1290 // example, it makes sense to use () only for the functions.
+
1291 // TODO(krasimir): The following optional fields defined by the language
+
1292 // server protocol are unsupported:
+
1293 //
+
1294 // data?: any - A data entry field that is preserved on a completion item
+
1295 // between a completion and a completion resolve request.
+
1296 std::string data;
+
1297};
+
+
1298llvm::json::Value toJSON(const CompletionItem &);
+
1299bool fromJSON(const llvm::json::Value &, CompletionItem &, llvm::json::Path);
+
1300llvm::raw_ostream &operator<<(llvm::raw_ostream &, const CompletionItem &);
+
1301
+
1302bool operator<(const CompletionItem &, const CompletionItem &);
+
1303
+
1304/// Represents a collection of completion items to be presented in the editor.
+
+ +
1306 /// The list is not complete. Further typing should result in recomputing the
+
1307 /// list.
+
1308 bool isIncomplete = false;
+
1309
+
1310 /// The completion items.
+
1311 std::vector<CompletionItem> items;
+
1312};
+
+
1313llvm::json::Value toJSON(const CompletionList &);
+
1314
+
1315/// A single parameter of a particular signature.
+
+ +
1317
+
1318 /// The label of this parameter. Ignored when labelOffsets is set.
+
1319 std::string labelString;
+
1320
+
1321 /// Inclusive start and exclusive end offsets withing the containing signature
+
1322 /// label.
+
1323 /// Offsets are computed by lspLength(), which counts UTF-16 code units by
+
1324 /// default but that can be overriden, see its documentation for details.
+
1325 std::optional<std::pair<unsigned, unsigned>> labelOffsets;
+
1326
+
1327 /// The documentation of this parameter. Optional.
+
1328 std::string documentation;
+
1329};
+
+
1330llvm::json::Value toJSON(const ParameterInformation &);
+
1331
+
1332/// Represents the signature of something callable.
+
+ +
1334
+
1335 /// The label of this signature. Mandatory.
+
1336 std::string label;
+
1337
+
1338 /// The documentation of this signature. Optional.
+ +
1340
+
1341 /// The parameters of this signature.
+
1342 std::vector<ParameterInformation> parameters;
+
1343};
+
+
1344llvm::json::Value toJSON(const SignatureInformation &);
+
1345llvm::raw_ostream &operator<<(llvm::raw_ostream &,
+
1346 const SignatureInformation &);
+
1347
+
1348/// Represents the signature of a callable.
+
+ +
1350
+
1351 /// The resulting signatures.
+
1352 std::vector<SignatureInformation> signatures;
+
1353
+
1354 /// The active signature.
+ +
1356
+
1357 /// The active parameter of the active signature.
+ +
1359
+
1360 /// Position of the start of the argument list, including opening paren. e.g.
+
1361 /// foo("first arg", "second arg",
+
1362 /// ^-argListStart ^-cursor
+
1363 /// This is a clangd-specific extension, it is only available via C++ API and
+
1364 /// not currently serialized for the LSP.
+ +
1366};
+
+
1367llvm::json::Value toJSON(const SignatureHelp &);
+
1368
+
+ +
1370 /// The document that was opened.
+ +
1372
+
1373 /// The position at which this request was sent.
+ +
1375
+
1376 /// The new name of the symbol.
+
1377 std::string newName;
+
1378};
+
+
1379bool fromJSON(const llvm::json::Value &, RenameParams &, llvm::json::Path);
+
1380
+
1381enum class DocumentHighlightKind { Text = 1, Read = 2, Write = 3 };
+
1382
+
1383/// A document highlight is a range inside a text document which deserves
+
1384/// special attention. Usually a document highlight is visualized by changing
+
1385/// the background color of its range.
+
1386
+
+ +
1388 /// The range this highlight applies to.
+ +
1390
+
1391 /// The highlight kind, default is DocumentHighlightKind.Text.
+ +
1393
+
+
1394 friend bool operator<(const DocumentHighlight &LHS,
+
1395 const DocumentHighlight &RHS) {
+
1396 int LHSKind = static_cast<int>(LHS.kind);
+
1397 int RHSKind = static_cast<int>(RHS.kind);
+
1398 return std::tie(LHS.range, LHSKind) < std::tie(RHS.range, RHSKind);
+
1399 }
+
+
1400
+
+
1401 friend bool operator==(const DocumentHighlight &LHS,
+
1402 const DocumentHighlight &RHS) {
+
1403 return LHS.kind == RHS.kind && LHS.range == RHS.range;
+
1404 }
+
+
1405};
+
+
1406llvm::json::Value toJSON(const DocumentHighlight &DH);
+
1407llvm::raw_ostream &operator<<(llvm::raw_ostream &, const DocumentHighlight &);
+
1408
+
1409enum class TypeHierarchyDirection { Children = 0, Parents = 1, Both = 2 };
+
1410bool fromJSON(const llvm::json::Value &E, TypeHierarchyDirection &Out,
+
1411 llvm::json::Path);
+
1412
+
1413/// The type hierarchy params is an extension of the
+
1414/// `TextDocumentPositionsParams` with optional properties which can be used to
+
1415/// eagerly resolve the item when requesting from the server.
+
+ +
1417 /// The hierarchy levels to resolve. `0` indicates no level.
+
1418 /// This is a clangd extension.
+
1419 int resolve = 0;
+
1420
+
1421 /// The direction of the hierarchy levels to resolve.
+
1422 /// This is a clangd extension.
+ +
1424};
+
+
1425bool fromJSON(const llvm::json::Value &, TypeHierarchyPrepareParams &,
+
1426 llvm::json::Path);
+
1427
+
+ +
1429 /// The name of this item.
+
1430 std::string name;
+
1431
+
1432 /// The kind of this item.
+ +
1434
+
1435 /// More detail for this item, e.g. the signature of a function.
+
1436 std::optional<std::string> detail;
+
1437
+
1438 /// The resource identifier of this item.
+ +
1440
+
1441 /// The range enclosing this symbol not including leading/trailing whitespace
+
1442 /// but everything else, e.g. comments and code.
+ +
1444
+
1445 /// The range that should be selected and revealed when this symbol is being
+
1446 /// picked, e.g. the name of a function. Must be contained by the `range`.
+ +
1448
+
1449 /// Used to resolve a client provided item back.
+
+ +
1451 /// std::nullopt means parents aren't resolved and empty is no parents.
+
1452 std::optional<std::vector<ResolveParams>> parents;
+
1453 };
+
+
1454 /// A data entry field that is preserved between a type hierarchy prepare and
+
1455 /// supertypes or subtypes requests. It could also be used to identify the
+
1456 /// type hierarchy in the server, helping improve the performance on resolving
+
1457 /// supertypes and subtypes.
+ +
1459
+
1460 /// `true` if the hierarchy item is deprecated. Otherwise, `false`.
+
1461 /// This is a clangd exntesion.
+
1462 bool deprecated = false;
+
1463
+
1464 /// This is a clangd exntesion.
+
1465 std::optional<std::vector<TypeHierarchyItem>> parents;
+
1466
+
1467 /// If this type hierarchy item is resolved, it contains the direct children
+
1468 /// of the current item. Could be empty if the item does not have any
+
1469 /// descendants. If not defined, the children have not been resolved.
+
1470 /// This is a clangd exntesion.
+
1471 std::optional<std::vector<TypeHierarchyItem>> children;
+
1472};
+
+
1473llvm::json::Value toJSON(const TypeHierarchyItem::ResolveParams &);
+ +
1475llvm::json::Value toJSON(const TypeHierarchyItem &);
+
1476llvm::raw_ostream &operator<<(llvm::raw_ostream &, const TypeHierarchyItem &);
+
1477bool fromJSON(const llvm::json::Value &, TypeHierarchyItem &, llvm::json::Path);
+
1478
+
1479/// Parameters for the `typeHierarchy/resolve` request.
+
+ +
1481 /// The item to resolve.
+ +
1483
+
1484 /// The hierarchy levels to resolve. `0` indicates no level.
+ +
1486
+
1487 /// The direction of the hierarchy levels to resolve.
+ +
1489};
+
+
1490bool fromJSON(const llvm::json::Value &, ResolveTypeHierarchyItemParams &,
+
1491 llvm::json::Path);
+
1492
+
1493enum class SymbolTag { Deprecated = 1 };
+
1494llvm::json::Value toJSON(SymbolTag);
+
1495
+
1496/// The parameter of a `textDocument/prepareCallHierarchy` request.
+ +
1498
+
1499/// Represents programming constructs like functions or constructors
+
1500/// in the context of call hierarchy.
+
+ +
1502 /// The name of this item.
+
1503 std::string name;
+
1504
+
1505 /// The kind of this item.
+ +
1507
+
1508 /// Tags for this item.
+
1509 std::vector<SymbolTag> tags;
+
1510
+
1511 /// More detaill for this item, e.g. the signature of a function.
+
1512 std::string detail;
+
1513
+
1514 /// The resource identifier of this item.
+ +
1516
+
1517 /// The range enclosing this symbol not including leading / trailing
+
1518 /// whitespace but everything else, e.g. comments and code.
+ +
1520
+
1521 /// The range that should be selected and revealed when this symbol
+
1522 /// is being picked, e.g. the name of a function.
+
1523 /// Must be contained by `Rng`.
+ +
1525
+
1526 /// An optional 'data' field, which can be used to identify a call
+
1527 /// hierarchy item in an incomingCalls or outgoingCalls request.
+
1528 std::string data;
+
1529};
+
+
1530llvm::json::Value toJSON(const CallHierarchyItem &);
+
1531bool fromJSON(const llvm::json::Value &, CallHierarchyItem &, llvm::json::Path);
+
1532
+
1533/// The parameter of a `callHierarchy/incomingCalls` request.
+ +
1537bool fromJSON(const llvm::json::Value &, CallHierarchyIncomingCallsParams &,
+
1538 llvm::json::Path);
+
1539
+
1540/// Represents an incoming call, e.g. a caller of a method or constructor.
+
+ +
1542 /// The item that makes the call.
+ +
1544
+
1545 /// The range at which the calls appear.
+
1546 /// This is relative to the caller denoted by `From`.
+
1547 std::vector<Range> fromRanges;
+
1548};
+
+
1549llvm::json::Value toJSON(const CallHierarchyIncomingCall &);
+
1550
+
1551/// The parameter of a `callHierarchy/outgoingCalls` request.
+ +
1555bool fromJSON(const llvm::json::Value &, CallHierarchyOutgoingCallsParams &,
+
1556 llvm::json::Path);
+
1557
+
1558/// Represents an outgoing call, e.g. calling a getter from a method or
+
1559/// a method from a constructor etc.
+
+ +
1561 /// The item that is called.
+ +
1563
+
1564 /// The range at which this item is called.
+
1565 /// This is the range relative to the caller, and not `To`.
+
1566 std::vector<Range> fromRanges;
+
1567};
+
+
1568llvm::json::Value toJSON(const CallHierarchyOutgoingCall &);
+
1569
+
1570/// A parameter literal used in inlay hint requests.
+
+ +
1572 /// The text document.
+ +
1574
+
1575 /// The visible document range for which inlay hints should be computed.
+
1576 ///
+
1577 /// std::nullopt is a clangd extension, which hints for computing hints on the
+
1578 /// whole file.
+
1579 std::optional<Range> range;
+
1580};
+
+
1581bool fromJSON(const llvm::json::Value &, InlayHintsParams &, llvm::json::Path);
+
1582
+
1583/// Inlay hint kinds.
+
+
1584enum class InlayHintKind {
+
1585 /// An inlay hint that for a type annotation.
+
1586 ///
+
1587 /// An example of a type hint is a hint in this position:
+
1588 /// auto var ^ = expr;
+
1589 /// which shows the deduced type of the variable.
+
1590 Type = 1,
+
1591
+
1592 /// An inlay hint that is for a parameter.
+
1593 ///
+
1594 /// An example of a parameter hint is a hint in this position:
+
1595 /// func(^arg);
+
1596 /// which shows the name of the corresponding parameter.
+
1597 Parameter = 2,
+
1598
+
1599 /// A hint before an element of an aggregate braced initializer list,
+
1600 /// indicating what it is initializing.
+
1601 /// Pair{^1, ^2};
+
1602 /// Uses designator syntax, e.g. `.first:`.
+
1603 /// This is a clangd extension.
+
1604 Designator = 3,
+
1605
+
1606 /// Other ideas for hints that are not currently implemented:
+
1607 ///
+
1608 /// * Chaining hints, showing the types of intermediate expressions
+
1609 /// in a chain of function calls.
+
1610 /// * Hints indicating implicit conversions or implicit constructor calls.
+
1611};
+
+
1612llvm::json::Value toJSON(const InlayHintKind &);
+
1613
+
1614/// Inlay hint information.
+
+ +
1616 /// The position of this hint.
+ +
1618
+
1619 /// The label of this hint. A human readable string or an array of
+
1620 /// InlayHintLabelPart label parts.
+
1621 ///
+
1622 /// *Note* that neither the string nor the label part can be empty.
+
1623 std::string label;
+
1624
+
1625 /// The kind of this hint. Can be omitted in which case the client should fall
+
1626 /// back to a reasonable default.
+ +
1628
+
1629 /// Render padding before the hint.
+
1630 ///
+
1631 /// Note: Padding should use the editor's background color, not the
+
1632 /// background color of the hint itself. That means padding can be used
+
1633 /// to visually align/separate an inlay hint.
+
1634 bool paddingLeft = false;
+
1635
+
1636 /// Render padding after the hint.
+
1637 ///
+
1638 /// Note: Padding should use the editor's background color, not the
+
1639 /// background color of the hint itself. That means padding can be used
+
1640 /// to visually align/separate an inlay hint.
+
1641 bool paddingRight = false;
+
1642
+
1643 /// The range of source code to which the hint applies.
+
1644 ///
+
1645 /// For example, a parameter hint may have the argument as its range.
+
1646 /// The range allows clients more flexibility of when/how to display the hint.
+
1647 /// This is an (unserialized) clangd extension.
+ +
1649};
+
+
1650llvm::json::Value toJSON(const InlayHint &);
+
1651bool operator==(const InlayHint &, const InlayHint &);
+
1652bool operator<(const InlayHint &, const InlayHint &);
+
1653llvm::raw_ostream &operator<<(llvm::raw_ostream &, InlayHintKind);
+
1654
+
+ +
1656 /// Include the declaration of the current symbol.
+ +
1658};
+
+
1659
+ +
1663bool fromJSON(const llvm::json::Value &, ReferenceParams &, llvm::json::Path);
+
1664
+
1665/// Clangd extension: indicates the current state of the file in clangd,
+
1666/// sent from server via the `textDocument/clangd.fileStatus` notification.
+
+ +
1668 /// The text document's URI.
+ +
1670 /// The human-readable string presents the current state of the file, can be
+
1671 /// shown in the UI (e.g. status bar).
+
1672 std::string state;
+
1673 // FIXME: add detail messages.
+
1674};
+
+
1675llvm::json::Value toJSON(const FileStatus &);
+
1676
+
1677/// Specifies a single semantic token in the document.
+
1678/// This struct is not part of LSP, which just encodes lists of tokens as
+
1679/// arrays of numbers directly.
+
+ +
1681 /// token line number, relative to the previous token
+
1682 unsigned deltaLine = 0;
+
1683 /// token start character, relative to the previous token
+
1684 /// (relative to 0 or the previous token's start if they are on the same line)
+
1685 unsigned deltaStart = 0;
+
1686 /// the length of the token. A token cannot be multiline
+
1687 unsigned length = 0;
+
1688 /// will be looked up in `SemanticTokensLegend.tokenTypes`
+
1689 unsigned tokenType = 0;
+
1690 /// each set bit will be looked up in `SemanticTokensLegend.tokenModifiers`
+
1691 unsigned tokenModifiers = 0;
+
1692};
+
+
1693bool operator==(const SemanticToken &, const SemanticToken &);
+
1694
+
1695/// A versioned set of tokens.
+
+ +
1697 // An optional result id. If provided and clients support delta updating
+
1698 // the client will include the result id in the next semantic token request.
+
1699 // A server can then instead of computing all semantic tokens again simply
+
1700 // send a delta.
+
1701 std::string resultId;
+
1702
+
1703 /// The actual tokens.
+
1704 std::vector<SemanticToken> tokens; // encoded as a flat integer array.
+
1705};
+
+
1706llvm::json::Value toJSON(const SemanticTokens &);
+
1707
+
1708/// Body of textDocument/semanticTokens/full request.
+
+ +
1710 /// The text document.
+ +
1712};
+
+
1713bool fromJSON(const llvm::json::Value &, SemanticTokensParams &,
+
1714 llvm::json::Path);
+
1715
+
1716/// Body of textDocument/semanticTokens/full/delta request.
+
1717/// Requests the changes in semantic tokens since a previous response.
+
+ +
1719 /// The text document.
+ +
1721 /// The previous result id.
+
1722 std::string previousResultId;
+
1723};
+
+
1724bool fromJSON(const llvm::json::Value &Params, SemanticTokensDeltaParams &R,
+
1725 llvm::json::Path);
+
1726
+
1727/// Describes a replacement of a contiguous range of semanticTokens.
+
+ +
1729 // LSP specifies `start` and `deleteCount` which are relative to the array
+
1730 // encoding of the previous tokens.
+
1731 // We use token counts instead, and translate when serializing this struct.
+
1732 unsigned startToken = 0;
+
1733 unsigned deleteTokens = 0;
+
1734 std::vector<SemanticToken> tokens; // encoded as a flat integer array
+
1735};
+
+
1736llvm::json::Value toJSON(const SemanticTokensEdit &);
+
1737
+
1738/// This models LSP SemanticTokensDelta | SemanticTokens, which is the result of
+
1739/// textDocument/semanticTokens/full/delta.
+
+ +
1741 std::string resultId;
+
1742 /// Set if we computed edits relative to a previous set of tokens.
+
1743 std::optional<std::vector<SemanticTokensEdit>> edits;
+
1744 /// Set if we computed a fresh set of tokens.
+
1745 std::optional<std::vector<SemanticToken>> tokens; // encoded as integer array
+
1746};
+
+
1747llvm::json::Value toJSON(const SemanticTokensOrDelta &);
+
1748
+
1749/// Parameters for the inactive regions (server-side) push notification.
+
1750/// This is a clangd extension.
+
+ +
1752 /// The textdocument these inactive regions belong to.
+ +
1754 /// The inactive regions that should be sent.
+
1755 std::vector<Range> InactiveRegions;
+
1756};
+
+
1757llvm::json::Value toJSON(const InactiveRegionsParams &InactiveRegions);
+
1758
+
+ +
1760 /// The text document.
+ +
1762
+
1763 /// The positions inside the text document.
+
1764 std::vector<Position> positions;
+
1765};
+
+
1766bool fromJSON(const llvm::json::Value &, SelectionRangeParams &,
+
1767 llvm::json::Path);
+
1768
+
+ +
1770 /**
+
1771 * The range of this selection range.
+
1772 */
+ +
1774 /**
+
1775 * The parent selection range containing this range. Therefore `parent.range`
+
1776 * must contain `this.range`.
+
1777 */
+
1778 std::unique_ptr<SelectionRange> parent;
+
1779};
+
+
1780llvm::json::Value toJSON(const SelectionRange &);
+
1781
+
1782/// Parameters for the document link request.
+
+ +
1784 /// The document to provide document links for.
+ +
1786};
+
+
1787bool fromJSON(const llvm::json::Value &, DocumentLinkParams &,
+
1788 llvm::json::Path);
+
1789
+
1790/// A range in a text document that links to an internal or external resource,
+
1791/// like another text document or a web site.
+
+ +
1793 /// The range this link applies to.
+ +
1795
+
1796 /// The uri this link points to. If missing a resolve request is sent later.
+ +
1798
+
1799 // TODO(forster): The following optional fields defined by the language
+
1800 // server protocol are unsupported:
+
1801 //
+
1802 // data?: any - A data entry field that is preserved on a document link
+
1803 // between a DocumentLinkRequest and a
+
1804 // DocumentLinkResolveRequest.
+
1805
+
+
1806 friend bool operator==(const DocumentLink &LHS, const DocumentLink &RHS) {
+
1807 return LHS.range == RHS.range && LHS.target == RHS.target;
+
1808 }
+
+
1809
+
+
1810 friend bool operator!=(const DocumentLink &LHS, const DocumentLink &RHS) {
+
1811 return !(LHS == RHS);
+
1812 }
+
+
1813};
+
+
1814llvm::json::Value toJSON(const DocumentLink &DocumentLink);
+
1815
+
1816// FIXME(kirillbobyrev): Add FoldingRangeClientCapabilities so we can support
+
1817// per-line-folding editors.
+ +
1821bool fromJSON(const llvm::json::Value &, FoldingRangeParams &,
+
1822 llvm::json::Path);
+
1823
+
1824/// Stores information about a region of code that can be folded.
+
+ +
1826 unsigned startLine = 0;
+ +
1828 unsigned endLine = 0;
+ +
1830
+
1831 const static llvm::StringLiteral REGION_KIND;
+
1832 const static llvm::StringLiteral COMMENT_KIND;
+
1833 const static llvm::StringLiteral IMPORT_KIND;
+
1834 std::string kind;
+
1835};
+
+
1836llvm::json::Value toJSON(const FoldingRange &Range);
+
1837
+
1838/// Keys starting with an underscore(_) represent leaves, e.g. _total or _self
+
1839/// for memory usage of whole subtree or only that specific node in bytes. All
+
1840/// other keys represents children. An example:
+
1841/// {
+
1842/// "_self": 0,
+
1843/// "_total": 8,
+
1844/// "child1": {
+
1845/// "_self": 4,
+
1846/// "_total": 4,
+
1847/// }
+
1848/// "child2": {
+
1849/// "_self": 2,
+
1850/// "_total": 4,
+
1851/// "child_deep": {
+
1852/// "_self": 2,
+
1853/// "_total": 2,
+
1854/// }
+
1855/// }
+
1856/// }
+
1857
+
1858/// Payload for textDocument/ast request.
+
1859/// This request is a clangd extension.
+
+ +
1861 /// The text document.
+ +
1863
+
1864 /// The position of the node to be dumped.
+
1865 /// The highest-level node that entirely contains the range will be returned.
+
1866 /// If no range is given, the root translation unit node will be returned.
+
1867 std::optional<Range> range;
+
1868};
+
+
1869bool fromJSON(const llvm::json::Value &, ASTParams &, llvm::json::Path);
+
1870
+
1871/// Simplified description of a clang AST node.
+
1872/// This is clangd's internal representation of C++ code.
+
+
1873struct ASTNode {
+
1874 /// The general kind of node, such as "expression"
+
1875 /// Corresponds to the base AST node type such as Expr.
+
1876 std::string role;
+
1877 /// The specific kind of node this is, such as "BinaryOperator".
+
1878 /// This is usually a concrete node class (with Expr etc suffix dropped).
+
1879 /// When there's no hierarchy (e.g. TemplateName), the variant (NameKind).
+
1880 std::string kind;
+
1881 /// Brief additional information, such as "||" for the particular operator.
+
1882 /// The information included depends on the node kind, and may be empty.
+
1883 std::string detail;
+
1884 /// A one-line dump of detailed information about the node.
+
1885 /// This includes role/kind/description information, but is rather cryptic.
+
1886 /// It is similar to the output from `clang -Xclang -ast-dump`.
+
1887 /// May be empty for certain types of nodes.
+
1888 std::string arcana;
+
1889 /// The range of the original source file covered by this node.
+
1890 /// May be missing for implicit nodes, or those created by macro expansion.
+
1891 std::optional<Range> range;
+
1892 /// Nodes nested within this one, such as the operands of a BinaryOperator.
+
1893 std::vector<ASTNode> children;
+
1894};
+
+
1895llvm::json::Value toJSON(const ASTNode &);
+
1896llvm::raw_ostream &operator<<(llvm::raw_ostream &, const ASTNode &);
+
1897
+
1898// https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#workspace_configuration
+
+ +
1900
+
1901 // The scope to get the configuration section for.
+
1902 std::optional<URIForFile> scopeUri;
+
1903
+
1904 // The configuration section asked for.
+
1905 std::optional<std::string> section;
+
1906};
+
+
1907llvm::json::Value toJSON(const ConfigurationItem &);
+
1908
+
+ +
1910 std::vector<ConfigurationItem> items;
+
1911};
+
+
1912
+
1913llvm::json::Value toJSON(const ConfigurationParams &);
+
1914
+
1915} // namespace lspserver
+
+
1916namespace llvm {
+
+
1917template <> struct format_provider<lspserver::Position> {
+
+
1918 static void format(const lspserver::Position &Pos, raw_ostream &OS,
+
1919 StringRef Style) {
+
1920 assert(Style.empty() && "style modifiers for this type are not supported");
+
1921 OS << Pos;
+
1922 }
+
+
1923};
+
+
1924} // 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..e08fcca9f --- /dev/null +++ b/lspserver_2src_2Protocol_8cpp.html @@ -0,0 +1,408 @@ + + + + + + + +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 &)
 
bool lspserver::fromJSON (const llvm::json::Value &, Location &, llvm::json::Path)
 
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)
 
bool lspserver::fromJSON (const llvm::json::Value &, MarkupContent &, llvm::json::Path)
 
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 &)
 
bool lspserver::fromJSON (const llvm::json::Value &, CompletionItem &, llvm::json::Path)
 
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..93065c999 --- /dev/null +++ b/lspserver_2src_2Protocol_8cpp_source.html @@ -0,0 +1,2270 @@ + + + + + + + +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
+
+ +
43 llvm::StringRef TUPath) {
+
44 assert(llvm::sys::path::is_absolute(AbsPath) && "the path is relative");
+ +
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) {
+ +
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
+
+
157bool fromJSON(const llvm::json::Value &Params, Location &R,
+
158 llvm::json::Path P) {
+
159 llvm::json::ObjectMapper O(Params, P);
+
160 return O && O.map("uri", R.uri) && O.map("range", R.range);
+
161}
+
+
162
+
+
163llvm::raw_ostream &operator<<(llvm::raw_ostream &OS, const Location &L) {
+
164 return OS << L.range << '@' << L.uri;
+
165}
+
+
166
+
+
167llvm::json::Value toJSON(const ReferenceLocation &P) {
+
168 llvm::json::Object Result{
+
169 {"uri", P.uri},
+
170 {"range", P.range},
+
171 };
+
172 if (P.containerName)
+
173 Result.insert({"containerName", P.containerName});
+
174 return Result;
+
175}
+
+
176
+
+
177llvm::raw_ostream &operator<<(llvm::raw_ostream &OS,
+
178 const ReferenceLocation &L) {
+
179 return OS << L.range << '@' << L.uri << " (container: " << L.containerName
+
180 << ")";
+
181}
+
+
182
+
+
183bool fromJSON(const llvm::json::Value &Params, TextDocumentItem &R,
+
184 llvm::json::Path P) {
+
185 llvm::json::ObjectMapper O(Params, P);
+
186 return O && O.map("uri", R.uri) && O.map("languageId", R.languageId) &&
+
187 O.map("version", R.version) && O.map("text", R.text);
+
188}
+
+
189
+
+
190bool fromJSON(const llvm::json::Value &Params, TextEdit &R,
+
191 llvm::json::Path P) {
+
192 llvm::json::ObjectMapper O(Params, P);
+
193 return O && O.map("range", R.range) && O.map("newText", R.newText) &&
+
194 O.mapOptional("annotationId", R.annotationId);
+
195}
+
+
196
+
+
197llvm::json::Value toJSON(const TextEdit &P) {
+
198 llvm::json::Object Result{
+
199 {"range", P.range},
+
200 {"newText", P.newText},
+
201 };
+
202 if (!P.annotationId.empty())
+
203 Result["annotationId"] = P.annotationId;
+
204 return Result;
+
205}
+
+
206
+
+
207bool fromJSON(const llvm::json::Value &Params, ChangeAnnotation &R,
+
208 llvm::json::Path P) {
+
209 llvm::json::ObjectMapper O(Params, P);
+
210 return O && O.map("label", R.label) &&
+
211 O.map("needsConfirmation", R.needsConfirmation) &&
+
212 O.mapOptional("description", R.description);
+
213}
+
+
+
214llvm::json::Value toJSON(const ChangeAnnotation &CA) {
+
215 llvm::json::Object Result{{"label", CA.label}};
+
216 if (CA.needsConfirmation)
+
217 Result["needsConfirmation"] = *CA.needsConfirmation;
+
218 if (!CA.description.empty())
+
219 Result["description"] = CA.description;
+
220 return Result;
+
221}
+
+
222
+
+
223bool fromJSON(const llvm::json::Value &Params, TextDocumentEdit &R,
+
224 llvm::json::Path P) {
+
225 llvm::json::ObjectMapper O(Params, P);
+
226 return O && O.map("textDocument", R.textDocument) && O.map("edits", R.edits);
+
227}
+
+
+
228llvm::json::Value toJSON(const TextDocumentEdit &P) {
+
229 llvm::json::Object Result{{"textDocument", P.textDocument},
+
230 {"edits", P.edits}};
+
231 return Result;
+
232}
+
+
233
+
+
234llvm::raw_ostream &operator<<(llvm::raw_ostream &OS, const TextEdit &TE) {
+
235 OS << TE.range << " => \"";
+
236 llvm::printEscapedString(TE.newText, OS);
+
237 return OS << '"';
+
238}
+
+
239
+
+
240bool fromJSON(const llvm::json::Value &E, TraceLevel &Out, llvm::json::Path P) {
+
241 if (auto S = E.getAsString()) {
+
242 if (*S == "off") {
+
243 Out = TraceLevel::Off;
+
244 return true;
+
245 }
+
246 if (*S == "messages") {
+ +
248 return true;
+
249 }
+
250 if (*S == "verbose") {
+ +
252 return true;
+
253 }
+
254 }
+
255 return false;
+
256}
+
+
257
+
+
258bool fromJSON(const llvm::json::Value &E, SymbolKind &Out, llvm::json::Path P) {
+
259 if (auto T = E.getAsInteger()) {
+
260 if (*T < static_cast<int>(SymbolKind::File) ||
+
261 *T > static_cast<int>(SymbolKind::TypeParameter))
+
262 return false;
+
263 Out = static_cast<SymbolKind>(*T);
+
264 return true;
+
265 }
+
266 return false;
+
267}
+
+
268
+
+
269bool fromJSON(const llvm::json::Value &E, SymbolKindBitset &Out,
+
270 llvm::json::Path P) {
+
271 if (auto *A = E.getAsArray()) {
+
272 for (size_t I = 0; I < A->size(); ++I) {
+ +
274 if (fromJSON((*A)[I], KindOut, P.index(I)))
+
275 Out.set(size_t(KindOut));
+
276 }
+
277 return true;
+
278 }
+
279 return false;
+
280}
+
+
281
+
+ + +
284 auto KindVal = static_cast<size_t>(Kind);
+ + +
287 return Kind;
+
288
+
289 switch (Kind) {
+
290 // Provide some fall backs for common kinds that are close enough.
+ +
292 return SymbolKind::Class;
+ +
294 return SymbolKind::Enum;
+
295 default:
+
296 return SymbolKind::String;
+
297 }
+
298}
+
+
299
+
+
300bool fromJSON(const llvm::json::Value &Params, ClientCapabilities &R,
+
301 llvm::json::Path P) {
+
302 const llvm::json::Object *O = Params.getAsObject();
+
303 if (!O) {
+
304 P.report("expected object");
+
305 return false;
+
306 }
+
307 if (auto *TextDocument = O->getObject("textDocument")) {
+
308 if (auto *SemanticHighlighting =
+
309 TextDocument->getObject("semanticHighlightingCapabilities")) {
+ +
311 SemanticHighlighting->getBoolean("semanticHighlighting"))
+ +
313 }
+
314 if (auto *InactiveRegions =
+
315 TextDocument->getObject("inactiveRegionsCapabilities")) {
+
316 if (auto InactiveRegionsSupport =
+
317 InactiveRegions->getBoolean("inactiveRegions")) {
+ +
319 }
+
320 }
+
321 if (TextDocument->getObject("semanticTokens"))
+
322 R.SemanticTokens = true;
+
323 if (auto *Diagnostics = TextDocument->getObject("publishDiagnostics")) {
+
324 if (auto CategorySupport = Diagnostics->getBoolean("categorySupport"))
+ +
326 if (auto CodeActions = Diagnostics->getBoolean("codeActionsInline"))
+ +
328 if (auto RelatedInfo = Diagnostics->getBoolean("relatedInformation"))
+ +
330 }
+
331 if (auto *References = TextDocument->getObject("references"))
+
332 if (auto ContainerSupport = References->getBoolean("container"))
+ +
334 if (auto *Completion = TextDocument->getObject("completion")) {
+
335 if (auto *Item = Completion->getObject("completionItem")) {
+
336 if (auto SnippetSupport = Item->getBoolean("snippetSupport"))
+ +
338 if (const auto *DocumentationFormat =
+
339 Item->getArray("documentationFormat")) {
+
340 for (const auto &Format : *DocumentationFormat) {
+ +
342 break;
+
343 }
+
344 }
+
345 }
+
346 if (auto *ItemKind = Completion->getObject("completionItemKind")) {
+
347 if (auto *ValueSet = ItemKind->get("valueSet")) {
+
348 R.CompletionItemKinds.emplace();
+ +
350 P.field("textDocument")
+
351 .field("completion")
+
352 .field("completionItemKind")
+
353 .field("valueSet")))
+
354 return false;
+
355 }
+
356 }
+
357 if (auto EditsNearCursor = Completion->getBoolean("editsNearCursor"))
+ +
359 }
+
360 if (auto *CodeAction = TextDocument->getObject("codeAction")) {
+
361 if (CodeAction->getObject("codeActionLiteralSupport"))
+
362 R.CodeActionStructure = true;
+
363 }
+
364 if (auto *DocumentSymbol = TextDocument->getObject("documentSymbol")) {
+
365 if (auto HierarchicalSupport =
+
366 DocumentSymbol->getBoolean("hierarchicalDocumentSymbolSupport"))
+ +
368 }
+
369 if (auto *Hover = TextDocument->getObject("hover")) {
+
370 if (auto *ContentFormat = Hover->getArray("contentFormat")) {
+
371 for (const auto &Format : *ContentFormat) {
+ +
373 break;
+
374 }
+
375 }
+
376 }
+
377 if (auto *Help = TextDocument->getObject("signatureHelp")) {
+
378 R.HasSignatureHelp = true;
+
379 if (auto *Info = Help->getObject("signatureInformation")) {
+
380 if (auto *Parameter = Info->getObject("parameterInformation")) {
+
381 if (auto OffsetSupport = Parameter->getBoolean("labelOffsetSupport"))
+ +
383 }
+
384 if (const auto *DocumentationFormat =
+
385 Info->getArray("documentationFormat")) {
+
386 for (const auto &Format : *DocumentationFormat) {
+ +
388 break;
+
389 }
+
390 }
+
391 }
+
392 }
+
393 if (auto *Folding = TextDocument->getObject("foldingRange")) {
+
394 if (auto LineFolding = Folding->getBoolean("lineFoldingOnly"))
+ +
396 }
+
397 if (auto *Rename = TextDocument->getObject("rename")) {
+
398 if (auto RenameSupport = Rename->getBoolean("prepareSupport"))
+ +
400 }
+
401 }
+
402 if (auto *Workspace = O->getObject("workspace")) {
+
403 if (auto *Symbol = Workspace->getObject("symbol")) {
+
404 if (auto *SymbolKind = Symbol->getObject("symbolKind")) {
+
405 if (auto *ValueSet = SymbolKind->get("valueSet")) {
+
406 R.WorkspaceSymbolKinds.emplace();
+ +
408 P.field("workspace")
+
409 .field("symbol")
+
410 .field("symbolKind")
+
411 .field("valueSet")))
+
412 return false;
+
413 }
+
414 }
+
415 }
+
416
+
417 if (auto WorkspaceConfiguration = Workspace->getBoolean("configuration")) {
+
418 R.WorkspaceConfiguration = *WorkspaceConfiguration;
+
419 }
+
420
+
421 if (auto *SemanticTokens = Workspace->getObject("semanticTokens")) {
+
422 if (auto RefreshSupport = SemanticTokens->getBoolean("refreshSupport"))
+ +
424 }
+
425 if (auto *WorkspaceEdit = Workspace->getObject("workspaceEdit")) {
+
426 if (auto DocumentChanges = WorkspaceEdit->getBoolean("documentChanges"))
+
427 R.DocumentChanges = *DocumentChanges;
+
428 if (WorkspaceEdit->getObject("changeAnnotationSupport")) {
+
429 R.ChangeAnnotation = true;
+
430 }
+
431 }
+
432 }
+
433 if (auto *Window = O->getObject("window")) {
+
434 if (auto WorkDoneProgress = Window->getBoolean("workDoneProgress"))
+
435 R.WorkDoneProgress = *WorkDoneProgress;
+
436 if (auto Implicit = Window->getBoolean("implicitWorkDoneProgressCreate"))
+ +
438 }
+
439 if (auto *General = O->getObject("general")) {
+
440 if (auto *StaleRequestSupport = General->getObject("staleRequestSupport")) {
+
441 if (auto Cancel = StaleRequestSupport->getBoolean("cancel"))
+ +
443 }
+
444 }
+
445 if (auto *OffsetEncoding = O->get("offsetEncoding")) {
+
446 R.offsetEncoding.emplace();
+ +
448 P.field("offsetEncoding")))
+
449 return false;
+
450 }
+
451 return true;
+
452}
+
+
453
+
+
454bool fromJSON(const llvm::json::Value &Params, InitializeParams &R,
+
455 llvm::json::Path P) {
+
456 llvm::json::ObjectMapper O(Params, P);
+
457 if (!O)
+
458 return false;
+
459 // We deliberately don't fail if we can't parse individual fields.
+
460 // Failing to handle a slightly malformed initialize would be a disaster.
+
461 O.map("processId", R.processId);
+
462 O.map("rootUri", R.rootUri);
+
463 O.map("rootPath", R.rootPath);
+
464 O.map("capabilities", R.capabilities);
+
465 if (auto *RawCaps = Params.getAsObject()->getObject("capabilities"))
+ +
467 O.map("trace", R.trace);
+
468 O.map("initializationOptions", R.initializationOptions);
+
469 return true;
+
470}
+
+
471
+
+
472llvm::json::Value toJSON(const WorkDoneProgressCreateParams &P) {
+
473 return llvm::json::Object{{"token", P.token}};
+
474}
+
+
475
+
+
476llvm::json::Value toJSON(const WorkDoneProgressBegin &P) {
+
477 llvm::json::Object Result{
+
478 {"kind", "begin"},
+
479 {"title", P.title},
+
480 };
+
481 if (P.cancellable)
+
482 Result["cancellable"] = true;
+
483 if (P.percentage)
+
484 Result["percentage"] = 0;
+
485
+
486 // FIXME: workaround for older gcc/clang
+
487 return Result;
+
488}
+
+
489
+
+
490llvm::json::Value toJSON(const WorkDoneProgressReport &P) {
+
491 llvm::json::Object Result{{"kind", "report"}};
+
492 if (P.cancellable)
+
493 Result["cancellable"] = *P.cancellable;
+
494 if (P.message)
+
495 Result["message"] = *P.message;
+
496 if (P.percentage)
+
497 Result["percentage"] = *P.percentage;
+
498 // FIXME: workaround for older gcc/clang
+
499 return Result;
+
500}
+
+
501
+
+
502llvm::json::Value toJSON(const WorkDoneProgressEnd &P) {
+
503 llvm::json::Object Result{{"kind", "end"}};
+
504 if (P.message)
+
505 Result["message"] = *P.message;
+
506 // FIXME: workaround for older gcc/clang
+
507 return Result;
+
508}
+
+
509
+
+
510llvm::json::Value toJSON(const MessageType &R) {
+
511 return static_cast<int64_t>(R);
+
512}
+
+
513
+
+
514llvm::json::Value toJSON(const ShowMessageParams &R) {
+
515 return llvm::json::Object{{"type", R.type}, {"message", R.message}};
+
516}
+
+
517
+
+
518bool fromJSON(const llvm::json::Value &Params, DidOpenTextDocumentParams &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, DidCloseTextDocumentParams &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, DidSaveTextDocumentParams &R,
+
531 llvm::json::Path P) {
+
532 llvm::json::ObjectMapper O(Params, P);
+
533 return O && O.map("textDocument", R.textDocument);
+
534}
+
+
535
+
+
536bool fromJSON(const llvm::json::Value &Params, DidChangeTextDocumentParams &R,
+
537 llvm::json::Path P) {
+
538 llvm::json::ObjectMapper O(Params, P);
+
539 return O && O.map("textDocument", R.textDocument) &&
+
540 O.map("contentChanges", R.contentChanges) &&
+
541 O.map("wantDiagnostics", R.wantDiagnostics) &&
+
542 mapOptOrNull(Params, "forceRebuild", R.forceRebuild, P);
+
543}
+
+
544
+
+
545bool fromJSON(const llvm::json::Value &E, FileChangeType &Out,
+
546 llvm::json::Path P) {
+
547 if (auto T = E.getAsInteger()) {
+
548 if (*T < static_cast<int>(FileChangeType::Created) ||
+
549 *T > static_cast<int>(FileChangeType::Deleted))
+
550 return false;
+
551 Out = static_cast<FileChangeType>(*T);
+
552 return true;
+
553 }
+
554 return false;
+
555}
+
+
556
+
+
557bool fromJSON(const llvm::json::Value &Params, FileEvent &R,
+
558 llvm::json::Path P) {
+
559 llvm::json::ObjectMapper O(Params, P);
+
560 return O && O.map("uri", R.uri) && O.map("type", R.type);
+
561}
+
+
562
+
+
563bool fromJSON(const llvm::json::Value &Params, DidChangeWatchedFilesParams &R,
+
564 llvm::json::Path P) {
+
565 llvm::json::ObjectMapper O(Params, P);
+
566 return O && O.map("changes", R.changes);
+
567}
+
+
568
+
+
569bool fromJSON(const llvm::json::Value &Params,
+
570 TextDocumentContentChangeEvent &R, llvm::json::Path P) {
+
571 llvm::json::ObjectMapper O(Params, P);
+
572 return O && O.map("range", R.range) && O.map("rangeLength", R.rangeLength) &&
+
573 O.map("text", R.text);
+
574}
+
+
575
+
+
576bool fromJSON(const llvm::json::Value &Params, DocumentRangeFormattingParams &R,
+
577 llvm::json::Path P) {
+
578 llvm::json::ObjectMapper O(Params, P);
+
579 return O && O.map("textDocument", R.textDocument) && O.map("range", R.range);
+
580}
+
+
581
+
+
582bool fromJSON(const llvm::json::Value &Params,
+
583 DocumentOnTypeFormattingParams &R, llvm::json::Path P) {
+
584 llvm::json::ObjectMapper O(Params, P);
+
585 return O && O.map("textDocument", R.textDocument) &&
+
586 O.map("position", R.position) && O.map("ch", R.ch);
+
587}
+
+
588
+
+
589bool fromJSON(const llvm::json::Value &Params, DocumentFormattingParams &R,
+
590 llvm::json::Path P) {
+
591 llvm::json::ObjectMapper O(Params, P);
+
592 return O && O.map("textDocument", R.textDocument);
+
593}
+
+
594
+
+
595bool fromJSON(const llvm::json::Value &Params, DocumentSymbolParams &R,
+
596 llvm::json::Path P) {
+
597 llvm::json::ObjectMapper O(Params, P);
+
598 return O && O.map("textDocument", R.textDocument);
+
599}
+
+
600
+
+
601llvm::json::Value toJSON(const DiagnosticRelatedInformation &DRI) {
+
602 return llvm::json::Object{
+
603 {"location", DRI.location},
+
604 {"message", DRI.message},
+
605 };
+
606}
+
+
607
+
608llvm::json::Value toJSON(DiagnosticTag Tag) { return static_cast<int>(Tag); }
+
609
+
+
610llvm::json::Value toJSON(const CodeDescription &D) {
+
611 return llvm::json::Object{{"href", D.href}};
+
612}
+
+
613
+
+
614llvm::json::Value toJSON(const Diagnostic &D) {
+
615 llvm::json::Object Diag{
+
616 {"range", D.range},
+
617 {"severity", D.severity},
+
618 {"message", D.message},
+
619 };
+
620 if (D.category)
+
621 Diag["category"] = *D.category;
+
622 if (D.codeActions)
+
623 Diag["codeActions"] = D.codeActions;
+
624 if (!D.code.empty())
+
625 Diag["code"] = D.code;
+
626 if (D.codeDescription)
+
627 Diag["codeDescription"] = *D.codeDescription;
+
628 if (!D.source.empty())
+
629 Diag["source"] = D.source;
+
630 if (D.relatedInformation)
+
631 Diag["relatedInformation"] = *D.relatedInformation;
+
632 if (!D.data.empty())
+
633 Diag["data"] = llvm::json::Object(D.data);
+
634 if (!D.tags.empty())
+
635 Diag["tags"] = llvm::json::Array{D.tags};
+
636 // FIXME: workaround for older gcc/clang
+
637 return Diag;
+
638}
+
+
639
+
+
640bool fromJSON(const llvm::json::Value &Params, Diagnostic &R,
+
641 llvm::json::Path P) {
+
642 llvm::json::ObjectMapper O(Params, P);
+
643 if (!O)
+
644 return false;
+
645 if (auto *Data = Params.getAsObject()->getObject("data"))
+
646 R.data = *Data;
+
647 return O.map("range", R.range) && O.map("message", R.message) &&
+
648 mapOptOrNull(Params, "severity", R.severity, P) &&
+
649 mapOptOrNull(Params, "category", R.category, P) &&
+
650 mapOptOrNull(Params, "code", R.code, P) &&
+
651 mapOptOrNull(Params, "source", R.source, P);
+
652}
+
+
653
+
+
654llvm::json::Value toJSON(const PublishDiagnosticsParams &PDP) {
+
655 llvm::json::Object Result{
+
656 {"uri", PDP.uri},
+
657 {"diagnostics", PDP.diagnostics},
+
658 };
+
659 if (PDP.version)
+
660 Result["version"] = PDP.version;
+
661 return Result;
+
662}
+
+
663
+
+
664bool fromJSON(const llvm::json::Value &Params, CodeActionContext &R,
+
665 llvm::json::Path P) {
+
666 llvm::json::ObjectMapper O(Params, P);
+
667 if (!O || !O.map("diagnostics", R.diagnostics))
+
668 return false;
+
669 O.map("only", R.only);
+
670 return true;
+
671}
+
+
672
+
+
673llvm::raw_ostream &operator<<(llvm::raw_ostream &OS, const Diagnostic &D) {
+
674 OS << D.range << " [";
+
675 switch (D.severity) {
+
676 case 1:
+
677 OS << "error";
+
678 break;
+
679 case 2:
+
680 OS << "warning";
+
681 break;
+
682 case 3:
+
683 OS << "note";
+
684 break;
+
685 case 4:
+
686 OS << "remark";
+
687 break;
+
688 default:
+
689 OS << "diagnostic";
+
690 break;
+
691 }
+
692 return OS << '(' << D.severity << "): " << D.message << "]";
+
693}
+
+
694
+
+
695bool fromJSON(const llvm::json::Value &Params, CodeActionParams &R,
+
696 llvm::json::Path P) {
+
697 llvm::json::ObjectMapper O(Params, P);
+
698 return O && O.map("textDocument", R.textDocument) &&
+
699 O.map("range", R.range) && O.map("context", R.context);
+
700}
+
+
701
+
+
702bool fromJSON(const llvm::json::Value &Params, WorkspaceEdit &R,
+
703 llvm::json::Path P) {
+
704 llvm::json::ObjectMapper O(Params, P);
+
705 return O && O.map("changes", R.changes) &&
+
706 O.map("documentChanges", R.documentChanges) &&
+
707 O.mapOptional("changeAnnotations", R.changeAnnotations);
+
708}
+
+
709
+
+
710bool fromJSON(const llvm::json::Value &Params, ExecuteCommandParams &R,
+
711 llvm::json::Path P) {
+
712 llvm::json::ObjectMapper O(Params, P);
+
713 if (!O || !O.map("command", R.command))
+
714 return false;
+
715
+
716 const auto *Args = Params.getAsObject()->get("arguments");
+
717 if (!Args)
+
718 return true; // Missing args is ok, argument is null.
+
719 const auto *ArgsArray = Args->getAsArray();
+
720 if (!ArgsArray) {
+
721 P.field("arguments").report("expected array");
+
722 return false;
+
723 }
+
724 if (ArgsArray->size() > 1) {
+
725 P.field("arguments").report("Command should have 0 or 1 argument");
+
726 return false;
+
727 }
+
728 if (ArgsArray->size() == 1) {
+
729 R.argument = ArgsArray->front();
+
730 }
+
731 return true;
+
732}
+
+
733
+
+
734llvm::json::Value toJSON(const SymbolInformation &P) {
+
735 llvm::json::Object O{
+
736 {"name", P.name},
+
737 {"kind", static_cast<int>(P.kind)},
+
738 {"location", P.location},
+
739 {"containerName", P.containerName},
+
740 };
+
741 if (P.score)
+
742 O["score"] = *P.score;
+
743 return O;
+
744}
+
+
745
+
+
746llvm::raw_ostream &operator<<(llvm::raw_ostream &O,
+
747 const SymbolInformation &SI) {
+
748 O << SI.containerName << "::" << SI.name << " - " << toJSON(SI);
+
749 return O;
+
750}
+
+
751
+
+
752bool fromJSON(const llvm::json::Value &Params, WorkspaceSymbolParams &R,
+
753 llvm::json::Path P) {
+
754 llvm::json::ObjectMapper O(Params, P);
+
755 return O && O.map("query", R.query) &&
+
756 mapOptOrNull(Params, "limit", R.limit, P);
+
757}
+
+
758
+
+
759llvm::json::Value toJSON(const Command &C) {
+
760 auto Cmd = llvm::json::Object{{"title", C.title}, {"command", C.command}};
+
761 if (!C.argument.getAsNull())
+
762 Cmd["arguments"] = llvm::json::Array{C.argument};
+
763 return Cmd;
+
764}
+
+
765
+
766const llvm::StringLiteral CodeAction::QUICKFIX_KIND = "quickfix";
+
767const llvm::StringLiteral CodeAction::REFACTOR_KIND = "refactor";
+
768const llvm::StringLiteral CodeAction::INFO_KIND = "info";
+
769
+
+
770llvm::json::Value toJSON(const CodeAction &CA) {
+
771 auto CodeAction = llvm::json::Object{{"title", CA.title}};
+
772 if (CA.kind)
+
773 CodeAction["kind"] = *CA.kind;
+
774 if (CA.diagnostics)
+
775 CodeAction["diagnostics"] = llvm::json::Array(*CA.diagnostics);
+
776 if (CA.isPreferred)
+
777 CodeAction["isPreferred"] = true;
+
778 if (CA.edit)
+
779 CodeAction["edit"] = *CA.edit;
+
780 if (CA.command)
+
781 CodeAction["command"] = *CA.command;
+
782 return CodeAction;
+
783}
+
+
784
+
+
785llvm::raw_ostream &operator<<(llvm::raw_ostream &O, const DocumentSymbol &S) {
+
786 return O << S.name << " - " << toJSON(S);
+
787}
+
+
788
+
+
789llvm::json::Value toJSON(const DocumentSymbol &S) {
+
790 llvm::json::Object Result{{"name", S.name},
+
791 {"kind", static_cast<int>(S.kind)},
+
792 {"range", S.range},
+
793 {"selectionRange", S.selectionRange}};
+
794
+
795 if (!S.detail.empty())
+
796 Result["detail"] = S.detail;
+
797 if (!S.children.empty())
+
798 Result["children"] = S.children;
+
799 if (S.deprecated)
+
800 Result["deprecated"] = true;
+
801 // FIXME: workaround for older gcc/clang
+
802 return Result;
+
803}
+
+
804
+
+
805llvm::json::Value toJSON(const WorkspaceEdit &WE) {
+
806 llvm::json::Object Result;
+
807 if (WE.changes) {
+
808 llvm::json::Object FileChanges;
+
809 for (auto &Change : *WE.changes)
+
810 FileChanges[Change.first] = llvm::json::Array(Change.second);
+
811 Result["changes"] = std::move(FileChanges);
+
812 }
+
813 if (WE.documentChanges)
+
814 Result["documentChanges"] = *WE.documentChanges;
+
815 if (!WE.changeAnnotations.empty()) {
+
816 llvm::json::Object ChangeAnnotations;
+
817 for (auto &Annotation : WE.changeAnnotations)
+ +
819 Result["changeAnnotations"] = std::move(ChangeAnnotations);
+
820 }
+
821 return Result;
+
822}
+
+
823
+
+
824bool fromJSON(const llvm::json::Value &Params, TweakArgs &A,
+
825 llvm::json::Path P) {
+
826 llvm::json::ObjectMapper O(Params, P);
+
827 return O && O.map("file", A.file) && O.map("selection", A.selection) &&
+
828 O.map("tweakID", A.tweakID);
+
829}
+
+
830
+
+
831llvm::json::Value toJSON(const TweakArgs &A) {
+
832 return llvm::json::Object{
+
833 {"tweakID", A.tweakID}, {"selection", A.selection}, {"file", A.file}};
+
834}
+
+
835
+
+
836llvm::json::Value toJSON(const ApplyWorkspaceEditParams &Params) {
+
837 return llvm::json::Object{{"edit", Params.edit}};
+
838}
+
+
839
+
+
840bool fromJSON(const llvm::json::Value &Response, ApplyWorkspaceEditResponse &R,
+
841 llvm::json::Path P) {
+
842 llvm::json::ObjectMapper O(Response, P);
+
843 return O && O.map("applied", R.applied) &&
+
844 O.map("failureReason", R.failureReason);
+
845}
+
+
846
+
+
847bool fromJSON(const llvm::json::Value &Params, TextDocumentPositionParams &R,
+
848 llvm::json::Path P) {
+
849 llvm::json::ObjectMapper O(Params, P);
+
850 return O && O.map("textDocument", R.textDocument) &&
+
851 O.map("position", R.position);
+
852}
+
+
853
+
+
854bool fromJSON(const llvm::json::Value &Params, CompletionContext &R,
+
855 llvm::json::Path P) {
+
856 llvm::json::ObjectMapper O(Params, P);
+
857 int TriggerKind;
+
858 if (!O || !O.map("triggerKind", TriggerKind) ||
+
859 !mapOptOrNull(Params, "triggerCharacter", R.triggerCharacter, P))
+
860 return false;
+ +
862 return true;
+
863}
+
+
864
+
+
865bool fromJSON(const llvm::json::Value &Params, CompletionParams &R,
+
866 llvm::json::Path P) {
+
867 if (!fromJSON(Params, static_cast<TextDocumentPositionParams &>(R), P) ||
+
868 !mapOptOrNull(Params, "limit", R.limit, P))
+
869 return false;
+
870 if (auto *Context = Params.getAsObject()->get("context"))
+
871 return fromJSON(*Context, R.context, P.field("context"));
+
872 return true;
+
873}
+
+
874
+
875static llvm::StringRef toTextKind(MarkupKind Kind) {
+
876 switch (Kind) {
+ +
878 return "plaintext";
+ +
880 return "markdown";
+
881 }
+
882 llvm_unreachable("Invalid MarkupKind");
+
883}
+
884
+
885static MarkupKind fromTextKind(llvm::StringRef Kind) {
+
886 if (Kind == "plaintext")
+ +
888 if (Kind == "markdown")
+ +
890 llvm_unreachable("Invalid MarkupKind");
+
891}
+
892
+
+
893bool fromJSON(const llvm::json::Value &V, MarkupKind &K, llvm::json::Path P) {
+
894 auto Str = V.getAsString();
+
895 if (!Str) {
+
896 P.report("expected string");
+
897 return false;
+
898 }
+
899 if (*Str == "plaintext")
+ +
901 else if (*Str == "markdown")
+ +
903 else {
+
904 P.report("unknown markup kind");
+
905 return false;
+
906 }
+
907 return true;
+
908}
+
+
909
+
+
910llvm::raw_ostream &operator<<(llvm::raw_ostream &OS, MarkupKind K) {
+
911 return OS << toTextKind(K);
+
912}
+
+
913
+
+
914llvm::json::Value toJSON(const MarkupContent &MC) {
+
915 if (MC.value.empty())
+
916 return nullptr;
+
917
+
918 return llvm::json::Object{
+
919 {"kind", toTextKind(MC.kind)},
+
920 {"value", MC.value},
+
921 };
+
922}
+
+
923
+
+
924bool fromJSON(const llvm::json::Value &Params, MarkupContent &R,
+
925 llvm::json::Path P) {
+
926 llvm::json::ObjectMapper O(Params, P);
+
927 std::string MarkupKind;
+
928 O.map("kind", MarkupKind);
+
929 R.kind = fromTextKind(MarkupKind);
+
930 return O.mapOptional("value", R.value);
+
931}
+
+
932
+
+
933llvm::json::Value toJSON(const Hover &H) {
+
934 llvm::json::Object Result{{"contents", toJSON(H.contents)}};
+
935
+
936 if (H.range)
+
937 Result["range"] = toJSON(*H.range);
+
938
+
939 return Result;
+
940}
+
+
941
+
+
942bool fromJSON(const llvm::json::Value &E, CompletionItemKind &Out,
+
943 llvm::json::Path P) {
+
944 if (auto T = E.getAsInteger()) {
+
945 if (*T < static_cast<int>(CompletionItemKind::Text) ||
+
946 *T > static_cast<int>(CompletionItemKind::TypeParameter))
+
947 return false;
+
948 Out = static_cast<CompletionItemKind>(*T);
+
949 return true;
+
950 }
+
951 return false;
+
952}
+
+
953
+ +
+ + +
957 auto KindVal = static_cast<size_t>(Kind);
+ + + +
961 return Kind;
+
962
+
963 switch (Kind) {
+
964 // Provide some fall backs for common kinds that are close enough.
+ + + + + + +
971 default:
+ +
973 }
+
974}
+
+
975
+
+
976bool fromJSON(const llvm::json::Value &E, CompletionItemKindBitset &Out,
+
977 llvm::json::Path P) {
+
978 if (auto *A = E.getAsArray()) {
+
979 for (size_t I = 0; I < A->size(); ++I) {
+ +
981 if (fromJSON((*A)[I], KindOut, P.index(I)))
+
982 Out.set(size_t(KindOut));
+
983 }
+
984 return true;
+
985 }
+
986 return false;
+
987}
+
+
988
+
+
989llvm::json::Value toJSON(const CompletionItem &CI) {
+
990 assert(!CI.label.empty() && "completion item label is required");
+
991 llvm::json::Object Result{{"label", CI.label}};
+ +
993 Result["kind"] = static_cast<int>(CI.kind);
+
994 if (!CI.detail.empty())
+
995 Result["detail"] = CI.detail;
+
996 if (CI.documentation)
+
997 Result["documentation"] = CI.documentation;
+
998 if (!CI.sortText.empty())
+
999 Result["sortText"] = CI.sortText;
+
1000 if (!CI.filterText.empty())
+
1001 Result["filterText"] = CI.filterText;
+
1002 if (!CI.insertText.empty())
+
1003 Result["insertText"] = CI.insertText;
+
1004 if (CI.insertTextFormat != InsertTextFormat::Missing)
+
1005 Result["insertTextFormat"] = static_cast<int>(CI.insertTextFormat);
+
1006 if (CI.textEdit)
+
1007 Result["textEdit"] = *CI.textEdit;
+
1008 if (!CI.additionalTextEdits.empty())
+
1009 Result["additionalTextEdits"] = llvm::json::Array(CI.additionalTextEdits);
+
1010 if (CI.deprecated)
+
1011 Result["deprecated"] = CI.deprecated;
+
1012 Result["score"] = CI.score;
+
1013 Result["data"] = CI.data;
+
1014 return Result;
+
1015}
+
+
1016
+
+
1017bool fromJSON(const llvm::json::Value &Params, CompletionItem &R,
+
1018 llvm::json::Path P) {
+
1019 llvm::json::ObjectMapper O(Params, P);
+
1020 int Kind;
+
1021 if (!O.mapOptional("kind", Kind))
+
1022 return false;
+
1023 R.kind = static_cast<CompletionItemKind>(Kind);
+
1024
+
1025 if (!O.mapOptional("insertTextFormat", Kind))
+
1026 return false;
+
1027 R.insertTextFormat = static_cast<InsertTextFormat>(Kind);
+
1028 return O //
+
1029 && O.map("label", R.label) //
+
1030 && O.mapOptional("detail", R.detail) //
+
1031 && O.mapOptional("documentation", R.documentation) //
+
1032 && O.mapOptional("sortText", R.sortText) //
+
1033 && O.mapOptional("filterText", R.filterText) //
+
1034 && O.mapOptional("insertText", R.insertText) //
+
1035 && O.mapOptional("textEdit", R.textEdit) //
+
1036 && O.mapOptional("additionalTextEdits", R.additionalTextEdits) //
+
1037 && O.mapOptional("data", R.data) //
+
1038 ;
+
1039}
+
+
1040
+
+
1041llvm::raw_ostream &operator<<(llvm::raw_ostream &O, const CompletionItem &I) {
+
1042 O << I.label << " - " << toJSON(I);
+
1043 return O;
+
1044}
+
+
1045
+
+ +
1047 return (L.sortText.empty() ? L.label : L.sortText) <
+
1048 (R.sortText.empty() ? R.label : R.sortText);
+
1049}
+
+
1050
+
+
1051llvm::json::Value toJSON(const CompletionList &L) {
+
1052 return llvm::json::Object{
+
1053 {"isIncomplete", L.isIncomplete},
+
1054 {"items", llvm::json::Array(L.items)},
+
1055 };
+
1056}
+
+
1057
+
+
1058llvm::json::Value toJSON(const ParameterInformation &PI) {
+
1059 assert((PI.labelOffsets || !PI.labelString.empty()) &&
+
1060 "parameter information label is required");
+
1061 llvm::json::Object Result;
+
1062 if (PI.labelOffsets)
+
1063 Result["label"] =
+
1064 llvm::json::Array({PI.labelOffsets->first, PI.labelOffsets->second});
+
1065 else
+
1066 Result["label"] = PI.labelString;
+
1067 if (!PI.documentation.empty())
+
1068 Result["documentation"] = PI.documentation;
+
1069 return Result;
+
1070}
+
+
1071
+
+
1072llvm::json::Value toJSON(const SignatureInformation &SI) {
+
1073 assert(!SI.label.empty() && "signature information label is required");
+
1074 llvm::json::Object Result{
+
1075 {"label", SI.label},
+
1076 {"parameters", llvm::json::Array(SI.parameters)},
+
1077 };
+
1078 if (!SI.documentation.value.empty())
+
1079 Result["documentation"] = SI.documentation;
+
1080 return Result;
+
1081}
+
+
1082
+
+
1083llvm::raw_ostream &operator<<(llvm::raw_ostream &O,
+
1084 const SignatureInformation &I) {
+
1085 O << I.label << " - " << toJSON(I);
+
1086 return O;
+
1087}
+
+
1088
+
+
1089llvm::json::Value toJSON(const SignatureHelp &SH) {
+
1090 assert(SH.activeSignature >= 0 &&
+
1091 "Unexpected negative value for number of active signatures.");
+
1092 assert(SH.activeParameter >= 0 &&
+
1093 "Unexpected negative value for active parameter index");
+
1094 return llvm::json::Object{
+
1095 {"activeSignature", SH.activeSignature},
+
1096 {"activeParameter", SH.activeParameter},
+
1097 {"signatures", llvm::json::Array(SH.signatures)},
+
1098 };
+
1099}
+
+
1100
+
+
1101bool fromJSON(const llvm::json::Value &Params, RenameParams &R,
+
1102 llvm::json::Path P) {
+
1103 llvm::json::ObjectMapper O(Params, P);
+
1104 return O && O.map("textDocument", R.textDocument) &&
+
1105 O.map("position", R.position) && O.map("newName", R.newName);
+
1106}
+
+
1107
+
+
1108llvm::json::Value toJSON(const DocumentHighlight &DH) {
+
1109 return llvm::json::Object{
+
1110 {"range", toJSON(DH.range)},
+
1111 {"kind", static_cast<int>(DH.kind)},
+
1112 };
+
1113}
+
+
1114
+
+
1115llvm::json::Value toJSON(const FileStatus &FStatus) {
+
1116 return llvm::json::Object{
+
1117 {"uri", FStatus.uri},
+
1118 {"state", FStatus.state},
+
1119 };
+
1120}
+
+
1121
+
1122constexpr unsigned SemanticTokenEncodingSize = 5;
+
1123static llvm::json::Value encodeTokens(llvm::ArrayRef<SemanticToken> Toks) {
+
1124 llvm::json::Array Result;
+
1125 Result.reserve(SemanticTokenEncodingSize * Toks.size());
+
1126 for (const auto &Tok : Toks) {
+
1127 Result.push_back(Tok.deltaLine);
+
1128 Result.push_back(Tok.deltaStart);
+
1129 Result.push_back(Tok.length);
+
1130 Result.push_back(Tok.tokenType);
+
1131 Result.push_back(Tok.tokenModifiers);
+
1132 }
+
1133 assert(Result.size() == SemanticTokenEncodingSize * Toks.size());
+
1134 return Result;
+
1135}
+
1136
+
+
1137bool operator==(const SemanticToken &L, const SemanticToken &R) {
+
1138 return std::tie(L.deltaLine, L.deltaStart, L.length, L.tokenType,
+
1139 L.tokenModifiers) == std::tie(R.deltaLine, R.deltaStart,
+
1140 R.length, R.tokenType,
+
1141 R.tokenModifiers);
+
1142}
+
+
1143
+
+
1144llvm::json::Value toJSON(const SemanticTokens &Tokens) {
+
1145 return llvm::json::Object{{"resultId", Tokens.resultId},
+
1146 {"data", encodeTokens(Tokens.tokens)}};
+
1147}
+
+
1148
+
+
1149llvm::json::Value toJSON(const SemanticTokensEdit &Edit) {
+
1150 return llvm::json::Object{
+
1151 {"start", SemanticTokenEncodingSize * Edit.startToken},
+
1152 {"deleteCount", SemanticTokenEncodingSize * Edit.deleteTokens},
+
1153 {"data", encodeTokens(Edit.tokens)}};
+
1154}
+
+
1155
+
+
1156llvm::json::Value toJSON(const SemanticTokensOrDelta &TE) {
+
1157 llvm::json::Object Result{{"resultId", TE.resultId}};
+
1158 if (TE.edits)
+
1159 Result["edits"] = *TE.edits;
+
1160 if (TE.tokens)
+
1161 Result["data"] = encodeTokens(*TE.tokens);
+
1162 return Result;
+
1163}
+
+
1164
+
+
1165bool fromJSON(const llvm::json::Value &Params, SemanticTokensParams &R,
+
1166 llvm::json::Path P) {
+
1167 llvm::json::ObjectMapper O(Params, P);
+
1168 return O && O.map("textDocument", R.textDocument);
+
1169}
+
+
1170
+
+
1171bool fromJSON(const llvm::json::Value &Params, SemanticTokensDeltaParams &R,
+
1172 llvm::json::Path P) {
+
1173 llvm::json::ObjectMapper O(Params, P);
+
1174 return O && O.map("textDocument", R.textDocument) &&
+
1175 O.map("previousResultId", R.previousResultId);
+
1176}
+
+
1177
+
+
1178llvm::json::Value toJSON(const InactiveRegionsParams &InactiveRegions) {
+
1179 return llvm::json::Object{
+
1180 {"textDocument", InactiveRegions.TextDocument},
+
1181 {"regions", std::move(InactiveRegions.InactiveRegions)}};
+
1182}
+
+
1183
+
+
1184llvm::raw_ostream &operator<<(llvm::raw_ostream &O,
+
1185 const DocumentHighlight &V) {
+
1186 O << V.range;
+
1187 if (V.kind == DocumentHighlightKind::Read)
+
1188 O << "(r)";
+
1189 if (V.kind == DocumentHighlightKind::Write)
+
1190 O << "(w)";
+
1191 return O;
+
1192}
+
+
1193
+
+
1194bool fromJSON(const llvm::json::Value &Params,
+
1195 DidChangeConfigurationParams &CCP, llvm::json::Path P) {
+
1196 llvm::json::ObjectMapper O(Params, P);
+
1197 return O && O.map("settings", CCP.settings);
+
1198}
+
+
1199
+
+
1200bool fromJSON(const llvm::json::Value &Params, ClangdCompileCommand &CDbUpdate,
+
1201 llvm::json::Path P) {
+
1202 llvm::json::ObjectMapper O(Params, P);
+
1203 return O && O.map("workingDirectory", CDbUpdate.workingDirectory) &&
+
1204 O.map("compilationCommand", CDbUpdate.compilationCommand);
+
1205}
+
+
1206
+
+
1207bool fromJSON(const llvm::json::Value &Params, ConfigurationSettings &S,
+
1208 llvm::json::Path P) {
+
1209 llvm::json::ObjectMapper O(Params, P);
+
1210 if (!O)
+
1211 return true; // 'any' type in LSP.
+
1212 return mapOptOrNull(Params, "compilationDatabaseChanges",
+
1213 S.compilationDatabaseChanges, P);
+
1214}
+
+
1215
+
+
1216bool fromJSON(const llvm::json::Value &Params, InitializationOptions &Opts,
+
1217 llvm::json::Path P) {
+
1218 llvm::json::ObjectMapper O(Params, P);
+
1219 if (!O)
+
1220 return true; // 'any' type in LSP.
+
1221
+
1222 return fromJSON(Params, Opts.ConfigSettings, P) &&
+
1223 O.map("compilationDatabasePath", Opts.compilationDatabasePath) &&
+
1224 mapOptOrNull(Params, "fallbackFlags", Opts.fallbackFlags, P) &&
+
1225 mapOptOrNull(Params, "clangdFileStatus", Opts.FileStatus, P);
+
1226}
+
+
1227
+
+
1228bool fromJSON(const llvm::json::Value &E, TypeHierarchyDirection &Out,
+
1229 llvm::json::Path P) {
+
1230 auto T = E.getAsInteger();
+
1231 if (!T)
+
1232 return false;
+
1233 if (*T < static_cast<int>(TypeHierarchyDirection::Children) ||
+
1234 *T > static_cast<int>(TypeHierarchyDirection::Both))
+
1235 return false;
+
1236 Out = static_cast<TypeHierarchyDirection>(*T);
+
1237 return true;
+
1238}
+
+
1239
+
+
1240bool fromJSON(const llvm::json::Value &Params, TypeHierarchyPrepareParams &R,
+
1241 llvm::json::Path P) {
+
1242 llvm::json::ObjectMapper O(Params, P);
+
1243 return O && O.map("textDocument", R.textDocument) &&
+
1244 O.map("position", R.position) &&
+
1245 mapOptOrNull(Params, "resolve", R.resolve, P) &&
+
1246 mapOptOrNull(Params, "direction", R.direction, P);
+
1247}
+
+
1248
+
+
1249llvm::raw_ostream &operator<<(llvm::raw_ostream &O,
+
1250 const TypeHierarchyItem &I) {
+
1251 return O << I.name << " - " << toJSON(I);
+
1252}
+
+
1253
+
+
1254llvm::json::Value toJSON(const TypeHierarchyItem::ResolveParams &RP) {
+
1255 llvm::json::Object Result{};
+
1256 if (RP.parents)
+
1257 Result["parents"] = RP.parents;
+
1258 return Result;
+
1259}
+
+
+
1260bool fromJSON(const llvm::json::Value &Params,
+
1261 TypeHierarchyItem::ResolveParams &RP, llvm::json::Path P) {
+
1262 llvm::json::ObjectMapper O(Params, P);
+
1263 return O && mapOptOrNull(Params, "parents", RP.parents, P);
+
1264}
+
+
1265
+
+
1266llvm::json::Value toJSON(const TypeHierarchyItem &I) {
+
1267 llvm::json::Object Result{
+
1268 {"name", I.name}, {"kind", static_cast<int>(I.kind)},
+
1269 {"range", I.range}, {"selectionRange", I.selectionRange},
+
1270 {"uri", I.uri}, {"data", I.data},
+
1271 };
+
1272
+
1273 if (I.detail)
+
1274 Result["detail"] = I.detail;
+
1275 return Result;
+
1276}
+
+
1277
+
+
1278bool fromJSON(const llvm::json::Value &Params, TypeHierarchyItem &I,
+
1279 llvm::json::Path P) {
+
1280 llvm::json::ObjectMapper O(Params, P);
+
1281
+
1282 // Required fields.
+
1283 return O && O.map("name", I.name) && O.map("kind", I.kind) &&
+
1284 O.map("uri", I.uri) && O.map("range", I.range) &&
+
1285 O.map("selectionRange", I.selectionRange) &&
+
1286 mapOptOrNull(Params, "detail", I.detail, P) &&
+
1287 mapOptOrNull(Params, "deprecated", I.deprecated, P) &&
+
1288 mapOptOrNull(Params, "parents", I.parents, P) &&
+
1289 mapOptOrNull(Params, "children", I.children, P) &&
+
1290 mapOptOrNull(Params, "data", I.data, P);
+
1291}
+
+
1292
+
+
1293bool fromJSON(const llvm::json::Value &Params,
+
1294 ResolveTypeHierarchyItemParams &R, llvm::json::Path P) {
+
1295 llvm::json::ObjectMapper O(Params, P);
+
1296 return O && O.map("item", R.item) &&
+
1297 mapOptOrNull(Params, "resolve", R.resolve, P) &&
+
1298 mapOptOrNull(Params, "direction", R.direction, P);
+
1299}
+
+
1300
+
+
1301bool fromJSON(const llvm::json::Value &Params, ReferenceContext &R,
+
1302 llvm::json::Path P) {
+
1303 llvm::json::ObjectMapper O(Params, P);
+
1304 return O && O.mapOptional("includeDeclaration", R.includeDeclaration);
+
1305}
+
+
1306
+
+
1307bool fromJSON(const llvm::json::Value &Params, ReferenceParams &R,
+
1308 llvm::json::Path P) {
+ +
1310 llvm::json::ObjectMapper O(Params, P);
+
1311 return fromJSON(Params, Base, P) && O && O.mapOptional("context", R.context);
+
1312}
+
+
1313
+
+
1314llvm::json::Value toJSON(SymbolTag Tag) {
+
1315 return llvm::json::Value{static_cast<int>(Tag)};
+
1316}
+
+
1317
+
+
1318llvm::json::Value toJSON(const CallHierarchyItem &I) {
+
1319 llvm::json::Object Result{{"name", I.name},
+
1320 {"kind", static_cast<int>(I.kind)},
+
1321 {"range", I.range},
+
1322 {"selectionRange", I.selectionRange},
+
1323 {"uri", I.uri}};
+
1324 if (!I.tags.empty())
+
1325 Result["tags"] = I.tags;
+
1326 if (!I.detail.empty())
+
1327 Result["detail"] = I.detail;
+
1328 if (!I.data.empty())
+
1329 Result["data"] = I.data;
+
1330 return Result;
+
1331}
+
+
1332
+
+
1333bool fromJSON(const llvm::json::Value &Params, CallHierarchyItem &I,
+
1334 llvm::json::Path P) {
+
1335 llvm::json::ObjectMapper O(Params, P);
+
1336
+
1337 // Populate the required fields only. We don't care about the
+
1338 // optional fields `Tags` and `Detail` for the purpose of
+
1339 // client --> server communication.
+
1340 return O && O.map("name", I.name) && O.map("kind", I.kind) &&
+
1341 O.map("uri", I.uri) && O.map("range", I.range) &&
+
1342 O.map("selectionRange", I.selectionRange) &&
+
1343 mapOptOrNull(Params, "data", I.data, P);
+
1344}
+
+
1345
+
+
1346bool fromJSON(const llvm::json::Value &Params,
+
1347 CallHierarchyIncomingCallsParams &C, llvm::json::Path P) {
+
1348 llvm::json::ObjectMapper O(Params, P);
+
1349 return O.map("item", C.item);
+
1350}
+
+
1351
+
+
1352llvm::json::Value toJSON(const CallHierarchyIncomingCall &C) {
+
1353 return llvm::json::Object{{"from", C.from}, {"fromRanges", C.fromRanges}};
+
1354}
+
+
1355
+
+
1356bool fromJSON(const llvm::json::Value &Params,
+
1357 CallHierarchyOutgoingCallsParams &C, llvm::json::Path P) {
+
1358 llvm::json::ObjectMapper O(Params, P);
+
1359 return O.map("item", C.item);
+
1360}
+
+
1361
+
+
1362llvm::json::Value toJSON(const CallHierarchyOutgoingCall &C) {
+
1363 return llvm::json::Object{{"to", C.to}, {"fromRanges", C.fromRanges}};
+
1364}
+
+
1365
+
+
1366bool fromJSON(const llvm::json::Value &Params, InlayHintsParams &R,
+
1367 llvm::json::Path P) {
+
1368 llvm::json::ObjectMapper O(Params, P);
+
1369 return O && O.map("textDocument", R.textDocument) && O.map("range", R.range);
+
1370}
+
+
1371
+
+
1372llvm::json::Value toJSON(const InlayHintKind &Kind) {
+
1373 switch (Kind) {
+ +
1375 return 1;
+ +
1377 return 2;
+
1378 case InlayHintKind::Designator: // This is an extension, don't serialize.
+
1379 return nullptr;
+
1380 }
+
1381 llvm_unreachable("Unknown clang.clangd.InlayHintKind");
+
1382}
+
+
1383
+
+
1384llvm::json::Value toJSON(const InlayHint &H) {
+
1385 llvm::json::Object Result{{"position", H.position},
+
1386 {"label", H.label},
+
1387 {"paddingLeft", H.paddingLeft},
+
1388 {"paddingRight", H.paddingRight}};
+
1389 auto K = toJSON(H.kind);
+
1390 if (!K.getAsNull())
+
1391 Result["kind"] = std::move(K);
+
1392 return Result;
+
1393}
+
+
+
1394bool operator==(const InlayHint &A, const InlayHint &B) {
+
1395 return std::tie(A.position, A.range, A.kind, A.label) ==
+
1396 std::tie(B.position, B.range, B.kind, B.label);
+
1397}
+
+
+
1398bool operator<(const InlayHint &A, const InlayHint &B) {
+
1399 return std::tie(A.position, A.range, A.kind, A.label) <
+
1400 std::tie(B.position, B.range, B.kind, B.label);
+
1401}
+
+
1402
+
+
1403llvm::raw_ostream &operator<<(llvm::raw_ostream &OS, InlayHintKind Kind) {
+
1404 auto ToString = [](InlayHintKind K) {
+
1405 switch (K) {
+ +
1407 return "parameter";
+ +
1409 return "type";
+ +
1411 return "designator";
+
1412 }
+
1413 llvm_unreachable("Unknown clang.clangd.InlayHintKind");
+
1414 };
+
1415 return OS << ToString(Kind);
+
1416}
+
+
1417
+
1418static const char *toString(OffsetEncoding OE) {
+
1419 switch (OE) {
+ +
1421 return "utf-8";
+ +
1423 return "utf-16";
+ +
1425 return "utf-32";
+ +
1427 return "unknown";
+
1428 }
+
1429 llvm_unreachable("Unknown clang.clangd.OffsetEncoding");
+
1430}
+
1431llvm::json::Value toJSON(const OffsetEncoding &OE) { return toString(OE); }
+
+
1432bool fromJSON(const llvm::json::Value &V, OffsetEncoding &OE,
+
1433 llvm::json::Path P) {
+
1434 auto Str = V.getAsString();
+
1435 if (!Str)
+
1436 return false;
+
1437 OE = llvm::StringSwitch<OffsetEncoding>(*Str)
+
1438 .Case("utf-8", OffsetEncoding::UTF8)
+
1439 .Case("utf-16", OffsetEncoding::UTF16)
+
1440 .Case("utf-32", OffsetEncoding::UTF32)
+ +
1442 return true;
+
1443}
+
+
+
1444llvm::raw_ostream &operator<<(llvm::raw_ostream &OS, OffsetEncoding Enc) {
+
1445 return OS << toString(Enc);
+
1446}
+
+
1447
+
+
1448bool fromJSON(const llvm::json::Value &Params, SelectionRangeParams &S,
+
1449 llvm::json::Path P) {
+
1450 llvm::json::ObjectMapper O(Params, P);
+
1451 return O && O.map("textDocument", S.textDocument) &&
+
1452 O.map("positions", S.positions);
+
1453}
+
+
1454
+
+
1455llvm::json::Value toJSON(const SelectionRange &Out) {
+
1456 if (Out.parent) {
+
1457 return llvm::json::Object{{"range", Out.range},
+
1458 {"parent", toJSON(*Out.parent)}};
+
1459 }
+
1460 return llvm::json::Object{{"range", Out.range}};
+
1461}
+
+
1462
+
+
1463bool fromJSON(const llvm::json::Value &Params, DocumentLinkParams &R,
+
1464 llvm::json::Path P) {
+
1465 llvm::json::ObjectMapper O(Params, P);
+
1466 return O && O.map("textDocument", R.textDocument);
+
1467}
+
+
1468
+
+
1469llvm::json::Value toJSON(const DocumentLink &DocumentLink) {
+
1470 return llvm::json::Object{
+
1471 {"range", DocumentLink.range},
+
1472 {"target", DocumentLink.target},
+
1473 };
+
1474}
+
+
1475
+
+
1476bool fromJSON(const llvm::json::Value &Params, FoldingRangeParams &R,
+
1477 llvm::json::Path P) {
+
1478 llvm::json::ObjectMapper O(Params, P);
+
1479 return O && O.map("textDocument", R.textDocument);
+
1480}
+
+
1481
+
1482const llvm::StringLiteral FoldingRange::REGION_KIND = "region";
+
1483const llvm::StringLiteral FoldingRange::COMMENT_KIND = "comment";
+
1484const llvm::StringLiteral FoldingRange::IMPORT_KIND = "import";
+
1485
+
+
1486llvm::json::Value toJSON(const FoldingRange &Range) {
+
1487 llvm::json::Object Result{
+
1488 {"startLine", Range.startLine},
+
1489 {"endLine", Range.endLine},
+
1490 };
+
1491 if (Range.startCharacter)
+
1492 Result["startCharacter"] = Range.startCharacter;
+
1493 if (Range.endCharacter)
+
1494 Result["endCharacter"] = Range.endCharacter;
+
1495 if (!Range.kind.empty())
+
1496 Result["kind"] = Range.kind;
+
1497 return Result;
+
1498}
+
+
1499
+
+
1500bool fromJSON(const llvm::json::Value &Params, ASTParams &R,
+
1501 llvm::json::Path P) {
+
1502 llvm::json::ObjectMapper O(Params, P);
+
1503 return O && O.map("textDocument", R.textDocument) && O.map("range", R.range);
+
1504}
+
+
1505
+
+
1506llvm::json::Value toJSON(const ASTNode &N) {
+
1507 llvm::json::Object Result{
+
1508 {"role", N.role},
+
1509 {"kind", N.kind},
+
1510 };
+
1511 if (!N.children.empty())
+
1512 Result["children"] = N.children;
+
1513 if (!N.detail.empty())
+
1514 Result["detail"] = N.detail;
+
1515 if (!N.arcana.empty())
+
1516 Result["arcana"] = N.arcana;
+
1517 if (N.range)
+
1518 Result["range"] = *N.range;
+
1519 return Result;
+
1520}
+
+
1521
+
+
1522llvm::raw_ostream &operator<<(llvm::raw_ostream &OS, const ASTNode &Root) {
+
1523 std::function<void(const ASTNode &, unsigned)> Print = [&](const ASTNode &N,
+
1524 unsigned Level) {
+
1525 OS.indent(2 * Level) << N.role << ": " << N.kind;
+
1526 if (!N.detail.empty())
+
1527 OS << " - " << N.detail;
+
1528 OS << "\n";
+
1529 for (const ASTNode &C : N.children)
+
1530 Print(C, Level + 1);
+
1531 };
+
1532 Print(Root, 0);
+
1533 return OS;
+
1534}
+
+
1535
+
+
1536llvm::json::Value toJSON(const ConfigurationItem &N) {
+
1537 llvm::json::Object R;
+
1538 if (N.scopeUri)
+
1539 R["scopeUri"] = N.scopeUri;
+
1540 if (N.section)
+
1541 R["section"] = N.section;
+
1542 return R;
+
1543}
+
+
1544
+
+
1545llvm::json::Value toJSON(const ConfigurationParams &N) {
+
1546 return llvm::json::Object{{"items", N.items}};
+
1547}
+
+
1548
+
1549} // 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 &)
+ + + +
TextDocumentIdentifier textDocument
The text document.
+ + + + + +
Represents an incoming call, e.g. a caller of a method or constructor.
+
The parameter of a callHierarchy/incomingCalls request.
+ + +
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
+
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.
+ + + + + + + + +
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::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.
+ +
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.
+ + + + + + +
std::string command
The identifier of the actual command handler.
+ + +
FileChangeType type
The change type.
+ + + +
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
+ + +
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)
+ + + +
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.
+ +
int line
Line position in a document (zero-based).
+ + + +
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.
+ + + +
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.
+ +
Body of textDocument/semanticTokens/full request.
+
TextDocumentIdentifier textDocument
The text document.
+ + + + +
Represents the signature of a callable.
+
Represents the signature of something callable.
+ + + +
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
+ + + + + + + + + +
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..c43f32d84 --- /dev/null +++ b/md_README.html @@ -0,0 +1,106 @@ + + + + + + + +nixd: README + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
+
README
+
+
+

nixd

+
Nix language server

+About

+

This is a feature-rich nix language server interoperating with C++ nix.

+

Some notable features provided by linking with the Nix library include:

+
    +
  • Nixpkgs option support, for all option system (NixOS/home-manager/flake-parts).
  • +
  • Nixpkgs package complete, lazily evaluated.
  • +
  • Shared eval caches (flake, file) with your system's Nix.
  • +
  • Support for cross-file analysis (goto definition to locations in nixpkgs).
  • +
+

+Get Started

+

You can try nixd without installation. We have tested some working & reproducible editor environments.

+

+Resources

+ +
+
+ + + + diff --git a/md_libnixf_2README.html b/md_libnixf_2README.html new file mode 100644 index 000000000..98d887c24 --- /dev/null +++ b/md_libnixf_2README.html @@ -0,0 +1,174 @@ + + + + + + + +nixd: <tt>libnixf</tt>, The nix frontend + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
+
<tt>libnixf</tt>, The nix frontend
+
+
+

This constitutes a frontend for the Nix language, encompassing a lexer, parser, and semantic analysis, with a prime emphasis on enhancing the editing experience.

+

+Background & Motivation

+

Over the years, the Nix community has seen a variety of parsers developed by different hackers, however, not all of them are suitable for editing purposes. For example, the official parser, generated by yacc, consists of declarative files (with some grammar rules included). Yacc-generated parsers prioritize speed but can lack robust error handling capabilities. Consequently, when editing files within your workspace, which may be incomplete and riddled with errors, this deficiency becomes apparent. The need for a new Nix parser arises from challenges in implementing robust error recovery and providing helpful error hints.

+

For instance, addressing error recovery regarding missing semicolons:

+
{
+
a = 1
+
b = 2
+
}
+

The official parser will complain there are some errors happens in the second eq sign =, not the first one:

+
nix-repl> {
+
a = 1
+
b = 2
+
error: syntax error, unexpected '=', expecting ';'
+
at «string»:3:7:
+
2| a = 1
+
3| b = 2
+
| ^
+

But we actually know the error happens right after "1", right?

+

The second challenge is, the offical nix parser stops right after the first error token encountered. However for language servers, you may want to see it is going on parsing, recovered from previous errors.

+

+Modules

+

Currently the package has these following components.

+
    +
  • Basic (Diagnostic Types, Node Types, ...)
  • +
  • Parse (The parsing algorithm implementation)
  • +
  • Sema (Semantic Analysis, e.g. duplicated keys)
  • +
  • Bytecode (experimental)
  • +
+

+The Basic module

+

This module mainly exposing nixf interfaces, and it's definitions are shared among other modules.

+

+Diagnostic and Fixes

+

A Diagnostic have a set of Notes attached to it. And each diagnostic has a set of fixes. Each fix has a name briefly describe the plan. For example

+
    +
  • "insert ;"
  • +
  • "remove ...".
  • +
+

And each fix has a series of Edits. The removing range, and the new text to replace it.

+

These "fixes" could be applied automatically, and also may pop a "💡" and let you choose that fix.

+

+AST Nodes

+

Each node in the AST is owned by its parent and becomes immutable immediately after construction.

+

Additionally, the libnixf AST incorporates semantic information, which is populated by Semantic Actions within the Sema module.

+

+The Parse module

+

+The parsing algorithm

+

This is a recursive descent parser not completely consistent with the official one in case of error recovery.

+

The objective is twofold:

+
    +
  1. Ensure a consistent experience when code can be accurately evaluated.
  2. +
  3. Offer a significantly improved experience when code cannot be correctly evaluated.
  4. +
+

For instance, the following text will undergo different parsing outcomes in libnixf.

+
{
+
a = 1 # <-- look at here
+
b = 2;
+
}
+

In the official Nix parser, it would be parses as a = (Call 1, b) for the a attribute. So you will see the strange diagnostic:

nix-repl> {
+
a = 1
+
b = 2
+
error: syntax error, unexpected '=', expecting ';'
+
at «string»:3:7:
+
2| a = 1
+
3| b = 2
+
| ^
+

However, in the libnixf parser, since 1 will definitely not be evaluated as a lambda, it will not be called. Thus, the result would be:

+
{
+
a = 1 # <-- missing semicolon ";"
+
b = 2; # Correctly parse this as "b = 2"
+
}
+

+Standalone tools provided along libnixf

+

+nixf-tidy

+

+Usage

+
nixf-tidy
+
+
--pretty-print Pretty print the JSON data
+
--variable-lookup Peform Variable Lookup Analysis on the source code, including detecting dead code, and unused variables.
+

Basic CLI usage:

+
cat foo.nix | nixf-tidy --variable-lookup
+

A dedicated tool tailored for linting Nix projects, nixf-tidy is crafted specifically for seamless integration into CI pipelines like GitHub Actions or commit hooks. As such, it prioritizes functionality over flashy CLI output. Tasks such as rendering code lines or applying color distinctions are beyond the scope of nixf-tidy.

+

The JSON fields provided by nixf-tidy are documented here.

+

+Use nixf-tidy in your workflow

+

Please update this section if you want to take fancy "rendering" job for libnixf, and link your projects!

+
+
+ + + + diff --git a/md_libnixt_2README.html b/md_libnixt_2README.html new file mode 100644 index 000000000..2f2cc4ae0 --- /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_nixd_2docs_2configuration.html b/md_nixd_2docs_2configuration.html new file mode 100644 index 000000000..391c48b4c --- /dev/null +++ b/md_nixd_2docs_2configuration.html @@ -0,0 +1,280 @@ + + + + + + + +nixd: Configuration + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
+
Configuration
+
+
+

+

We support LSP standard workspace/configuration for server configurations.

+

+Default configuration & Who needs configuration

+

Most important part of package/options features is the path of "nixpkgs". By default, this is search via standard nix search path. That is, find nixpkgs via <nixpkgs>.

+

For nix-channels users: nixos option & package features shall work out of box, without any extra effort.

+

For nix-flake users: (suggestion) you can set $NIX_PATH env to your flake input. e.g.

+
{ inputs, ... }:
+
{
+
# NixOS configuration.
+
nix.nixPath = [ "nixpkgs=${inputs.nixpkgs}" ];
+
}
+

If you do not config anything in nixd, here are the defaults (suitable for most nix newbies).

+
    +
  • nixpkgs packages comes from import <nixpkgs> { }
  • +
  • nixos options, evaluated from <nixpkgs>
  • +
+

For advanced users, e.g. having many custom modules, or want to extend anyother options system, "options" field must be extended in the settings, to tell nixd how to get the modules. tldr:

+
    +
  • custom module system (home-manager, nix-darwin, flake-parts, ...)
  • +
  • custom nixpkgs path, input from your "system" flake
  • +
+

+Where to place the configuration

+
+

‍In legacy versions (v1.x), configurations are written in ".nixd.json", please remove them and nixd won't even read such files anymore.

+
+

All configuration should go in nixd section. nixd accept language server protocol specified workspace/configuration to fetch config file. So the location of configuration file basically determined by your editor setup.

+
+

‍Please extend this list for your editor, thanks!

+
+
+ +VSCode +

+

For vscode users you should write settings.json[^settings] like this:

+

[^settings]: the file could be applied per-workspace, i.e. .vscode/settings.json, our globally, remotely. VSCode users should familiar with these locations.

+
{
+
"nix.serverSettings": {
+
// settings for 'nixd' LSP
+
"nixd": {
+
"formatting": {
+
// This is the default if ommited.
+
"command": [ "nixfmt" ]
+
},
+
"options": {
+
// By default, this entriy will be read from `import <nixpkgs> { }`
+
// You can write arbitary nix expression here, to produce valid "options" declaration result.
+
// Tip: for flake-based configuration, utilize `builtins.getFlake`
+
"nixos": {
+
"expr": "(builtins.getFlake \"/absolute/path/to/flake\").nixosConfigurations.<name>.options"
+
},
+
"home-manager": {
+
"expr": "(builtins.getFlake \"/absolute/path/to/flake\").homeConfigurations.<name>.options"
+
}
+
}
+
}
+
}
+
}
+

+
+
+ +Neovim +

+

Configuration via nvim-lspconfig plugin. If you want to make configuration changes based on different projects, you can see nvim-lspconfig official wiki-Project_local_settings

+
local nvim_lsp = require("lspconfig")
+
nvim_lsp.nixd.setup({
+
cmd = { "nixd" },
+
settings = {
+
nixd = {
+
nixpkgs = {
+
expr = "import <nixpkgs> { }",
+
},
+
formatting = {
+
command = { "nixfmt" },
+
},
+
options = {
+
nixos = {
+
expr = '(builtins.getFlake ("git+file://" + toString ./.)).nixosConfigurations.k-on.options',
+
},
+
home_manager = {
+
expr = '(builtins.getFlake ("git+file://" + toString ./.)).homeConfigurations."ruixi@k-on".options',
+
},
+
},
+
},
+
},
+
})
+
+

+Configuration overview

+
+

‍[!NOTE] This annotated json are under the key "nixd". If you don't know what does exactly this mean please see editor examples above.

+
+
{
+
"nixpkgs": {
+
// For flake.
+
// "expr": "import (builtins.getFlake \"/home/lyc/workspace/CS/OS/NixOS/flakes\").inputs.nixpkgs { } "
+
+
// This expression will be interpreted as "nixpkgs" toplevel
+
// Nixd provides package, lib completion/information from it.
+
///
+
// Resource Usage: Entries are lazily evaluated, entire nixpkgs takes 200~300MB for just "names".
+
/// Package documentation, versions, are evaluated by-need.
+
"expr": "import <nixpkgs> { }"
+
},
+
"formatting": {
+
// Which command you would like to do formatting
+
"command": [ "nixfmt" ]
+
},
+
// Tell the language server your desired option set, for completion
+
// This is lazily evaluated.
+
"options": { // Map of eval information
+
// If this is omitted, default search path (<nixpkgs>) will be used.
+
"nixos": { // This name "nixos" could be arbitrary.
+
// The expression to eval, interpret it as option declarations.
+
"expr": "(builtins.getFlake \"/home/lyc/flakes\").nixosConfigurations.adrastea.options"
+
},
+
+
// By default there is no home-manager options completion, thus you can add this entry.
+
"home-manager": {
+
"expr": "(builtins.getFlake \"/home/lyc/flakes\").homeConfigurations.\"lyc@adrastea\".options"
+
}
+
},
+
// Control the diagnostic system
+
"diagnostic": {
+
"suppress": [
+
"sema-extra-with"
+
]
+
}
+
}
+

+Fields explanation

+

+Diagnostic Control ("diagnostic")

+

Some users might feel confident in their understanding of the language and prefer to suppress diagnostics altogether. This can be achieved by utilizing the diagnostic field.

+
{
+
"diagnostic": {
+
// A list of diagnostic short names
+
"suppress": [
+
"sema-extra-with"
+
]
+
}
+
}
+

+Format ("formating")

+

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": [ "some-command" ]
+
}
+
}
+

+Options ("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.

+
{
+
// Tell the language server your desired option set, for completion
+
// This is lazily evaluated.
+
"options": { // Map of eval information
+
// If this is ommited, default search path (<nixpkgs>) will be used.
+
"nixos": { // This name "nixos" could be arbitary.
+
// The expression to eval, intepret it as option declarations.
+
"expr": "(builtins.getFlake \"/home/lyc/flakes\").nixosConfigurations.adrastea.options"
+
},
+
+
// By default there is no home-manager options completion, thus you can add this entry.
+
"home-manager": {
+
"expr": "(builtins.getFlake \"/home/lyc/flakes\").homeConfigurations.\"lyc@adrastea\".options"
+
},
+
+
// For flake-parts opitons.
+
// Firstly read the docs here to enable "debugging", exposing declarations for nixd.
+
// https://flake.parts/debug
+
"flake-parts": {
+
"expr": "(builtins.getFlake \"/path/to/your/flake\").debug.options"
+
},
+
// For a `perSystem` flake-parts option:
+
"flake-parts2": {
+
"expr": "(builtins.getFlake \"/path/to/your/flake\").currentSystem.options"
+
}
+
}
+
}
+

If you aren't a flakes user with standalone home-manager with a vanilla install then the following expression should make home-manager options appear:

+
{
+
"options": {
+
"home-manager": {
+
"expr": "(import <home-manager/modules> { configuration = ~/.config/home-manager/home.nix; pkgs = import <nixpkgs> {}; }).options"
+
}
+
}
+
}
+
+
+ + + + diff --git a/md_nixd_2docs_2dev.html b/md_nixd_2docs_2dev.html new file mode 100644 index 000000000..a1da0d66f --- /dev/null +++ b/md_nixd_2docs_2dev.html @@ -0,0 +1,156 @@ + + + + + + + +nixd: Developers' Manual + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
+
Developers' Manual
+
+
+

+

+First place to make diff

+

See our "issues" page. And some issues are marked with good first issue. Such issues are intentially left for new contributors. i.e. main developers usasually won't touch them, and there are some detailed instructions about how to do.

+

Please comment on that issue so that it can be assigned to you, to avoid any duplicated work in the community.

+

+Hack nixd from source

+

Clone this project and cd into the cloned repoistory.

+

Enter the development shell, using

+
nix develop
+
+

‍Tip: use direnv & the vscode extension (direnv) + clangd, gives you IDE experience in vsocde Write echo "use flake" >> .envrc should be sufficient for basic setup.

+
+

Then configure the project, using meson.

    +
  • --buildtype=debug is suitable for most developers.
  • +
  • --prefix= is used for non-privileged installation[^prefix-ignore].
  • +
  • --default-library=static enable static linking for libnixf, libnixt, ... thus you can avoid RPATH issues in custom installation prefix.
  • +
  • -Dwerror=true to make sure you can pass nixd CI (we enable Werror in testing env).
  • +
+

[^prefix-ignore]: after the installation, your worktree is tidy. A trick to resolve this is: echo "local" >> .git/info/exclude.

+
meson setup build --buildtype=debug --default-library=static --prefix=$PWD/local/install -Dwarning_level=3 -Dwerror=true
+

Finally, invoke

+
meson compile -C build
+

And

+
ninja -C build install
+

Then you can lauch an editor to quick test nixd, under local/install/bin.

+
+

‍[!WARNING] nixd cannot be properly launched from "build" directory (i.e. it requires installation for editor testing).

+
+

To run unit/regression test, invoke:

+
ninja -C build test
+

Remember to make sure unit/regression tests are passing before submiting PRs!

+

Happy hacking!

+

+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 │ ◀┘
+
└─────────────────┘
+

+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..b861f2444 --- /dev/null +++ b/md_nixd_2docs_2editor-setup.html @@ -0,0 +1,178 @@ + + + + + + + +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.

+

+Installation - get a working executable

+

Package nixd can be found in nixpkgs.

+
+ +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 with "unstable" experience.

+

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.

+

+Teach your editor find the executable, and setup configurations.

+

+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

+

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)))
+

+Helix

+

nixd will be supported by default in the next release after 24.07.

+

+languages.toml

+
[[language]]
+
name = "nix"
+
language-servers = ["nixd","nil"]
+
+
[language-server.nixd]
+
command = "nixd"
+

+Change the configuration.

+

Read the configuration docs here.

+
+
+ + + + diff --git a/md_nixd_2docs_2editors_2editors.html b/md_nixd_2docs_2editors_2editors.html new file mode 100644 index 000000000..331e4d519 --- /dev/null +++ b/md_nixd_2docs_2editors_2editors.html @@ -0,0 +1,97 @@ + + + + + + + +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

+
$ nix develop github:nix-community/nixd#nvim
+
+
$ nvim-lsp flake.nix
+
+
+ + + + diff --git a/md_nixd_2docs_2features.html b/md_nixd_2docs_2features.html new file mode 100644 index 000000000..c2c0168c7 --- /dev/null +++ b/md_nixd_2docs_2features.html @@ -0,0 +1,137 @@ + + + + + + + +nixd: Features in nixd + + + + + + + + + + + +
+
+ + + + + + +
+
nixd +
+
+
+ + + + + + + + +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+
+
Features in nixd
+
+
+

+

‍[!TIP] Use environment variable NIXD_FLAGS if you cannot pass args to nixd easily.

+

For example:

+

export NIXD_FLAGS="--inlay-hints=false"

+
+

+Inlay Hints

+

Inlay hints, in nixd, is used for give you package versions in your system configuration. It will make a "floating" text right after the package name, with it's version.

+

Version strings are evaluated by name.version attrpath, it should be consistent with your configured nixpkgs. Read the configuration docs if you don't know how to setup.

+
with pkgs; [
+
nix: 2.19.0
+
# ~~~~~~~~~~~~~~ <-- the version, floating.
+
]
+

Screenshots:

+

inlay hints

+
+

‍[!TIP] Use --inlay-hints=false to completely disable the feature.

+
+

+Semantic Tokens

+

nixd language server tries to make some tokens looks different by sending your editor some integers. However, types in nix language is pretty different from standard LSP types. So, as a result, attrnames, selection, variables are colored as different integers, but the colors may, or may not rendered properly in your editor.

+
+

‍[!TIP] --semantic-tokens=false to disable the feature.

+
+

+Attribute name coloring

+

Colors may be different for attribute path creating nested attribute set between the path just "select"s into it.

+
{
+
foo.bar = 1;
+
# ~~~ ~~~ <----- these two tokens should be colored as same
+
foo.x = 2;
+
# ~~~ <----- this token, however will not be colored as same as "foo.bar"
+
}
+

For the attribute path foo.bar, it creates "nested" attribute set, under "foo".

+
{
+
foo = {
+
# ^~~ <-------- new !
+
bar = 1;
+
# <------- new !
+
};
+
}
+

And the second, foo.x, just make a new "entry" in "foo"

+
{
+
foo = {
+
bar = 1;
+
x = 2;
+
# <---- new !
+
};
+
}
+

For example in my editor setup they looks like:

+

semantic tokens, bootspec

+

Thus you can only look at "darker" attrset, which really creates something different.

+

For example in this picture you can only focus .availableKernelModules, in boot.initrd.availableKernelModules.

+
+
+ + + + diff --git a/md_nixd_2lspserver_2README.html b/md_nixd_2lspserver_2README.html new file mode 100644 index 000000000..2dd573473 --- /dev/null +++ b/md_nixd_2lspserver_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/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..c563ffef7 --- /dev/null +++ b/menudata.js @@ -0,0 +1,186 @@ +/* + @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:"_",url:"namespacemembers.html#index__5F"}, +{text:"a",url:"namespacemembers_a.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:"h",url:"namespacemembers_h.html#index_h"}, +{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:"h",url:"namespacemembers_func_h.html#index_h"}, +{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:"j",url:"functions_func_j.html#index_j"}, +{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:"q",url:"functions_func_q.html#index_q"}, +{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",children:[ +{text:"a",url:"functions_eval.html#index_a"}, +{text:"d",url:"functions_eval.html#index_d"}, +{text:"e",url:"functions_eval.html#index_e"}, +{text:"f",url:"functions_eval.html#index_f"}, +{text:"i",url:"functions_eval.html#index_i"}, +{text:"n",url:"functions_eval.html#index_n"}, +{text:"o",url:"functions_eval.html#index_o"}, +{text:"p",url:"functions_eval.html#index_p"}, +{text:"s",url:"functions_eval.html#index_s"}, +{text:"v",url:"functions_eval.html#index_v"}]}, +{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",children:[ +{text:"d",url:"globals.html#index_d"}, +{text:"e",url:"globals.html#index_e"}, +{text:"l",url:"globals.html#index_l"}, +{text:"m",url:"globals.html#index_m"}, +{text:"n",url:"globals.html#index_n"}, +{text:"r",url:"globals.html#index_r"}, +{text:"t",url:"globals.html#index_t"}]}, +{text:"Functions",url:"globals_func.html"}, +{text:"Typedefs",url:"globals_type.html"}, +{text:"Macros",url:"globals_defs.html"}]}]}, +{text:"Examples",url:"examples.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/namespaceDiagnostic.html b/namespaceDiagnostic.html new file mode 100644 index 000000000..0c395e377 --- /dev/null +++ b/namespaceDiagnostic.html @@ -0,0 +1,236 @@ + + + + + + + +nixd: Diagnostic Namespace Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    + +
    Diagnostic Namespace Reference
    +
    +
    + + + + + + + + + + +

    +Functions

    list[str] gen_parse_id ()
     
    list[str] gen_message ()
     
    list[str] gen_serverity ()
     
    list[str] gen_sname ()
     
    + + + + + +

    +Variables

     output = open(sys.argv[1], "w")
     
     _
     
    +

    Function Documentation

    + +

    ◆ gen_message()

    + +
    +
    + + + + + + + +
    list[str] Diagnostic.gen_message ()
    +
    + +

    Definition at line 35 of file Diagnostic.cpp.py.

    + +
    +
    + +

    ◆ gen_parse_id()

    + +
    +
    + + + + + + + +
    list[str] Diagnostic.gen_parse_id ()
    +
    + +

    Definition at line 10 of file Diagnostic.cpp.py.

    + +
    +
    + +

    ◆ gen_serverity()

    + +
    +
    + + + + + + + +
    list[str] Diagnostic.gen_serverity ()
    +
    + +

    Definition at line 59 of file Diagnostic.cpp.py.

    + +
    +
    + +

    ◆ gen_sname()

    + +
    +
    + + + + + + + +
    list[str] Diagnostic.gen_sname ()
    +
    + +

    Definition at line 83 of file Diagnostic.cpp.py.

    + +
    +
    +

    Variable Documentation

    + +

    ◆ _

    + +
    +
    + + + + + +
    + + + + +
    Diagnostic._
    +
    +protected
    +
    +Initial value:
    1= output.write(
    +
    2 lines(
    +
    3 [
    +
    4 '#include "nixf/Basic/Diagnostic.h"',
    +
    5 "#include <unordered_map>",
    +
    6 "using namespace nixf;",
    +
    7 *gen_sname(),
    +
    8 *gen_serverity(),
    +
    9 *gen_message(),
    +
    10 *gen_parse_id(),
    +
    11 ]
    +
    12 )
    +
    13)
    +
    +

    Definition at line 108 of file Diagnostic.cpp.py.

    + +
    +
    + +

    ◆ output

    + +
    +
    + + + + +
    Diagnostic.output = open(sys.argv[1], "w")
    +
    + +

    Definition at line 107 of file Diagnostic.cpp.py.

    + +
    +
    +
    + + + + diff --git a/namespaceDiagnosticEnum.html b/namespaceDiagnosticEnum.html new file mode 100644 index 000000000..18785be27 --- /dev/null +++ b/namespaceDiagnosticEnum.html @@ -0,0 +1,143 @@ + + + + + + + +nixd: DiagnosticEnum Namespace Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    + +
    DiagnosticEnum Namespace Reference
    +
    +
    + + + + + + +

    +Variables

     output = open(sys.argv[1], "w")
     
     _
     
    +

    Variable Documentation

    + +

    ◆ _

    + +
    +
    + + + + + +
    + + + + +
    DiagnosticEnum._
    +
    +protected
    +
    +Initial value:
    1= output.write(
    +
    2 lines(
    +
    3 [
    +
    4 "enum DiagnosticKind {",
    +
    5 *map(lambda x: f" DK_{x['cname']},", diagnostics),
    +
    6 "};",
    +
    7 ]
    +
    8 )
    +
    9)
    +
    +

    Definition at line 9 of file DiagnosticEnum.h.py.

    + +
    +
    + +

    ◆ output

    + +
    +
    + + + + +
    DiagnosticEnum.output = open(sys.argv[1], "w")
    +
    + +

    Definition at line 8 of file DiagnosticEnum.h.py.

    + +
    +
    +
    + + + + diff --git a/namespacediagnostic.html b/namespacediagnostic.html new file mode 100644 index 000000000..d2921ed18 --- /dev/null +++ b/namespacediagnostic.html @@ -0,0 +1,91 @@ + + + + + + + +nixd: diagnostic Namespace Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    + +
    diagnostic Namespace Reference
    +
    +
    + + + + +

    +Classes

    class  Diagnostic
     
    +
    + + + + 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..b389556b1 --- /dev/null +++ b/namespacelspserver.html @@ -0,0 +1,6201 @@ + + + + + + + +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 >
    llvm::Expected< TparseParam (const llvm::json::Value &Raw, llvm::StringRef PayloadName, llvm::StringRef PayloadKind)
     
    template<>
    llvm::Expected< llvm::json::Value > parseParam (const llvm::json::Value &Raw, llvm::StringRef PayloadName, llvm::StringRef PayloadKind)
     
    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 &)
     
    bool fromJSON (const llvm::json::Value &, Location &, llvm::json::Path)
     
    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)
     
    bool fromJSON (const llvm::json::Value &, MarkupContent &, llvm::json::Path)
     
    llvm::json::Value toJSON (const Hover &H)
     
    llvm::json::Value toJSON (const CompletionItem &)
     
    bool fromJSON (const llvm::json::Value &, CompletionItem &, llvm::json::Path)
     
    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_tpositionToOffset (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 223 of file lspserver/include/lspserver/Protocol.h.

    + +
    +
    + +

    ◆ CompletionItemKindBitset

    + +
    +
    + +

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

    + +
    +
    + +

    ◆ InitializedParams

    + +
    +
    + +

    Definition at line 303 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 393 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 320 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 1171 of file lspserver/include/lspserver/Protocol.h.

    + +
    +
    + +

    ◆ 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 870 of file lspserver/include/lspserver/Protocol.h.

    + +
    +
    + +

    ◆ DocumentHighlightKind

    + +
    +
    + + + + + +
    + + + + +
    enum class lspserver::DocumentHighlightKind
    +
    +strong
    +
    + + + + +
    Enumerator
    Text 
    Read 
    Write 
    + +

    Definition at line 1381 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 782 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 1584 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 1219 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 415 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 702 of file lspserver/include/lspserver/Protocol.h.

    + +
    +
    + +

    ◆ OffsetEncoding

    + +
    +
    + + + + + +
    + + + + +
    enum class lspserver::OffsetEncoding
    +
    +strong
    +
    + + + + + +
    Enumerator
    UnsupportedEncoding 
    UTF16 
    UTF8 
    UTF32 
    + +

    Definition at line 399 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 362 of file lspserver/include/lspserver/Protocol.h.

    + +
    +
    + +

    ◆ SymbolTag

    + +
    +
    + + + + + +
    + + + + +
    enum class lspserver::SymbolTag
    +
    +strong
    +
    + + +
    Enumerator
    Deprecated 
    + +

    Definition at line 1493 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 307 of file lspserver/include/lspserver/Protocol.h.

    + +
    +
    + +

    ◆ TraceLevel

    + +
    +
    + + + + + +
    + + + + +
    enum class lspserver::TraceLevel
    +
    +strong
    +
    + + + + +
    Enumerator
    Off 
    Messages 
    Verbose 
    + +

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

    + +
    +
    + +

    ◆ TypeHierarchyDirection

    + +
    +
    + + + + + +
    + + + + +
    enum class lspserver::TypeHierarchyDirection
    +
    +strong
    +
    + + + + +
    Enumerator
    Children 
    Parents 
    Both 
    + +

    Definition at line 1409 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 955 of file lspserver/src/Protocol.cpp.

    + +

    References Class, CompletionItemKindMin, Enum, EnumMember, File, Folder, fromJSON(), Struct, and Text.

    + +
    +
    + +

    ◆ adjustKindToCapability() [2/2]

    + +
    +
    + + + + + + + + + + + +
    SymbolKind lspserver::adjustKindToCapability (SymbolKind Kind,
    SymbolKindBitset & supportedSymbolKinds )
    +
    + +

    Definition at line 282 of file lspserver/src/Protocol.cpp.

    + +

    References Class, Enum, EnumMember, fromJSON(), String, Struct, and SymbolKindMin.

    + +
    +
    + +

    ◆ applyChange()

    + +
    +
    + + + + + + + + + + + +
    llvm::Error lspserver::applyChange (std::string & Contents,
    const TextDocumentContentChangeEvent & Change )
    +
    + +

    Apply an incremental update to a text document.

    + +

    Definition at line 190 of file SourceCode.cpp.

    + +

    References error(), fromJSON(), lspLength(), and positionToOffset().

    + +
    +
    + +

    ◆ 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 49 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(), fromJSON(), 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(), and fromJSON().

    + +
    +
    + +

    ◆ error() [4/4]

    + +
    +
    + + + + + +
    + + + + + + + +
    llvm::Error lspserver::error (std::string Msg)
    +
    +inline
    +
    + +

    Definition at line 86 of file Logger.h.

    + +

    References lspserver::detail::error(), and fromJSON().

    + +
    +
    + +

    ◆ fromJSON() [1/68]

    + +
    +
    + + + + + + + + + + + + + + + + +
    bool lspserver::fromJSON (const llvm::json::Value & Response,
    ApplyWorkspaceEditResponse & R,
    llvm::json::Path P )
    +
    +
    + +

    ◆ fromJSON() [2/68]

    + +
    +
    + + + + + + + + + + + + + + + + +
    bool lspserver::fromJSON (const llvm::json::Value & Params,
    ASTParams & R,
    llvm::json::Path P )
    +
    +
    + +

    ◆ fromJSON() [3/68]

    + +
    +
    + + + + + + + + + + + + + + + + +
    bool lspserver::fromJSON (const llvm::json::Value & Params,
    CallHierarchyIncomingCallsParams & C,
    llvm::json::Path P )
    +
    + +

    Definition at line 1346 of file lspserver/src/Protocol.cpp.

    + +

    References fromJSON().

    + +
    +
    + +

    ◆ fromJSON() [4/68]

    + +
    +
    + + + + + + + + + + + + + + + + +
    bool lspserver::fromJSON (const llvm::json::Value & Params,
    CallHierarchyItem & I,
    llvm::json::Path P )
    +
    + +

    Definition at line 1333 of file lspserver/src/Protocol.cpp.

    + +

    References fromJSON().

    + +
    +
    + +

    ◆ fromJSON() [5/68]

    + +
    +
    + + + + + + + + + + + + + + + + +
    bool lspserver::fromJSON (const llvm::json::Value & Params,
    CallHierarchyOutgoingCallsParams & C,
    llvm::json::Path P )
    +
    + +

    Definition at line 1356 of file lspserver/src/Protocol.cpp.

    + +

    References fromJSON().

    + +
    +
    + +

    ◆ fromJSON() [6/68]

    + +
    +
    + + + + + + + + + + + + + + + + +
    bool lspserver::fromJSON (const llvm::json::Value & Params,
    ChangeAnnotation & R,
    llvm::json::Path P )
    +
    +
    + +

    ◆ fromJSON() [7/68]

    + +
    +
    + + + + + + + + + + + + + + + + +
    bool lspserver::fromJSON (const llvm::json::Value & Params,
    ClangdCompileCommand & CDbUpdate,
    llvm::json::Path P )
    +
    + +

    Definition at line 1200 of file lspserver/src/Protocol.cpp.

    + +

    References fromJSON().

    + +
    +
    + +

    ◆ fromJSON() [8/68]

    + +
    +
    + + + + + + + + + + + + + + + + +
    bool lspserver::fromJSON (const llvm::json::Value & Params,
    ClientCapabilities & R,
    llvm::json::Path P )
    +
    + +

    Definition at line 300 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/68]

    + +
    +
    + + + + + + + + + + + + + + + + +
    bool lspserver::fromJSON (const llvm::json::Value & Params,
    CodeActionContext & R,
    llvm::json::Path P )
    +
    +
    + +

    ◆ fromJSON() [10/68]

    + +
    +
    + + + + + + + + + + + + + + + + +
    bool lspserver::fromJSON (const llvm::json::Value & Params,
    CodeActionParams & R,
    llvm::json::Path P )
    +
    +
    + +

    ◆ fromJSON() [11/68]

    + +
    +
    + + + + + + + + + + + + + + + + +
    bool lspserver::fromJSON (const llvm::json::Value & Params,
    CompletionContext & R,
    llvm::json::Path P )
    +
    +
    + +

    ◆ fromJSON() [12/68]

    + + + +

    ◆ fromJSON() [13/68]

    + +
    +
    + + + + + + + + + + + + + + + + +
    bool lspserver::fromJSON (const llvm::json::Value & E,
    CompletionItemKind & Out,
    llvm::json::Path P )
    +
    + +

    Definition at line 942 of file lspserver/src/Protocol.cpp.

    + +

    References fromJSON(), Text, and TypeParameter.

    + +
    +
    + +

    ◆ fromJSON() [14/68]

    + +
    +
    + + + + + + + + + + + + + + + + +
    bool lspserver::fromJSON (const llvm::json::Value & E,
    CompletionItemKindBitset & Out,
    llvm::json::Path P )
    +
    + +

    Definition at line 976 of file lspserver/src/Protocol.cpp.

    + +

    References fromJSON().

    + +
    +
    + +

    ◆ fromJSON() [15/68]

    + +
    +
    + + + + + + + + + + + + + + + + +
    bool lspserver::fromJSON (const llvm::json::Value & Params,
    CompletionParams & R,
    llvm::json::Path P )
    +
    +
    + +

    ◆ fromJSON() [16/68]

    + +
    +
    + + + + + + + + + + + + + + + + +
    bool lspserver::fromJSON (const llvm::json::Value & Params,
    ConfigurationSettings & S,
    llvm::json::Path P )
    +
    + +

    Definition at line 1207 of file lspserver/src/Protocol.cpp.

    + +

    References fromJSON().

    + +
    +
    + +

    ◆ fromJSON() [17/68]

    + +
    +
    + + + + + + + + + + + + + + + + +
    bool lspserver::fromJSON (const llvm::json::Value & Params,
    Diagnostic & R,
    llvm::json::Path P )
    +
    +
    + +

    ◆ fromJSON() [18/68]

    + +
    +
    + + + + + + + + + + + + + + + + +
    bool lspserver::fromJSON (const llvm::json::Value & Params,
    DidChangeConfigurationParams & CCP,
    llvm::json::Path P )
    +
    + +

    Definition at line 1194 of file lspserver/src/Protocol.cpp.

    + +

    References fromJSON().

    + +
    +
    + +

    ◆ fromJSON() [19/68]

    + +
    +
    + + + + + + + + + + + + + + + + +
    bool lspserver::fromJSON (const llvm::json::Value & Params,
    DidChangeTextDocumentParams & R,
    llvm::json::Path P )
    +
    +
    + +

    ◆ fromJSON() [20/68]

    + +
    +
    + + + + + + + + + + + + + + + + +
    bool lspserver::fromJSON (const llvm::json::Value & Params,
    DidChangeWatchedFilesParams & R,
    llvm::json::Path P )
    +
    + +

    Definition at line 563 of file lspserver/src/Protocol.cpp.

    + +

    References lspserver::DidChangeWatchedFilesParams::changes, and fromJSON().

    + +
    +
    + +

    ◆ fromJSON() [21/68]

    + +
    +
    + + + + + + + + + + + + + + + + +
    bool lspserver::fromJSON (const llvm::json::Value & Params,
    DidCloseTextDocumentParams & R,
    llvm::json::Path P )
    +
    +
    + +

    ◆ fromJSON() [22/68]

    + +
    +
    + + + + + + + + + + + + + + + + +
    bool lspserver::fromJSON (const llvm::json::Value & Params,
    DidOpenTextDocumentParams & R,
    llvm::json::Path P )
    +
    +
    + +

    ◆ fromJSON() [23/68]

    + +
    +
    + + + + + + + + + + + + + + + + +
    bool lspserver::fromJSON (const llvm::json::Value & Params,
    DidSaveTextDocumentParams & R,
    llvm::json::Path P )
    +
    +
    + +

    ◆ fromJSON() [24/68]

    + +
    +
    + + + + + + + + + + + + + + + + +
    bool lspserver::fromJSON (const llvm::json::Value & Params,
    DocumentFormattingParams & R,
    llvm::json::Path P )
    +
    + +

    Definition at line 589 of file lspserver/src/Protocol.cpp.

    + +

    References fromJSON(), and lspserver::DocumentFormattingParams::textDocument.

    + +
    +
    + +

    ◆ fromJSON() [25/68]

    + +
    +
    + + + + + + + + + + + + + + + + +
    bool lspserver::fromJSON (const llvm::json::Value & Params,
    DocumentLinkParams & R,
    llvm::json::Path P )
    +
    + +

    Definition at line 1463 of file lspserver/src/Protocol.cpp.

    + +

    References fromJSON(), and lspserver::DocumentLinkParams::textDocument.

    + +
    +
    + +

    ◆ fromJSON() [26/68]

    + +
    +
    + + + + + + + + + + + + + + + + +
    bool lspserver::fromJSON (const llvm::json::Value & Params,
    DocumentOnTypeFormattingParams & R,
    llvm::json::Path P )
    +
    +
    + +

    ◆ fromJSON() [27/68]

    + +
    +
    + + + + + + + + + + + + + + + + +
    bool lspserver::fromJSON (const llvm::json::Value & Params,
    DocumentRangeFormattingParams & R,
    llvm::json::Path P )
    +
    +
    + +

    ◆ fromJSON() [28/68]

    + +
    +
    + + + + + + + + + + + + + + + + +
    bool lspserver::fromJSON (const llvm::json::Value & Params,
    DocumentSymbolParams & R,
    llvm::json::Path P )
    +
    + +

    Definition at line 595 of file lspserver/src/Protocol.cpp.

    + +

    References fromJSON(), and lspserver::DocumentSymbolParams::textDocument.

    + +
    +
    + +

    ◆ fromJSON() [29/68]

    + +
    +
    + + + + + + + + + + + + + + + + +
    bool lspserver::fromJSON (const llvm::json::Value & Params,
    ExecuteCommandParams & R,
    llvm::json::Path P )
    +
    +
    + +

    ◆ fromJSON() [30/68]

    + +
    +
    + + + + + + + + + + + + + + + + +
    bool lspserver::fromJSON (const llvm::json::Value & Params,
    FileEvent & R,
    llvm::json::Path P )
    +
    + +

    Definition at line 557 of file lspserver/src/Protocol.cpp.

    + +

    References fromJSON(), lspserver::FileEvent::type, and lspserver::FileEvent::uri.

    + +
    +
    + +

    ◆ fromJSON() [31/68]

    + +
    +
    + + + + + + + + + + + + + + + + +
    bool lspserver::fromJSON (const llvm::json::Value & Params,
    FoldingRangeParams & R,
    llvm::json::Path P )
    +
    + +

    Definition at line 1476 of file lspserver/src/Protocol.cpp.

    + +

    References fromJSON(), and lspserver::FoldingRangeParams::textDocument.

    + +
    +
    + +

    ◆ fromJSON() [32/68]

    + +
    +
    + + + + + + + + + + + + + + + + +
    bool lspserver::fromJSON (const llvm::json::Value & Params,
    InitializationOptions & Opts,
    llvm::json::Path P )
    +
    + +

    Definition at line 1216 of file lspserver/src/Protocol.cpp.

    + +

    References fromJSON().

    + +
    +
    + +

    ◆ fromJSON() [33/68]

    + + + +

    ◆ fromJSON() [34/68]

    + +
    +
    + + + + + + + + + + + + + + + + +
    bool lspserver::fromJSON (const llvm::json::Value & Params,
    InlayHintsParams & R,
    llvm::json::Path P )
    +
    +
    + +

    ◆ fromJSON() [35/68]

    + +
    +
    + + + + + + + + + + + + + + + + +
    bool lspserver::fromJSON (const llvm::json::Value & Params,
    Location & R,
    llvm::json::Path P )
    +
    + +

    Definition at line 157 of file lspserver/src/Protocol.cpp.

    + +

    References fromJSON(), lspserver::Location::range, and lspserver::Location::uri.

    + +
    +
    + +

    ◆ fromJSON() [36/68]

    + +
    +
    + + + + + + + + + + + + + + + + +
    bool lspserver::fromJSON (const llvm::json::Value & Params,
    MarkupContent & R,
    llvm::json::Path P )
    +
    +
    + +

    ◆ fromJSON() [37/68]

    + +
    +
    + + + + + + + + + + + + + + + + +
    bool lspserver::fromJSON (const llvm::json::Value & V,
    MarkupKind & K,
    llvm::json::Path P )
    +
    + +

    Definition at line 893 of file lspserver/src/Protocol.cpp.

    + +

    References fromJSON(), Markdown, and PlainText.

    + +
    +
    + +

    ◆ fromJSON() [38/68]

    + +
    +
    + + + + + +
    + + + + + + + + + + + + + + + + +
    bool lspserver::fromJSON (const llvm::json::Value & ,
    NoParams & ,
    llvm::json::Path  )
    +
    +inline
    +
    + +

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

    + +
    +
    + +

    ◆ fromJSON() [39/68]

    + +
    +
    + + + + + + + + + + + + + + + + +
    bool lspserver::fromJSON (const llvm::json::Value & V,
    OffsetEncoding & OE,
    llvm::json::Path P )
    +
    + +

    Definition at line 1432 of file lspserver/src/Protocol.cpp.

    + +

    References fromJSON(), UnsupportedEncoding, UTF16, UTF32, and UTF8.

    + +
    +
    + +

    ◆ fromJSON() [40/68]

    + +
    +
    + + + + + + + + + + + + + + + + +
    bool lspserver::fromJSON (const llvm::json::Value & Params,
    Position & R,
    llvm::json::Path P )
    +
    +
    + +

    ◆ fromJSON() [41/68]

    + +
    +
    + + + + + + + + + + + + + + + + +
    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, fromJSON(), and lspserver::Range::start.

    + +
    +
    + +

    ◆ fromJSON() [42/68]

    + +
    +
    + + + + + + + + + + + + + + + + +
    bool lspserver::fromJSON (const llvm::json::Value & Params,
    ReferenceParams & R,
    llvm::json::Path P )
    +
    + +

    Definition at line 1307 of file lspserver/src/Protocol.cpp.

    + +

    References lspserver::ReferenceParams::context, and fromJSON().

    + +
    +
    + +

    ◆ fromJSON() [43/68]

    + +
    +
    + + + + + + + + + + + + + + + + +
    bool lspserver::fromJSON (const llvm::json::Value & Params,
    RenameParams & R,
    llvm::json::Path P )
    +
    +
    + +

    ◆ fromJSON() [44/68]

    + +
    +
    + + + + + + + + + + + + + + + + +
    bool lspserver::fromJSON (const llvm::json::Value & Params,
    ResolveTypeHierarchyItemParams & R,
    llvm::json::Path P )
    +
    +
    + +

    ◆ fromJSON() [45/68]

    + +
    +
    + + + + + + + + + + + + + + + + +
    bool lspserver::fromJSON (const llvm::json::Value & Params,
    SelectionRangeParams & S,
    llvm::json::Path P )
    +
    + +

    Definition at line 1448 of file lspserver/src/Protocol.cpp.

    + +

    References fromJSON().

    + +
    +
    + +

    ◆ fromJSON() [46/68]

    + +
    +
    + + + + + + + + + + + + + + + + +
    bool lspserver::fromJSON (const llvm::json::Value & Params,
    SemanticTokensParams & R,
    llvm::json::Path P )
    +
    + +

    Definition at line 1165 of file lspserver/src/Protocol.cpp.

    + +

    References fromJSON(), and lspserver::SemanticTokensParams::textDocument.

    + +
    +
    + +

    ◆ fromJSON() [47/68]

    + +
    +
    + + + + + + + + + + + + + + + + +
    bool lspserver::fromJSON (const llvm::json::Value & E,
    SymbolKind & Out,
    llvm::json::Path P )
    +
    + +

    Definition at line 258 of file lspserver/src/Protocol.cpp.

    + +

    References File, fromJSON(), and TypeParameter.

    + +
    +
    + +

    ◆ fromJSON() [48/68]

    + +
    +
    + + + + + + + + + + + + + + + + +
    bool lspserver::fromJSON (const llvm::json::Value & E,
    SymbolKindBitset & Out,
    llvm::json::Path P )
    +
    + +

    Definition at line 269 of file lspserver/src/Protocol.cpp.

    + +

    References fromJSON().

    + +
    +
    + +

    ◆ fromJSON() [49/68]

    + +
    +
    + + + + + + + + + + + + + + + + +
    bool lspserver::fromJSON (const llvm::json::Value & Params,
    TextDocumentContentChangeEvent & R,
    llvm::json::Path P )
    +
    +
    + +

    ◆ fromJSON() [50/68]

    + +
    +
    + + + + + + + + + + + + + + + + +
    bool lspserver::fromJSON (const llvm::json::Value & Params,
    TextDocumentEdit & R,
    llvm::json::Path P )
    +
    +
    + +

    ◆ fromJSON() [51/68]

    + +
    +
    + + + + + + + + + + + + + + + + +
    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 fromJSON(), and lspserver::TextDocumentIdentifier::uri.

    + +
    +
    + +

    ◆ fromJSON() [52/68]

    + +
    +
    + + + + + + + + + + + + + + + + +
    bool lspserver::fromJSON (const llvm::json::Value & Params,
    TextDocumentItem & R,
    llvm::json::Path P )
    +
    +
    + +

    ◆ fromJSON() [53/68]

    + +
    +
    + + + + + + + + + + + + + + + + +
    bool lspserver::fromJSON (const llvm::json::Value & Params,
    TextDocumentPositionParams & R,
    llvm::json::Path P )
    +
    +
    + +

    ◆ fromJSON() [54/68]

    + +
    +
    + + + + + + + + + + + + + + + + +
    bool lspserver::fromJSON (const llvm::json::Value & Params,
    TextEdit & R,
    llvm::json::Path P )
    +
    +
    + +

    ◆ fromJSON() [55/68]

    + +
    +
    + + + + + + + + + + + + + + + + +
    bool lspserver::fromJSON (const llvm::json::Value & Params,
    TweakArgs & A,
    llvm::json::Path P )
    +
    + +

    Definition at line 824 of file lspserver/src/Protocol.cpp.

    + +

    References fromJSON().

    + +
    +
    + +

    ◆ fromJSON() [56/68]

    + +
    +
    + + + + + + + + + + + + + + + + +
    bool lspserver::fromJSON (const llvm::json::Value & Params,
    TypeHierarchyItem & I,
    llvm::json::Path P )
    +
    + +

    Definition at line 1278 of file lspserver/src/Protocol.cpp.

    + +

    References fromJSON().

    + +
    +
    + +

    ◆ fromJSON() [57/68]

    + +
    +
    + + + + + + + + + + + + + + + + +
    bool lspserver::fromJSON (const llvm::json::Value & Params,
    TypeHierarchyPrepareParams & R,
    llvm::json::Path P )
    +
    +
    + +

    ◆ fromJSON() [58/68]

    + +
    +
    + + + + + + + + + + + + + + + + +
    bool lspserver::fromJSON (const llvm::json::Value & E,
    URIForFile & R,
    llvm::json::Path P )
    +
    + +

    Definition at line 63 of file lspserver/src/Protocol.cpp.

    + +

    References fromJSON(), lspserver::URIForFile::fromURI(), and lspserver::URI::parse().

    + +

    Referenced by lspserver::HandlerRegistry::addCommand(), lspserver::DraftStore::addDraft(), lspserver::HandlerRegistry::addMethod(), lspserver::HandlerRegistry::addNotification(), adjustKindToCapability(), adjustKindToCapability(), applyChange(), lspserver::DraftStore::asVFS(), lspserver::Event< T >::broadcast(), lspserver::OutboundPort::call(), lspserver::URIForFile::canonicalize(), lspserver::Range::contains(), lspserver::URI::create(), lspserver::URI::create(), lspserver::URI::createFile(), lspserver::detail::debugType(), lspserver::DraftStore::decodeVersion(), lspserver::InboundPort::dispatch(), elog(), lspserver::DraftStore::encodeVersion(), error(), error(), error(), lspserver::detail::error(), error(), fromJSON(), fromJSON(), fromJSON(), fromJSON(), fromJSON(), fromJSON(), fromJSON(), fromJSON(), fromJSON(), fromJSON(), fromJSON(), fromJSON(), fromJSON(), fromJSON(), fromJSON(), fromJSON(), fromJSON(), fromJSON(), fromJSON(), fromJSON(), fromJSON(), fromJSON(), fromJSON(), fromJSON(), fromJSON(), fromJSON(), fromJSON(), fromJSON(), fromJSON(), fromJSON(), fromJSON(), fromJSON(), fromJSON(), fromJSON(), fromJSON(), fromJSON(), fromJSON(), fromJSON(), fromJSON(), fromJSON(), fromJSON(), fromJSON(), fromJSON(), fromJSON(), fromJSON(), fromJSON(), fromJSON(), fromJSON(), fromJSON(), fromJSON(), fromJSON(), fromJSON(), fromJSON(), fromJSON(), fromJSON(), fromJSON(), fromJSON(), fromJSON(), fromJSON(), fromJSON(), fromJSON(), fromJSON(), fromJSON(), fromJSON(), fromJSON(), fromJSON(), lspserver::URIForFile::fromURI(), lspserver::DraftStore::getActiveFiles(), lspserver::DraftStore::getDraft(), nixd::getLSPSeverity(), lspserver::URI::includeSpelling(), lspserver::Logger::indicator(), log(), lspserver::StreamLogger::log(), lspserver::LSPError::log(), lspserver::detail::log(), lspserver::LoggingSession::LoggingSession(), lspserver::detail::logImpl(), lspserver::InboundPort::loop(), lspLength(), lspserver::OutboundPort::notify(), lspserver::Event< T >::observe(), offsetToPosition(), operator<(), operator<(), operator<<(), operator<<(), operator<<(), operator<<(), operator<<(), operator<<(), operator<<(), operator<<(), operator<<(), operator<<(), operator<<(), operator<<(), operator<<(), operator<<(), operator<<(), operator<<(), operator<<(), operator==(), operator==(), operator==(), lspserver::URI::parse(), parseParam(), positionToOffset(), lspserver::InboundPort::readDelimitedMessage(), readLine(), lspserver::InboundPort::readMessage(), lspserver::InboundPort::readStandardMessage(), lspserver::DraftStore::removeDraft(), lspserver::OutboundPort::reply(), lspserver::URI::resolve(), lspserver::URI::resolve(), lspserver::URI::resolvePath(), lspserver::OutboundPort::sendMessage(), lspserver::LSPServer::switchStreamStyle(), toJSON(), toJSON(), toJSON(), toJSON(), toJSON(), toJSON(), toJSON(), toJSON(), toJSON(), toJSON(), toJSON(), toJSON(), toJSON(), toJSON(), toJSON(), toJSON(), toJSON(), toJSON(), toJSON(), toJSON(), toJSON(), toJSON(), toJSON(), toJSON(), toJSON(), toJSON(), toJSON(), toJSON(), toJSON(), toJSON(), toJSON(), toJSON(), toJSON(), toJSON(), toJSON(), toJSON(), toJSON(), toJSON(), toJSON(), toJSON(), toJSON(), toJSON(), toJSON(), toJSON(), toJSON(), nixd::toLSPTags(), lspserver::URI::toString(), lspserver::URI::URI(), vlog(), lspserver::detail::wrap(), lspserver::detail::wrap(), lspserver::Event< T >::~Event(), and lspserver::LoggingSession::~LoggingSession().

    + +
    +
    + +

    ◆ fromJSON() [59/68]

    + +
    +
    + + + + + + + + + + + + + + + + +
    bool lspserver::fromJSON (const llvm::json::Value & Params,
    VersionedTextDocumentIdentifier & R,
    llvm::json::Path P )
    +
    +
    + +

    ◆ fromJSON() [60/68]

    + +
    +
    + + + + + + + + + + + + + + + + +
    bool lspserver::fromJSON (const llvm::json::Value & Params,
    WorkspaceEdit & R,
    llvm::json::Path P )
    +
    +
    + +

    ◆ fromJSON() [61/68]

    + +
    +
    + + + + + + + + + + + + + + + + +
    bool lspserver::fromJSON (const llvm::json::Value & Params,
    WorkspaceSymbolParams & R,
    llvm::json::Path P )
    +
    +
    + +

    ◆ fromJSON() [62/68]

    + +
    +
    + + + + + + + + + + + + + + + + +
    bool lspserver::fromJSON (const llvm::json::Value & E,
    FileChangeType & Out,
    llvm::json::Path P )
    +
    + +

    Definition at line 545 of file lspserver/src/Protocol.cpp.

    + +

    References Created, Deleted, and fromJSON().

    + +
    +
    + +

    ◆ fromJSON() [63/68]

    + +
    +
    + + + + + + + + + + + + + + + + +
    bool lspserver::fromJSON (const llvm::json::Value & E,
    TraceLevel & Out,
    llvm::json::Path P )
    +
    + +

    Definition at line 240 of file lspserver/src/Protocol.cpp.

    + +

    References fromJSON(), Messages, Off, and Verbose.

    + +
    +
    + +

    ◆ fromJSON() [64/68]

    + +
    +
    + + + + + + + + + + + + + + + + +
    bool lspserver::fromJSON (const llvm::json::Value & E,
    TypeHierarchyDirection & Out,
    llvm::json::Path P )
    +
    + +

    Definition at line 1228 of file lspserver/src/Protocol.cpp.

    + +

    References Both, Children, and fromJSON().

    + +
    +
    + +

    ◆ fromJSON() [65/68]

    + +
    +
    + + + + + + + + + + + + + + + + +
    bool lspserver::fromJSON (const llvm::json::Value & Params,
    ReferenceContext & R,
    llvm::json::Path P )
    +
    + +

    Definition at line 1301 of file lspserver/src/Protocol.cpp.

    + +

    References fromJSON(), and lspserver::ReferenceContext::includeDeclaration.

    + +
    +
    + +

    ◆ fromJSON() [66/68]

    + +
    +
    + + + + + + + + + + + + + + + + +
    bool lspserver::fromJSON (const llvm::json::Value & Params,
    SemanticTokensDeltaParams & R,
    llvm::json::Path P )
    +
    +
    + +

    ◆ fromJSON() [67/68]

    + +
    +
    + + + + + + + + + + + + + + + + +
    bool lspserver::fromJSON (const llvm::json::Value & Params,
    TypeHierarchyItem::ResolveParams & RP,
    llvm::json::Path P )
    +
    + +

    Definition at line 1260 of file lspserver/src/Protocol.cpp.

    + +

    References fromJSON().

    + +
    +
    + +

    ◆ fromJSON() [68/68]

    + +
    +
    + + + + + + + +
    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 fromJSON(), lspserver::Logger::Info, and lspserver::detail::log().

    + +

    Referenced by nixd::EvalClient::onReady().

    + +
    +
    + +

    ◆ lspLength()

    + +
    +
    + + + + + + + +
    size_t lspserver::lspLength (llvm::StringRef Code)
    +
    + +

    Definition at line 50 of file SourceCode.cpp.

    + +

    References fromJSON(), 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, fromJSON(), lspserver::Position::line, and lspLength().

    + +

    Referenced by nixd::toLSPPosition().

    + +
    +
    + +

    ◆ operator<() [1/2]

    + + + +

    ◆ operator<() [2/2]

    + +
    +
    + + + + + + + + + + + +
    bool lspserver::operator< (const InlayHint & A,
    const InlayHint & B )
    +
    + +

    Definition at line 1398 of file lspserver/src/Protocol.cpp.

    + +

    References fromJSON().

    + +
    +
    + +

    ◆ operator<<() [1/17]

    + +
    +
    + + + + + + + + + + + +
    llvm::raw_ostream & lspserver::operator<< (llvm::raw_ostream & OS,
    const ASTNode & Root )
    +
    + +

    Definition at line 1522 of file lspserver/src/Protocol.cpp.

    + +

    References fromJSON().

    + +
    +
    + +

    ◆ operator<<() [2/17]

    + +
    +
    + + + + + + + + + + + +
    llvm::raw_ostream & lspserver::operator<< (llvm::raw_ostream & O,
    const CompletionItem & I )
    +
    + +

    Definition at line 1041 of file lspserver/src/Protocol.cpp.

    + +

    References fromJSON(), 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 )
    +
    + +

    Definition at line 1184 of file lspserver/src/Protocol.cpp.

    + +

    References fromJSON(), Read, and Write.

    + +
    +
    + +

    ◆ operator<<() [5/17]

    + +
    +
    + + + + + + + + + + + +
    llvm::raw_ostream & lspserver::operator<< (llvm::raw_ostream & OS,
    const Location & L )
    +
    + +

    Definition at line 163 of file lspserver/src/Protocol.cpp.

    + +

    References fromJSON().

    + +
    +
    + +

    ◆ operator<<() [6/17]

    + +
    +
    + + + + + + + + + + + +
    llvm::raw_ostream & lspserver::operator<< (llvm::raw_ostream & OS,
    const Position & P )
    +
    +
    + +

    ◆ 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, fromJSON(), and lspserver::Range::start.

    + +
    +
    + +

    ◆ operator<<() [8/17]

    + +
    +
    + + + + + + + + + + + +
    llvm::raw_ostream & lspserver::operator<< (llvm::raw_ostream & OS,
    const ReferenceLocation & L )
    +
    + +

    Definition at line 177 of file lspserver/src/Protocol.cpp.

    + +

    References fromJSON().

    + +
    +
    + +

    ◆ operator<<() [9/17]

    + +
    +
    + + + + + + + + + + + +
    llvm::raw_ostream & lspserver::operator<< (llvm::raw_ostream & O,
    const SignatureInformation & I )
    +
    + +

    Definition at line 1083 of file lspserver/src/Protocol.cpp.

    + +

    References fromJSON(), and toJSON().

    + +
    +
    + +

    ◆ operator<<() [10/17]

    + +
    +
    + + + + + + + + + + + +
    llvm::raw_ostream & lspserver::operator<< (llvm::raw_ostream & O,
    const SymbolInformation & SI )
    +
    + +

    Definition at line 746 of file lspserver/src/Protocol.cpp.

    + +

    References fromJSON(), and toJSON().

    + +
    +
    + +

    ◆ operator<<() [11/17]

    + +
    +
    + + + + + + + + + + + +
    llvm::raw_ostream & lspserver::operator<< (llvm::raw_ostream & OS,
    const TextEdit & TE )
    +
    + +

    Definition at line 234 of file lspserver/src/Protocol.cpp.

    + +

    References fromJSON().

    + +
    +
    + +

    ◆ operator<<() [12/17]

    + +
    +
    + + + + + + + + + + + +
    llvm::raw_ostream & lspserver::operator<< (llvm::raw_ostream & O,
    const TypeHierarchyItem & I )
    +
    + +

    Definition at line 1249 of file lspserver/src/Protocol.cpp.

    + +

    References fromJSON(), and toJSON().

    + +
    +
    + +

    ◆ operator<<() [13/17]

    + +
    +
    + + + + + + + + + + + +
    llvm::raw_ostream & lspserver::operator<< (llvm::raw_ostream & OS,
    InlayHintKind Kind )
    +
    + +

    Definition at line 1403 of file lspserver/src/Protocol.cpp.

    + +

    References Designator, fromJSON(), Parameter, and Type.

    + +
    +
    + +

    ◆ operator<<() [14/17]

    + +
    +
    + + + + + + + + + + + +
    llvm::raw_ostream & lspserver::operator<< (llvm::raw_ostream & OS,
    OffsetEncoding Enc )
    +
    + +

    Definition at line 1444 of file lspserver/src/Protocol.cpp.

    + +

    References fromJSON().

    + +
    +
    + +

    ◆ operator<<() [15/17]

    + +
    +
    + + + + + + + + + + + +
    llvm::raw_ostream & lspserver::operator<< (llvm::raw_ostream & O,
    const DocumentSymbol & S )
    +
    + +

    Definition at line 785 of file lspserver/src/Protocol.cpp.

    + +

    References fromJSON(), 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 fromJSON().

    + +
    +
    + +

    ◆ operator<<() [17/17]

    + +
    +
    + + + + + + + + + + + +
    llvm::raw_ostream & lspserver::operator<< (llvm::raw_ostream & OS,
    MarkupKind K )
    +
    + +

    Definition at line 910 of file lspserver/src/Protocol.cpp.

    + +

    References fromJSON().

    + +
    +
    + +

    ◆ operator==() [1/3]

    + +
    +
    + + + + + + + + + + + +
    bool lspserver::operator== (const InlayHint & A,
    const InlayHint & B )
    +
    + +

    Definition at line 1394 of file lspserver/src/Protocol.cpp.

    + +

    References fromJSON().

    + +
    +
    + +

    ◆ operator==() [2/3]

    + + + +

    ◆ operator==() [3/3]

    + +
    +
    + + + + + +
    + + + + + + + + + + + +
    bool lspserver::operator== (const TextEdit & L,
    const TextEdit & R )
    +
    +inline
    +
    +
    + +

    ◆ parseParam() [1/2]

    + +
    +
    +
    +template<typename T >
    + + + + + + + + + + + + + + + + +
    llvm::Expected< T > lspserver::parseParam (const llvm::json::Value & Raw,
    llvm::StringRef PayloadName,
    llvm::StringRef PayloadKind )
    +
    + +

    Definition at line 13 of file LSPBinder.h.

    + +

    References elog(), fromJSON(), InvalidParams, and vlog().

    + +
    +
    + +

    ◆ parseParam() [2/2]

    + +
    +
    +
    +template<>
    + + + + + +
    + + + + + + + + + + + + + + + + +
    llvm::Expected< llvm::json::Value > lspserver::parseParam (const llvm::json::Value & Raw,
    llvm::StringRef PayloadName,
    llvm::StringRef PayloadKind )
    +
    +inline
    +
    + +

    Definition at line 37 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(), fromJSON(), 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 836 of file lspserver/src/Protocol.cpp.

    + +

    References fromJSON().

    + +
    +
    + +

    ◆ toJSON() [2/58]

    + +
    +
    + + + + + + + +
    llvm::json::Value lspserver::toJSON (const ASTNode & N)
    +
    + +

    Definition at line 1506 of file lspserver/src/Protocol.cpp.

    + +

    References fromJSON().

    + +
    +
    + +

    ◆ toJSON() [3/58]

    + +
    +
    + + + + + + + +
    llvm::json::Value lspserver::toJSON (const CallHierarchyIncomingCall & C)
    +
    + +

    Definition at line 1352 of file lspserver/src/Protocol.cpp.

    + +

    References fromJSON().

    + +
    +
    + +

    ◆ toJSON() [4/58]

    + +
    +
    + + + + + + + +
    llvm::json::Value lspserver::toJSON (const CallHierarchyItem & I)
    +
    + +

    Definition at line 1318 of file lspserver/src/Protocol.cpp.

    + +

    References fromJSON().

    + +
    +
    + +

    ◆ toJSON() [5/58]

    + +
    +
    + + + + + + + +
    llvm::json::Value lspserver::toJSON (const CallHierarchyOutgoingCall & C)
    +
    + +

    Definition at line 1362 of file lspserver/src/Protocol.cpp.

    + +

    References fromJSON().

    + +
    +
    + +

    ◆ toJSON() [6/58]

    + +
    +
    + + + + + + + +
    llvm::json::Value lspserver::toJSON (const ChangeAnnotation & CA)
    +
    + +

    Definition at line 214 of file lspserver/src/Protocol.cpp.

    + +

    References fromJSON().

    + +
    +
    + +

    ◆ toJSON() [7/58]

    + +
    +
    + + + + + + + +
    llvm::json::Value lspserver::toJSON (const CodeAction & CA)
    +
    +
    + +

    ◆ toJSON() [8/58]

    + +
    +
    + + + + + + + +
    llvm::json::Value lspserver::toJSON (const CodeDescription & D)
    +
    + +

    Definition at line 610 of file lspserver/src/Protocol.cpp.

    + +

    References lspserver::CodeDescription::href.

    + +
    +
    + +

    ◆ toJSON() [9/58]

    + +
    +
    + + + + + + + +
    llvm::json::Value lspserver::toJSON (const Command & C)
    +
    + +

    Definition at line 759 of file lspserver/src/Protocol.cpp.

    + +

    References fromJSON().

    + +
    +
    + +

    ◆ toJSON() [10/58]

    + +
    +
    + + + + + + + +
    llvm::json::Value lspserver::toJSON (const CompletionItem & CI)
    +
    + +

    Definition at line 989 of file lspserver/src/Protocol.cpp.

    + +

    References fromJSON(), and Missing.

    + +
    +
    + +

    ◆ toJSON() [11/58]

    + +
    +
    + + + + + + + +
    llvm::json::Value lspserver::toJSON (const CompletionList & L)
    +
    + +

    Definition at line 1051 of file lspserver/src/Protocol.cpp.

    + +

    References fromJSON().

    + +
    +
    + +

    ◆ toJSON() [12/58]

    + +
    +
    + + + + + + + +
    llvm::json::Value lspserver::toJSON (const ConfigurationItem & N)
    +
    + +

    Definition at line 1536 of file lspserver/src/Protocol.cpp.

    + +

    References fromJSON().

    + +
    +
    + +

    ◆ toJSON() [13/58]

    + +
    +
    + + + + + + + +
    llvm::json::Value lspserver::toJSON (const ConfigurationParams & N)
    +
    + +

    Definition at line 1545 of file lspserver/src/Protocol.cpp.

    + +

    References fromJSON().

    + +
    +
    + +

    ◆ toJSON() [14/58]

    + + + +

    ◆ toJSON() [15/58]

    + +
    +
    + + + + + + + +
    llvm::json::Value lspserver::toJSON (const DiagnosticRelatedInformation & DRI)
    +
    + +

    Definition at line 601 of file lspserver/src/Protocol.cpp.

    + +

    References fromJSON().

    + +
    +
    + +

    ◆ toJSON() [16/58]

    + +
    +
    + + + + + + + +
    llvm::json::Value lspserver::toJSON (const DocumentHighlight & DH)
    +
    + +

    Definition at line 1108 of file lspserver/src/Protocol.cpp.

    + +

    References fromJSON(), and toJSON().

    + +
    +
    + +

    ◆ toJSON() [17/58]

    + +
    +
    + + + + + + + +
    llvm::json::Value lspserver::toJSON (const DocumentLink & DocumentLink)
    +
    +
    + +

    ◆ toJSON() [18/58]

    + +
    +
    + + + + + + + +
    llvm::json::Value lspserver::toJSON (const DocumentSymbol & S)
    +
    + +

    Definition at line 789 of file lspserver/src/Protocol.cpp.

    + +

    References fromJSON().

    + +
    +
    + +

    ◆ toJSON() [19/58]

    + +
    +
    + + + + + + + +
    llvm::json::Value lspserver::toJSON (const FileStatus & FStatus)
    +
    + +

    Definition at line 1115 of file lspserver/src/Protocol.cpp.

    + +

    References fromJSON().

    + +
    +
    + +

    ◆ toJSON() [20/58]

    + +
    +
    + + + + + + + +
    llvm::json::Value lspserver::toJSON (const FoldingRange & Range)
    +
    + +

    Definition at line 1486 of file lspserver/src/Protocol.cpp.

    + +

    References fromJSON().

    + +
    +
    + +

    ◆ toJSON() [21/58]

    + +
    +
    + + + + + + + +
    llvm::json::Value lspserver::toJSON (const Hover & H)
    +
    + +

    Definition at line 933 of file lspserver/src/Protocol.cpp.

    + +

    References fromJSON(), and toJSON().

    + +
    +
    + +

    ◆ toJSON() [22/58]

    + +
    +
    + + + + + + + +
    llvm::json::Value lspserver::toJSON (const InactiveRegionsParams & InactiveRegions)
    +
    +
    + +

    ◆ toJSON() [23/58]

    + +
    +
    + + + + + + + +
    llvm::json::Value lspserver::toJSON (const InlayHint & H)
    +
    + +

    Definition at line 1384 of file lspserver/src/Protocol.cpp.

    + +

    References fromJSON(), and toJSON().

    + +
    +
    + +

    ◆ toJSON() [24/58]

    + +
    +
    + + + + + + + +
    llvm::json::Value lspserver::toJSON (const InlayHintKind & Kind)
    +
    + +

    Definition at line 1372 of file lspserver/src/Protocol.cpp.

    + +

    References Designator, fromJSON(), 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)
    +
    + +

    Definition at line 914 of file lspserver/src/Protocol.cpp.

    + +

    References fromJSON().

    + +
    +
    + +

    ◆ toJSON() [27/58]

    + +
    +
    + + + + + + + +
    llvm::json::Value lspserver::toJSON (const MessageType & R)
    +
    + +

    Definition at line 510 of file lspserver/src/Protocol.cpp.

    + +

    References fromJSON().

    + +
    +
    + +

    ◆ toJSON() [28/58]

    + +
    +
    + + + + + +
    + + + + + + + +
    llvm::json::Value lspserver::toJSON (const NoParams & )
    +
    +inline
    +
    + +

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

    + +
    +
    + +

    ◆ toJSON() [29/58]

    + +
    +
    + + + + + + + +
    llvm::json::Value lspserver::toJSON (const OffsetEncoding & OE)
    +
    + +

    Definition at line 1431 of file lspserver/src/Protocol.cpp.

    + +

    References fromJSON().

    + +
    +
    + +

    ◆ toJSON() [30/58]

    + +
    +
    + + + + + + + +
    llvm::json::Value lspserver::toJSON (const ParameterInformation & PI)
    +
    + +

    Definition at line 1058 of file lspserver/src/Protocol.cpp.

    + +

    References fromJSON().

    + +
    +
    + +

    ◆ 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)
    +
    + +

    Definition at line 654 of file lspserver/src/Protocol.cpp.

    + +

    References fromJSON().

    + +
    +
    + +

    ◆ 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)
    +
    + +

    Definition at line 1144 of file lspserver/src/Protocol.cpp.

    + +

    References fromJSON().

    + +
    +
    + +

    ◆ toJSON() [38/58]

    + +
    +
    + + + + + + + +
    llvm::json::Value lspserver::toJSON (const SemanticTokensEdit & Edit)
    +
    + +

    Definition at line 1149 of file lspserver/src/Protocol.cpp.

    + +

    References fromJSON(), and SemanticTokenEncodingSize.

    + +
    +
    + +

    ◆ toJSON() [39/58]

    + +
    +
    + + + + + + + +
    llvm::json::Value lspserver::toJSON (const SemanticTokensOrDelta & TE)
    +
    + +

    Definition at line 1156 of file lspserver/src/Protocol.cpp.

    + +

    References fromJSON().

    + +
    +
    + +

    ◆ toJSON() [40/58]

    + +
    +
    + + + + + + + +
    llvm::json::Value lspserver::toJSON (const ShowMessageParams & R)
    +
    +
    + +

    ◆ toJSON() [41/58]

    + +
    +
    + + + + + + + +
    llvm::json::Value lspserver::toJSON (const SignatureHelp & SH)
    +
    + +

    Definition at line 1089 of file lspserver/src/Protocol.cpp.

    + +

    References fromJSON().

    + +
    +
    + +

    ◆ toJSON() [42/58]

    + +
    +
    + + + + + + + +
    llvm::json::Value lspserver::toJSON (const SignatureInformation & SI)
    +
    + +

    Definition at line 1072 of file lspserver/src/Protocol.cpp.

    + +

    References fromJSON().

    + +
    +
    + +

    ◆ 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)
    +
    + +

    Definition at line 831 of file lspserver/src/Protocol.cpp.

    + +

    References fromJSON().

    + +
    +
    + +

    ◆ toJSON() [48/58]

    + +
    +
    + + + + + + + +
    llvm::json::Value lspserver::toJSON (const TypeHierarchyItem & I)
    +
    + +

    Definition at line 1266 of file lspserver/src/Protocol.cpp.

    + +

    References fromJSON().

    + +
    +
    + +

    ◆ toJSON() [49/58]

    + +
    +
    + + + + + + + +
    llvm::json::Value lspserver::toJSON (const TypeHierarchyItem::ResolveParams & RP)
    +
    + +

    Definition at line 1254 of file lspserver/src/Protocol.cpp.

    + +

    References fromJSON().

    + +
    +
    + +

    ◆ 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 fromJSON().

    + +

    Referenced by operator<<(), operator<<(), operator<<(), operator<<(), operator<<(), toJSON(), toJSON(), toJSON(), toJSON(), and toJSON().

    + +
    +
    + +

    ◆ toJSON() [51/58]

    + +
    +
    + + + + + + + +
    llvm::json::Value lspserver::toJSON (const VersionedTextDocumentIdentifier & R)
    +
    +
    + +

    ◆ 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 472 of file lspserver/src/Protocol.cpp.

    + +

    References lspserver::WorkDoneProgressCreateParams::token.

    + +
    +
    + +

    ◆ toJSON() [54/58]

    + +
    +
    + + + + + + + +
    llvm::json::Value lspserver::toJSON (const WorkDoneProgressEnd & P)
    +
    + +

    Definition at line 502 of file lspserver/src/Protocol.cpp.

    + +

    References fromJSON(), and lspserver::WorkDoneProgressEnd::message.

    + +
    +
    + +

    ◆ toJSON() [55/58]

    + + + +

    ◆ toJSON() [56/58]

    + +
    +
    + + + + + + + +
    llvm::json::Value lspserver::toJSON (const WorkspaceEdit & WE)
    +
    + +

    Definition at line 805 of file lspserver/src/Protocol.cpp.

    + +

    References fromJSON().

    + +
    +
    + +

    ◆ toJSON() [57/58]

    + +
    +
    + + + + + + + +
    llvm::json::Value lspserver::toJSON (DiagnosticTag Tag)
    +
    + +

    Definition at line 608 of file lspserver/src/Protocol.cpp.

    + +

    References fromJSON().

    + +
    +
    + +

    ◆ toJSON() [58/58]

    + +
    +
    + + + + + + + +
    llvm::json::Value lspserver::toJSON (SymbolTag Tag)
    +
    + +

    Definition at line 1314 of file lspserver/src/Protocol.cpp.

    + +

    References fromJSON().

    + +
    +
    + +

    ◆ 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 352 of file lspserver/include/lspserver/Protocol.h.

    + +
    +
    + +

    ◆ CompletionItemKindMin

    + +
    +
    + + + + + +
    + + + + +
    constexpr auto lspserver::CompletionItemKindMin
    +
    +constexpr
    +
    +Initial value:
    =
    +
    static_cast<size_t>(CompletionItemKind::Text)
    +
    +

    Definition at line 350 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 1122 of file lspserver/src/Protocol.cpp.

    + +

    Referenced by toJSON().

    + +
    +
    + +

    ◆ SymbolKindMax

    + +
    +
    + + + + + +
    + + + + +
    constexpr auto lspserver::SymbolKindMax = static_cast<size_t>(SymbolKind::TypeParameter)
    +
    +constexpr
    +
    + +

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

    + +
    +
    + +

    ◆ SymbolKindMin

    + +
    +
    + + + + + +
    + + + + +
    constexpr auto lspserver::SymbolKindMin = static_cast<size_t>(SymbolKind::File)
    +
    +constexpr
    +
    + +

    Definition at line 391 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..e9676a7c6 --- /dev/null +++ b/namespacelspserver_1_1detail.html @@ -0,0 +1,276 @@ + + + + + + + +nixd: lspserver::detail Namespace Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    lspserver::detail Namespace Reference
    +
    +
    + + + + + + + + + + + + + + + + +

    +Functions

    const chardebugType (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 &&)
     
    +

    Function Documentation

    + +

    ◆ debugType()

    + +
    +
    + + + + + + + +
    const char * lspserver::detail::debugType (const char * Filename)
    +
    + +

    Definition at line 48 of file Logger.cpp.

    + +

    References lspserver::fromJSON().

    + +
    +
    + +

    ◆ error()

    + +
    +
    + + + + + + + + + + + +
    llvm::Error lspserver::detail::error (std::error_code EC,
    std::string && Msg )
    +
    + +

    Definition at line 87 of file Logger.cpp.

    + +

    References lspserver::fromJSON().

    + +

    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 lspserver::fromJSON(), 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::fromJSON().

    + +

    Referenced by log().

    + +
    +
    + +

    ◆ wrap() [1/2]

    + +
    +
    + + + + + +
    + + + + + + + +
    decltype(fmt_consume(llvm::Error::success())) lspserver::detail::wrap (llvm::Error && V)
    +
    +inline
    +
    + +

    Definition at line 34 of file Logger.h.

    + +

    References lspserver::fromJSON().

    + +
    +
    + +

    ◆ wrap() [2/2]

    + +
    +
    +
    +template<typename T >
    + + + + + + + +
    T && lspserver::detail::wrap (T && V)
    +
    + +

    Definition at line 33 of file Logger.h.

    + +

    References lspserver::fromJSON().

    + +

    Referenced by lspserver::error(), lspserver::error(), and log().

    + +
    +
    +
    + + + + diff --git a/namespacemembers.html b/namespacemembers.html new file mode 100644 index 000000000..5d5c854ac --- /dev/null +++ b/namespacemembers.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:
    + +

    - _ -

    +
    + + + + diff --git a/namespacemembers_a.html b/namespacemembers_a.html new file mode 100644 index 000000000..df6f7ab12 --- /dev/null +++ b/namespacemembers_a.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:
    + +

    - 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..fd8947145 --- /dev/null +++ b/namespacemembers_c.html @@ -0,0 +1,97 @@ + + + + + + + +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..6c27036a7 --- /dev/null +++ b/namespacemembers_d.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:
    + +

    - d -

    +
    + + + + diff --git a/namespacemembers_e.html b/namespacemembers_e.html new file mode 100644 index 000000000..08bae6561 --- /dev/null +++ b/namespacemembers_e.html @@ -0,0 +1,97 @@ + + + + + + + +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..ab24138dd --- /dev/null +++ b/namespacemembers_enum.html @@ -0,0 +1,104 @@ + + + + + + + +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..4969746db --- /dev/null +++ b/namespacemembers_eval.html @@ -0,0 +1,85 @@ + + + + + + + +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..34bbfff60 --- /dev/null +++ b/namespacemembers_f.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:
    + +

    - f -

    +
    + + + + diff --git a/namespacemembers_func.html b/namespacemembers_func.html new file mode 100644 index 000000000..b239afb12 --- /dev/null +++ b/namespacemembers_func.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:
    + +

    - 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..64a363c0a --- /dev/null +++ b/namespacemembers_func_c.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:
    + +

    - c -

      +
    • callDirtyFlake() : nixt
    • +
    • checkField() : nixt
    • +
    • checkType() : nixt
    • +
    • collectWords() : lspserver
    • +
    • consume() : nixt
    • +
    • consumeAST() : nixt
    • +
    +
    + + + + 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..2a36be2b1 --- /dev/null +++ b/namespacemembers_func_e.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:
    + +

    - e -

    +
    + + + + diff --git a/namespacemembers_func_f.html b/namespacemembers_func_f.html new file mode 100644 index 000000000..bcab926ad --- /dev/null +++ b/namespacemembers_func_f.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:
    + +

    - f -

    +
    + + + + diff --git a/namespacemembers_func_g.html b/namespacemembers_func_g.html new file mode 100644 index 000000000..13fb1303b --- /dev/null +++ b/namespacemembers_func_g.html @@ -0,0 +1,94 @@ + + + + + + + +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 -

    +
    + + + + diff --git a/namespacemembers_func_h.html b/namespacemembers_func_h.html new file mode 100644 index 000000000..333832c40 --- /dev/null +++ b/namespacemembers_func_h.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:
    + +

    - h -

      +
    • havePackageScope() : nixd
    • +
    +
    + + + + diff --git a/namespacemembers_func_i.html b/namespacemembers_func_i.html new file mode 100644 index 000000000..d62f5c671 --- /dev/null +++ b/namespacemembers_func_i.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:
    + +

    - i -

    +
    + + + + 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..828ae1896 --- /dev/null +++ b/namespacemembers_func_l.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:
    + +

    - l -

    +
    + + + + diff --git a/namespacemembers_func_m.html b/namespacemembers_func_m.html new file mode 100644 index 000000000..5e69a51e5 --- /dev/null +++ b/namespacemembers_func_m.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:
    + +

    - 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..24e9ce8c7 --- /dev/null +++ b/namespacemembers_func_p.html @@ -0,0 +1,91 @@ + + + + + + + +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..7b84ac020 --- /dev/null +++ b/namespacemembers_func_r.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:
    + +

    - r -

    +
    + + + + diff --git a/namespacemembers_func_s.html b/namespacemembers_func_s.html new file mode 100644 index 000000000..0229cb52b --- /dev/null +++ b/namespacemembers_func_s.html @@ -0,0 +1,95 @@ + + + + + + + +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 -

      +
    • selectAttr() : nixt
    • +
    • selectAttrPath() : nixt
    • +
    • selectOption() : nixt
    • +
    • selectOptions() : nixt
    • +
    • selectStrings() : nixt
    • +
    • selectStringViews() : nixt
    • +
    • selectSymbols() : nixt
    • +
    • spelling() : nixf::tok
    • +
    • startAttrSetEval() : nixd
    • +
    • startNixpkgs() : nixd
    • +
    • startOption() : nixd
    • +
    +
    + + + + diff --git a/namespacemembers_func_t.html b/namespacemembers_func_t.html new file mode 100644 index 000000000..235a4de3d --- /dev/null +++ b/namespacemembers_func_t.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:
    + +

    - t -

    +
    + + + + diff --git a/namespacemembers_func_u.html b/namespacemembers_func_u.html new file mode 100644 index 000000000..466898724 --- /dev/null +++ b/namespacemembers_func_u.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:
    + +

    - u -

    +
    + + + + diff --git a/namespacemembers_func_v.html b/namespacemembers_func_v.html new file mode 100644 index 000000000..e38be0b69 --- /dev/null +++ b/namespacemembers_func_v.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:
    + +

    - v -

    +
    + + + + diff --git a/namespacemembers_func_w.html b/namespacemembers_func_w.html new file mode 100644 index 000000000..270b540c6 --- /dev/null +++ b/namespacemembers_func_w.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:
    + +

    - w -

    +
    + + + + diff --git a/namespacemembers_g.html b/namespacemembers_g.html new file mode 100644 index 000000000..462784470 --- /dev/null +++ b/namespacemembers_g.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:
    + +

    - g -

    +
    + + + + diff --git a/namespacemembers_h.html b/namespacemembers_h.html new file mode 100644 index 000000000..454ebfe05 --- /dev/null +++ b/namespacemembers_h.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:
    + +

    - h -

      +
    • havePackageScope() : nixd
    • +
    +
    + + + + diff --git a/namespacemembers_i.html b/namespacemembers_i.html new file mode 100644 index 000000000..fc94622c0 --- /dev/null +++ b/namespacemembers_i.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:
    + +

    - 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..d74108efa --- /dev/null +++ b/namespacemembers_l.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:
    + +

    - l -

    +
    + + + + diff --git a/namespacemembers_m.html b/namespacemembers_m.html new file mode 100644 index 000000000..81da07d3d --- /dev/null +++ b/namespacemembers_m.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:
    + +

    - m -

    +
    + + + + diff --git a/namespacemembers_n.html b/namespacemembers_n.html new file mode 100644 index 000000000..73097698b --- /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 -

      +
    • nameOf() : nixt
    • +
    • NixdCategory : nixd
    • +
    • NixFloat : nixf
    • +
    • NixInt : nixf
    • +
    +
    + + + + diff --git a/namespacemembers_o.html b/namespacemembers_o.html new file mode 100644 index 000000000..ab13ee668 --- /dev/null +++ b/namespacemembers_o.html @@ -0,0 +1,95 @@ + + + + + + + +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..1f322fa00 --- /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..c69767264 --- /dev/null +++ b/namespacemembers_r.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:
    + +

    - r -

    +
    + + + + diff --git a/namespacemembers_s.html b/namespacemembers_s.html new file mode 100644 index 000000000..f35989f10 --- /dev/null +++ b/namespacemembers_s.html @@ -0,0 +1,102 @@ + + + + + + + +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..a06093063 --- /dev/null +++ b/namespacemembers_t.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:
    + +

    - t -

    +
    + + + + diff --git a/namespacemembers_type.html b/namespacemembers_type.html new file mode 100644 index 000000000..34bb8ac88 --- /dev/null +++ b/namespacemembers_type.html @@ -0,0 +1,106 @@ + + + + + + + +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..df6d6b905 --- /dev/null +++ b/namespacemembers_u.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:
    + +

    - u -

    +
    + + + + diff --git a/namespacemembers_v.html b/namespacemembers_v.html new file mode 100644 index 000000000..d67a3826d --- /dev/null +++ b/namespacemembers_v.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:
    + +

    - v -

    +
    + + + + diff --git a/namespacemembers_vars.html b/namespacemembers_vars.html new file mode 100644 index 000000000..8e8416783 --- /dev/null +++ b/namespacemembers_vars.html @@ -0,0 +1,100 @@ + + + + + + + +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..8827c9ac9 --- /dev/null +++ b/namespacemembers_w.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:
    + +

    - 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/namespacenixd.html b/namespacenixd.html new file mode 100644 index 000000000..1580b22f9 --- /dev/null +++ b/namespacenixd.html @@ -0,0 +1,1463 @@ + + + + + + + +nixd: nixd Namespace Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    + +
    nixd Namespace Reference
    +
    +
    + + + + + + + + + + +

    +Namespaces

    namespace  idioms
     
    namespace  rpc
     
    namespace  rpcMethod
     
    namespace  util
     
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Classes

    struct  AttrPathCompleteParams
     
    struct  AttrPathInfoResponse
     
    class  AttrSetClient
     
    class  AttrSetClientProc
     
    class  AttrSetProvider
     Main RPC class for attrset provider. More...
     
    struct  CannotFindVarException
     
    struct  Configuration
     
    class  Controller
     
    class  EvalClient
     
    class  EvalProvider
     
    class  JSONParseException
     
    class  JSONSchemaException
     
    class  LLVMErrorException
     
    class  NixTU
     Holds analyzed information about a document. More...
     
    struct  OptionDescription
     
    struct  OptionField
     
    struct  OptionType
     
    class  OwnedEvalClient
     
    struct  PackageDescription
     
    struct  StreamProc
     
    struct  ValueMeta
     General metadata of all nix::Values. More...
     
    + + + + + + + + + + + + + + + + + + + + +

    +Typedefs

    using EvalExprParams = std::string
     
    using EvalExprResponse = std::optional<std::string>
     
    using Selector = std::vector<std::string>
     A list of strings that "select"s into a attribute set.
     
    using PackageInfoParams = Selector
     
    using OptionInfoParams = Selector
     
    using AttrPathInfoParams = Selector
     
    using AttrPathCompleteResponse = std::vector<std::string>
     
    using OptionInfoResponse = OptionDescription
     
    using OptionCompleteResponse = std::vector<OptionField>
     
    + + + +

    +Enumerations

    enum class  FindAttrPathResult { OK +, Inherit +, NotAttrPath +, WithDynamic + }
     
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Functions

    nixd::Configuration parseCLIConfig ()
     Parse the CLI flag and initialize the config nixd::DefaultConfig.
     
    bool fromJSON (const llvm::json::Value &Params, Configuration::Diagnostic &R, llvm::json::Path P)
     
    bool fromJSON (const llvm::json::Value &Params, Configuration::Formatting &R, llvm::json::Path P)
     
    bool fromJSON (const llvm::json::Value &Params, Configuration::OptionProvider &R, llvm::json::Path P)
     
    bool fromJSON (const llvm::json::Value &Params, Configuration::NixpkgsProvider &R, llvm::json::Path P)
     
    bool fromJSON (const llvm::json::Value &Params, Configuration &R, llvm::json::Path P)
     
    void startAttrSetEval (const std::string &Name, std::unique_ptr< AttrSetClientProc > &Worker)
     
    void startNixpkgs (std::unique_ptr< AttrSetClientProc > &NixpkgsEval)
     
    void startOption (const std::string &Name, std::unique_ptr< AttrSetClientProc > &Worker)
     
    llvm::json::Value toJSON (const PackageDescription &Params)
     
    bool fromJSON (const llvm::json::Value &Params, PackageDescription &R, llvm::json::Path P)
     
    llvm::json::Value toJSON (const ValueMeta &Params)
     
    bool fromJSON (const llvm::json::Value &Params, ValueMeta &R, llvm::json::Path P)
     
    llvm::json::Value toJSON (const AttrPathInfoResponse &Params)
     
    bool fromJSON (const llvm::json::Value &Params, AttrPathInfoResponse &R, llvm::json::Path P)
     
    llvm::json::Value toJSON (const AttrPathCompleteParams &Params)
     
    bool fromJSON (const llvm::json::Value &Params, AttrPathCompleteParams &R, llvm::json::Path P)
     
    llvm::json::Value toJSON (const OptionType &Params)
     
    bool fromJSON (const llvm::json::Value &Params, OptionType &R, llvm::json::Path P)
     
    llvm::json::Value toJSON (const OptionDescription &Params)
     
    bool fromJSON (const llvm::json::Value &Params, OptionDescription &R, llvm::json::Path P)
     
    llvm::json::Value toJSON (const OptionField &Params)
     
    bool fromJSON (const llvm::json::Value &Params, OptionField &R, llvm::json::Path P)
     
    int forkPiped (int &In, int &Out, int &Err)
     fork this process and create some pipes connected to the new process.
     
    llvm::json::Value parse (llvm::StringRef JSON)
     
    template<class T >
    fromJSON (const llvm::json::Value &V)
     
    const nixf::EnvNodeupEnv (const nixf::Node &Desc, const nixf::VariableLookupAnalysis &VLA, const nixf::ParentMapAnalysis &PM)
     Search up until there are some node associated with "EnvNode".
     
    bool havePackageScope (const nixf::Node &N, const nixf::VariableLookupAnalysis &VLA, const nixf::ParentMapAnalysis &PM)
     Determine whether or not some node has enclosed "with pkgs; [ ]".
     
    std::pair< std::vector< std::string >, std::string > getScopeAndPrefix (const nixf::Node &N, const nixf::ParentMapAnalysis &PM)
     get variable scope, and it's prefix name.
     
    FindAttrPathResult findAttrPath (const nixf::Node &N, const nixf::ParentMapAnalysis &PM, std::vector< std::string > &Path)
     Heuristically find attrpath suitable for "attrpath" completion.
     
    lspserver::Position toLSPPosition (llvm::StringRef Code, const nixf::LexerCursor &P)
     
    nixf::Position toNixfPosition (const lspserver::Position &P)
     
    nixf::PositionRange toNixfRange (const lspserver::Range &P)
     
    lspserver::Range toLSPRange (llvm::StringRef Code, const nixf::LexerCursorRange &R)
     
    int getLSPSeverity (nixf::Diagnostic::DiagnosticKind Kind)
     
    llvm::SmallVector< lspserver::DiagnosticTag, 1 > toLSPTags (const std::vector< nixf::DiagnosticTag > &Tags)
     
    const nixf::DefinitionfindDefinition (const nixf::Node &N, const nixf::ParentMapAnalysis &PMA, const nixf::VariableLookupAnalysis &VLA)
     Heuristically find definition on some node.
     
    + + + + + + +

    +Variables

    llvm::cl::OptionCategory NixdCategory
     
    llvm::cl::opt< boolLitTest
     Indicating that we are in lit-test mode.
     
    +

    Typedef Documentation

    + +

    ◆ AttrPathCompleteResponse

    + +
    +
    + + + + +
    using nixd::AttrPathCompleteResponse = std::vector<std::string>
    +
    + +

    Definition at line 103 of file AttrSet.h.

    + +
    +
    + +

    ◆ AttrPathInfoParams

    + +
    +
    + +

    Definition at line 47 of file AttrSet.h.

    + +
    +
    + +

    ◆ EvalExprParams

    + +
    +
    + + + + +
    using nixd::EvalExprParams = std::string
    +
    + +

    Definition at line 38 of file AttrSet.h.

    + +
    +
    + +

    ◆ EvalExprResponse

    + +
    +
    + + + + +
    using nixd::EvalExprResponse = std::optional<std::string>
    +
    + +

    Definition at line 39 of file AttrSet.h.

    + +
    +
    + +

    ◆ OptionCompleteResponse

    + +
    +
    + + + + +
    using nixd::OptionCompleteResponse = std::vector<OptionField>
    +
    + +

    Definition at line 137 of file AttrSet.h.

    + +
    +
    + +

    ◆ OptionInfoParams

    + +
    +
    + +

    Definition at line 45 of file AttrSet.h.

    + +
    +
    + +

    ◆ OptionInfoResponse

    + +
    +
    + +

    Definition at line 135 of file AttrSet.h.

    + +
    +
    + +

    ◆ PackageInfoParams

    + +
    +
    + +

    Definition at line 44 of file AttrSet.h.

    + +
    +
    + +

    ◆ Selector

    + +
    +
    + + + + +
    using nixd::Selector = std::vector<std::string>
    +
    + +

    A list of strings that "select"s into a attribute set.

    + +

    Definition at line 42 of file AttrSet.h.

    + +
    +
    +

    Enumeration Type Documentation

    + +

    ◆ FindAttrPathResult

    + +
    +
    + + + + + +
    + + + + +
    enum class nixd::FindAttrPathResult
    +
    +strong
    +
    + + + + + +
    Enumerator
    OK 
    Inherit 
    NotAttrPath 
    WithDynamic 
    + +

    Definition at line 119 of file AST.h.

    + +
    +
    +

    Function Documentation

    + +

    ◆ findAttrPath()

    + +
    +
    + + + + + + + + + + + + + + + + +
    nixd::FindAttrPathResult nixd::findAttrPath (const nixf::Node & N,
    const nixf::ParentMapAnalysis & PM,
    std::vector< std::string > & Path )
    +
    + +

    Heuristically find attrpath suitable for "attrpath" completion.

    +
    Parameters
    + + +
    [out]Paththe attrpath.
    +
    +
    + +

    Definition at line 283 of file AST.cpp.

    + +

    References nixf::ParentMapAnalysis::upTo().

    + +
    +
    + +

    ◆ findDefinition()

    + +
    +
    + + + + + + + + + + + + + + + + +
    const Definition & nixd::findDefinition (const nixf::Node & N,
    const nixf::ParentMapAnalysis & PMA,
    const nixf::VariableLookupAnalysis & VLA )
    +
    + +

    Heuristically find definition on some node.

    + +

    Definition at line 344 of file Definition.cpp.

    + +

    References fromJSON().

    + +
    +
    + +

    ◆ forkPiped()

    + +
    +
    + + + + + + + + + + + + + + + + +
    int nixd::forkPiped (int & In,
    int & Out,
    int & Err )
    +
    + +

    fork this process and create some pipes connected to the new process.

    +

    stdin, stdout, stderr in the new process will be closed, and these fds could be used to communicate with it.

    +
    Returns
    pid of child process, in parent.
    +
    +0 in child.
    + +

    Definition at line 8 of file ForkPiped.cpp.

    + +

    Referenced by nixd::StreamProc::StreamProc().

    + +
    +
    + +

    ◆ fromJSON() [1/13]

    + +
    +
    + + + + + + + + + + + + + + + + +
    bool nixd::fromJSON (const llvm::json::Value & Params,
    AttrPathCompleteParams & R,
    llvm::json::Path P )
    +
    +
    + +

    ◆ fromJSON() [2/13]

    + +
    +
    + + + + + + + + + + + + + + + + +
    bool nixd::fromJSON (const llvm::json::Value & Params,
    AttrPathInfoResponse & R,
    llvm::json::Path P )
    +
    +
    + +

    ◆ fromJSON() [3/13]

    + +
    +
    + + + + + + + + + + + + + + + + +
    bool nixd::fromJSON (const llvm::json::Value & Params,
    Configuration & R,
    llvm::json::Path P )
    +
    + +
    +
    + +

    ◆ fromJSON() [4/13]

    + + + +

    ◆ fromJSON() [5/13]

    + +
    +
    + + + + + + + + + + + + + + + + +
    bool nixd::fromJSON (const llvm::json::Value & Params,
    Configuration::Formatting & R,
    llvm::json::Path P )
    +
    + +
    +
    + +

    ◆ fromJSON() [6/13]

    + +
    +
    + + + + + + + + + + + + + + + + +
    bool nixd::fromJSON (const llvm::json::Value & Params,
    Configuration::NixpkgsProvider & R,
    llvm::json::Path P )
    +
    + +
    +
    + +

    ◆ fromJSON() [7/13]

    + +
    +
    + + + + + + + + + + + + + + + + +
    bool nixd::fromJSON (const llvm::json::Value & Params,
    Configuration::OptionProvider & R,
    llvm::json::Path P )
    +
    + +
    +
    + +

    ◆ fromJSON() [8/13]

    + +
    +
    + + + + + + + + + + + + + + + + +
    bool nixd::fromJSON (const llvm::json::Value & Params,
    OptionDescription & R,
    llvm::json::Path P )
    +
    + +
    +
    + +

    ◆ fromJSON() [9/13]

    + +
    +
    + + + + + + + + + + + + + + + + +
    bool nixd::fromJSON (const llvm::json::Value & Params,
    OptionField & R,
    llvm::json::Path P )
    +
    + +
    +
    + +

    ◆ fromJSON() [10/13]

    + +
    +
    + + + + + + + + + + + + + + + + +
    bool nixd::fromJSON (const llvm::json::Value & Params,
    OptionType & R,
    llvm::json::Path P )
    +
    + +
    +
    + +

    ◆ fromJSON() [11/13]

    + +
    +
    + + + + + + + + + + + + + + + + +
    bool nixd::fromJSON (const llvm::json::Value & Params,
    PackageDescription & R,
    llvm::json::Path P )
    +
    +
    + +

    ◆ fromJSON() [12/13]

    + +
    +
    + + + + + + + + + + + + + + + + +
    bool nixd::fromJSON (const llvm::json::Value & Params,
    ValueMeta & R,
    llvm::json::Path P )
    +
    + +

    Definition at line 87 of file AttrSet.cpp.

    + +

    References fromJSON(), nixd::ValueMeta::Location, and nixd::ValueMeta::Type.

    + +
    +
    + +

    ◆ fromJSON() [13/13]

    + +
    +
    +
    +template<class T >
    + + + + + + + +
    T nixd::fromJSON (const llvm::json::Value & V)
    +
    + +

    Definition at line 32 of file JSON.h.

    + +

    References fromJSON().

    + +
    +
    + +

    ◆ getLSPSeverity()

    + +
    +
    + + + + + + + +
    int nixd::getLSPSeverity (nixf::Diagnostic::DiagnosticKind Kind)
    +
    +
    + +

    ◆ getScopeAndPrefix()

    + +
    +
    + + + + + + + + + + + +
    std::pair< std::vector< std::string >, std::string > nixd::getScopeAndPrefix (const nixf::Node & N,
    const nixf::ParentMapAnalysis & PM )
    +
    + +

    get variable scope, and it's prefix name.

    +

    Nixpkgs has some packages scoped in "nested" attrs. e.g. llvmPackages, pythonPackages. Try to find these name as a pre-selected scope, the last value is "prefix".

    + +

    Definition at line 274 of file AST.cpp.

    + +

    References nixf::Node::kind().

    + +
    +
    + +

    ◆ havePackageScope()

    + +
    +
    + + + + + + + + + + + + + + + + +
    bool nixd::havePackageScope (const nixf::Node & N,
    const nixf::VariableLookupAnalysis & VLA,
    const nixf::ParentMapAnalysis & PM )
    +
    + +

    Determine whether or not some node has enclosed "with pkgs; [ ]".

    +

    Yes, this evaluation isn't flawless. What if the identifier isn't "pkgs"? We can't dynamically evaluate everything each time and invalidate them immediately after document updates. Therefore, this heuristic method represents a trade-off between performance considerations.

    + +

    Definition at line 108 of file AST.cpp.

    + +

    References nixf::ExprVar::id(), nixf::EnvNode::isWith(), nixf::Node::kind(), nixf::Identifier::name(), nixf::EnvNode::parent(), nixf::EnvNode::syntax(), upEnv(), and nixf::ExprWith::with().

    + +
    +
    + +

    ◆ parse()

    + +
    +
    + + + + + + + +
    llvm::json::Value nixd::parse (llvm::StringRef JSON)
    +
    + +

    Definition at line 5 of file JSON.cpp.

    + +

    Referenced by parseCLIConfig().

    + +
    +
    + +

    ◆ parseCLIConfig()

    + +
    +
    + + + + + + + +
    Configuration nixd::parseCLIConfig ()
    +
    + +

    Parse the CLI flag and initialize the config nixd::DefaultConfig.

    + +

    Definition at line 27 of file CommandLine/Configuration.cpp.

    + +

    References fromJSON(), and parse().

    + +
    +
    + +

    ◆ startAttrSetEval()

    + +
    +
    + + + + + + + + + + + +
    void nixd::startAttrSetEval (const std::string & Name,
    std::unique_ptr< AttrSetClientProc > & Worker )
    +
    + +

    Definition at line 24 of file Launch.cpp.

    + +

    References fromJSON(), and nixd::AttrSetClient::getExe().

    + +

    Referenced by startNixpkgs(), and startOption().

    + +
    +
    + +

    ◆ startNixpkgs()

    + +
    +
    + + + + + + + +
    void nixd::startNixpkgs (std::unique_ptr< AttrSetClientProc > & NixpkgsEval)
    +
    + +

    Definition at line 32 of file Launch.cpp.

    + +

    References fromJSON(), and startAttrSetEval().

    + +
    +
    + +

    ◆ startOption()

    + +
    +
    + + + + + + + + + + + +
    void nixd::startOption (const std::string & Name,
    std::unique_ptr< AttrSetClientProc > & Worker )
    +
    + +

    Definition at line 36 of file Launch.cpp.

    + +

    References fromJSON(), NULL_DEVICE, and startAttrSetEval().

    + +
    +
    + +

    ◆ toJSON() [1/7]

    + +
    +
    + + + + + + + +
    Value nixd::toJSON (const AttrPathCompleteParams & Params)
    +
    + +

    Definition at line 112 of file AttrSet.cpp.

    + +

    References fromJSON(), and lspserver::Object.

    + +
    +
    + +

    ◆ toJSON() [2/7]

    + +
    +
    + + + + + + + +
    Value nixd::toJSON (const AttrPathInfoResponse & Params)
    +
    + +

    Definition at line 96 of file AttrSet.cpp.

    + +

    References fromJSON(), and lspserver::Object.

    + +
    +
    + +

    ◆ toJSON() [3/7]

    + +
    +
    + + + + + + + +
    Value nixd::toJSON (const OptionDescription & Params)
    +
    + +

    Definition at line 20 of file AttrSet.cpp.

    + +

    References fromJSON(), and lspserver::Object.

    + +
    +
    + +

    ◆ toJSON() [4/7]

    + +
    +
    + + + + + + + +
    Value nixd::toJSON (const OptionField & Params)
    +
    + +

    Definition at line 40 of file AttrSet.cpp.

    + +

    References fromJSON(), and lspserver::Object.

    + +
    +
    + +

    ◆ toJSON() [5/7]

    + +
    +
    + + + + + + + +
    Value nixd::toJSON (const OptionType & Params)
    +
    + +

    Definition at line 6 of file AttrSet.cpp.

    + +

    References fromJSON(), and lspserver::Object.

    + +
    +
    + +

    ◆ toJSON() [6/7]

    + +
    +
    + + + + + + + +
    Value nixd::toJSON (const PackageDescription & Params)
    +
    + +

    Definition at line 54 of file AttrSet.cpp.

    + +

    References fromJSON(), and lspserver::Object.

    + +
    +
    + +

    ◆ toJSON() [7/7]

    + +
    +
    + + + + + + + +
    Value nixd::toJSON (const ValueMeta & Params)
    +
    + +

    Definition at line 80 of file AttrSet.cpp.

    + +

    References fromJSON(), and lspserver::Object.

    + +
    +
    + +

    ◆ toLSPPosition()

    + +
    +
    + + + + + + + + + + + +
    lspserver::Position nixd::toLSPPosition (llvm::StringRef Code,
    const nixf::LexerCursor & P )
    +
    + +

    Definition at line 27 of file Convert.cpp.

    + +

    References nixf::LexerCursor::offset(), and lspserver::offsetToPosition().

    + +

    Referenced by toLSPRange().

    + +
    +
    + +

    ◆ toLSPRange()

    + +
    +
    + + + + + + + + + + + +
    lspserver::Range nixd::toLSPRange (llvm::StringRef Code,
    const nixf::LexerCursorRange & R )
    +
    + +

    Definition at line 40 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 47 of file Convert.cpp.

    + +

    References nixf::Faded, lspserver::fromJSON(), and nixf::Striked.

    + +
    +
    + +

    ◆ toNixfPosition()

    + +
    +
    + + + + + + + +
    nixf::Position nixd::toNixfPosition (const lspserver::Position & P)
    +
    + +

    Definition at line 32 of file Convert.cpp.

    + +

    References lspserver::Position::character, and lspserver::Position::line.

    + +

    Referenced by toNixfRange().

    + +
    +
    + +

    ◆ toNixfRange()

    + +
    +
    + + + + + + + +
    nixf::PositionRange nixd::toNixfRange (const lspserver::Range & P)
    +
    + +

    Definition at line 36 of file Convert.cpp.

    + +

    References lspserver::Range::end, lspserver::Range::start, and toNixfPosition().

    + +
    +
    + +

    ◆ upEnv()

    + +
    +
    + + + + + + + + + + + + + + + + +
    const EnvNode * nixd::upEnv (const nixf::Node & Desc,
    const nixf::VariableLookupAnalysis & VLA,
    const nixf::ParentMapAnalysis & PM )
    +
    + +

    Search up until there are some node associated with "EnvNode".

    + +

    Definition at line 98 of file AST.cpp.

    + +

    References nixf::VariableLookupAnalysis::env(), nixf::ParentMapAnalysis::isRoot(), and nixf::ParentMapAnalysis::query().

    + +

    Referenced by havePackageScope().

    + +
    +
    +

    Variable Documentation

    + +

    ◆ LitTest

    + +
    +
    + + + + + +
    + + + + +
    opt< bool > nixd::LitTest
    +
    +extern
    +
    +Initial value:
    {
    +
    "lit-test", desc("Indicating that the server is running in lit-test mode."),
    +
    init(false), cat(NixdCategory)}
    +
    +

    Indicating that we are in lit-test mode.

    + +

    Definition at line 8 of file Options.cpp.

    + +

    Referenced by main(), and main().

    + +
    +
    + +

    ◆ NixdCategory

    + +
    +
    + + + + + +
    + + + + +
    OptionCategory nixd::NixdCategory
    +
    +extern
    +
    + +
    +
    +
    + + + + diff --git a/namespacenixd_1_1idioms.html b/namespacenixd_1_1idioms.html new file mode 100644 index 000000000..2ab77710a --- /dev/null +++ b/namespacenixd_1_1idioms.html @@ -0,0 +1,320 @@ + + + + + + + +nixd: nixd::idioms Namespace Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    nixd::idioms Namespace Reference
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +

    +Classes

    struct  DynamicNameException
     The attrpath has a dynamic name, thus it cannot be trivially transformed to "static" selector. More...
     
    struct  IdiomException
     
    struct  IdiomSelectorException
     Exceptions scoped in nixd::mkIdiomSelector. More...
     
    struct  NoLocationForBuiltinVariable
     
    struct  NoSuchVarException
     No such variable. More...
     
    struct  NotAnIdiomException
     The pattern of this variable cannot be recognized by known idioms. More...
     
    struct  NotVariableSelect
     
    struct  UndefinedVarException
     
    struct  VLAException
     
    + + + + + + + + + + + + + +

    +Functions

    Selector mkVarSelector (const nixf::ExprVar &Var, const nixf::VariableLookupAnalysis &VLA, const nixf::ParentMapAnalysis &PM)
     Construct a nixd::Selector from Var.
     
    Selector mkSelector (const nixf::AttrPath &AP, Selector BaseSelector)
     Construct a nixd::Selector from AP.
     
    Selector mkSelector (const nixf::ExprSelect &Select, Selector BaseSelector)
     Construct a nixd::Selector from Select.
     
    Selector mkSelector (const nixf::ExprSelect &Select, const nixf::VariableLookupAnalysis &VLA, const nixf::ParentMapAnalysis &PM)
     Construct a nixd::Selector from Select.
     
    + + + + + + + +

    +Variables

    constexpr std::string_view Pkgs = "pkgs"
     Hardcoded name for "pkgs.xxx", or "with pkgs;".
     
    constexpr std::string_view Lib = "lib"
     Hardcoded name for nixpkgs "lib".
     
    +

    Function Documentation

    + +

    ◆ mkSelector() [1/3]

    + +
    +
    + + + + + + + + + + + +
    nixd::Selector nixd::idioms::mkSelector (const nixf::AttrPath & AP,
    Selector BaseSelector )
    +
    + +

    Construct a nixd::Selector from AP.

    + +

    Definition at line 249 of file AST.cpp.

    + +

    References nixf::AttrPath::names().

    + +

    Referenced by mkSelector(), and mkSelector().

    + +
    +
    + +

    ◆ mkSelector() [2/3]

    + +
    +
    + + + + + + + + + + + + + + + + +
    nixd::Selector nixd::idioms::mkSelector (const nixf::ExprSelect & Select,
    const nixf::VariableLookupAnalysis & VLA,
    const nixf::ParentMapAnalysis & PM )
    +
    + +

    Construct a nixd::Selector from Select.

    + +

    Definition at line 260 of file AST.cpp.

    + +

    References nixf::ExprSelect::expr(), nixf::Node::kind(), mkSelector(), and mkVarSelector().

    + +
    +
    + +

    ◆ mkSelector() [3/3]

    + +
    +
    + + + + + + + + + + + +
    nixd::Selector nixd::idioms::mkSelector (const nixf::ExprSelect & Select,
    nixd::Selector BaseSelector )
    +
    + +

    Construct a nixd::Selector from Select.

    + +

    Definition at line 189 of file AST.cpp.

    + +

    References mkSelector(), and nixf::ExprSelect::path().

    + +
    +
    + +

    ◆ mkVarSelector()

    + +
    +
    + + + + + + + + + + + + + + + + +
    nixd::Selector nixd::idioms::mkVarSelector (const nixf::ExprVar & Var,
    const nixf::VariableLookupAnalysis & VLA,
    const nixf::ParentMapAnalysis & PM )
    +
    + +

    Construct a nixd::Selector from Var.

    +

    Try to heuristically find a selector of a variable, based on some known idioms.

    + +

    Definition at line 199 of file AST.cpp.

    + +

    References nixf::ExprVar::id(), nixf::Node::kind(), nixf::Identifier::name(), nixf::VariableLookupAnalysis::query(), nixf::ParentMapAnalysis::query(), and nixf::Definition::syntax().

    + +

    Referenced by mkSelector().

    + +
    +
    +

    Variable Documentation

    + +

    ◆ Lib

    + +
    +
    + + + + + +
    + + + + +
    constexpr std::string_view nixd::idioms::Lib = "lib"
    +
    +inlineconstexpr
    +
    + +

    Hardcoded name for nixpkgs "lib".

    +

    Assume that the value of this variable is "nixpkgs lib". e.g. lib.genAttrs.

    + +

    Definition at line 26 of file AST.h.

    + +
    +
    + +

    ◆ Pkgs

    + +
    +
    + + + + + +
    + + + + +
    constexpr std::string_view nixd::idioms::Pkgs = "pkgs"
    +
    +inlineconstexpr
    +
    + +

    Hardcoded name for "pkgs.xxx", or "with pkgs;".

    +

    Assume that the value of this variable have the same structure with `import nixpkgs {}

    + +

    Definition at line 20 of file AST.h.

    + +
    +
    +
    + + + + diff --git a/namespacenixd_1_1rpc.html b/namespacenixd_1_1rpc.html new file mode 100644 index 000000000..ec1e73a33 --- /dev/null +++ b/namespacenixd_1_1rpc.html @@ -0,0 +1,396 @@ + + + + + + + +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 10 of file include/nixd/Protocol/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 )
    +
    + +

    Referenced by fromJSON(), fromJSON(), fromJSON(), toJSON(), toJSON(), and toJSON().

    + +
    +
    + +

    ◆ fromJSON() [4/6]

    + +
    +
    + + + + + + + + + + + + + + + + +
    bool nixd::rpc::fromJSON (const Value & Params,
    ExprValueParams & R,
    Path P )
    +
    + +

    Definition at line 24 of file lib/Protocol/Protocol.cpp.

    + +

    References nixd::rpc::ExprValueParams::ExprID, and fromJSON().

    + +
    +
    + +

    ◆ 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 20 of file lib/Protocol/Protocol.cpp.

    + +

    References fromJSON(), and lspserver::Object.

    + +
    +
    + +

    ◆ toJSON() [2/3]

    + +
    +
    + + + + + + + +
    Value nixd::rpc::toJSON (const ExprValueResponse & Params)
    +
    + +

    Definition at line 29 of file lib/Protocol/Protocol.cpp.

    + +

    References fromJSON(), and lspserver::Object.

    + +
    +
    + +

    ◆ toJSON() [3/3]

    + +
    +
    + + + + + + + +
    Value nixd::rpc::toJSON (const RegisterBCParams & Params)
    +
    + +

    Definition at line 7 of file lib/Protocol/Protocol.cpp.

    + +

    References fromJSON(), and lspserver::Object.

    + +
    +
    +
    + + + + diff --git a/namespacenixd_1_1rpcMethod.html b/namespacenixd_1_1rpcMethod.html new file mode 100644 index 000000000..0fd959265 --- /dev/null +++ b/namespacenixd_1_1rpcMethod.html @@ -0,0 +1,262 @@ + + + + + + + +nixd: nixd::rpcMethod Namespace Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    nixd::rpcMethod Namespace Reference
    +
    +
    + + + + + + + + + + + + + + +

    +Variables

    constexpr std::string_view EvalExpr = "attrset/evalExpr"
     
    constexpr std::string_view AttrPathInfo = "attrset/attrpathInfo"
     
    constexpr std::string_view AttrPathComplete = "attrset/attrpathComplete"
     
    constexpr std::string_view OptionInfo = "attrset/optionInfo"
     
    constexpr std::string_view OptionComplete = "attrset/optionComplete"
     
    constexpr std::string_view Exit = "exit"
     
    +

    Variable Documentation

    + +

    ◆ AttrPathComplete

    + +
    +
    + + + + + +
    + + + + +
    constexpr std::string_view nixd::rpcMethod::AttrPathComplete = "attrset/attrpathComplete"
    +
    +inlineconstexpr
    +
    + +

    Definition at line 31 of file AttrSet.h.

    + +

    Referenced by nixd::AttrSetClient::AttrSetClient().

    + +
    +
    + +

    ◆ AttrPathInfo

    + +
    +
    + + + + + +
    + + + + +
    constexpr std::string_view nixd::rpcMethod::AttrPathInfo = "attrset/attrpathInfo"
    +
    +inlineconstexpr
    +
    + +

    Definition at line 30 of file AttrSet.h.

    + +

    Referenced by nixd::AttrSetClient::AttrSetClient().

    + +
    +
    + +

    ◆ EvalExpr

    + +
    +
    + + + + + +
    + + + + +
    constexpr std::string_view nixd::rpcMethod::EvalExpr = "attrset/evalExpr"
    +
    +inlineconstexpr
    +
    + +

    Definition at line 29 of file AttrSet.h.

    + +

    Referenced by nixd::AttrSetClient::AttrSetClient().

    + +
    +
    + +

    ◆ Exit

    + +
    +
    + + + + + +
    + + + + +
    constexpr std::string_view nixd::rpcMethod::Exit = "exit"
    +
    +inlineconstexpr
    +
    + +

    Definition at line 34 of file AttrSet.h.

    + +

    Referenced by nixd::AttrSetClient::AttrSetClient().

    + +
    +
    + +

    ◆ OptionComplete

    + +
    +
    + + + + + +
    + + + + +
    constexpr std::string_view nixd::rpcMethod::OptionComplete = "attrset/optionComplete"
    +
    +inlineconstexpr
    +
    + +

    Definition at line 33 of file AttrSet.h.

    + +

    Referenced by nixd::AttrSetClient::AttrSetClient().

    + +
    +
    + +

    ◆ OptionInfo

    + +
    +
    + + + + + +
    + + + + +
    constexpr std::string_view nixd::rpcMethod::OptionInfo = "attrset/optionInfo"
    +
    +inlineconstexpr
    +
    + +

    Definition at line 32 of file AttrSet.h.

    + +

    Referenced by nixd::AttrSetClient::AttrSetClient().

    + +
    +
    +
    + + + + diff --git a/namespacenixd_1_1util.html b/namespacenixd_1_1util.html new file mode 100644 index 000000000..dcfd4e949 --- /dev/null +++ b/namespacenixd_1_1util.html @@ -0,0 +1,103 @@ + + + + + + + +nixd: nixd::util Namespace Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    nixd::util Namespace Reference
    +
    +
    + + + + + + + + + + + + +

    +Classes

    class  AutoCloseFD
     File Descriptor RAII wrapper. More...
     
    class  AutoRemoveShm
     Shared memory object, the object will be removed in dtor. More...
     
    struct  OwnedRegion
     
    struct  PipedProc
     
    +
    + + + + diff --git a/namespacenixf.html b/namespacenixf.html new file mode 100644 index 000000000..765d499c7 --- /dev/null +++ b/namespacenixf.html @@ -0,0 +1,510 @@ + + + + + + + +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  Definition
     Represents a definition. More...
     
    class  Diagnostic
     
    class  Dot
     Holds a "." in the language. More...
     
    class  EnvNode
     A set of variable definitions, which may inherit parent environment. More...
     
    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  ExprSPath
     
    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  ParentMapAnalysis
     
    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...
     
    class  VariableLookupAnalysis
     
    + + + + + +

    +Typedefs

    using NixInt = int64_t
     
    using NixFloat = double
     
    + + + +

    +Enumerations

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

    +Functions

    void to_json (nlohmann::json &R, const LexerCursor &LC)
     
    void to_json (nlohmann::json &R, const LexerCursorRange &LCR)
     
    void to_json (nlohmann::json &R, const PartialDiagnostic &D)
     
    void to_json (nlohmann::json &R, const Diagnostic &D)
     
    void to_json (nlohmann::json &R, const Note &N)
     
    void to_json (nlohmann::json &R, const TextEdit &D)
     
    void to_json (nlohmann::json &R, const Fix &F)
     
    std::shared_ptr< Nodeparse (std::string_view Src, std::vector< Diagnostic > &Diags)
     Parse a string.
     
    +

    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

    + +

    ◆ 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.

    + +
    +
    +

    Enumeration Type Documentation

    + +

    ◆ DiagnosticTag

    + +
    +
    + + + + + +
    + + + + +
    enum class nixf::DiagnosticTag
    +
    +strong
    +
    + + + +
    Enumerator
    Faded 
    Striked 
    + +

    Definition at line 74 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 37 of file ParseSupport.cpp.

    + +

    References nixf::Parser::parse().

    + +

    Referenced by main().

    + +
    +
    + +

    ◆ to_json() [1/7]

    + +
    +
    + + + + + + + + + + + +
    void nixf::to_json (nlohmann::json & R,
    const Diagnostic & D )
    +
    + +
    +
    + +

    ◆ to_json() [2/7]

    + +
    +
    + + + + + + + + + + + +
    void nixf::to_json (nlohmann::json & R,
    const Fix & F )
    +
    + +
    +
    + +

    ◆ to_json() [3/7]

    + +
    +
    + + + + + + + + + + + +
    void nixf::to_json (nlohmann::json & R,
    const LexerCursor & LC )
    +
    + +

    Referenced by main().

    + +
    +
    + +

    ◆ to_json() [4/7]

    + +
    +
    + + + + + + + + + + + +
    void nixf::to_json (nlohmann::json & R,
    const LexerCursorRange & LCR )
    +
    + +
    +
    + +

    ◆ to_json() [5/7]

    + +
    +
    + + + + + + + + + + + +
    void nixf::to_json (nlohmann::json & R,
    const Note & N )
    +
    + +
    +
    + +

    ◆ to_json() [6/7]

    + +
    +
    + + + + + + + + + + + +
    void nixf::to_json (nlohmann::json & R,
    const PartialDiagnostic & D )
    +
    + +
    +
    + +

    ◆ to_json() [7/7]

    + +
    +
    + + + + + + + + + + + +
    void nixf::to_json (nlohmann::json & R,
    const TextEdit & D )
    +
    + +
    +
    +
    + + + + diff --git a/namespacenixf_1_1detail.html b/namespacenixf_1_1detail.html new file mode 100644 index 000000000..dda78f426 --- /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..ddfb9ae86 --- /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..e0ee453db --- /dev/null +++ b/namespacenixt.html @@ -0,0 +1,1711 @@ + + + + + + + +nixd: nixt Namespace Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    + +
    nixt Namespace Reference
    +
    +
    + +

    Access EvalCache 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...
     
    struct  ASTHeader
     Header of serialized AST. More...
     
    struct  DeserializeContext
     API Wrapper around nix:: More...
     
    struct  HookExprAssert
     
    struct  HookExprAttrs
     
    struct  HookExprCall
     
    struct  HookExprConcatStrings
     
    struct  HookExprFloat
     
    struct  HookExprIf
     
    struct  HookExprInt
     
    struct  HookExprLambda
     
    struct  HookExprLet
     
    struct  HookExprList
     
    struct  HookExprOpAnd
     
    struct  HookExprOpConcatLists
     
    struct  HookExprOpEq
     
    struct  HookExprOpHasAttr
     
    struct  HookExprOpImpl
     
    struct  HookExprOpNEq
     
    struct  HookExprOpNot
     
    struct  HookExprOpOr
     
    struct  HookExprOpUpdate
     
    struct  HookExprPath
     
    struct  HookExprPos
     
    struct  HookExprSelect
     
    struct  HookExprString
     
    struct  HookExprVar
     
    struct  HookExprWith
     
    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 FileEvalCache = 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)
     
    void callDirtyFlake (nix::EvalState &State, std::string_view SrcPath, nix::Value &VRes)
     Call nix flake, but do not use any "fetchers".
     
    FileEvalCachegetFileEvalCache (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)
     
    std::optional< nix::Value > getField (nix::EvalState &State, nix::Value &V, std::string_view Field)
     
    std::optional< std::string_view > getFieldString (nix::EvalState &State, nix::Value &V, std::string_view Field)
     
    bool checkField (nix::EvalState &State, nix::Value &V, std::string_view Field, std::string_view Pred)
     Check if value V is an attrset, has the field, and equals to Pred.
     
    bool checkType (nix::EvalState &State, nix::Value &V, std::string_view Pred)
     Check if value is an attrset, and it's "_type" equals to Pred.
     
    bool isOption (nix::EvalState &State, nix::Value &V)
     
    bool isDerivation (nix::EvalState &State, nix::Value &V)
     
    std::string attrPathStr (nix::EvalState &State, nix::Value &V, const std::string &AttrPath)
     
    std::vector< nix::Symbol > toSymbols (nix::SymbolTable &STable, const std::vector< std::string > &Names)
     Transform a vector of string into a vector of nix symbols.
     
    std::vector< nix::Symbol > toSymbols (nix::SymbolTable &STable, const std::vector< std::string_view > &Names)
     Transform a vector of string into a vector of nix symbols.
     
    nix::Value & selectAttr (nix::EvalState &State, nix::Value &V, nix::Symbol Attr)
     Select attribute Attr.
     
    nix::Value & selectOption (nix::EvalState &State, nix::Value &V, nix::Symbol Attr)
     
    nix::Value & selectAttrPath (nix::EvalState &State, nix::Value &V, std::vector< nix::Symbol >::const_iterator Begin, std::vector< nix::Symbol >::const_iterator End)
     Given an attrpath in nix::Value V, select it.
     
    nix::Value selectOptions (nix::EvalState &State, nix::Value &V, std::vector< nix::Symbol >::const_iterator Begin, std::vector< nix::Symbol >::const_iterator End)
     Select the option declaration list, V, dive into "submodules".
     
    nix::Value selectOptions (nix::EvalState &State, nix::Value &V, const std::vector< nix::Symbol > &AttrPath)
     
    nix::Value & selectSymbols (nix::EvalState &State, nix::Value &V, const std::vector< nix::Symbol > &AttrPath)
     Given an attrpath in nix::Value V, select it.
     
    nix::Value & selectStrings (nix::EvalState &State, nix::Value &V, const std::vector< std::string > &AttrPath)
     Given an attrpath in nix::Value V, select it.
     
    nix::Value & selectStringViews (nix::EvalState &State, nix::Value &V, const std::vector< std::string_view > &AttrPath)
     Given an attrpath in nix::Value V, select it.
     
    +

    Detailed Description

    +

    Access EvalCache 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.

    + +
    +
    + +

    ◆ FileEvalCache

    + +
    +
    + + + + +
    using nixt::FileEvalCache = 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 libnixt/include/nixt/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().

    + +
    +
    + +

    ◆ attrPathStr()

    + +
    +
    + + + + + + + + + + + + + + + + +
    std::string nixt::attrPathStr (nix::EvalState & State,
    nix::Value & V,
    const std::string & AttrPath )
    +
    + +

    Definition at line 54 of file Value.cpp.

    + +
    +
    + +

    ◆ 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().

    + +
    +
    + +

    ◆ callDirtyFlake()

    + +
    +
    + + + + + + + + + + + + + + + + +
    void nixt::callDirtyFlake (nix::EvalState & State,
    std::string_view SrcPath,
    nix::Value & VRes )
    +
    + +

    Call nix flake, but do not use any "fetchers".

    + +
    +
    + +

    ◆ checkField()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + +
    bool nixt::checkField (nix::EvalState & State,
    nix::Value & V,
    std::string_view Field,
    std::string_view Pred )
    +
    + +

    Check if value V is an attrset, has the field, and equals to Pred.

    + +

    Definition at line 36 of file Value.cpp.

    + +

    References getFieldString().

    + +

    Referenced by checkType(), isDerivation(), and selectOptions().

    + +
    +
    + +

    ◆ checkType()

    + +
    +
    + + + + + + + + + + + + + + + + +
    bool nixt::checkType (nix::EvalState & State,
    nix::Value & V,
    std::string_view Pred )
    +
    + +

    Check if value is an attrset, and it's "_type" equals to Pred.

    + +

    Definition at line 41 of file Value.cpp.

    + +

    References checkField().

    + +

    Referenced by isOption().

    + +
    +
    + +

    ◆ 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 )
    +
    + +
    +
    + +

    ◆ 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.

    + +
    +
    + +

    ◆ getField()

    + +
    +
    + + + + + + + + + + + + + + + + +
    std::optional< nix::Value > nixt::getField (nix::EvalState & State,
    nix::Value & V,
    std::string_view Field )
    +
    + +

    Definition at line 10 of file Value.cpp.

    + +

    Referenced by getFieldString().

    + +
    +
    + +

    ◆ getFieldString()

    + +
    +
    + + + + + + + + + + + + + + + + +
    std::optional< std::string_view > nixt::getFieldString (nix::EvalState & State,
    nix::Value & V,
    std::string_view Field )
    +
    + +

    Definition at line 23 of file Value.cpp.

    + +

    References getField().

    + +

    Referenced by checkField().

    + +
    +
    + +

    ◆ getFileEvalCache()

    + +
    +
    + + + + + +
    + + + + + + + +
    FileEvalCache & nixt::getFileEvalCache (nix::EvalState & S)
    +
    +inline
    +
    + +

    Definition at line 46 of file HackCache.h.

    + +
    +
    + +

    ◆ initEval()

    + +
    +
    + + + + + +
    + + + + + + + +
    void nixt::initEval ()
    +
    +inline
    +
    + +

    Definition at line 9 of file InitEval.h.

    + +

    Referenced by main().

    + +
    +
    + +

    ◆ isDerivation()

    + +
    +
    + + + + + + + + + + + +
    bool nixt::isDerivation (nix::EvalState & State,
    nix::Value & V )
    +
    + +

    Definition at line 50 of file Value.cpp.

    + +

    References checkField().

    + +
    +
    + +

    ◆ isOption()

    + +
    +
    + + + + + + + + + + + +
    bool nixt::isOption (nix::EvalState & State,
    nix::Value & V )
    +
    + +

    Definition at line 46 of file Value.cpp.

    + +

    References checkType().

    + +

    Referenced by nixd::AttrSetProvider::onOptionComplete(), and selectOptions().

    + +
    +
    + +

    ◆ 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()

    + +
    +
    + + + + + + + +
    const char * nixt::nameOf (ek::ExprKind Kind)
    +
    + +

    Get printable name of some 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 libnixt/lib/ParentMap.cpp.

    + +

    References nixt::RecursiveASTVisitor< Derived >::traverseExpr().

    + +
    +
    + +

    ◆ selectAttr()

    + +
    +
    + + + + + + + + + + + + + + + + +
    nix::Value & nixt::selectAttr (nix::EvalState & State,
    nix::Value & V,
    nix::Symbol Attr )
    +
    + +

    Select attribute Attr.

    + +

    Definition at line 84 of file Value.cpp.

    + +

    Referenced by selectAttrPath(), and selectOptions().

    + +
    +
    + +

    ◆ selectAttrPath()

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + +
    nix::Value & nixt::selectAttrPath (nix::EvalState & State,
    nix::Value & V,
    std::vector< nix::Symbol >::const_iterator Begin,
    std::vector< nix::Symbol >::const_iterator End )
    +
    + +

    Given an attrpath in nix::Value V, select it.

    + +

    Definition at line 102 of file Value.cpp.

    + +

    References selectAttr(), and selectAttrPath().

    + +

    Referenced by selectAttrPath(), and selectSymbols().

    + +
    +
    + +

    ◆ selectOption()

    + +
    +
    + + + + + + + + + + + + + + + + +
    nix::Value & nixt::selectOption (nix::EvalState & State,
    nix::Value & V,
    nix::Symbol Attr )
    +
    + +
    +
    + +

    ◆ selectOptions() [1/2]

    + +
    +
    + + + + + +
    + + + + + + + + + + + + + + + + +
    nix::Value nixt::selectOptions (nix::EvalState & State,
    nix::Value & V,
    const std::vector< nix::Symbol > & AttrPath )
    +
    +inline
    +
    + +

    Definition at line 49 of file Value.h.

    + +

    References selectOptions().

    + +
    +
    + +

    ◆ selectOptions() [2/2]

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + +
    nix::Value nixt::selectOptions (nix::EvalState & State,
    nix::Value & V,
    std::vector< nix::Symbol >::const_iterator Begin,
    std::vector< nix::Symbol >::const_iterator End )
    +
    + +

    Select the option declaration list, V, dive into "submodules".

    + +

    Definition at line 158 of file Value.cpp.

    + +

    References checkField(), isOption(), selectAttr(), and selectOptions().

    + +

    Referenced by nixd::AttrSetProvider::onOptionComplete(), nixd::AttrSetProvider::onOptionInfo(), selectOptions(), and selectOptions().

    + +
    +
    + +

    ◆ selectStrings()

    + +
    +
    + + + + + +
    + + + + + + + + + + + + + + + + +
    nix::Value & nixt::selectStrings (nix::EvalState & State,
    nix::Value & V,
    const std::vector< std::string > & AttrPath )
    +
    +inline
    +
    + +

    Given an attrpath in nix::Value V, select it.

    + +

    Definition at line 61 of file Value.h.

    + +

    References selectSymbols(), and toSymbols().

    + +

    Referenced by nixd::AttrSetProvider::onAttrPathComplete(), and nixd::AttrSetProvider::onAttrPathInfo().

    + +
    +
    + +

    ◆ selectStringViews()

    + +
    +
    + + + + + +
    + + + + + + + + + + + + + + + + +
    nix::Value & nixt::selectStringViews (nix::EvalState & State,
    nix::Value & V,
    const std::vector< std::string_view > & AttrPath )
    +
    +inline
    +
    + +

    Given an attrpath in nix::Value V, select it.

    + +

    Definition at line 68 of file Value.h.

    + +

    References selectSymbols(), and toSymbols().

    + +
    +
    + +

    ◆ selectSymbols()

    + +
    +
    + + + + + +
    + + + + + + + + + + + + + + + + +
    nix::Value & nixt::selectSymbols (nix::EvalState & State,
    nix::Value & V,
    const std::vector< nix::Symbol > & AttrPath )
    +
    +inline
    +
    + +

    Given an attrpath in nix::Value V, select it.

    + +

    Definition at line 55 of file Value.h.

    + +

    References selectAttrPath().

    + +

    Referenced by selectStrings(), and selectStringViews().

    + +
    +
    + +

    ◆ toSymbols() [1/2]

    + +
    +
    + + + + + + + + + + + +
    std::vector< nix::Symbol > nixt::toSymbols (nix::SymbolTable & STable,
    const std::vector< std::string > & Names )
    +
    + +

    Transform a vector of string into a vector of nix symbols.

    + +

    Definition at line 63 of file Value.cpp.

    + +

    Referenced by nixd::AttrSetProvider::onOptionComplete(), nixd::AttrSetProvider::onOptionInfo(), selectStrings(), and selectStringViews().

    + +
    +
    + +

    ◆ toSymbols() [2/2]

    + +
    +
    + + + + + + + + + + + +
    std::vector< nix::Symbol > nixt::toSymbols (nix::SymbolTable & STable,
    const std::vector< std::string_view > & Names )
    +
    + +

    Transform a vector of string into a vector of nix symbols.

    + +

    Definition at line 74 of file Value.cpp.

    + +
    +
    + +

    ◆ 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..ba5179045 --- /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  EvalCacheF
     
    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..e02725065 --- /dev/null +++ b/namespaces.html @@ -0,0 +1,352 @@ + + + + + + + +nixd: Namespace List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + +
    + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    Namespace List
    +
    +
    +
    Here is a list of all namespaces with brief descriptions:
    +
    [detail level 1234]
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
     NDiagnostic
     Ndiagnostic
     NDiagnosticEnum
     Nllvm
     NlspserverWhether current platform treats paths case insensitively
     Nnix
     Nnixd
     Nnixf
     NnixtAccess EvalCache in nix::EvalState
     Nsupport
    +
    +
    + + + + diff --git a/namespacesupport.html b/namespacesupport.html new file mode 100644 index 000000000..28588a6d4 --- /dev/null +++ b/namespacesupport.html @@ -0,0 +1,136 @@ + + + + + + + +nixd: support Namespace Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + +
    +
    + +
    support Namespace Reference
    +
    +
    + + + + + + +

    +Functions

    str lines (list[str] l)
     
     indent (str x, str ch=" ")
     
    +

    Function Documentation

    + +

    ◆ indent()

    + +
    +
    + + + + + + + + + + + +
    support.indent (str x,
    str ch = "  " )
    +
    + +

    Definition at line 10 of file support.py.

    + +
    +
    + +

    ◆ lines()

    + +
    +
    + + + + + + + +
    str support.lines (list[str] l)
    +
    + +

    Definition at line 6 of file support.py.

    + +
    +
    +
    + + + + 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/nixd-attrset-eval_8cpp.html b/nixd-attrset-eval_8cpp.html new file mode 100644 index 000000000..8e4a9a6ea --- /dev/null +++ b/nixd-attrset-eval_8cpp.html @@ -0,0 +1,130 @@ + + + + + + + +nixd: nixd-attrset-eval.cpp File Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    nixd-attrset-eval.cpp File Reference
    +
    +
    +
    #include "nixd-config.h"
    +#include "nixd/CommandLine/Options.h"
    +#include "nixd/Eval/AttrSetProvider.h"
    +#include <llvm/Support/CommandLine.h>
    +#include <lspserver/Connection.h>
    +#include <nixt/InitEval.h>
    +#include <unistd.h>
    +
    +

    Go to the source code of this file.

    + + + + +

    +Functions

    int main (int Argc, const char *Argv[])
     
    +

    Function Documentation

    + +

    ◆ main()

    + +
    +
    + + + + + + + + + + + +
    int main (int Argc,
    const char * Argv[] )
    +
    + +

    Definition at line 50 of file nixd-attrset-eval.cpp.

    + +

    References nixd::fromJSON(), nixt::initEval(), and nixd::LitTest.

    + +
    +
    +
    + + + + diff --git a/nixd-attrset-eval_8cpp_source.html b/nixd-attrset-eval_8cpp_source.html new file mode 100644 index 000000000..086ee8d0d --- /dev/null +++ b/nixd-attrset-eval_8cpp_source.html @@ -0,0 +1,192 @@ + + + + + + + +nixd: nixd-attrset-eval.cpp Source File + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    nixd-attrset-eval.cpp
    +
    +
    +Go to the documentation of this file.
    1#include "nixd-config.h"
    +
    2
    + + +
    5
    +
    6#include <llvm/Support/CommandLine.h>
    + +
    8#include <nixt/InitEval.h>
    +
    9
    +
    10#include <unistd.h>
    +
    11
    +
    12using namespace llvm::cl;
    +
    13using namespace lspserver;
    +
    14using namespace nixd;
    +
    15
    +
    16namespace {
    +
    17
    +
    18OptionCategory Misc("miscellaneous options");
    +
    19OptionCategory Debug("debug-only options (for developers)");
    +
    20
    + +
    22 "input-style",
    +
    23 desc("Input JSON stream encoding"),
    +
    24 values(
    +
    25 clEnumValN(JSONStreamStyle::Standard, "standard", "usual LSP protocol"),
    +
    26 clEnumValN(JSONStreamStyle::Delimited, "delimited",
    +
    27 "messages delimited by `// -----` lines, "
    +
    28 "with // comment support")),
    +
    29 init(JSONStreamStyle::Standard),
    +
    30 cat(Debug),
    +
    31 Hidden,
    +
    32};
    +
    33
    + +
    35 "log", desc("Verbosity of log messages written to stderr"),
    +
    36 values(
    +
    37 clEnumValN(Logger::Level::Error, "error", "Error messages only"),
    +
    38 clEnumValN(Logger::Level::Info, "info", "High level execution tracing"),
    +
    39 clEnumValN(Logger::Level::Debug, "debug", "Debugging details"),
    +
    40 clEnumValN(Logger::Level::Verbose, "verbose", "Low level details")),
    +
    41 init(Logger::Level::Info), cat(Misc)};
    +
    42
    +
    43opt<bool> PrettyPrint{"pretty", desc("Pretty-print JSON output"), init(false),
    +
    44 cat(Debug)};
    +
    45
    +
    46const OptionCategory *Catogories[] = {&Misc, &Debug};
    +
    47
    +
    48} // namespace
    +
    49
    +
    +
    50int main(int Argc, const char *Argv[]) {
    +
    51
    +
    52 SetVersionPrinter([](llvm::raw_ostream &OS) {
    +
    53 OS << "nixd-attrset-eval, version: ";
    +
    54#ifdef NIXD_VCS_TAG
    + +
    56#else
    + +
    58#endif
    +
    59 OS << "\n";
    +
    60 });
    +
    61
    + +
    63 ParseCommandLineOptions(Argc, Argv, "nixd nixpkgs evaluator", nullptr,
    +
    64 "NIXD_NIXPKGS_EVAL_FLAGS");
    +
    65
    +
    66 if (LitTest) {
    +
    67 InputStyle = JSONStreamStyle::Delimited;
    +
    68 LogLevel = Logger::Level::Verbose;
    +
    69 PrettyPrint = true;
    +
    70 }
    +
    71
    +
    72 StreamLogger Logger(llvm::errs(), LogLevel);
    + +
    74
    + +
    76 auto In = std::make_unique<lspserver::InboundPort>(STDIN_FILENO, InputStyle);
    +
    77
    +
    78 auto Out = std::make_unique<lspserver::OutboundPort>(PrettyPrint);
    +
    79 nixd::AttrSetProvider Provider(std::move(In), std::move(Out));
    +
    80
    +
    81 Provider.run();
    +
    82}
    +
    +
    Dedicated worker for evaluating attrset.
    + + + +
    Interface to allow custom logging in clangd.
    Definition Logger.h:13
    +
    Only one LoggingSession can be active at a time.
    Definition Logger.h:91
    + +
    Main RPC class for attrset provider.
    +
    Whether current platform treats paths case insensitively.
    Definition Connection.h:11
    + + + +
    bool fromJSON(const llvm::json::Value &Params, Configuration::Diagnostic &R, llvm::json::Path P)
    +
    llvm::cl::opt< bool > LitTest
    Indicating that we are in lit-test mode.
    Definition Options.cpp:8
    +
    void initEval()
    Definition InitEval.h:9
    +
    int main(int Argc, const char *Argv[])
    +
    + + + + diff --git a/nixd_2lspserver_2README_8md.html b/nixd_2lspserver_2README_8md.html new file mode 100644 index 000000000..ccd272335 --- /dev/null +++ b/nixd_2lspserver_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_8cpp.html b/nixd_8cpp.html new file mode 100644 index 000000000..6b808911c --- /dev/null +++ b/nixd_8cpp.html @@ -0,0 +1,130 @@ + + + + + + + +nixd: nixd.cpp File Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    nixd.cpp File Reference
    +
    +
    +
    #include "nixd-config.h"
    +#include "lspserver/Connection.h"
    +#include "lspserver/Logger.h"
    +#include "nixd/CommandLine/Options.h"
    +#include "nixd/Controller/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 50 of file nixd.cpp.

    + +

    References nixd::fromJSON(), nixd::LitTest, and lspserver::LSPServer::run().

    + +
    +
    +
    + + + + diff --git a/nixd_8cpp_source.html b/nixd_8cpp_source.html new file mode 100644 index 000000000..75f5e0512 --- /dev/null +++ b/nixd_8cpp_source.html @@ -0,0 +1,195 @@ + + + + + + + +nixd: nixd.cpp Source File + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    nixd.cpp
    +
    +
    +Go to the documentation of this file.
    1#include "nixd-config.h"
    +
    2
    + +
    4#include "lspserver/Logger.h"
    +
    5
    + + +
    8
    +
    9#include <llvm/ADT/ArrayRef.h>
    +
    10#include <llvm/Support/CommandLine.h>
    +
    11
    +
    12using namespace lspserver;
    +
    13using namespace nixd;
    +
    14
    +
    15namespace {
    +
    16
    +
    17using namespace llvm::cl;
    +
    18
    +
    19OptionCategory Misc("miscellaneous options");
    +
    20OptionCategory Debug("debug-only options (for developers)");
    +
    21
    + +
    23
    + +
    25 "input-style",
    +
    26 desc("Input JSON stream encoding"),
    +
    27 values(
    +
    28 clEnumValN(JSONStreamStyle::Standard, "standard", "usual LSP protocol"),
    +
    29 clEnumValN(JSONStreamStyle::Delimited, "delimited",
    +
    30 "messages delimited by `// -----` lines, "
    +
    31 "with // comment support")),
    +
    32 init(JSONStreamStyle::Standard),
    +
    33 cat(Debug),
    +
    34 Hidden,
    +
    35};
    +
    36
    + +
    38 "log", desc("Verbosity of log messages written to stderr"),
    +
    39 values(
    +
    40 clEnumValN(Logger::Level::Error, "error", "Error messages only"),
    +
    41 clEnumValN(Logger::Level::Info, "info", "High level execution tracing"),
    +
    42 clEnumValN(Logger::Level::Debug, "debug", "Debugging details"),
    +
    43 clEnumValN(Logger::Level::Verbose, "verbose", "Low level details")),
    +
    44 init(Logger::Level::Info), cat(Misc)};
    +
    45opt<bool> PrettyPrint{"pretty", desc("Pretty-print JSON output"), init(false),
    +
    46 cat(Debug)};
    +
    47
    +
    48} // namespace
    +
    49
    +
    +
    50int main(int argc, char *argv[]) {
    +
    51 SetVersionPrinter([](llvm::raw_ostream &OS) {
    +
    52 OS << "nixd, version: ";
    +
    53#ifdef NIXD_VCS_TAG
    + +
    55#else
    + +
    57#endif
    +
    58 OS << "\n";
    +
    59 });
    +
    60
    + +
    62 ParseCommandLineOptions(argc, argv, "nixd language server", nullptr,
    +
    63 "NIXD_FLAGS");
    +
    64
    +
    65 if (LitTest) {
    +
    66 InputStyle = JSONStreamStyle::Delimited;
    +
    67 LogLevel = Logger::Level::Verbose;
    +
    68 PrettyPrint = true;
    +
    69 }
    +
    70
    +
    71 StreamLogger Logger(llvm::errs(), LogLevel);
    + +
    73
    +
    74 auto In = std::make_unique<lspserver::InboundPort>(STDIN_FILENO, InputStyle);
    +
    75
    +
    76 auto Out = std::make_unique<lspserver::OutboundPort>(PrettyPrint);
    +
    77
    +
    78 auto Controller =
    +
    79 std::make_unique<nixd::Controller>(std::move(In), std::move(Out));
    +
    80
    +
    81 Controller->run();
    +
    82
    +
    83 return 0;
    +
    84}
    +
    + + + + + +
    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
    + + + +
    bool fromJSON(const llvm::json::Value &Params, Configuration::Diagnostic &R, llvm::json::Path P)
    +
    llvm::cl::OptionCategory NixdCategory
    +
    llvm::cl::opt< bool > LitTest
    Indicating that we are in lit-test mode.
    Definition Options.cpp:8
    +
    int main(int argc, char *argv[])
    Definition nixd.cpp:50
    +
    + + + + diff --git a/nixf-tidy_8cpp.html b/nixf-tidy_8cpp.html new file mode 100644 index 000000000..99c1f32b7 --- /dev/null +++ b/nixf-tidy_8cpp.html @@ -0,0 +1,136 @@ + + + + + + + +nixd: nixf-tidy.cpp File Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    nixf-tidy.cpp File Reference
    +
    +
    + +

    nixf-tidy, provide linting based on libnixf. +More...

    +
    #include "nixf/Basic/JSONDiagnostic.h"
    +#include "nixf/Basic/Nodes/Basic.h"
    +#include "nixf/Parse/Parser.h"
    +#include "nixf/Sema/VariableLookup.h"
    +#include <iostream>
    +#include <sstream>
    +
    +

    Go to the source code of this file.

    + + + + +

    +Functions

    int main (int Argc, const char *Argv[])
     
    +

    Detailed Description

    +

    nixf-tidy, provide linting based on libnixf.

    + +

    Definition in file nixf-tidy.cpp.

    +

    Function Documentation

    + +

    ◆ main()

    + +
    +
    + + + + + + + + + + + +
    int main (int Argc,
    const char * Argv[] )
    +
    + +

    Definition at line 33 of file nixf-tidy.cpp.

    + +

    References nixf::parse(), nixf::VariableLookupAnalysis::runOnAST(), and nixf::to_json().

    + +
    +
    +
    + + + + diff --git a/nixf-tidy_8cpp_source.html b/nixf-tidy_8cpp_source.html new file mode 100644 index 000000000..f07b2ae14 --- /dev/null +++ b/nixf-tidy_8cpp_source.html @@ -0,0 +1,159 @@ + + + + + + + +nixd: nixf-tidy.cpp Source File + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    nixf-tidy.cpp
    +
    +
    +Go to the documentation of this file.
    1/// \file
    +
    2/// \brief nixf-tidy, provide linting based on libnixf.
    +
    3
    + + +
    6#include "nixf/Parse/Parser.h"
    + +
    8
    +
    9#include <iostream>
    +
    10#include <sstream>
    +
    11
    +
    12using namespace nixf;
    +
    13
    +
    14namespace {
    +
    15
    +
    16/// Pretty print the output.
    +
    17bool PrettyPrint = false;
    +
    18
    +
    19/// Enable variable lookup warnings.
    +
    20bool VLA;
    +
    21
    +
    22void parseArgs(int Argc, const char *Argv[]) {
    +
    23 for (int I = 0; I < Argc; I++) {
    +
    24 if (std::string_view(Argv[I]) == "--pretty-print")
    +
    25 PrettyPrint = true;
    +
    26 else if (std::string_view(Argv[I]) == "--variable-lookup")
    +
    27 VLA = true;
    +
    28 }
    +
    29}
    +
    30
    +
    31} // namespace
    +
    32
    +
    +
    33int main(int Argc, const char *Argv[]) {
    +
    34 parseArgs(Argc, Argv);
    +
    35 std::ostringstream Inputs;
    +
    36 Inputs << std::cin.rdbuf();
    +
    37 std::string Src = Inputs.str();
    +
    38
    +
    39 std::vector<nixf::Diagnostic> Diags;
    +
    40 std::shared_ptr<nixf::Node> AST = nixf::parse(Src, Diags);
    +
    41
    +
    42 if (VLA) {
    + +
    44 if (AST)
    +
    45 V.runOnAST(*AST);
    +
    46 }
    +
    47
    +
    48 nlohmann::json V;
    +
    49 to_json(V, Diags);
    +
    50
    +
    51 if (PrettyPrint)
    +
    52 std::cout << std::setw(4);
    +
    53 std::cout << V << "\n";
    +
    54 return 0;
    +
    55}
    +
    + +
    Provide jsonified diagnostic, for other languages/structured output.
    +
    Lookup variable names, from it's parent scope.
    + +
    void runOnAST(const Node &Root)
    Perform variable lookup analysis (def-use) on AST.
    +
    Parser interface.
    + +
    void to_json(nlohmann::json &R, const LexerCursor &LC)
    +
    std::shared_ptr< Node > parse(std::string_view Src, std::vector< Diagnostic > &Diags)
    Parse a string.
    +
    int main(int Argc, const char *Argv[])
    Definition nixf-tidy.cpp:33
    +
    + + + + 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..70449e91a --- /dev/null +++ b/search/all_0.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['_5f_0',['_',['../namespaceDiagnostic.html#a4d0db50cbeb0d1de3127c4fe3ac3f380',1,'Diagnostic._'],['../namespaceDiagnosticEnum.html#a77e7a7bbf439df149a516123e7681e01',1,'DiagnosticEnum._']]] +]; diff --git a/search/all_1.js b/search/all_1.js new file mode 100644 index 000000000..524b601e8 --- /dev/null +++ b/search/all_1.js @@ -0,0 +1,81 @@ +var searchData= +[ + ['a_20working_20executable_0',['Installation - get a working executable',['../md_nixd_2docs_2editor-setup.html#autotoc_md31',1,'']]], + ['about_1',['About',['../md_README.html#autotoc_md51',1,'']]], + ['about_20nix_20language_20nixd_20workers_2',['Memory model about nix language & nixd workers',['../md_nixd_2docs_2dev.html#autotoc_md25',1,'']]], + ['absoluteparent_3',['absoluteParent',['../namespacelspserver.html#a0c037fecc55edd0a237f55ac5d4475d2',1,'lspserver']]], + ['activeparameter_4',['activeParameter',['../structlspserver_1_1SignatureHelp.html#a82586ca8ab364ba85c8e70cbdd9d9ceb',1,'lspserver::SignatureHelp']]], + ['activesignature_5',['activeSignature',['../structlspserver_1_1SignatureHelp.html#a3c06bb24aa840763eb4953f94c44116b',1,'lspserver::SignatureHelp']]], + ['add_6',['add',['../structnixt_1_1PtrPool.html#a1bd9b12d2490d559c3f8ab8bf91a7312',1,'nixt::PtrPool']]], + ['addattr_7',['addAttr',['../classnixf_1_1Sema.html#a5dd911cfc40391bcbb8941910cc796c2',1,'nixf::Sema']]], + ['addcommand_8',['addCommand',['../structlspserver_1_1HandlerRegistry.html#ac74dedf85400f27c36e0f976bd3cd24c',1,'lspserver::HandlerRegistry']]], + ['adddraft_9',['addDraft',['../classlspserver_1_1DraftStore.html#aa5ae55b3ef2dbc31a03152c97ae1c0dd',1,'lspserver::DraftStore']]], + ['additionaltextedits_10',['additionalTextEdits',['../structlspserver_1_1CompletionItem.html#ad2c4a2a18623b13c604567c2036910b6',1,'lspserver::CompletionItem']]], + ['addmethod_11',['addMethod',['../structlspserver_1_1HandlerRegistry.html#a01bad0cb91cd1b9903afe8ef6236bce4',1,'lspserver::HandlerRegistry']]], + ['addnotification_12',['addNotification',['../structlspserver_1_1HandlerRegistry.html#a473db8004c5218906f77c42f0c77c35a',1,'lspserver::HandlerRegistry']]], + ['adjustkindtocapability_13',['adjustKindToCapability',['../namespacelspserver.html#ab0e770699b02793e166217a093e40d3b',1,'lspserver::adjustKindToCapability(CompletionItemKind Kind, CompletionItemKindBitset &SupportedCompletionItemKinds)'],['../namespacelspserver.html#a28a6ef11b276c533a13d45d1734a96d2',1,'lspserver::adjustKindToCapability(SymbolKind Kind, SymbolKindBitset &supportedSymbolKinds)']]], + ['advance_14',['advance',['../namespacenixt.html#a61ea964414bcfe5a03516c85590da63f',1,'nixt']]], + ['algorithm_15',['The parsing algorithm',['../md_libnixf_2README.html#autotoc_md7',1,'']]], + ['along_20libnixf_16',['Standalone tools provided along libnixf',['../md_libnixf_2README.html#autotoc_md8',1,'']]], + ['and_20fixes_17',['<tt>Diagnostic</tt> and Fixes',['../md_libnixf_2README.html#autotoc_md4',1,'']]], + ['and_20setup_20configurations_18',['Teach your editor find the executable, and setup configurations.',['../md_nixd_2docs_2editor-setup.html#autotoc_md32',1,'']]], + ['ank_5fid_19',['ANK_ID',['../classnixf_1_1AttrName.html#ae921c55d9c7cdbb7780359b0478d33aba5f10fa5c4c1335c687e0e520ee7dcef3',1,'nixf::AttrName']]], + ['ank_5finterpolation_20',['ANK_Interpolation',['../classnixf_1_1AttrName.html#ae921c55d9c7cdbb7780359b0478d33aba5b993216745a1a20ab102f759fbdefbf',1,'nixf::AttrName']]], + ['ank_5fstring_21',['ANK_String',['../classnixf_1_1AttrName.html#ae921c55d9c7cdbb7780359b0478d33abaa46fa6637544de51c837f78c3dd6cad2',1,'nixf::AttrName']]], + ['annotationid_22',['annotationId',['../structlspserver_1_1TextEdit.html#ab8fab7d0ce5b95402d84465d7601838f',1,'lspserver::TextEdit']]], + ['applied_23',['applied',['../structlspserver_1_1ApplyWorkspaceEditResponse.html#a8d357df02fcca7d2ffe20c9fbd44e811',1,'lspserver::ApplyWorkspaceEditResponse']]], + ['applychange_24',['applyChange',['../namespacelspserver.html#a24b9d4c2890d751945884bae008da2aa',1,'lspserver']]], + ['applyworkspaceeditparams_25',['ApplyWorkspaceEditParams',['../structlspserver_1_1ApplyWorkspaceEditParams.html',1,'lspserver']]], + ['applyworkspaceeditresponse_26',['ApplyWorkspaceEditResponse',['../structlspserver_1_1ApplyWorkspaceEditResponse.html',1,'lspserver']]], + ['arcana_27',['arcana',['../structlspserver_1_1ASTNode.html#a7866d4f573751dc2461a1c6805fa4d0e',1,'lspserver::ASTNode']]], + ['arg_28',['arg',['../classnixf_1_1ExprLambda.html#a94a3cb9683d8b10490a6fe359cb84a46',1,'nixf::ExprLambda']]], + ['argliststart_29',['argListStart',['../structlspserver_1_1SignatureHelp.html#a64364d371a45d169b46ce6894292c7f2',1,'lspserver::SignatureHelp']]], + ['args_30',['args',['../classnixf_1_1PartialDiagnostic.html#a4cee5ad9adf731abe152e21916a3b27f',1,'nixf::PartialDiagnostic::args() const'],['../classnixf_1_1PartialDiagnostic.html#a2adc626af34105342467367b72d4d7ed',1,'nixf::PartialDiagnostic::args()'],['../classnixf_1_1ExprCall.html#a754c12f0dc17ce69ba81d6493378d7b8',1,'nixf::ExprCall::args()']]], + ['argument_31',['argument',['../structlspserver_1_1ExecuteCommandParams.html#a6963261aad84fd5998d36d018048000b',1,'lspserver::ExecuteCommandParams']]], + ['array_32',['Array',['../namespacelspserver.html#a2c2f610d4b7f64335e8d68b47e18ea6fa4410ec34d9e6c1a68100ca0ce033fb17',1,'lspserver']]], + ['arrayref_33',['ArrayRef',['../structnixt_1_1ArrayRef.html',1,'nixt']]], + ['arrayref_2eh_34',['ArrayRef.h',['../ArrayRef_8h.html',1,'']]], + ['ast_35',['ast',['../classnixd_1_1NixTU.html#af84c5eb174e0059336cab9f802f2e59a',1,'nixd::NixTU']]], + ['ast_20nodes_36',['AST Nodes',['../md_libnixf_2README.html#autotoc_md5',1,'']]], + ['ast_2ecpp_37',['AST.cpp',['../AST_8cpp.html',1,'']]], + ['ast_2eh_38',['AST.h',['../AST_8h.html',1,'']]], + ['astheader_39',['ASTHeader',['../structnixt_1_1ASTHeader.html',1,'nixt']]], + ['astnode_40',['ASTNode',['../structlspserver_1_1ASTNode.html',1,'lspserver']]], + ['astparams_41',['ASTParams',['../structlspserver_1_1ASTParams.html',1,'lspserver']]], + ['asvfs_42',['asVFS',['../classlspserver_1_1DraftStore.html#aec81eb3be70461578bb820090958147d',1,'lspserver::DraftStore']]], + ['attribute_43',['Attribute',['../classnixf_1_1Attribute.html',1,'nixf::Attribute'],['../classnixf_1_1Attribute.html#acdf18b2fb493bf99f4c524e4c3927ea6',1,'nixf::Attribute::Attribute()']]], + ['attribute_20name_20coloring_44',['Attribute name coloring',['../md_nixd_2docs_2features.html#autotoc_md49',1,'']]], + ['attributekind_45',['AttributeKind',['../classnixf_1_1Attribute.html#aa48a020e7c83244b959571ab5be09e4b',1,'nixf::Attribute']]], + ['attrname_46',['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_47',['AttrNameKind',['../classnixf_1_1AttrName.html#ae921c55d9c7cdbb7780359b0478d33ab',1,'nixf::AttrName']]], + ['attrnamesymbol_48',['AttrNameSymbol',['../namespacenixt.html#a5bcdc1a90b949f11bc1a7147ce48c50da1a95272f8e9e810d04d1a418a1178dd8',1,'nixt']]], + ['attrpath_49',['AttrPath',['../classnixf_1_1AttrPath.html',1,'nixf::AttrPath'],['../classnixf_1_1AttrPath.html#a22a078918dc7c123c1c62f5a5d02711f',1,'nixf::AttrPath::AttrPath()']]], + ['attrpath_50',['attrpath',['../classnixf_1_1ExprOpHasAttr.html#aab50a5158a7e291d1487f67db56214ad',1,'nixf::ExprOpHasAttr']]], + ['attrpathcomplete_51',['attrpathComplete',['../classnixd_1_1AttrSetClient.html#ad90c6930a047581a8c8c0985e2086c9f',1,'nixd::AttrSetClient']]], + ['attrpathcomplete_52',['AttrPathComplete',['../namespacenixd_1_1rpcMethod.html#addeb9275ff5456d97b09d1cfb374ab4c',1,'nixd::rpcMethod']]], + ['attrpathcompleteparams_53',['AttrPathCompleteParams',['../structnixd_1_1AttrPathCompleteParams.html',1,'nixd']]], + ['attrpathcompleteresponse_54',['AttrPathCompleteResponse',['../namespacenixd.html#a2611f2e9edeb3b60c8c9485070fa4254',1,'nixd']]], + ['attrpathinfo_55',['attrpathInfo',['../classnixd_1_1AttrSetClient.html#aae0fc59bb1edee4225f8974adec73ea6',1,'nixd::AttrSetClient']]], + ['attrpathinfo_56',['AttrPathInfo',['../namespacenixd_1_1rpcMethod.html#aba6b6e373368fda02e8ddd853ef8c602',1,'nixd::rpcMethod']]], + ['attrpathinfoparams_57',['AttrPathInfoParams',['../namespacenixd.html#a93c5c36d09e79f52ef38ea8f1f8f7fc0',1,'nixd']]], + ['attrpathinforesponse_58',['AttrPathInfoResponse',['../structnixd_1_1AttrPathInfoResponse.html',1,'nixd']]], + ['attrpathstr_59',['attrPathStr',['../namespacenixt.html#a76e1a0435aeacccbf8ba2c8c914e4539',1,'nixt']]], + ['attrs_60',['attrs',['../classnixf_1_1ExprLet.html#a9d285018a5342d41324abaaed0d87337',1,'nixf::ExprLet']]], + ['attrs_2eh_61',['Attrs.h',['../Attrs_8h.html',1,'']]], + ['attrset_2ecpp_62',['AttrSet.cpp',['../AttrSet_8cpp.html',1,'']]], + ['attrset_2eh_63',['AttrSet.h',['../AttrSet_8h.html',1,'']]], + ['attrsetclient_64',['AttrSetClient',['../classnixd_1_1AttrSetClient.html',1,'nixd::AttrSetClient'],['../classnixd_1_1AttrSetClient.html#a7e8e258a56178dbff6cfd9fab6ff4f8b',1,'nixd::AttrSetClient::AttrSetClient()']]], + ['attrsetclient_2ecpp_65',['AttrSetClient.cpp',['../AttrSetClient_8cpp.html',1,'']]], + ['attrsetclient_2eh_66',['AttrSetClient.h',['../AttrSetClient_8h.html',1,'']]], + ['attrsetclientproc_67',['AttrSetClientProc',['../classnixd_1_1AttrSetClientProc.html',1,'nixd::AttrSetClientProc'],['../classnixd_1_1AttrSetClientProc.html#a8761ae4cdfe17901da01760961f45268',1,'nixd::AttrSetClientProc::AttrSetClientProc()']]], + ['attrsetprovider_68',['AttrSetProvider',['../classnixd_1_1AttrSetProvider.html',1,'nixd::AttrSetProvider'],['../classnixd_1_1AttrSetProvider.html#aa09ca2f7179db71621f11def90077771',1,'nixd::AttrSetProvider::AttrSetProvider()']]], + ['attrsetprovider_2ecpp_69',['AttrSetProvider.cpp',['../AttrSetProvider_8cpp.html',1,'']]], + ['attrsetprovider_2eh_70',['AttrSetProvider.h',['../AttrSetProvider_8h.html',1,'']]], + ['authority_71',['authority',['../classlspserver_1_1URI.html#a91512c203ca0302ae7760037b550c1af',1,'lspserver::URI']]], + ['autoclosefd_72',['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_73',['AutoCloseFD.cpp',['../AutoCloseFD_8cpp.html',1,'']]], + ['autoclosefd_2eh_74',['AutoCloseFD.h',['../AutoCloseFD_8h.html',1,'']]], + ['autoremoveshm_75',['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_76',['AutoRemoveShm.cpp',['../AutoRemoveShm_8cpp.html',1,'']]], + ['autoremoveshm_2eh_77',['AutoRemoveShm.h',['../AutoRemoveShm_8h.html',1,'']]] +]; diff --git a/search/all_10.js b/search/all_10.js new file mode 100644 index 000000000..6fc53207d --- /dev/null +++ b/search/all_10.js @@ -0,0 +1,104 @@ +var searchData= +[ + ['p_0',['P',['../structnixt_1_1detail_1_1R.html#af3318a9e3c548176681a26cd4ee4819d',1,'nixt::detail::R']]], + ['package_1',['Package',['../namespacelspserver.html#a2c2f610d4b7f64335e8d68b47e18ea6fa209802fb858e2c83205027dbbb5d9e6c',1,'lspserver']]], + ['packagedesc_2',['PackageDesc',['../structnixd_1_1AttrPathInfoResponse.html#ab52de5e59cb758b9d0d3f384ee45e094',1,'nixd::AttrPathInfoResponse']]], + ['packagedescription_3',['PackageDescription',['../structnixd_1_1PackageDescription.html',1,'nixd']]], + ['packageinfoparams_4',['PackageInfoParams',['../namespacenixd.html#a3c43c97f00516bde6bdeb944a6fead18',1,'nixd']]], + ['paddingleft_5',['paddingLeft',['../structlspserver_1_1InlayHint.html#a7e7e829b8fe37ab0f02b4c3ac6b2dcea',1,'lspserver::InlayHint']]], + ['paddingright_6',['paddingRight',['../structlspserver_1_1InlayHint.html#a58fd65c5fae54dfa924623ee26b00e86',1,'lspserver::InlayHint']]], + ['parameter_7',['Parameter',['../namespacelspserver.html#ad0e04d3cce4fb889bbf88064199247f8a83f499a540b1323009c200d6f8cc9396',1,'lspserver']]], + ['parameterinformation_8',['ParameterInformation',['../structlspserver_1_1ParameterInformation.html',1,'lspserver']]], + ['parameters_9',['parameters',['../structlspserver_1_1SignatureInformation.html#a615ed9f390c8425328ba3f6814123d06',1,'lspserver::SignatureInformation']]], + ['parent_10',['parent',['../structlspserver_1_1SelectionRange.html#ae07fba493e904faee16a6ccbdf9874bd',1,'lspserver::SelectionRange::parent'],['../classnixf_1_1EnvNode.html#a7ca9e36831b4206d75a18ee3f6ee82fc',1,'nixf::EnvNode::parent()']]], + ['parentmap_11',['parentMap',['../classnixd_1_1NixTU.html#aa446c99e3edca5a56a905c269be216e6',1,'nixd::NixTU']]], + ['parentmap_12',['ParentMap',['../namespacenixt.html#a6822f16d1a7eb771261ee65e0282bda2',1,'nixt']]], + ['parentmap_13',['parentMap',['../namespacenixt.html#a9e1281b1eeb0c0f744522d8b6f72d356',1,'nixt']]], + ['parentmapanalysis_14',['ParentMapAnalysis',['../classnixf_1_1ParentMapAnalysis.html',1,'nixf']]], + ['parents_15',['parents',['../structlspserver_1_1TypeHierarchyItem_1_1ResolveParams.html#a9c538155e27359aa7b33c3d93b6a1474',1,'lspserver::TypeHierarchyItem::ResolveParams::parents'],['../structlspserver_1_1TypeHierarchyItem.html#a67f08bc3f00abb223ce0ec32728b9171',1,'lspserver::TypeHierarchyItem::parents']]], + ['parents_16',['Parents',['../namespacelspserver.html#a7d97020df0f5bac6de94854de72d22eba9dafe3747e06aa15af0bfba521f66346',1,'lspserver']]], + ['parse_17',['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()'],['../namespacenixd.html#abcfa184bf75c7028479561d673217d59',1,'nixd::parse()']]], + ['parse_20tt_20module_18',['The <tt>Parse</tt> module',['../md_libnixf_2README.html#autotoc_md6',1,'']]], + ['parseattrname_19',['parseAttrName',['../classnixf_1_1Parser.html#aa6da76760cadbc0fb9bfc6bdf71e7f4a',1,'nixf::Parser']]], + ['parseattrpath_20',['parseAttrPath',['../classnixf_1_1Parser.html#ad906975449ef0b6e50ac45cfddc7760b',1,'nixf::Parser']]], + ['parseattrs_2ecpp_21',['ParseAttrs.cpp',['../ParseAttrs_8cpp.html',1,'']]], + ['parsebinding_22',['parseBinding',['../classnixf_1_1Parser.html#af4789122e2951057c256bf7047caaee6',1,'nixf::Parser']]], + ['parsebinds_23',['parseBinds',['../classnixf_1_1Parser.html#aeb54eef031850bf8a2ed02ce90f405ea',1,'nixf::Parser']]], + ['parsecliconfig_24',['parseCLIConfig',['../namespacenixd.html#aa0f7ee754debc4171ef331da953fe468',1,'nixd']]], + ['parseerror_25',['ParseError',['../namespacelspserver.html#a748780c668b7e2d2e3700f6e7075b078ae41199faa7290c167f70f314c5e6c165',1,'lspserver']]], + ['parseexpr_26',['parseExpr',['../classnixf_1_1Parser.html#a633faf5003438ff1b57869642df405c4',1,'nixf::Parser']]], + ['parseexpr_2ecpp_27',['ParseExpr.cpp',['../ParseExpr_8cpp.html',1,'']]], + ['parseexprapp_28',['parseExprApp',['../classnixf_1_1Parser.html#abb973747c2961ad624b9ff4000072400',1,'nixf::Parser']]], + ['parseexprassert_29',['parseExprAssert',['../classnixf_1_1Parser.html#a4f82ad514edb8c83f8b26939730daf0f',1,'nixf::Parser']]], + ['parseexprattrs_30',['parseExprAttrs',['../classnixf_1_1Parser.html#aead9237c85444231ce7ecc3973c30f00',1,'nixf::Parser']]], + ['parseexprif_31',['parseExprIf',['../classnixf_1_1Parser.html#ad7231e2490de2cb05e7b985c312f8fe2',1,'nixf::Parser']]], + ['parseexprlambda_32',['parseExprLambda',['../classnixf_1_1Parser.html#a6e67accaeaf8e7dd3871cda9fa95171f',1,'nixf::Parser']]], + ['parseexprlet_33',['parseExprLet',['../classnixf_1_1Parser.html#a4468da2adb5ba0d3d08f7a887182ebc8',1,'nixf::Parser']]], + ['parseexprlist_34',['parseExprList',['../classnixf_1_1Parser.html#ae2577fce17b6a113a7f448e28ff17375',1,'nixf::Parser']]], + ['parseexprop_35',['parseExprOp',['../classnixf_1_1Parser.html#a58041cfb84546bdf130e3fb519ff822c',1,'nixf::Parser']]], + ['parseexprparen_36',['parseExprParen',['../classnixf_1_1Parser.html#a1f2c35adfdb20dafcfe6375df64e2441',1,'nixf::Parser']]], + ['parseexprpath_37',['parseExprPath',['../classnixf_1_1Parser.html#ac750efbc73b82e6adb335e6ee1d3a3dc',1,'nixf::Parser']]], + ['parseexprselect_38',['parseExprSelect',['../classnixf_1_1Parser.html#abdb5a590a2e168f01d13b96a9526c395',1,'nixf::Parser']]], + ['parseexprsimple_39',['parseExprSimple',['../classnixf_1_1Parser.html#ac86393e12a6fa03b0692bfff7c47ec23',1,'nixf::Parser']]], + ['parseexprwith_40',['parseExprWith',['../classnixf_1_1Parser.html#ad70d2be7dab89b9be8d4977d941b554d',1,'nixf::Parser']]], + ['parseformal_41',['parseFormal',['../classnixf_1_1Parser.html#a3dadea3f07631cbe7803fef87aec867c',1,'nixf::Parser']]], + ['parseformals_42',['parseFormals',['../classnixf_1_1Parser.html#a05bf558d01ad911f34f85d059a381652',1,'nixf::Parser']]], + ['parseinherit_43',['parseInherit',['../classnixf_1_1Parser.html#a68f00b48bd77f38c2cbcabac9450e39a',1,'nixf::Parser']]], + ['parseinterpolation_44',['parseInterpolation',['../classnixf_1_1Parser.html#a4711f08746efb425cbef244ead1464a9',1,'nixf::Parser']]], + ['parsekind_45',['parseKind',['../classnixf_1_1Diagnostic.html#a19250e9da80621cef1c691538629a582',1,'nixf::Diagnostic']]], + ['parselambda_2ecpp_46',['ParseLambda.cpp',['../ParseLambda_8cpp.html',1,'']]], + ['parselambdaarg_47',['parseLambdaArg',['../classnixf_1_1Parser.html#ae7097191627494344747862139825022',1,'nixf::Parser']]], + ['parseop_2ecpp_48',['ParseOp.cpp',['../ParseOp_8cpp.html',1,'']]], + ['parseparam_49',['parseParam',['../namespacelspserver.html#a25d2e6d84f80ad9e600ea50daa10b7c3',1,'lspserver::parseParam(const llvm::json::Value &Raw, llvm::StringRef PayloadName, llvm::StringRef PayloadKind)'],['../namespacelspserver.html#a228f53d66ead347bb9aa1cbec5ca8a66',1,'lspserver::parseParam(const llvm::json::Value &Raw, llvm::StringRef PayloadName, llvm::StringRef PayloadKind)']]], + ['parser_50',['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_51',['ParserState',['../classnixf_1_1Parser.html#a7223a2cf217acfdedaa4e053c6777d88',1,'nixf::Parser']]], + ['parsesimple_2ecpp_52',['ParseSimple.cpp',['../ParseSimple_8cpp.html',1,'']]], + ['parsestring_53',['parseString',['../classnixf_1_1Parser.html#abd465f23b9dd6b26d1355602f07459ec',1,'nixf::Parser']]], + ['parsestringparts_54',['parseStringParts',['../classnixf_1_1Parser.html#abacfcf943a580fd11bc6e8d9462102b2',1,'nixf::Parser']]], + ['parsestrings_2ecpp_55',['ParseStrings.cpp',['../ParseStrings_8cpp.html',1,'']]], + ['parsesupport_2ecpp_56',['ParseSupport.cpp',['../ParseSupport_8cpp.html',1,'']]], + ['parsing_20algorithm_57',['The parsing algorithm',['../md_libnixf_2README.html#autotoc_md7',1,'']]], + ['partialdiagnostic_58',['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_59',['parts',['../classnixf_1_1ExprString.html#adbf204757a9eefdb3b04234ddacb6288',1,'nixf::ExprString::parts()'],['../classnixf_1_1ExprPath.html#ad472e577ac0c80d7cda738ca8a711509',1,'nixf::ExprPath::parts()']]], + ['path_60',['path',['../classnixf_1_1Binding.html#a3c053a2774353025ebeb784f6ea6e8be',1,'nixf::Binding::path()'],['../classnixf_1_1ExprSelect.html#acaf24533f8ba9dfe4e43ba4a88fdb4b7',1,'nixf::ExprSelect::path()']]], + ['path_61',['Path',['../namespacelspserver.html#a06c075a08ebb57bbbdc359b65510e158',1,'lspserver']]], + ['path_2eh_62',['Path.h',['../Path_8h.html',1,'']]], + ['pathequal_63',['pathEqual',['../namespacelspserver.html#a64f08c900dbfd60a48d456ca9eb746ad',1,'lspserver']]], + ['pathref_64',['PathRef',['../namespacelspserver.html#ac9728323076db16b94f616596851b344',1,'lspserver']]], + ['pathstartswith_65',['pathStartsWith',['../namespacelspserver.html#ae9c525c95cbbba2eeb3e87072a085db9',1,'lspserver']]], + ['percentage_66',['percentage',['../structlspserver_1_1WorkDoneProgressBegin.html#a7da90f0815a0bdd72734e913333e2c57',1,'lspserver::WorkDoneProgressBegin::percentage'],['../structlspserver_1_1WorkDoneProgressReport.html#ae430ee7ba4445405f89ad0163fdc72ef',1,'lspserver::WorkDoneProgressReport::percentage']]], + ['pid_67',['PID',['../structnixd_1_1util_1_1PipedProc.html#a75896665a477da66ec6b09f8af9e1c0e',1,'nixd::util::PipedProc']]], + ['pipedproc_68',['PipedProc',['../structnixd_1_1util_1_1PipedProc.html',1,'nixd::util']]], + ['pipedproc_2eh_69',['PipedProc.h',['../PipedProc_8h.html',1,'']]], + ['pkgs_70',['Pkgs',['../namespacenixd_1_1idioms.html#a598dda8c0d66d7d37023333b5d256125',1,'nixd::idioms']]], + ['place_20the_20configuration_71',['Where to place the configuration',['../md_nixd_2docs_2configuration.html#autotoc_md15',1,'']]], + ['place_20to_20make_20diff_72',['First place to make diff',['../md_nixd_2docs_2dev.html#autotoc_md22',1,'']]], + ['plain_73',['Plain',['../classnixf_1_1Attribute.html#aa48a020e7c83244b959571ab5be09e4ba4cd8413207629a963225f4314b53adcd',1,'nixf::Attribute']]], + ['plaintext_74',['PlainText',['../namespacelspserver.html#a6d13302ad950c821ee002913c8387a00ab7ebbf7f254ef646928dd58f62383a85',1,'lspserver::PlainText'],['../namespacelspserver.html#ac7ba537910cf2ac19f50ecf4bf062c00ab7ebbf7f254ef646928dd58f62383a85',1,'lspserver::PlainText']]], + ['playing_20with_20tt_20nix_3a_3aexpr_20tt_20expressions_75',['libnixt, Playing with <tt>nix::Expr</tt> expressions.',['../md_libnixt_2README.html',1,'']]], + ['pname_76',['PName',['../structnixd_1_1PackageDescription.html#a6af9e59dd9f58c73f0ae529761a45706',1,'nixd::PackageDescription']]], + ['position_77',['Position',['../structlspserver_1_1Position.html',1,'lspserver::Position'],['../classnixf_1_1Position.html',1,'nixf::Position'],['../structnixd_1_1PackageDescription.html#ad08b5e0c73e8064d08b8d07b714bad7d',1,'nixd::PackageDescription::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)']]], + ['position_78',['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()']]], + ['positionrange_79',['PositionRange',['../classnixf_1_1PositionRange.html',1,'nixf']]], + ['positionrange_80',['positionRange',['../classnixf_1_1Node.html#aabfbecfd26d2a3feac1dd2f86404ecba',1,'nixf::Node']]], + ['positionrange_81',['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)']]], + ['positions_82',['positions',['../structlspserver_1_1SelectionRangeParams.html#ac7f61f0fad2a2a4bd330c2e01ccbf999',1,'lspserver::SelectionRangeParams']]], + ['positiontooffset_83',['positionToOffset',['../namespacelspserver.html#adc670be77dee1777c3e8bbd1e8e50b90',1,'lspserver']]], + ['prefix_84',['Prefix',['../structnixd_1_1AttrPathCompleteParams.html#a66b6ddbca6be3f08f021c9779940381c',1,'nixd::AttrPathCompleteParams']]], + ['prev_85',['prev',['../classnixf_1_1Dot.html#a89f7623cc2dd64718bc36d6cf34b7ee2',1,'nixf::Dot']]], + ['previousresultid_86',['previousResultId',['../structlspserver_1_1SemanticTokensDeltaParams.html#ab387a9b38a50f33a1a209d5aa4fd008c',1,'lspserver::SemanticTokensDeltaParams']]], + ['proc_87',['proc',['../classnixd_1_1OwnedEvalClient.html#acb524844a610498efc42a113c2672f55',1,'nixd::OwnedEvalClient::proc()'],['../structnixd_1_1StreamProc.html#a27d9ea1aa9caef0aedfbae8262687596',1,'nixd::StreamProc::proc()']]], + ['processid_88',['processId',['../structlspserver_1_1InitializeParams.html#aa6b69abd76a63349f650f2eab5315dc1',1,'lspserver::InitializeParams']]], + ['progressparams_89',['ProgressParams',['../structlspserver_1_1ProgressParams.html',1,'lspserver']]], + ['property_90',['Property',['../namespacelspserver.html#aaa34ea3819069fbee52018467e9586e0a5ad234cb2cde4266195252a23ca7d84e',1,'lspserver::Property'],['../namespacelspserver.html#a2c2f610d4b7f64335e8d68b47e18ea6fa5ad234cb2cde4266195252a23ca7d84e',1,'lspserver::Property']]], + ['provided_20along_20libnixf_91',['Standalone tools provided along libnixf',['../md_libnixf_2README.html#autotoc_md8',1,'']]], + ['ps_5fexpr_92',['PS_Expr',['../classnixf_1_1Parser.html#a7223a2cf217acfdedaa4e053c6777d88a878d15cf66f15137182468c1cb6e7b3d',1,'nixf::Parser']]], + ['ps_5findstring_93',['PS_IndString',['../classnixf_1_1Parser.html#a7223a2cf217acfdedaa4e053c6777d88a3ce52f13dc3bc9869a5fb8d707ccb493',1,'nixf::Parser']]], + ['ps_5fpath_94',['PS_Path',['../classnixf_1_1Parser.html#a7223a2cf217acfdedaa4e053c6777d88ac08fdc99ed7907f318cda66a585d6751',1,'nixf::Parser']]], + ['ps_5fstring_95',['PS_String',['../classnixf_1_1Parser.html#a7223a2cf217acfdedaa4e053c6777d88a2d59fead25ba266455ffddcdd943ce0d',1,'nixf::Parser']]], + ['ptable_96',['PTable',['../structnixt_1_1DeserializeContext.html#a9e6e738b82a819985113dcfb8450158c',1,'nixt::DeserializeContext']]], + ['ptrpool_97',['PtrPool',['../structnixt_1_1PtrPool.html',1,'nixt']]], + ['ptrpool_2eh_98',['PtrPool.h',['../PtrPool_8h.html',1,'']]], + ['ptrpool_3c_20nix_3a_3aexpr_20_3e_99',['PtrPool< nix::Expr >',['../structnixt_1_1PtrPool.html',1,'nixt']]], + ['publishdiagnosticsparams_100',['PublishDiagnosticsParams',['../structlspserver_1_1PublishDiagnosticsParams.html',1,'lspserver']]] +]; diff --git a/search/all_11.js b/search/all_11.js new file mode 100644 index 000000000..1000a95b5 --- /dev/null +++ b/search/all_11.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['query_0',['query',['../structlspserver_1_1WorkspaceSymbolParams.html#af755eb104664e7ac12c63fe626217b4d',1,'lspserver::WorkspaceSymbolParams::query'],['../classnixf_1_1ParentMapAnalysis.html#ae1a8a5013b3716efba4992f919a32a6c',1,'nixf::ParentMapAnalysis::query()'],['../classnixf_1_1VariableLookupAnalysis.html#abcb49eb87d9c66b1bded81586a817bd3',1,'nixf::VariableLookupAnalysis::query()']]], + ['quickfix_5fkind_1',['QUICKFIX_KIND',['../structlspserver_1_1CodeAction.html#ac04afd233a820f7f18d661a19d583cf9',1,'lspserver::CodeAction']]] +]; diff --git a/search/all_12.js b/search/all_12.js new file mode 100644 index 000000000..dd6d2dd13 --- /dev/null +++ b/search/all_12.js @@ -0,0 +1,59 @@ +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']]], + ['readdelimitedmessage_9',['readDelimitedMessage',['../classlspserver_1_1InboundPort.html#ac130e7a1daffba4a6a5a70b4649bd18e',1,'lspserver::InboundPort']]], + ['readline_10',['readLine',['../namespacelspserver.html#afbe5d31d367546d2d2bd41949e6ac3a8',1,'lspserver']]], + ['readme_11',['README',['../md_README.html',1,'']]], + ['readme_2emd_12',['README.md',['../README_8md.html',1,'']]], + ['readmessage_13',['readMessage',['../classlspserver_1_1InboundPort.html#aa781da274df2375c0c9f648ccc4ca393',1,'lspserver::InboundPort']]], + ['readstandardmessage_14',['readStandardMessage',['../classlspserver_1_1InboundPort.html#a75f1031eb93fc44b3a0f2649545b1a56',1,'lspserver::InboundPort']]], + ['ready_15',['ready',['../classnixd_1_1EvalClient.html#a401b8ca6ce5cef8c453d144df3938d75',1,'nixd::EvalClient']]], + ['rec_16',['rec',['../classnixf_1_1ExprAttrs.html#ab2e72b19f5e98455f60d0cf34a98f11d',1,'nixf::ExprAttrs']]], + ['record_17',['record',['../structnixt_1_1PtrPool.html#a9d6e70d8db772764426b6a60f0634d48',1,'nixt::PtrPool']]], + ['recursiveastvisitor_18',['RecursiveASTVisitor',['../structnixt_1_1RecursiveASTVisitor.html',1,'nixt']]], + ['refactor_5fkind_19',['REFACTOR_KIND',['../structlspserver_1_1CodeAction.html#a295eab424b61078692bd4724863ffb6e',1,'lspserver::CodeAction']]], + ['reference_20',['Reference',['../namespacelspserver.html#aaa34ea3819069fbee52018467e9586e0a63d5049791d9d79d86e9a108b0a999ca',1,'lspserver']]], + ['referencecontainer_21',['ReferenceContainer',['../structlspserver_1_1ClientCapabilities.html#a23245d62863c4845a7c21d0f3a3d7d9e',1,'lspserver::ClientCapabilities']]], + ['referencecontext_22',['ReferenceContext',['../structlspserver_1_1ReferenceContext.html',1,'lspserver']]], + ['referencelocation_23',['ReferenceLocation',['../structlspserver_1_1ReferenceLocation.html',1,'lspserver']]], + ['referenceparams_24',['ReferenceParams',['../structlspserver_1_1ReferenceParams.html',1,'lspserver']]], + ['region_25',['Region',['../structnixd_1_1util_1_1OwnedRegion.html#a54951ef6fe4ee01a7cdef42491a8565f',1,'nixd::util::OwnedRegion']]], + ['region_5fkind_26',['REGION_KIND',['../structlspserver_1_1FoldingRange.html#afac29491858221e8ee6cf47dbf82218a',1,'lspserver::FoldingRange']]], + ['registerbc_27',['RegisterBC',['../classnixd_1_1EvalClient.html#a373a545dcd678c49af18766457af1fd7',1,'nixd::EvalClient']]], + ['registerbcparams_28',['RegisterBCParams',['../structnixd_1_1rpc_1_1RegisterBCParams.html',1,'nixd::rpc']]], + ['registry_29',['Registry',['../classlspserver_1_1LSPServer.html#a0e1207414ee5d585895e21781c0ab850',1,'lspserver::LSPServer']]], + ['relatedinformation_30',['relatedInformation',['../structlspserver_1_1Diagnostic.html#aa0190fd8d50563c34dcb264dc75eb310',1,'lspserver::Diagnostic']]], + ['release_31',['release',['../classnixd_1_1util_1_1AutoCloseFD.html#ab69ba32fd428e832dbc04e877bdfdba9',1,'nixd::util::AutoCloseFD']]], + ['removedraft_32',['removeDraft',['../classlspserver_1_1DraftStore.html#a9432c04dbf56358e7967b9cefc096131',1,'lspserver::DraftStore']]], + ['removeformal_33',['removeFormal',['../classnixf_1_1Sema.html#abb324d1b4655fc7ca0863cd9fc2b52f8',1,'nixf::Sema']]], + ['rename_2ecpp_34',['Rename.cpp',['../Rename_8cpp.html',1,'']]], + ['renameparams_35',['RenameParams',['../structlspserver_1_1RenameParams.html',1,'lspserver']]], + ['renamepreparesupport_36',['RenamePrepareSupport',['../structlspserver_1_1ClientCapabilities.html#a71b489d3c1c56b89dab0c9737e5db47a',1,'lspserver::ClientCapabilities']]], + ['reply_37',['reply',['../classlspserver_1_1OutboundPort.html#ac1da9934b3ab8851b33551dc27dd40be',1,'lspserver::OutboundPort']]], + ['reproducible_20editors_20environment_38',['Reproducible Editors Environment',['../md_nixd_2docs_2editors_2editors.html',1,'']]], + ['requestcancelled_39',['RequestCancelled',['../namespacelspserver.html#a748780c668b7e2d2e3700f6e7075b078a40f07a96a26ddc298439934bd214e540',1,'lspserver']]], + ['resolve_40',['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_41',['ResolveParams',['../structlspserver_1_1TypeHierarchyItem_1_1ResolveParams.html',1,'lspserver::TypeHierarchyItem']]], + ['resolvepath_42',['resolvePath',['../classlspserver_1_1URI.html#af74e7671fefbbbd61db978ac8d7c35fa',1,'lspserver::URI']]], + ['resolvetypehierarchyitemparams_43',['ResolveTypeHierarchyItemParams',['../structlspserver_1_1ResolveTypeHierarchyItemParams.html',1,'lspserver']]], + ['resources_44',['Resources',['../md_README.html#autotoc_md53',1,'']]], + ['resultid_45',['resultId',['../structlspserver_1_1SemanticTokens.html#ab92abab0e225f469dd2ad0bab71f4c02',1,'lspserver::SemanticTokens::resultId'],['../structlspserver_1_1SemanticTokensOrDelta.html#af69c411d4e2dd2202d5066a541cef5de',1,'lspserver::SemanticTokensOrDelta::resultId']]], + ['resultkind_46',['ResultKind',['../structnixd_1_1rpc_1_1ExprValueResponse.html#a8a8a1e1c65bb699483e3bf866cb2e768',1,'nixd::rpc::ExprValueResponse::ResultKind'],['../Definition_8cpp.html#a7b61c53ba04239a0b57fd2effc1e1571',1,'ResultKind: Definition.cpp']]], + ['resultkinds_47',['ResultKinds',['../structnixd_1_1rpc_1_1ExprValueResponse.html#aae25daf6dbf5578afc233532331a5b40',1,'nixd::rpc::ExprValueResponse']]], + ['rhs_48',['rhs',['../classnixf_1_1ExprBinOp.html#a3f13d7e7779ecbe960a77e9a3e4529e6',1,'nixf::ExprBinOp']]], + ['role_49',['role',['../structlspserver_1_1ASTNode.html#a74f3169e46dbbda8e69896e89dab9640',1,'lspserver::ASTNode']]], + ['rootfs_50',['RootFS',['../structnixt_1_1DeserializeContext.html#a0df14235d17964b04d0471ce435f2f73',1,'nixt::DeserializeContext']]], + ['rootpath_51',['rootPath',['../structlspserver_1_1InitializeParams.html#a2c16c4e2abcb0c3d2b48e41a8af37710',1,'lspserver::InitializeParams']]], + ['rooturi_52',['rootUri',['../structlspserver_1_1InitializeParams.html#aa6049080ea5d5fef57c65e163ee3c522',1,'lspserver::InitializeParams']]], + ['rparen_53',['rparen',['../classnixf_1_1ExprParen.html#a833d9e2d5780c480d4105b1bfa325b05',1,'nixf::ExprParen']]], + ['run_54',['run',['../classlspserver_1_1LSPServer.html#af88fc336cbc2b4513a0461e4b30bb2d6',1,'lspserver::LSPServer']]], + ['runonast_55',['runOnAST',['../classnixf_1_1ParentMapAnalysis.html#acb44e336f6a90a0cc378a03fb7972e55',1,'nixf::ParentMapAnalysis::runOnAST()'],['../classnixf_1_1VariableLookupAnalysis.html#ab1cb260eeaec18bf6f5c4ccbea232b7d',1,'nixf::VariableLookupAnalysis::runOnAST()']]] +]; diff --git a/search/all_13.js b/search/all_13.js new file mode 100644 index 000000000..eb9a84a16 --- /dev/null +++ b/search/all_13.js @@ -0,0 +1,109 @@ +var searchData= +[ + ['scheme_0',['scheme',['../classlspserver_1_1URI.html#ab97804c060c2e322f07ab7c882ad3319',1,'lspserver::URI']]], + ['scope_1',['Scope',['../structnixd_1_1AttrPathCompleteParams.html#a3b4c74a24ac50a6ab4557d8f5086fdc8',1,'nixd::AttrPathCompleteParams']]], + ['scopeuri_2',['scopeUri',['../structlspserver_1_1ConfigurationItem.html#a8c5e346cbe75438657277cb6e9a2ab72',1,'lspserver::ConfigurationItem']]], + ['score_3',['score',['../structlspserver_1_1SymbolInformation.html#a07f92e4294e42238530bd0357716b56d',1,'lspserver::SymbolInformation::score'],['../structlspserver_1_1CompletionItem.html#a3125bcafb61ec3a4955f40e375c2859a',1,'lspserver::CompletionItem::score']]], + ['section_4',['section',['../structlspserver_1_1ConfigurationItem.html#a0fde8544e49cdf8fe744533fc9ac4f62',1,'lspserver::ConfigurationItem']]], + ['selectattr_5',['selectAttr',['../namespacenixt.html#aca4b69f17fe4e635e23ad7d8353e12b6',1,'nixt']]], + ['selectattrpath_6',['selectAttrPath',['../namespacenixt.html#a4de16134eaac60048b86992129cc116e',1,'nixt']]], + ['selection_7',['selection',['../structlspserver_1_1TweakArgs.html#aed640853946c3ce6439157f18d967a65',1,'lspserver::TweakArgs']]], + ['selectionrange_8',['SelectionRange',['../structlspserver_1_1SelectionRange.html',1,'lspserver']]], + ['selectionrange_9',['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_10',['SelectionRangeParams',['../structlspserver_1_1SelectionRangeParams.html',1,'lspserver']]], + ['selectoption_11',['selectOption',['../namespacenixt.html#a7c5c88005572617acd24f2d908eee82f',1,'nixt']]], + ['selectoptions_12',['selectOptions',['../namespacenixt.html#ab9bc9833cbab2f11f9e9cdf5e5fa6535',1,'nixt::selectOptions(nix::EvalState &State, nix::Value &V, std::vector< nix::Symbol >::const_iterator Begin, std::vector< nix::Symbol >::const_iterator End)'],['../namespacenixt.html#a334c2b645f16cd80b11c9c2250743265',1,'nixt::selectOptions(nix::EvalState &State, nix::Value &V, const std::vector< nix::Symbol > &AttrPath)']]], + ['selector_13',['Selector',['../namespacenixd.html#a68e497981d7105f6ce2e53957e2fcabf',1,'nixd']]], + ['selectorcreate_14',['selectOrCreate',['../classnixf_1_1Sema.html#a0b137b12fbec016d52ef7fd8bae0ff10',1,'nixf::Sema']]], + ['selectstrings_15',['selectStrings',['../namespacenixt.html#aad41132c512553ac03321bda0e89ab84',1,'nixt']]], + ['selectstringviews_16',['selectStringViews',['../namespacenixt.html#ae1bce7e3dc1ddd368a5bd0d02a950ce7',1,'nixt']]], + ['selectsymbols_17',['selectSymbols',['../namespacenixt.html#a27a8660ee6ebed6c741040f0b1671494',1,'nixt']]], + ['sema_18',['Sema',['../classnixf_1_1Sema.html',1,'nixf']]], + ['sema_19',['sema',['../classnixf_1_1ExprAttrs.html#a552568476b135321dbbc77080d965baf',1,'nixf::ExprAttrs']]], + ['sema_20',['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()']]], + ['semaactions_2ecpp_21',['SemaActions.cpp',['../SemaActions_8cpp.html',1,'']]], + ['semaactions_2eh_22',['SemaActions.h',['../SemaActions_8h.html',1,'']]], + ['semaattrs_23',['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)']]], + ['semantic_20tokens_24',['Semantic Tokens',['../md_nixd_2docs_2features.html#autotoc_md48',1,'']]], + ['semantictoken_25',['SemanticToken',['../structlspserver_1_1SemanticToken.html',1,'lspserver']]], + ['semantictokenencodingsize_26',['SemanticTokenEncodingSize',['../namespacelspserver.html#ae3e57634421f7602fa0dbd6e75086aaa',1,'lspserver']]], + ['semantictokenrefreshsupport_27',['SemanticTokenRefreshSupport',['../structlspserver_1_1ClientCapabilities.html#aef72c66925b5731b7e8a08f3e6ea7c8c',1,'lspserver::ClientCapabilities']]], + ['semantictokens_28',['SemanticTokens',['../structlspserver_1_1SemanticTokens.html',1,'lspserver::SemanticTokens'],['../structlspserver_1_1ClientCapabilities.html#ab4ca2fff918be5824d5e1cfcd92d68c7',1,'lspserver::ClientCapabilities::SemanticTokens']]], + ['semantictokens_2ecpp_29',['SemanticTokens.cpp',['../SemanticTokens_8cpp.html',1,'']]], + ['semantictokensdeltaparams_30',['SemanticTokensDeltaParams',['../structlspserver_1_1SemanticTokensDeltaParams.html',1,'lspserver']]], + ['semantictokensedit_31',['SemanticTokensEdit',['../structlspserver_1_1SemanticTokensEdit.html',1,'lspserver']]], + ['semantictokensordelta_32',['SemanticTokensOrDelta',['../structlspserver_1_1SemanticTokensOrDelta.html',1,'lspserver']]], + ['semantictokensparams_33',['SemanticTokensParams',['../structlspserver_1_1SemanticTokensParams.html',1,'lspserver']]], + ['sendmessage_34',['sendMessage',['../classlspserver_1_1OutboundPort.html#a66baca8ef340b385c4852c522c1d4a42',1,'lspserver::OutboundPort']]], + ['serialize_2eh_35',['Serialize.h',['../Serialize_8h.html',1,'']]], + ['servernotinitialized_36',['ServerNotInitialized',['../namespacelspserver.html#a748780c668b7e2d2e3700f6e7075b078a65b820c7dc7106af8ac1292df8f7119f',1,'lspserver']]], + ['setcur_37',['setCur',['../classnixf_1_1Lexer.html#aa1da76c67db3bcd5d9bcf89c8f9052c2',1,'nixf::Lexer']]], + ['settings_38',['settings',['../structlspserver_1_1DidChangeConfigurationParams.html#ae04eb8c83f034e1a569175988ce3ca88',1,'lspserver::DidChangeConfigurationParams']]], + ['setup_20configurations_39',['Teach your editor find the executable, and setup configurations.',['../md_nixd_2docs_2editor-setup.html#autotoc_md32',1,'']]], + ['setup_20guide_40',['Editor Setup Guide',['../md_nixd_2docs_2editor-setup.html#autotoc_md30',1,'']]], + ['severity_41',['Severity',['../classnixf_1_1Diagnostic.html#a1ae78a8db740ce789f2dc8b4603f9d7b',1,'nixf::Diagnostic']]], + ['severity_42',['severity',['../classdiagnostic_1_1Diagnostic.html#aa9698ef2b0f847bc8e5ff6ffad7a3fd8',1,'diagnostic.Diagnostic.severity'],['../structlspserver_1_1Diagnostic.html#ab8b54ca4cec8ed0292d8a4498207cf1c',1,'lspserver::Diagnostic::severity'],['../classnixf_1_1Diagnostic.html#ae30dc22122096f243f09a425ac9f47ae',1,'nixf::Diagnostic::severity()']]], + ['shm_43',['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_44',['shmName',['../classnixd_1_1util_1_1AutoRemoveShm.html#ae5742ac205976bb5d6ced9b2732003a9',1,'nixd::util::AutoRemoveShm']]], + ['shouldtraversepostorder_45',['shouldTraversePostOrder',['../structnixt_1_1RecursiveASTVisitor.html#aeae26a42e443af02877fe52456b5d9a3',1,'nixt::RecursiveASTVisitor']]], + ['showmessageparams_46',['ShowMessageParams',['../structlspserver_1_1ShowMessageParams.html',1,'lspserver']]], + ['signaturehelp_47',['SignatureHelp',['../structlspserver_1_1SignatureHelp.html',1,'lspserver']]], + ['signaturehelpdocumentationformat_48',['SignatureHelpDocumentationFormat',['../structlspserver_1_1ClientCapabilities.html#a11d45c27c2fafa0d63094d35c5d58054',1,'lspserver::ClientCapabilities']]], + ['signatureinformation_49',['SignatureInformation',['../structlspserver_1_1SignatureInformation.html',1,'lspserver']]], + ['signatures_50',['signatures',['../structlspserver_1_1SignatureHelp.html#ac18bbb5ea735f40b23576fefc74db7fd',1,'lspserver::SignatureHelp']]], + ['simple_2eh_51',['Simple.h',['../Simple_8h.html',1,'']]], + ['size_52',['Size',['../structnixd_1_1rpc_1_1RegisterBCParams.html#af1a3c041a9a174951d771c138eead874',1,'nixd::rpc::RegisterBCParams']]], + ['sname_53',['sname',['../classdiagnostic_1_1Diagnostic.html#aef3e2ffacd3f179723a33a40f4cec1b8',1,'diagnostic.Diagnostic.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#a9a8f1fd3dde14ee67993af31e74a0f9f',1,'nixf::Diagnostic::sname(DiagnosticKind Kind)'],['../classnixf_1_1Diagnostic.html#a5f3fa89c21696fb6221bd32cd4d8767b',1,'nixf::Diagnostic::sname() const']]], + ['snippet_54',['Snippet',['../namespacelspserver.html#aaa34ea3819069fbee52018467e9586e0ac437bb5adb99c55aa0754151c5a61e3d',1,'lspserver::Snippet'],['../namespacelspserver.html#ac7ba537910cf2ac19f50ecf4bf062c00ac437bb5adb99c55aa0754151c5a61e3d',1,'lspserver::Snippet']]], + ['sorttext_55',['sortText',['../structlspserver_1_1CompletionItem.html#a394f2a3dd0edf7043f8beb4aa66007af',1,'lspserver::CompletionItem']]], + ['source_56',['Hack nixd from source',['../md_nixd_2docs_2dev.html#autotoc_md23',1,'']]], + ['source_57',['source',['../structlspserver_1_1Diagnostic.html#ab5feec8a8e947e5e3359ede8922da2f9',1,'lspserver::Diagnostic::source'],['../classnixf_1_1Definition.html#a927a77126fd16ec089d151d99c3f6e06',1,'nixf::Definition::source()']]], + ['sourcecode_2ecpp_58',['SourceCode.cpp',['../SourceCode_8cpp.html',1,'']]], + ['sourcecode_2eh_59',['SourceCode.h',['../SourceCode_8h.html',1,'']]], + ['spelling_60',['spelling',['../namespacenixf_1_1tok.html#a22303bfd9cb56f2263925fb456d35877',1,'nixf::tok']]], + ['spk_5fescaped_61',['SPK_Escaped',['../classnixf_1_1InterpolablePart.html#a7454ab26e6f93fe207838d0388a70a12a63721b8bb75f7221f6ddfeef51cf3754',1,'nixf::InterpolablePart']]], + ['spk_5finterpolation_62',['SPK_Interpolation',['../classnixf_1_1InterpolablePart.html#a7454ab26e6f93fe207838d0388a70a12a1fb110f8e219a5c2803a7608ca3e2747',1,'nixf::InterpolablePart']]], + ['src_63',['src',['../classnixf_1_1Node.html#a8aecdb38ea3becaa4c3486e9a22bac04',1,'nixf::Node::src()'],['../classnixd_1_1NixTU.html#a99317c7022218b59ce98085182b72ceb',1,'nixd::NixTU::src()']]], + ['src_2fparse_2fparser_2eh_64',['Parser.h',['../src_2Parse_2Parser_8h.html',1,'']]], + ['stable_65',['STable',['../structnixt_1_1DeserializeContext.html#a8030356e2ec79cc8b9702f9a0cc5964b',1,'nixt::DeserializeContext']]], + ['standalone_20tools_20provided_20along_20libnixf_66',['Standalone tools provided along libnixf',['../md_libnixf_2README.html#autotoc_md8',1,'']]], + ['standard_67',['Standard',['../namespacelspserver.html#a452c423a64856fd113d0303affd5a1b8aeb6d8ae6f20283755b339c0dc273988b',1,'lspserver']]], + ['start_68',['start',['../structlspserver_1_1Range.html#a96ddad776731107707764549a79df7be',1,'lspserver::Range']]], + ['startattrseteval_69',['startAttrSetEval',['../namespacenixd.html#a59c22e4b544e14f47a68a03062967b71',1,'nixd']]], + ['startcharacter_70',['startCharacter',['../structlspserver_1_1FoldingRange.html#a343a7f7d07da469b4fc5db2df0d984c0',1,'lspserver::FoldingRange']]], + ['started_71',['Get Started',['../md_README.html#autotoc_md52',1,'']]], + ['startline_72',['startLine',['../structlspserver_1_1FoldingRange.html#ad8f95f4d508dc33b2954e9ba88f39229',1,'lspserver::FoldingRange']]], + ['startnixpkgs_73',['startNixpkgs',['../namespacenixd.html#aa7c4c0191b66da6a442112fa3459a5e0',1,'nixd']]], + ['startoption_74',['startOption',['../namespacenixd.html#a6a4b5d52ad84bc68727c3ffa1b22ebef',1,'nixd']]], + ['starttoken_75',['startToken',['../structlspserver_1_1SemanticTokensEdit.html#af609dc75a21ef6b8c63da7a971478968',1,'lspserver::SemanticTokensEdit']]], + ['state_76',['state',['../structlspserver_1_1FileStatus.html#a9bbeea280bfa730a07c4231df25f9303',1,'lspserver::FileStatus']]], + ['staticattrs_77',['staticAttrs',['../classnixf_1_1SemaAttrs.html#adb4cd398a017d36cdf5b2b581fcdf78b',1,'nixf::SemaAttrs']]], + ['staticname_78',['staticName',['../classnixf_1_1AttrName.html#a26f8f0850b88fa1ab24494cb8c969b06',1,'nixf::AttrName']]], + ['stderr_79',['Stderr',['../structnixd_1_1util_1_1PipedProc.html#a4d38460e2d6fccb6ad30b356e8528110',1,'nixd::util::PipedProc']]], + ['stdin_80',['Stdin',['../structnixd_1_1util_1_1PipedProc.html#ab7c30291763dc89721e155109b64df09',1,'nixd::util::PipedProc']]], + ['stdout_81',['Stdout',['../structnixd_1_1util_1_1PipedProc.html#aa2c11a45e02bafe869d620b930d9e14f',1,'nixd::util::PipedProc']]], + ['stream_82',['stream',['../structnixd_1_1StreamProc.html#ae9a44dc408d824577626d8630b5c605e',1,'nixd::StreamProc']]], + ['streamlogger_83',['StreamLogger',['../classlspserver_1_1StreamLogger.html',1,'lspserver::StreamLogger'],['../classlspserver_1_1StreamLogger.html#a49ddb7eeb5f140e6f79aed6c51e05491',1,'lspserver::StreamLogger::StreamLogger()']]], + ['streamproc_84',['StreamProc',['../structnixd_1_1StreamProc.html',1,'nixd::StreamProc'],['../structnixd_1_1StreamProc.html#a728068bb5347bb8f3557f26136b0bcf5',1,'nixd::StreamProc::StreamProc()']]], + ['streamproc_2ecpp_85',['StreamProc.cpp',['../StreamProc_8cpp.html',1,'']]], + ['streamproc_2eh_86',['StreamProc.h',['../StreamProc_8h.html',1,'']]], + ['streamstyle_87',['StreamStyle',['../classlspserver_1_1InboundPort.html#a506a9cc914e720b4fd005fc31fb16549',1,'lspserver::InboundPort']]], + ['striked_88',['Striked',['../namespacenixf.html#a107eebaa5e9ba959f752e4ac049cf078aefb65517f08dab1e15d017d64de22b96',1,'nixf']]], + ['string_89',['string',['../classnixf_1_1AttrName.html#aa606d39021e67e8f858ac3ecdf298133',1,'nixf::AttrName']]], + ['string_90',['String',['../namespacelspserver.html#a2c2f610d4b7f64335e8d68b47e18ea6fa27118326006d3829667a400ad23d5d98',1,'lspserver']]], + ['struct_91',['Struct',['../namespacelspserver.html#aaa34ea3819069fbee52018467e9586e0a886ef5dbd655a6c97726d7091c6b173e',1,'lspserver::Struct'],['../namespacelspserver.html#a2c2f610d4b7f64335e8d68b47e18ea6fa886ef5dbd655a6c97726d7091c6b173e',1,'lspserver::Struct']]], + ['subscription_92',['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_93',['support',['../namespacesupport.html',1,'']]], + ['support_2ecpp_94',['Support.cpp',['../Support_8cpp.html',1,'']]], + ['support_2epy_95',['support.py',['../support_8py.html',1,'']]], + ['suppress_96',['suppress',['../structnixd_1_1Configuration_1_1Diagnostic.html#a4da81afbfe2f09da1c24d02b38d149e7',1,'nixd::Configuration::Diagnostic']]], + ['switchstreamstyle_97',['switchStreamStyle',['../classlspserver_1_1LSPServer.html#ae32986041af5973c958e01718641fccb',1,'lspserver::LSPServer']]], + ['symbolinformation_98',['SymbolInformation',['../structlspserver_1_1SymbolInformation.html',1,'lspserver']]], + ['symbolkind_99',['SymbolKind',['../namespacelspserver.html#a2c2f610d4b7f64335e8d68b47e18ea6f',1,'lspserver']]], + ['symbolkindbitset_100',['SymbolKindBitset',['../namespacelspserver.html#a0e9fd79270562f41f0357ad395d09645',1,'lspserver']]], + ['symbolkindmax_101',['SymbolKindMax',['../namespacelspserver.html#aff90ea4801e512dbd2d7015aac1816d6',1,'lspserver']]], + ['symbolkindmin_102',['SymbolKindMin',['../namespacelspserver.html#ae2b1b4c253fef25798dc22648f5462a6',1,'lspserver']]], + ['symboltag_103',['SymbolTag',['../namespacelspserver.html#a0ab41ec28e07b679bf3d6de08c39b4bf',1,'lspserver']]], + ['syntax_104',['syntax',['../classnixf_1_1Definition.html#a37c7d4be512492d4095eaf163cbfbaeb',1,'nixf::Definition::syntax()'],['../classnixf_1_1EnvNode.html#a247d3076abeb43d0db03140418fd0709',1,'nixf::EnvNode::syntax()']]], + ['syntaxkinds_2einc_105',['SyntaxKinds.inc',['../SyntaxKinds_8inc.html',1,'']]] +]; diff --git a/search/all_14.js b/search/all_14.js new file mode 100644 index 000000000..bc05f4521 --- /dev/null +++ b/search/all_14.js @@ -0,0 +1,90 @@ +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()']]], + ['takeerror_2',['takeError',['../classnixd_1_1LLVMErrorException.html#a58ee073660197b77fbeb48a316c0533f',1,'nixd::LLVMErrorException']]], + ['target_3',['target',['../structlspserver_1_1DocumentLink.html#a861ebba1ff7639e897574111760f620a',1,'lspserver::DocumentLink']]], + ['teach_20your_20editor_20find_20the_20executable_20and_20setup_20configurations_4',['Teach your editor find the executable, and setup configurations.',['../md_nixd_2docs_2editor-setup.html#autotoc_md32',1,'']]], + ['testing_5',['Testing',['../md_nixd_2docs_2dev.html#autotoc_md26',1,'']]], + ['text_6',['text',['../structlspserver_1_1TextDocumentItem.html#ad041e382506df7b771f9e686ac2479fc',1,'lspserver::TextDocumentItem::text'],['../structlspserver_1_1TextDocumentContentChangeEvent.html#a4df3c87d75a49dff1b8beb97dafe6f0f',1,'lspserver::TextDocumentContentChangeEvent::text'],['../classnixf_1_1ExprSPath.html#a154a69c4cbf1d43df69eb5b3bdeb8af2',1,'nixf::ExprSPath::text()']]], + ['text_7',['Text',['../namespacelspserver.html#aaa34ea3819069fbee52018467e9586e0a9dffbf69ffba8bc38bc4e01abf4b1675',1,'lspserver::Text'],['../namespacelspserver.html#a63ffb3d295b12032400790fb555de2e9a9dffbf69ffba8bc38bc4e01abf4b1675',1,'lspserver::Text']]], + ['textdocument_8',['TextDocument',['../structlspserver_1_1InactiveRegionsParams.html#a5a1c776441b06da81f837b980dd3fa72',1,'lspserver::InactiveRegionsParams']]], + ['textdocument_9',['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']]], + ['textdocumentcontentchangeevent_10',['TextDocumentContentChangeEvent',['../structlspserver_1_1TextDocumentContentChangeEvent.html',1,'lspserver']]], + ['textdocumentedit_11',['TextDocumentEdit',['../structlspserver_1_1TextDocumentEdit.html',1,'lspserver']]], + ['textdocumentidentifier_12',['TextDocumentIdentifier',['../structlspserver_1_1TextDocumentIdentifier.html',1,'lspserver']]], + ['textdocumentitem_13',['TextDocumentItem',['../structlspserver_1_1TextDocumentItem.html',1,'lspserver']]], + ['textdocumentpositionparams_14',['TextDocumentPositionParams',['../structlspserver_1_1TextDocumentPositionParams.html',1,'lspserver']]], + ['textdocumentsync_2ecpp_15',['TextDocumentSync.cpp',['../TextDocumentSync_8cpp.html',1,'']]], + ['textdocumentsynckind_16',['TextDocumentSyncKind',['../namespacelspserver.html#a96d435eb7c5ff25b80532d96bbedef3e',1,'lspserver']]], + ['textedit_17',['TextEdit',['../structlspserver_1_1TextEdit.html',1,'lspserver::TextEdit'],['../classnixf_1_1TextEdit.html',1,'nixf::TextEdit']]], + ['textedit_18',['textEdit',['../structlspserver_1_1CompletionItem.html#a6dbc2caed2a3ee6a016fe10169ffe3ae',1,'lspserver::CompletionItem']]], + ['textedit_19',['TextEdit',['../classnixf_1_1TextEdit.html#ad5d1fdcac6cbfeed63a12b115e13e532',1,'nixf::TextEdit']]], + ['the_20configuration_20',['The configuration',['../md_nixd_2docs_2editor-setup.html#autotoc_md42',1,'Change the configuration.'],['../md_nixd_2docs_2configuration.html#autotoc_md15',1,'Where to place the configuration']]], + ['the_20executable_20and_20setup_20configurations_21',['Teach your editor find the executable, and setup configurations.',['../md_nixd_2docs_2editor-setup.html#autotoc_md32',1,'']]], + ['the_20nix_20frontend_22',['<tt>libnixf</tt>, The nix frontend',['../md_libnixf_2README.html',1,'']]], + ['the_20parsing_20algorithm_23',['The parsing algorithm',['../md_libnixf_2README.html#autotoc_md7',1,'']]], + ['the_20tt_20basic_20tt_20module_24',['The <tt>Basic</tt> module',['../md_libnixf_2README.html#autotoc_md3',1,'']]], + ['the_20tt_20parse_20tt_20module_25',['The <tt>Parse</tt> module',['../md_libnixf_2README.html#autotoc_md6',1,'']]], + ['theiasemantichighlighting_26',['TheiaSemanticHighlighting',['../structlspserver_1_1ClientCapabilities.html#a7b47fbcfcb3be0c4b7ddb2d1927a2f2c',1,'lspserver::ClientCapabilities']]], + ['then_27',['then',['../classnixf_1_1ExprIf.html#a2f80b0835b006680c5e764d2673c41a0',1,'nixf::ExprIf']]], + ['tidy_20tt_28',['<tt>nixf-tidy</tt>',['../md_libnixf_2README.html#autotoc_md9',1,'']]], + ['tidy_20tt_20in_20your_20workflow_29',['Use <tt>nixf-tidy</tt> in your workflow',['../md_libnixf_2README.html#autotoc_md11',1,'']]], + ['title_30',['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_31',['to',['../structlspserver_1_1CallHierarchyOutgoingCall.html#a660cfc5378905361d45e1b2f6ef40494',1,'lspserver::CallHierarchyOutgoingCall']]], + ['to_20make_20diff_32',['First place to make diff',['../md_nixd_2docs_2dev.html#autotoc_md22',1,'']]], + ['to_20place_20the_20configuration_33',['Where to place the configuration',['../md_nixd_2docs_2configuration.html#autotoc_md15',1,'']]], + ['to_5fjson_34',['to_json',['../namespacenixf.html#a5b1322453c32d0d5d3bd3664bd06fa9a',1,'nixf::to_json(nlohmann::json &R, const LexerCursor &LC)'],['../namespacenixf.html#a78f5bc0d96baa62b8cbc274e3fff14c6',1,'nixf::to_json(nlohmann::json &R, const LexerCursorRange &LCR)'],['../namespacenixf.html#adf20d7251ae7a82388b957740ddac9f8',1,'nixf::to_json(nlohmann::json &R, const PartialDiagnostic &D)'],['../namespacenixf.html#a4568bd3a2ba5074149db3bf78a310b05',1,'nixf::to_json(nlohmann::json &R, const Diagnostic &D)'],['../namespacenixf.html#aa09bc3bf19c873713b68cce7e1372a9e',1,'nixf::to_json(nlohmann::json &R, const Note &N)'],['../namespacenixf.html#a000c506cb61d7ba0f19528e6285bbd88',1,'nixf::to_json(nlohmann::json &R, const TextEdit &D)'],['../namespacenixf.html#abd85e28ef427f4a7719486eb88870573',1,'nixf::to_json(nlohmann::json &R, const Fix &F)']]], + ['todef_35',['toDef',['../classnixf_1_1VariableLookupAnalysis.html#a592946effb9a6656c36ebf5608274f08',1,'nixf::VariableLookupAnalysis']]], + ['todefmap_36',['ToDefMap',['../classnixf_1_1VariableLookupAnalysis.html#a34244bd2f0d6ae593b7a289e8108468e',1,'nixf::VariableLookupAnalysis']]], + ['tojson_37',['toJSON',['../namespacenixd.html#a21ac91dd6f9f2107002d0bcebc40f56b',1,'nixd::toJSON(const PackageDescription &Params)'],['../namespacenixd.html#a4ef199245224b634084164328167fdeb',1,'nixd::toJSON(const ValueMeta &Params)'],['../namespacenixd.html#a03351f8340dbcabb9e5cba32b82803b0',1,'nixd::toJSON(const AttrPathInfoResponse &Params)'],['../namespacenixd.html#ab6168035654f44eaa3d6db5b5a183d6c',1,'nixd::toJSON(const AttrPathCompleteParams &Params)'],['../namespacenixd.html#a2b5ab49c923c8006f6d783512d4e1273',1,'nixd::toJSON(const OptionType &Params)'],['../namespacenixd.html#a4d270bbabc3858d0091ef1cd550af6c0',1,'nixd::toJSON(const OptionDescription &Params)'],['../namespacenixd.html#addf8ee3694329211f427c99e4176a031',1,'nixd::toJSON(const OptionField &Params)'],['../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)'],['../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 &)']]], + ['tok_38',['TOK',['../TokenKinds_8h.html#a945154b9ce5490ab4a1da02b8f3de998',1,'TokenKinds.h']]], + ['tok_5fbin_5fop_39',['TOK_BIN_OP',['../ParseOp_8cpp.html#a052cfda61e4253302a7782f4507def5c',1,'ParseOp.cpp']]], + ['tok_5fkeyword_40',['TOK_KEYWORD',['../Lexer_8cpp.html#a55ecb387580ba22c6a8bd4fef5aa5919',1,'TOK_KEYWORD: Lexer.cpp'],['../Token_8h.html#a55ecb387580ba22c6a8bd4fef5aa5919',1,'TOK_KEYWORD: Token.h']]], + ['token_41',['Token',['../classnixf_1_1Token.html',1,'nixf::Token'],['../classnixf_1_1Token.html#a663c3e1dc061f2adb6fa4587d1c86cad',1,'nixf::Token::Token()']]], + ['token_42',['token',['../structlspserver_1_1WorkDoneProgressCreateParams.html#a4773c3d8da9b802f0ea4014d215a16bc',1,'lspserver::WorkDoneProgressCreateParams::token'],['../structlspserver_1_1ProgressParams.html#af32f955802d46f7520d5dfea40ac1a23',1,'lspserver::ProgressParams::token']]], + ['token_2eh_43',['Token.h',['../Token_8h.html',1,'']]], + ['tokenkind_44',['TokenKind',['../namespacenixf_1_1tok.html#ac48889fb889670cdfa47e8ec6b2006b2',1,'nixf::tok']]], + ['tokenkinds_2eh_45',['TokenKinds.h',['../TokenKinds_8h.html',1,'']]], + ['tokenkinds_2einc_46',['TokenKinds.inc',['../TokenKinds_8inc.html',1,'']]], + ['tokenmodifiers_47',['tokenModifiers',['../structlspserver_1_1SemanticToken.html#af42e29b209027f7b6252ae1a4303c43c',1,'lspserver::SemanticToken']]], + ['tokens_48',['Semantic Tokens',['../md_nixd_2docs_2features.html#autotoc_md48',1,'']]], + ['tokens_49',['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_50',['Tokens.inc',['../Tokens_8inc.html',1,'']]], + ['tokentype_51',['tokenType',['../structlspserver_1_1SemanticToken.html#a4e425e4a09bf442db63393a70d293ebb',1,'lspserver::SemanticToken']]], + ['toksemi_52',['tokSemi',['../classnixf_1_1ExprWith.html#a56dab8af49eb79e7b17e9fa049287f4e',1,'nixf::ExprWith']]], + ['tolspposition_53',['toLSPPosition',['../namespacenixd.html#a4ef1be7481558afa9b5e1f2d5716e0ee',1,'nixd']]], + ['tolsprange_54',['toLSPRange',['../namespacenixd.html#ac5b35c065b009c335878273fbd08cfaa',1,'nixd']]], + ['tolsptags_55',['toLSPTags',['../namespacenixd.html#aed677a632cad0aba844def114336270a',1,'nixd']]], + ['toml_56',['languages.toml',['../md_nixd_2docs_2editor-setup.html#autotoc_md41',1,'']]], + ['tonixfposition_57',['toNixfPosition',['../namespacenixd.html#a937441b968008649c460c9f14ebd2de8',1,'nixd']]], + ['tonixfrange_58',['toNixfRange',['../namespacenixd.html#a1d0246751142b5eb16cd8dd111da7e89',1,'nixd']]], + ['tools_20provided_20along_20libnixf_59',['Standalone tools provided along libnixf',['../md_libnixf_2README.html#autotoc_md8',1,'']]], + ['tostring_60',['toString',['../classlspserver_1_1URI.html#abbcf9d8d5d654fad7720b188781de90c',1,'lspserver::URI']]], + ['tosymbols_61',['toSymbols',['../namespacenixt.html#ac71e3c3a8e81e63ee5b513cf1b76d196',1,'nixt::toSymbols(nix::SymbolTable &STable, const std::vector< std::string > &Names)'],['../namespacenixt.html#a2acdeae51eb08f895917d09730ebe751',1,'nixt::toSymbols(nix::SymbolTable &STable, const std::vector< std::string_view > &Names)']]], + ['trace_62',['trace',['../structlspserver_1_1InitializeParams.html#a75b313b2cd966478e96f036baa1795ce',1,'lspserver::InitializeParams']]], + ['tracelevel_63',['TraceLevel',['../namespacelspserver.html#a84ff90cc9ec54bbbee73d83bdf8c6928',1,'lspserver']]], + ['traverse_2einc_64',['Traverse.inc',['../Traverse_8inc.html',1,'']]], + ['traverseexpr_65',['traverseExpr',['../structnixt_1_1RecursiveASTVisitor.html#a57603dce28547d1f8d08bab24eb765c6',1,'nixt::RecursiveASTVisitor']]], + ['triggercharacter_66',['triggerCharacter',['../structlspserver_1_1CompletionContext.html#a2b2c02bdba5bcd3490677374222bdaf1',1,'lspserver::CompletionContext']]], + ['triggercharacter_67',['TriggerCharacter',['../namespacelspserver.html#a509e18127b3bb638d67ba0aaf019afbeac883aed3fc5d1f53a248a4eff2fb63b0',1,'lspserver']]], + ['triggerkind_68',['triggerKind',['../structlspserver_1_1CompletionContext.html#a59109e3e142aa1bc8f0c6451beebe17f',1,'lspserver::CompletionContext']]], + ['triggertriggerforincompletecompletions_69',['TriggerTriggerForIncompleteCompletions',['../namespacelspserver.html#a509e18127b3bb638d67ba0aaf019afbea9073e5ba1ac00bb9c0b728f3c3d9db5f',1,'lspserver']]], + ['try_5fto_70',['TRY_TO',['../Visitor_8h.html#ae878ccdb81d0f1de95a6d98b83a64e58',1,'Visitor.h']]], + ['try_5fto_5ftraverse_71',['TRY_TO_TRAVERSE',['../Visitor_8h.html#a7b0e21ce7f2491ebf87b82f627181121',1,'Visitor.h']]], + ['tt_20basic_20tt_20module_72',['The <tt>Basic</tt> module',['../md_libnixf_2README.html#autotoc_md3',1,'']]], + ['tt_20diagnostic_20tt_20and_20fixes_73',['<tt>Diagnostic</tt> and Fixes',['../md_libnixf_2README.html#autotoc_md4',1,'']]], + ['tt_20libnixf_20tt_20the_20nix_20frontend_74',['<tt>libnixf</tt>, The nix frontend',['../md_libnixf_2README.html',1,'']]], + ['tt_20nix_3a_3aexpr_20tt_20expressions_75',['libnixt, Playing with <tt>nix::Expr</tt> expressions.',['../md_libnixt_2README.html',1,'']]], + ['tt_20nixf_20tidy_20tt_76',['<tt>nixf-tidy</tt>',['../md_libnixf_2README.html#autotoc_md9',1,'']]], + ['tt_20nixf_20tidy_20tt_20in_20your_20workflow_77',['Use <tt>nixf-tidy</tt> in your workflow',['../md_libnixf_2README.html#autotoc_md11',1,'']]], + ['tt_20parse_20tt_20module_78',['The <tt>Parse</tt> module',['../md_libnixf_2README.html#autotoc_md6',1,'']]], + ['tweakargs_79',['TweakArgs',['../structlspserver_1_1TweakArgs.html',1,'lspserver']]], + ['tweakid_80',['tweakID',['../structlspserver_1_1TweakArgs.html#a2d17e8d4d528bde86452611c98158f9f',1,'lspserver::TweakArgs']]], + ['type_81',['type',['../structnixt_1_1detail_1_1R.html#a9e0bfbfee7812e96d2759c100ae65ffb',1,'nixt::detail::R::type'],['../structnixt_1_1detail_1_1EvalCacheF.html#a337c7a966175c78727eb09aa1e3a6ca9',1,'nixt::detail::EvalCacheF::type'],['../structlspserver_1_1ShowMessageParams.html#a3b448495f8a6838a18dac55158a863a6',1,'lspserver::ShowMessageParams::type'],['../structlspserver_1_1FileEvent.html#abd9dc8d9b1b38442013caabb9bf0b113',1,'lspserver::FileEvent::type']]], + ['type_82',['Type',['../structnixd_1_1ValueMeta.html#a869b599de4d1a80f3e1a5942401d2bac',1,'nixd::ValueMeta::Type'],['../structnixd_1_1OptionDescription.html#ab1ce33238da11ec53e1d0399ff78ba87',1,'nixd::OptionDescription::Type'],['../namespacelspserver.html#ad0e04d3cce4fb889bbf88064199247f8aa1fa27779242b4902f7ae3bdd5c6d508',1,'lspserver::Type']]], + ['typehierarchydirection_83',['TypeHierarchyDirection',['../namespacelspserver.html#a7d97020df0f5bac6de94854de72d22eb',1,'lspserver']]], + ['typehierarchyitem_84',['TypeHierarchyItem',['../structlspserver_1_1TypeHierarchyItem.html',1,'lspserver']]], + ['typehierarchyprepareparams_85',['TypeHierarchyPrepareParams',['../structlspserver_1_1TypeHierarchyPrepareParams.html',1,'lspserver']]], + ['typeparameter_86',['TypeParameter',['../namespacelspserver.html#aaa34ea3819069fbee52018467e9586e0abacdd231dc91b0d271df56df65d1eab3',1,'lspserver::TypeParameter'],['../namespacelspserver.html#a2c2f610d4b7f64335e8d68b47e18ea6fabacdd231dc91b0d271df56df65d1eab3',1,'lspserver::TypeParameter']]] +]; diff --git a/search/all_15.js b/search/all_15.js new file mode 100644 index 000000000..03da24503 --- /dev/null +++ b/search/all_15.js @@ -0,0 +1,29 @@ +var searchData= +[ + ['undefined_0',['Undefined',['../classnixf_1_1VariableLookupAnalysis.html#a2b0542627cacd7b6ccd0d4e74d5a8092aec0fc0100c4fc1ce4eea230c3dc10360',1,'nixf::VariableLookupAnalysis']]], + ['undefinedvarexception_1',['UndefinedVarException',['../structnixd_1_1idioms_1_1UndefinedVarException.html',1,'nixd::idioms']]], + ['unionranges_2',['unionRanges',['../namespacelspserver.html#a1d543d73f88565b59621538d51fb34df',1,'lspserver']]], + ['unit_3',['Unit',['../namespacelspserver.html#aaa34ea3819069fbee52018467e9586e0a19c562a36aeb455d09534f93b4f5236f',1,'lspserver']]], + ['unknownerrorcode_4',['UnknownErrorCode',['../namespacelspserver.html#a748780c668b7e2d2e3700f6e7075b078a6987ecdaa445fee7770c8ee77c1c0551',1,'lspserver']]], + ['unnecessary_5',['Unnecessary',['../namespacelspserver.html#af6f9096acddc880ee3694315f62d1be2aa53a0e56e8caae20491695a36a74b59c',1,'lspserver']]], + ['unsafecreate_6',['unsafeCreate',['../classnixf_1_1LexerCursor.html#a5e9b05e14a69c5c6b6ef8eda7b0af416',1,'nixf::LexerCursor']]], + ['unsupportedencoding_7',['UnsupportedEncoding',['../namespacelspserver.html#a2ea2a228752a8a5289ef9ed3c27bbc88aa3f2a49bd188837ebb624a98293899a6',1,'lspserver']]], + ['upenv_8',['upEnv',['../namespacenixd.html#a4a51147e5361aa8285840fd52a0137c7',1,'nixd']]], + ['upexpr_9',['upExpr',['../classnixf_1_1ParentMapAnalysis.html#a018c41ed1129da1d6605556a50880a7c',1,'nixf::ParentMapAnalysis']]], + ['upto_10',['upTo',['../classnixf_1_1ParentMapAnalysis.html#a8121cffec7ef83babe0147ef17980300',1,'nixf::ParentMapAnalysis']]], + ['uri_11',['URI',['../classlspserver_1_1URI.html',1,'lspserver::URI'],['../classlspserver_1_1URI.html#af4b7b70de82110b7dc3238a1a7f61364',1,'lspserver::URI::URI()']]], + ['uri_12',['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_13',['URI.cpp',['../URI_8cpp.html',1,'']]], + ['uri_2eh_14',['URI.h',['../URI_8h.html',1,'']]], + ['uriforfile_15',['URIForFile',['../structlspserver_1_1URIForFile.html',1,'lspserver::URIForFile'],['../structlspserver_1_1URIForFile.html#a656ca164a73f3b520aab8db1711f9b4e',1,'lspserver::URIForFile::URIForFile()']]], + ['urifromabsolutepath_16',['uriFromAbsolutePath',['../classlspserver_1_1URIScheme.html#aad975c1e77d1061f170ee8dd21e06ea5',1,'lspserver::URIScheme']]], + ['urischeme_17',['URIScheme',['../classlspserver_1_1URIScheme.html',1,'lspserver']]], + ['urischemeregistry_18',['URISchemeRegistry',['../namespacelspserver.html#ac4f9a32127fe15dcc1a1c92e6b99ff81',1,'lspserver']]], + ['usage_19',['Usage',['../md_libnixf_2README.html#autotoc_md10',1,'']]], + ['use_20tt_20nixf_20tidy_20tt_20in_20your_20workflow_20',['Use <tt>nixf-tidy</tt> in your workflow',['../md_libnixf_2README.html#autotoc_md11',1,'']]], + ['usedby_21',['usedBy',['../classnixf_1_1Definition.html#a13895a1ddc27d70e30ef86d1fbef06e9',1,'nixf::Definition']]], + ['uses_22',['uses',['../classnixf_1_1Definition.html#aea28c5067cab05ffbb58c7392b58c2e9',1,'nixf::Definition']]], + ['utf16_23',['UTF16',['../namespacelspserver.html#a2ea2a228752a8a5289ef9ed3c27bbc88af023832671d1cf95ebe4934d58722a14',1,'lspserver']]], + ['utf32_24',['UTF32',['../namespacelspserver.html#a2ea2a228752a8a5289ef9ed3c27bbc88a92dca193c750fb95044806ff8f00db6c',1,'lspserver']]], + ['utf8_25',['UTF8',['../namespacelspserver.html#a2ea2a228752a8a5289ef9ed3c27bbc88aeb7ee0fb585e2ac64fdc086466c474b1',1,'lspserver']]] +]; diff --git a/search/all_16.js b/search/all_16.js new file mode 100644 index 000000000..57021f715 --- /dev/null +++ b/search/all_16.js @@ -0,0 +1,30 @@ +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()'],['../classnixf_1_1Attribute.html#a4983c64b97a333567daf1cb6398c66d7',1,'nixf::Attribute::value()'],['../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']]], + ['value_2ecpp_2',['Value.cpp',['../Value_8cpp.html',1,'']]], + ['value_2eh_3',['Value.h',['../Value_8h.html',1,'']]], + ['valueid_4',['ValueID',['../structnixd_1_1rpc_1_1ExprValueResponse.html#ae2ee320f645ae39f13154dacfcbbf273',1,'nixd::rpc::ExprValueResponse']]], + ['valuekind_5',['ValueKind',['../structnixd_1_1rpc_1_1ExprValueResponse.html#a3f4582b6f9276c6086c0361d034acd59',1,'nixd::rpc::ExprValueResponse']]], + ['valuekinds_6',['ValueKinds',['../structnixd_1_1rpc_1_1ExprValueResponse.html#a788097e9ca88ca57b0059f5805570f21',1,'nixd::rpc::ExprValueResponse']]], + ['valuemap_7',['ValueMap',['../namespacenixt.html#a975d3f84f7f8c866c06d8891bdc30a39',1,'nixt']]], + ['valuemeta_8',['ValueMeta',['../structnixd_1_1ValueMeta.html',1,'nixd']]], + ['variable_9',['Variable',['../namespacelspserver.html#aaa34ea3819069fbee52018467e9586e0a47c14840d8e15331fa420b9b2f757cd9',1,'lspserver::Variable'],['../namespacelspserver.html#a2c2f610d4b7f64335e8d68b47e18ea6fa47c14840d8e15331fa420b9b2f757cd9',1,'lspserver::Variable']]], + ['variablelookup_10',['variableLookup',['../classnixd_1_1NixTU.html#ae98adc5ccb0cf1bcd9eb4615b263be4a',1,'nixd::NixTU']]], + ['variablelookup_2ecpp_11',['VariableLookup.cpp',['../VariableLookup_8cpp.html',1,'']]], + ['variablelookup_2eh_12',['VariableLookup.h',['../VariableLookup_8h.html',1,'']]], + ['variablelookupanalysis_13',['VariableLookupAnalysis',['../classnixf_1_1VariableLookupAnalysis.html',1,'nixf::VariableLookupAnalysis'],['../classnixf_1_1VariableLookupAnalysis.html#ac7368d509727e75c46096ef6304667fe',1,'nixf::VariableLookupAnalysis::VariableLookupAnalysis()']]], + ['verbose_14',['Verbose',['../classlspserver_1_1Logger.html#a96543597ca6f5377381ee5a4dba571faa2aede9106ebc0fdf12422f0613a6988a',1,'lspserver::Logger::Verbose'],['../namespacelspserver.html#a84ff90cc9ec54bbbee73d83bdf8c6928ad4a9fa383ab700c5bdd6f31cf7df0faf',1,'lspserver::Verbose']]], + ['version_15',['Version',['../structnixt_1_1ASTHeader.html#a0ed75d0ae116822afd23b1b3222874fa',1,'nixt::ASTHeader::Version'],['../structnixd_1_1PackageDescription.html#a32f300264567e83532770245c47ca9ae',1,'nixd::PackageDescription::Version'],['../structlspserver_1_1DraftStore_1_1Draft.html#a2006ec1c2e11fbfb33cf12e6ae140627',1,'lspserver::DraftStore::Draft::Version']]], + ['version_16',['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']]], + ['versionedtextdocumentidentifier_17',['VersionedTextDocumentIdentifier',['../structlspserver_1_1VersionedTextDocumentIdentifier.html',1,'lspserver']]], + ['view_18',['view',['../classnixf_1_1Token.html#af94bb88ab40927bd69a5911deb92e341',1,'nixf::Token::view()'],['../namespacenixt.html#a3fc7850857c2f3926fd23e418dd73a0d',1,'nixt::view()']]], + ['vim_19',['(Neo)vim',['../md_nixd_2docs_2editor-setup.html#autotoc_md34',1,'']]], + ['visitexpr_20',['visitExpr',['../structnixt_1_1RecursiveASTVisitor.html#ac5f669c0e627795c6afaac79704a4bac',1,'nixt::RecursiveASTVisitor']]], + ['visitor_2eh_21',['Visitor.h',['../Visitor_8h.html',1,'']]], + ['vlaexception_22',['VLAException',['../structnixd_1_1idioms_1_1VLAException.html',1,'nixd::idioms']]], + ['vlog_23',['vlog',['../namespacelspserver.html#af758a20d871350d59fd5d1fc530acc73',1,'lspserver']]], + ['vmap_24',['VMap',['../structnixt_1_1HookExprAssert.html#ae8f0da9f1ad00ac65257fb753d4ff703',1,'nixt::HookExprAssert::VMap'],['../structnixt_1_1HookExprAttrs.html#a608089d0ff691ae5f978de8641a83baa',1,'nixt::HookExprAttrs::VMap'],['../structnixt_1_1HookExprCall.html#a392d88b5021eed7f4006e344d8cf2552',1,'nixt::HookExprCall::VMap'],['../structnixt_1_1HookExprConcatStrings.html#a73ac0ec5cd4916260e59e4d2c5795014',1,'nixt::HookExprConcatStrings::VMap'],['../structnixt_1_1HookExprFloat.html#a81f29cc623264051fb8c5b0937526370',1,'nixt::HookExprFloat::VMap'],['../structnixt_1_1HookExprIf.html#a76a55a9579db988f09070dfc4c4c1b22',1,'nixt::HookExprIf::VMap'],['../structnixt_1_1HookExprInt.html#a682bf04139622a7583b61689d220f090',1,'nixt::HookExprInt::VMap'],['../structnixt_1_1HookExprLambda.html#ab734d36fb6aa544115bc4a01d362da5e',1,'nixt::HookExprLambda::VMap'],['../structnixt_1_1HookExprLet.html#afb8ca0c469eb73d11e677b6b64de43de',1,'nixt::HookExprLet::VMap'],['../structnixt_1_1HookExprList.html#aec9faa8b57269854a7384c405b3fa5be',1,'nixt::HookExprList::VMap'],['../structnixt_1_1HookExprOpAnd.html#aa70826f5ad64b58c494891943ddf5dad',1,'nixt::HookExprOpAnd::VMap'],['../structnixt_1_1HookExprOpConcatLists.html#af344acf6e5e12b844172d027a3b3be00',1,'nixt::HookExprOpConcatLists::VMap'],['../structnixt_1_1HookExprOpEq.html#a80e92b74e50192cae169dbe115fd71a2',1,'nixt::HookExprOpEq::VMap'],['../structnixt_1_1HookExprOpHasAttr.html#a125e6d242af333b5fe5ae21df6aec66e',1,'nixt::HookExprOpHasAttr::VMap'],['../structnixt_1_1HookExprOpImpl.html#aadfa759aeeb7a49a748c2a6399ec2b7c',1,'nixt::HookExprOpImpl::VMap'],['../structnixt_1_1HookExprOpNEq.html#af8f55d82fa060d0dc7ebb1699b019c2f',1,'nixt::HookExprOpNEq::VMap'],['../structnixt_1_1HookExprOpNot.html#af04e5cd0b6410b7c2a4f9fa4d2716436',1,'nixt::HookExprOpNot::VMap'],['../structnixt_1_1HookExprOpOr.html#a2013ea177c180983f4cc2d657501a202',1,'nixt::HookExprOpOr::VMap'],['../structnixt_1_1HookExprOpUpdate.html#afda4f56f5d960a9a808decc01225d538',1,'nixt::HookExprOpUpdate::VMap'],['../structnixt_1_1HookExprPath.html#af476d6e2f469255a3f278bb81f5dccb7',1,'nixt::HookExprPath::VMap'],['../structnixt_1_1HookExprPos.html#aa14fe8af1e779a193778b1d55dff52b4',1,'nixt::HookExprPos::VMap'],['../structnixt_1_1HookExprSelect.html#ada84c4956697a11f2e1e345f00be360e',1,'nixt::HookExprSelect::VMap'],['../structnixt_1_1HookExprString.html#a381516e23f6b3cfb89559a1a1b4c433f',1,'nixt::HookExprString::VMap'],['../structnixt_1_1HookExprVar.html#a0f9593a6f29b247d2c868122dbf2f3f1',1,'nixt::HookExprVar::VMap'],['../structnixt_1_1HookExprWith.html#a4a1c83259498778cb1b6d9cacb33b8f8',1,'nixt::HookExprWith::VMap']]], + ['vscode_25',['VSCode',['../md_nixd_2docs_2editor-setup.html#autotoc_md33',1,'']]], + ['vscodium_26',['VSCodium',['../md_nixd_2docs_2editors_2editors.html#autotoc_md44',1,'']]] +]; diff --git a/search/all_17.js b/search/all_17.js new file mode 100644 index 000000000..5cb7d04a2 --- /dev/null +++ b/search/all_17.js @@ -0,0 +1,27 @@ +var searchData= +[ + ['wantdiagnostics_0',['wantDiagnostics',['../structlspserver_1_1DidChangeTextDocumentParams.html#aa5de91313cf41fc019c0d2ff6add6fd2',1,'lspserver::DidChangeTextDocumentParams']]], + ['warning_1',['Warning',['../namespacenixd_1_1rpc.html#adb82fac4db5997115883b375252dd765a0eaadb4fcb48a0a0ed7bc9868be9fbaa',1,'nixd::rpc::Warning'],['../namespacelspserver.html#a200604f8ba85e73cda84aa47933d8fcba0eaadb4fcb48a0a0ed7bc9868be9fbaa',1,'lspserver::Warning']]], + ['we_20❤️_20contributions_2',['We ❤️ Contributions!',['../md_nixd_2docs_2editor-setup.html',1,'']]], + ['what_3',['what',['../classnixd_1_1JSONParseException.html#a68e88123489624c1fa250be6967490f7',1,'nixd::JSONParseException::what()'],['../classnixd_1_1JSONSchemaException.html#a42ed87d185c94ecabaaefd572d519883',1,'nixd::JSONSchemaException::what()'],['../structnixd_1_1idioms_1_1NotAnIdiomException.html#a9b42117d37183e58850ade7bf8e22791',1,'nixd::idioms::NotAnIdiomException::what()'],['../structnixd_1_1idioms_1_1NoLocationForBuiltinVariable.html#a1006c7be7471cae8db24564c2a9a02ff',1,'nixd::idioms::NoLocationForBuiltinVariable::what()'],['../structnixd_1_1idioms_1_1NoSuchVarException.html#aa4cd965bbd6ee700fcdb3281645fffd5',1,'nixd::idioms::NoSuchVarException::what()'],['../structnixd_1_1idioms_1_1UndefinedVarException.html#a020f6d64bd005a89c639de4b89ec7931',1,'nixd::idioms::UndefinedVarException::what()'],['../structnixd_1_1idioms_1_1DynamicNameException.html#ab054c18ae8a0d676b76698ce673351aa',1,'nixd::idioms::DynamicNameException::what()'],['../structnixd_1_1idioms_1_1NotVariableSelect.html#a6cd9178c8bab2dcbdd7f33b3919035b3',1,'nixd::idioms::NotVariableSelect::what()'],['../structnixd_1_1CannotFindVarException.html#a81282da207f07308d38d30c7e8fa55ad',1,'nixd::CannotFindVarException::what()']]], + ['where_20to_20place_20the_20configuration_4',['Where to place the configuration',['../md_nixd_2docs_2configuration.html#autotoc_md15',1,'']]], + ['who_20needs_20configuration_5',['Default configuration & Who needs configuration',['../md_nixd_2docs_2configuration.html#autotoc_md14',1,'']]], + ['with_6',['with',['../classnixf_1_1ExprWith.html#a29f83259744bc8dfb316e7d2485799fc',1,'nixf::ExprWith']]], + ['with_20tt_20nix_3a_3aexpr_20tt_20expressions_7',['libnixt, Playing with <tt>nix::Expr</tt> expressions.',['../md_libnixt_2README.html',1,'']]], + ['withdynamic_8',['WithDynamic',['../namespacenixd.html#a8a9fff4151180c5042891772c134b76ca021f27eceaa8a25b201cdbfc6f7146d3',1,'nixd']]], + ['workdoneprogress_9',['WorkDoneProgress',['../structlspserver_1_1ClientCapabilities.html#a12f51f1ebbf150096735b8c0d08ae1da',1,'lspserver::ClientCapabilities']]], + ['workdoneprogressbegin_10',['WorkDoneProgressBegin',['../structlspserver_1_1WorkDoneProgressBegin.html',1,'lspserver']]], + ['workdoneprogresscreateparams_11',['WorkDoneProgressCreateParams',['../structlspserver_1_1WorkDoneProgressCreateParams.html',1,'lspserver']]], + ['workdoneprogressend_12',['WorkDoneProgressEnd',['../structlspserver_1_1WorkDoneProgressEnd.html',1,'lspserver']]], + ['workdoneprogressreport_13',['WorkDoneProgressReport',['../structlspserver_1_1WorkDoneProgressReport.html',1,'lspserver']]], + ['workers_14',['Memory model about nix language & nixd workers',['../md_nixd_2docs_2dev.html#autotoc_md25',1,'']]], + ['workflow_15',['Use <tt>nixf-tidy</tt> in your workflow',['../md_libnixf_2README.html#autotoc_md11',1,'']]], + ['working_20executable_16',['Installation - get a working executable',['../md_nixd_2docs_2editor-setup.html#autotoc_md31',1,'']]], + ['workingdirectory_17',['workingDirectory',['../structlspserver_1_1ClangdCompileCommand.html#a6241182e88f916fa93a8ba490298bb2b',1,'lspserver::ClangdCompileCommand']]], + ['workspaceconfiguration_18',['WorkspaceConfiguration',['../structlspserver_1_1ClientCapabilities.html#a5c1a520b8a2460a00473adda0e35c340',1,'lspserver::ClientCapabilities']]], + ['workspaceedit_19',['WorkspaceEdit',['../structlspserver_1_1WorkspaceEdit.html',1,'lspserver']]], + ['workspacesymbolkinds_20',['WorkspaceSymbolKinds',['../structlspserver_1_1ClientCapabilities.html#a76b8d5eb3293f7d8fcd4956492ce4a3a',1,'lspserver::ClientCapabilities']]], + ['workspacesymbolparams_21',['WorkspaceSymbolParams',['../structlspserver_1_1WorkspaceSymbolParams.html',1,'lspserver']]], + ['wrap_22',['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_23',['Write',['../namespacelspserver.html#a63ffb3d295b12032400790fb555de2e9a1129c0e4d43f2d121652a7302712cff6',1,'lspserver']]] +]; diff --git a/search/all_18.js b/search/all_18.js new file mode 100644 index 000000000..3b44de499 --- /dev/null +++ b/search/all_18.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['your_20editor_20find_20the_20executable_20and_20setup_20configurations_0',['Teach your editor find the executable, and setup configurations.',['../md_nixd_2docs_2editor-setup.html#autotoc_md32',1,'']]], + ['your_20workflow_1',['Use <tt>nixf-tidy</tt> in your workflow',['../md_libnixf_2README.html#autotoc_md11',1,'']]] +]; diff --git a/search/all_19.js b/search/all_19.js new file mode 100644 index 000000000..014505495 --- /dev/null +++ b/search/all_19.js @@ -0,0 +1,16 @@ +var searchData= +[ + ['_7eattrsetclientproc_0',['~AttrSetClientProc',['../classnixd_1_1AttrSetClientProc.html#a489d1203047c98e1e3d0ec3b802f613f',1,'nixd::AttrSetClientProc']]], + ['_7eautoclosefd_1',['~AutoCloseFD',['../classnixd_1_1util_1_1AutoCloseFD.html#a847af93bb4d9cb5339edc9fbf785c226',1,'nixd::util::AutoCloseFD']]], + ['_7eautoremoveshm_2',['~AutoRemoveShm',['../classnixd_1_1util_1_1AutoRemoveShm.html#a317a460aa901b745e1d51f5bc94f3210',1,'nixd::util::AutoRemoveShm']]], + ['_7econtroller_3',['~Controller',['../classnixd_1_1Controller.html#a8ad8533f6082e0c1bf1cd9a65044d11f',1,'nixd::Controller']]], + ['_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#a369862cf5522fca995530738512f1fcd',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_1a.js b/search/all_1a.js new file mode 100644 index 000000000..b0cdd6e4f --- /dev/null +++ b/search/all_1a.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['❤️_20contributions_0',['We ❤️ Contributions!',['../md_nixd_2docs_2editor-setup.html',1,'']]] +]; diff --git a/search/all_2.js b/search/all_2.js new file mode 100644 index 000000000..8d199672f --- /dev/null +++ b/search/all_2.js @@ -0,0 +1,19 @@ +var searchData= +[ + ['background_20motivation_0',['Background & Motivation',['../md_libnixf_2README.html#autotoc_md1',1,'']]], + ['basepath_1',['BasePath',['../structnixt_1_1DeserializeContext.html#a3e5245500d3aa0c06d0f6628ffcf0c7f',1,'nixt::DeserializeContext::BasePath'],['../structnixd_1_1rpc_1_1RegisterBCParams.html#a5bc906ef1bb5e417127edd3d3e4019c6',1,'nixd::rpc::RegisterBCParams::BasePath']]], + ['basic_20tt_20module_2',['The <tt>Basic</tt> module',['../md_libnixf_2README.html#autotoc_md3',1,'']]], + ['basic_2eh_3',['Basic.h',['../Basic_8h.html',1,'']]], + ['begin_4',['Begin',['../structnixt_1_1ArrayRef.html#a532d9ae439c1aaa249e2395ec738bcd8',1,'nixt::ArrayRef']]], + ['begin_5',['begin',['../classnixf_1_1PositionRange.html#a3acf7afdf0226f2f24b00e77db17ecfd',1,'nixf::PositionRange::begin()'],['../namespacenixt.html#a373e5cbe21a0f73243e8b912e418ba86',1,'nixt::begin()']]], + ['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'],['../classnixf_1_1Binds.html#a6d2badff19ff4592eff48465a4f741a8',1,'nixf::Binds::Binds()']]], + ['binds_9',['binds',['../classnixf_1_1ExprAttrs.html#ad78576f46894599609db94783ca21ebb',1,'nixf::ExprAttrs::binds()'],['../classnixf_1_1ExprLet.html#a7d390dc1ff69e7cb3a8f5d5fc3faf01e',1,'nixf::ExprLet::binds()']]], + ['binops_2einc_10',['BinOps.inc',['../BinOps_8inc.html',1,'']]], + ['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']]], + ['bytesref_15',['BytesRef',['../namespacenixt.html#ae10826e6bb599542683902aaf27623a6',1,'nixt']]] +]; diff --git a/search/all_3.js b/search/all_3.js new file mode 100644 index 000000000..2ef141706 --- /dev/null +++ b/search/all_3.js @@ -0,0 +1,121 @@ +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']]], + ['calldirtyflake_3',['callDirtyFlake',['../namespacenixt.html#a5d7eac38c3e886f2bd6c647bb9eef23a',1,'nixt']]], + ['callhierarchyincomingcall_4',['CallHierarchyIncomingCall',['../structlspserver_1_1CallHierarchyIncomingCall.html',1,'lspserver']]], + ['callhierarchyincomingcallsparams_5',['CallHierarchyIncomingCallsParams',['../structlspserver_1_1CallHierarchyIncomingCallsParams.html',1,'lspserver']]], + ['callhierarchyitem_6',['CallHierarchyItem',['../structlspserver_1_1CallHierarchyItem.html',1,'lspserver']]], + ['callhierarchyoutgoingcall_7',['CallHierarchyOutgoingCall',['../structlspserver_1_1CallHierarchyOutgoingCall.html',1,'lspserver']]], + ['callhierarchyoutgoingcallsparams_8',['CallHierarchyOutgoingCallsParams',['../structlspserver_1_1CallHierarchyOutgoingCallsParams.html',1,'lspserver']]], + ['callhierarchyprepareparams_9',['CallHierarchyPrepareParams',['../structlspserver_1_1CallHierarchyPrepareParams.html',1,'lspserver']]], + ['cancellable_10',['cancellable',['../structlspserver_1_1WorkDoneProgressBegin.html#a276fb02101fa9f4be3f6a36719ed8803',1,'lspserver::WorkDoneProgressBegin::cancellable'],['../structlspserver_1_1WorkDoneProgressReport.html#a27e984834c174545c91127d1cfe24e8f',1,'lspserver::WorkDoneProgressReport::cancellable']]], + ['cancelsstalerequests_11',['CancelsStaleRequests',['../structlspserver_1_1ClientCapabilities.html#acbc8e34ef67060584c718ec34afed0d1',1,'lspserver::ClientCapabilities']]], + ['cannotfindvarexception_12',['CannotFindVarException',['../structnixd_1_1CannotFindVarException.html',1,'nixd']]], + ['canonicalize_13',['canonicalize',['../structlspserver_1_1URIForFile.html#a25f1325018685a980fb43903e1b84646',1,'lspserver::URIForFile']]], + ['capabilities_14',['capabilities',['../structlspserver_1_1InitializeParams.html#a8aaeec3437fab694f6bb26c9099fab34',1,'lspserver::InitializeParams']]], + ['category_15',['category',['../structlspserver_1_1Diagnostic.html#a21b40fea8f3fd1e8894dda71de83c867',1,'lspserver::Diagnostic']]], + ['ch_16',['ch',['../structlspserver_1_1DocumentOnTypeFormattingParams.html#a6d1f0d5479f16fb4712c42bc4c133257',1,'lspserver::DocumentOnTypeFormattingParams']]], + ['change_20the_20configuration_17',['Change the configuration.',['../md_nixd_2docs_2editor-setup.html#autotoc_md42',1,'']]], + ['changeannotation_18',['ChangeAnnotation',['../structlspserver_1_1ChangeAnnotation.html',1,'lspserver::ChangeAnnotation'],['../structlspserver_1_1ClientCapabilities.html#a22201e80ea990631298edcfa9573d26f',1,'lspserver::ClientCapabilities::ChangeAnnotation']]], + ['changeannotationidentifier_19',['ChangeAnnotationIdentifier',['../namespacelspserver.html#a2bc48769a7aed78e103a39fd791c3e0a',1,'lspserver']]], + ['changeannotations_20',['changeAnnotations',['../structlspserver_1_1WorkspaceEdit.html#a27004ca131579862ed8388872d953718',1,'lspserver::WorkspaceEdit']]], + ['changed_21',['Changed',['../namespacelspserver.html#a1acdb8484c09865d22820cdd7e4242aba820dbd2b8f606aff866c0bbfb6b737c1',1,'lspserver']]], + ['changes_22',['changes',['../structlspserver_1_1DidChangeWatchedFilesParams.html#a34e7e7e1f38e561560ba2f4236e259c2',1,'lspserver::DidChangeWatchedFilesParams::changes'],['../structlspserver_1_1WorkspaceEdit.html#a179cc4cabf6e8c39124d64514c69ed62',1,'lspserver::WorkspaceEdit::changes']]], + ['character_23',['character',['../structlspserver_1_1Position.html#ae143f4f60a1b652359b505820ea12291',1,'lspserver::Position']]], + ['checkattrrecursiveformerge_24',['checkAttrRecursiveForMerge',['../classnixf_1_1Sema.html#aa2f40eead33f88c01564da59dd86ded1',1,'nixf::Sema']]], + ['checkfield_25',['checkField',['../namespacenixt.html#a6162f1b231ae7af9d4abc39d5ceed10c',1,'nixt']]], + ['checkformalellipsis_26',['checkFormalEllipsis',['../classnixf_1_1Sema.html#a4f62354c3a63d6084ff05210b935a71e',1,'nixf::Sema']]], + ['checkformalempty_27',['checkFormalEmpty',['../classnixf_1_1Sema.html#aa930ffbbda48a74dd8e1dc819b92d5da',1,'nixf::Sema']]], + ['checkformalsep_28',['checkFormalSep',['../classnixf_1_1Sema.html#a739f2a57c39e588659a6a8487e35e747',1,'nixf::Sema']]], + ['checktype_29',['checkType',['../namespacenixt.html#a62e351adc5bd412be9d66445e33f34c5',1,'nixt']]], + ['children_30',['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_1Dot.html#a6718f5427b8a755c2c0cb7a224c29e9f',1,'nixf::Dot::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_1ExprSPath.html#a0820d01bbb1d13cc173fd7064f0dc4f0',1,'nixf::ExprSPath::children()'],['../classnixf_1_1ExprParen.html#ad71fe3e184e003f26577f5c287047274',1,'nixf::ExprParen::children()'],['../classnixf_1_1ExprVar.html#a0f51f49ecb68e3f24bd658ad6dffadfa',1,'nixf::ExprVar::children()']]], + ['children_31',['Children',['../namespacelspserver.html#a7d97020df0f5bac6de94854de72d22eba64e4aca4297806247f62a7b5f8cbd3df',1,'lspserver']]], + ['childvector_32',['ChildVector',['../classnixf_1_1Node.html#a9cd82ef04a42e90e785f680fac0d3ba1',1,'nixf::Node']]], + ['clangdcompilecommand_33',['ClangdCompileCommand',['../structlspserver_1_1ClangdCompileCommand.html',1,'lspserver']]], + ['class_34',['Class',['../namespacelspserver.html#aaa34ea3819069fbee52018467e9586e0a9bd81329febf6efe22788e03ddeaf0af',1,'lspserver::Class'],['../namespacelspserver.html#a2c2f610d4b7f64335e8d68b47e18ea6fa9bd81329febf6efe22788e03ddeaf0af',1,'lspserver::Class']]], + ['classof_35',['classof',['../classnixf_1_1Expr.html#a4575b972c2e7c4ce8389ac397ea3a70b',1,'nixf::Expr']]], + ['client_36',['client',['../classnixd_1_1AttrSetClientProc.html#a4c8fbe69488b899bd48c1fa8d6ca2dd5',1,'nixd::AttrSetClientProc']]], + ['clientcapabilities_37',['ClientCapabilities',['../structlspserver_1_1ClientCapabilities.html',1,'lspserver']]], + ['close_38',['close',['../classlspserver_1_1InboundPort.html#a654e594cba394792fb01c94a5a916680',1,'lspserver::InboundPort']]], + ['closeinbound_39',['closeInbound',['../classlspserver_1_1LSPServer.html#aaaabca1d9e626068a602488d24f3d8fb',1,'lspserver::LSPServer']]], + ['cname_40',['cname',['../classdiagnostic_1_1Diagnostic.html#a2489c5d8a884d99acb841ec03b6d075d',1,'diagnostic::Diagnostic']]], + ['coc_20nvim_41',['Coc.nvim',['../md_nixd_2docs_2editor-setup.html#autotoc_md35',1,'']]], + ['code_42',['Code',['../classlspserver_1_1LSPError.html#af62784dcaa4a163311ee443fdb5b6fbe',1,'lspserver::LSPError']]], + ['code_43',['code',['../structlspserver_1_1Diagnostic.html#afe1b6d530bc7794546fefa8417791070',1,'lspserver::Diagnostic']]], + ['codeaction_44',['CodeAction',['../structlspserver_1_1CodeAction.html',1,'lspserver']]], + ['codeaction_2ecpp_45',['CodeAction.cpp',['../CodeAction_8cpp.html',1,'']]], + ['codeactioncontext_46',['CodeActionContext',['../structlspserver_1_1CodeActionContext.html',1,'lspserver']]], + ['codeactionparams_47',['CodeActionParams',['../structlspserver_1_1CodeActionParams.html',1,'lspserver']]], + ['codeactions_48',['codeActions',['../structlspserver_1_1Diagnostic.html#a50d09e4ad66c183144bffdafa57fc27c',1,'lspserver::Diagnostic']]], + ['codeactionstructure_49',['CodeActionStructure',['../structlspserver_1_1ClientCapabilities.html#a1f6689df81fb2f610a44577b8892b465',1,'lspserver::ClientCapabilities']]], + ['codedescription_50',['CodeDescription',['../structlspserver_1_1CodeDescription.html',1,'lspserver']]], + ['codedescription_51',['codeDescription',['../structlspserver_1_1Diagnostic.html#aab3ff3c5e05964c94d59953be04106b7',1,'lspserver::Diagnostic']]], + ['collectwords_52',['collectWords',['../namespacelspserver.html#a917da274f676099780efde7f1b02e430',1,'lspserver']]], + ['color_53',['Color',['../namespacelspserver.html#aaa34ea3819069fbee52018467e9586e0acb5feb1b7314637725a2e73bdc9f7295',1,'lspserver']]], + ['coloring_54',['Attribute name coloring',['../md_nixd_2docs_2features.html#autotoc_md49',1,'']]], + ['column_55',['column',['../classnixf_1_1Position.html#a3b7fb2514b10014af595c4f87fdd8f4a',1,'nixf::Position::column()'],['../classnixf_1_1LexerCursor.html#a3c2bf1a27e8a99fd838c6097bee01d42',1,'nixf::LexerCursor::column()']]], + ['comma_56',['comma',['../classnixf_1_1Formal.html#a222e180ec769ee04c991a5a1864ce0fa',1,'nixf::Formal']]], + ['command_57',['Command',['../structlspserver_1_1Command.html',1,'lspserver']]], + ['command_58',['command',['../structnixd_1_1Configuration_1_1Formatting.html#adc4fbcec2fa56b96ac066c4b69e6ea86',1,'nixd::Configuration::Formatting::command'],['../structlspserver_1_1ExecuteCommandParams.html#a71da99cc61d7afdf601b741cc092a1ee',1,'lspserver::ExecuteCommandParams::command'],['../structlspserver_1_1CodeAction.html#a2f93c23c9a676fcd9a398f09295b0fe7',1,'lspserver::CodeAction::command']]], + ['commandhandlers_59',['CommandHandlers',['../structlspserver_1_1HandlerRegistry.html#add8037a88465edbdf4dc0997cf555a22',1,'lspserver::HandlerRegistry']]], + ['commandline_2fconfiguration_2ecpp_60',['Configuration.cpp',['../CommandLine_2Configuration_8cpp.html',1,'']]], + ['commandline_2fconfiguration_2eh_61',['Configuration.h',['../CommandLine_2Configuration_8h.html',1,'']]], + ['comment_5fkind_62',['COMMENT_KIND',['../structlspserver_1_1FoldingRange.html#a8a41668a8c28a0f6ca78d85d2a5dfc9d',1,'lspserver::FoldingRange']]], + ['commit_20message_63',['Commit message',['../md_nixd_2docs_2dev.html#autotoc_md28',1,'']]], + ['compilationcommand_64',['compilationCommand',['../structlspserver_1_1ClangdCompileCommand.html#ac7fff39c7001e142639bd4f354766e86',1,'lspserver::ClangdCompileCommand']]], + ['compilationdatabasechanges_65',['compilationDatabaseChanges',['../structlspserver_1_1ConfigurationSettings.html#a98a619e0cfe33de910b54a3bf92f4aef',1,'lspserver::ConfigurationSettings']]], + ['compilationdatabasepath_66',['compilationDatabasePath',['../structlspserver_1_1InitializationOptions.html#ab49eba7865575a6892c84818fdfacae5',1,'lspserver::InitializationOptions']]], + ['completion_2ecpp_67',['Completion.cpp',['../Completion_8cpp.html',1,'']]], + ['completioncontext_68',['CompletionContext',['../structlspserver_1_1CompletionContext.html',1,'lspserver']]], + ['completiondocumentationformat_69',['CompletionDocumentationFormat',['../structlspserver_1_1ClientCapabilities.html#aacceadaa864237af47dbeb526756af30',1,'lspserver::ClientCapabilities']]], + ['completionfixes_70',['CompletionFixes',['../structlspserver_1_1ClientCapabilities.html#ad963ab576e4e2521bfd82b32d631b34f',1,'lspserver::ClientCapabilities']]], + ['completionitem_71',['CompletionItem',['../structlspserver_1_1CompletionItem.html',1,'lspserver']]], + ['completionitemkind_72',['CompletionItemKind',['../namespacelspserver.html#aaa34ea3819069fbee52018467e9586e0',1,'lspserver']]], + ['completionitemkindbitset_73',['CompletionItemKindBitset',['../namespacelspserver.html#a7e959ebcba302a09862ac315ab8a9959',1,'lspserver']]], + ['completionitemkindmax_74',['CompletionItemKindMax',['../namespacelspserver.html#a370c2e8f5f633bb746da59c7fb4aed51',1,'lspserver']]], + ['completionitemkindmin_75',['CompletionItemKindMin',['../namespacelspserver.html#a6a6a0de6bae46775cd99df9f3d3464d0',1,'lspserver']]], + ['completionitemkinds_76',['CompletionItemKinds',['../structlspserver_1_1ClientCapabilities.html#a8a4f39e40573c188427b349c6d416dff',1,'lspserver::ClientCapabilities']]], + ['completionlist_77',['CompletionList',['../structlspserver_1_1CompletionList.html',1,'lspserver']]], + ['completionparams_78',['CompletionParams',['../structlspserver_1_1CompletionParams.html',1,'lspserver']]], + ['completionsnippets_79',['CompletionSnippets',['../structlspserver_1_1ClientCapabilities.html#a40c62df533f8cef56342ef95fd70109b',1,'lspserver::ClientCapabilities']]], + ['completiontriggerkind_80',['CompletionTriggerKind',['../namespacelspserver.html#a509e18127b3bb638d67ba0aaf019afbe',1,'lspserver']]], + ['cond_81',['cond',['../classnixf_1_1ExprIf.html#a302c8b1f948b23a39be23444479a9063',1,'nixf::ExprIf::cond()'],['../classnixf_1_1ExprAssert.html#ac7cdada7b3231ab9f552a4eaa5d8220d',1,'nixf::ExprAssert::cond()']]], + ['configsettings_82',['ConfigSettings',['../structlspserver_1_1InitializationOptions.html#aacc7ca3094384d93127b9991d2c83066',1,'lspserver::InitializationOptions']]], + ['configuration_83',['Configuration',['../md_nixd_2docs_2editor-setup.html#autotoc_md42',1,'Change the configuration.'],['../structnixd_1_1Configuration.html',1,'nixd::Configuration'],['../md_nixd_2docs_2configuration.html',1,'Configuration'],['../md_nixd_2docs_2configuration.html#autotoc_md15',1,'Where to place the configuration']]], + ['configuration_20overview_84',['Configuration overview',['../md_nixd_2docs_2configuration.html#autotoc_md16',1,'']]], + ['configuration_20who_20needs_20configuration_85',['Default configuration & Who needs configuration',['../md_nixd_2docs_2configuration.html#autotoc_md14',1,'']]], + ['configuration_2emd_86',['configuration.md',['../configuration_8md.html',1,'']]], + ['configurationitem_87',['ConfigurationItem',['../structlspserver_1_1ConfigurationItem.html',1,'lspserver']]], + ['configurationparams_88',['ConfigurationParams',['../structlspserver_1_1ConfigurationParams.html',1,'lspserver']]], + ['configurations_89',['Teach your editor find the executable, and setup configurations.',['../md_nixd_2docs_2editor-setup.html#autotoc_md32',1,'']]], + ['configurationsettings_90',['ConfigurationSettings',['../structlspserver_1_1ConfigurationSettings.html',1,'lspserver']]], + ['connection_2ecpp_91',['Connection.cpp',['../Connection_8cpp.html',1,'']]], + ['connection_2eh_92',['Connection.h',['../Connection_8h.html',1,'']]], + ['constant_93',['Constant',['../namespacelspserver.html#aaa34ea3819069fbee52018467e9586e0acb17869fe51048b5a5c4c6106551a255',1,'lspserver::Constant'],['../namespacelspserver.html#a2c2f610d4b7f64335e8d68b47e18ea6facb17869fe51048b5a5c4c6106551a255',1,'lspserver::Constant']]], + ['constructor_94',['Constructor',['../namespacelspserver.html#aaa34ea3819069fbee52018467e9586e0a678d0a4421b60dc59999ac02837496a6',1,'lspserver::Constructor'],['../namespacelspserver.html#a2c2f610d4b7f64335e8d68b47e18ea6fa678d0a4421b60dc59999ac02837496a6',1,'lspserver::Constructor']]], + ['consume_95',['consume',['../namespacenixt.html#ae82ebf3f2e7224da9f53ead9c2017036',1,'nixt']]], + ['consumeast_96',['consumeAST',['../namespacenixt.html#af5af0dc80196f5f6a76e98c8edc1c694',1,'nixt']]], + ['containername_97',['containerName',['../structlspserver_1_1ReferenceLocation.html#af056b6531807a1e4b52e6078dbf85c23',1,'lspserver::ReferenceLocation::containerName'],['../structlspserver_1_1SymbolInformation.html#a2e7c69ae8d835694726fcb581732c4e1',1,'lspserver::SymbolInformation::containerName']]], + ['contains_98',['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_99',['contentChanges',['../structlspserver_1_1DidChangeTextDocumentParams.html#abe344523b534af82fb6720cf043552fe',1,'lspserver::DidChangeTextDocumentParams']]], + ['contentmodified_100',['ContentModified',['../namespacelspserver.html#a748780c668b7e2d2e3700f6e7075b078a9b94414188b105cb3bbefa5449c4b15e',1,'lspserver']]], + ['contents_101',['contents',['../structlspserver_1_1Hover.html#ad9113ca9cdbb2d6e18adadf8e54e6776',1,'lspserver::Hover']]], + ['contents_102',['Contents',['../structlspserver_1_1DraftStore_1_1Draft.html#af5a92b90635350db3f21e75687aa13a7',1,'lspserver::DraftStore::Draft']]], + ['context_103',['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_104',['Contributing',['../md_nixd_2docs_2dev.html#autotoc_md27',1,'']]], + ['contributions_105',['We ❤️ Contributions!',['../md_nixd_2docs_2editor-setup.html',1,'']]], + ['control_20diagnostic_106',['Diagnostic Control ("diagnostic")',['../md_nixd_2docs_2configuration.html#autotoc_md18',1,'']]], + ['controller_107',['Controller',['../classnixd_1_1Controller.html',1,'nixd::Controller'],['../classnixd_1_1Controller.html#aafdf4a25d9a6d7aa3e86d6669c86c06d',1,'nixd::Controller::Controller()']]], + ['controller_2eh_108',['Controller.h',['../Controller_8h.html',1,'']]], + ['controller_2fconfiguration_2ecpp_109',['Configuration.cpp',['../Controller_2Configuration_8cpp.html',1,'']]], + ['controller_2fconfiguration_2eh_110',['Configuration.h',['../Controller_2Configuration_8h.html',1,'']]], + ['convert_2ecpp_111',['Convert.cpp',['../Convert_8cpp.html',1,'']]], + ['convert_2eh_112',['Convert.h',['../Convert_8h.html',1,'']]], + ['converttoerrorcode_113',['convertToErrorCode',['../classlspserver_1_1LSPError.html#ade86cbededef0f4f201c595a4c40dbdb',1,'lspserver::LSPError']]], + ['create_114',['create',['../classnixd_1_1OwnedEvalClient.html#a568acb02499c79a1b2976f52fd4249e6',1,'nixd::OwnedEvalClient::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)']]], + ['created_115',['Created',['../namespacelspserver.html#a1acdb8484c09865d22820cdd7e4242aba0eceeb45861f9585dd7a97a3e36f85c6',1,'lspserver']]], + ['createfile_116',['createFile',['../classlspserver_1_1URI.html#ae7df5b5cae4a6cfaa1174107ce74d6a3',1,'lspserver::URI']]], + ['cur_117',['cur',['../classnixf_1_1Lexer.html#ae4da43a46013f7d9b8cecb2ffb662cdf',1,'nixf::Lexer']]] +]; diff --git a/search/all_4.js b/search/all_4.js new file mode 100644 index 000000000..d5095169e --- /dev/null +++ b/search/all_4.js @@ -0,0 +1,115 @@ +var searchData= +[ + ['data_0',['data',['../structlspserver_1_1Diagnostic.html#af0b215b52be88d308e50cf9320c939af',1,'lspserver::Diagnostic::data'],['../structlspserver_1_1CompletionItem.html#a956bdbf505d48e183296be09dc086f4e',1,'lspserver::CompletionItem::data'],['../structlspserver_1_1TypeHierarchyItem.html#aa280ac47c37153952d16ecfe232b3823',1,'lspserver::TypeHierarchyItem::data'],['../structlspserver_1_1CallHierarchyItem.html#a977cc863bddd0d2a0f174265b270e65f',1,'lspserver::CallHierarchyItem::data']]], + ['dbg_1',['DBG',['../Completion_8cpp.html#a49606be7356624568932ec81c0d429f4',1,'Completion.cpp']]], + ['dbgprefix_2',['DBGPREFIX',['../Completion_8cpp.html#a6fe395e23568b22d7a27462cc64aca28',1,'DBGPREFIX: Completion.cpp'],['../Completion_8cpp.html#a6fe395e23568b22d7a27462cc64aca28',1,'DBGPREFIX: Completion.cpp']]], + ['debug_3',['Debug',['../classlspserver_1_1Logger.html#a96543597ca6f5377381ee5a4dba571faa4b6c6efd37089c0ad40995881daf45c0',1,'lspserver::Logger::Debug'],['../namespacenixd_1_1rpc.html#adb82fac4db5997115883b375252dd765aa603905470e2a5b8c13e96b579ef0dba',1,'nixd::rpc::Debug']]], + ['debugtype_4',['debugType',['../namespacelspserver_1_1detail.html#aa58647f2c78be0d58df77d03cc501cf8',1,'lspserver::detail']]], + ['declarations_5',['Declarations',['../structnixd_1_1OptionDescription.html#ac8a23773f540e46b6778f4512693c6de',1,'nixd::OptionDescription']]], + ['decode_6',['decode',['../namespacenixt.html#a3e9badd6587388fb0247cd40e5335a63',1,'nixt::decode(BytesRef Data, T &Obj)'],['../namespacenixt.html#a99aaf0249869fabd17693eab71fcabf5',1,'nixt::decode(BytesRef Data, std::string &Str)']]], + ['decodeerror_7',['decodeError',['../namespacelspserver.html#a4bd833d210de2459a2ea02ddac4463a1',1,'lspserver']]], + ['decodeversion_8',['decodeVersion',['../classlspserver_1_1DraftStore.html#af294781b087a6eb64a503f26639eef10',1,'lspserver::DraftStore']]], + ['dedup_9',['dedup',['../classnixf_1_1Formals.html#afe1883021bac934d8b4dedb0fe92f7d1',1,'nixf::Formals::dedup()'],['../classnixf_1_1Formals.html#aa3d973073065cfd31ba82349e415038d',1,'nixf::Formals::dedup() const']]], + ['dedupformal_10',['dedupFormal',['../classnixf_1_1Sema.html#a2c0ad66c6c7875dca78c25e9e1557567',1,'nixf::Sema']]], + ['def_11',['Def',['../structnixf_1_1VariableLookupAnalysis_1_1LookupResult.html#af1610534caa3e4947d37b32edee79c1a',1,'nixf::VariableLookupAnalysis::LookupResult']]], + ['def_5ftraverse_5ftype_12',['DEF_TRAVERSE_TYPE',['../Visitor_8h.html#a44f20d102cc60a863f99cfcf913adb73',1,'Visitor.h']]], + ['default_20configuration_20who_20needs_20configuration_13',['Default configuration & Who needs configuration',['../md_nixd_2docs_2configuration.html#autotoc_md14',1,'']]], + ['defaultexpr_14',['defaultExpr',['../classnixf_1_1ExprSelect.html#a847186cf4a50ecde3b3980ce3434d9eb',1,'nixf::ExprSelect::defaultExpr()'],['../classnixf_1_1Formal.html#aee28832c5fbd3bd02591bfc6491734f2',1,'nixf::Formal::defaultExpr()']]], + ['defined_15',['Defined',['../classnixf_1_1VariableLookupAnalysis.html#a2b0542627cacd7b6ccd0d4e74d5a8092ac4e9522d7b3c8c652f7f0333ff436eec',1,'nixf::VariableLookupAnalysis']]], + ['definition_16',['Definition',['../classnixf_1_1Definition.html',1,'nixf::Definition'],['../classnixf_1_1Definition.html#a2ed1ecda9631603a4aee598e78414f21',1,'nixf::Definition::Definition(const Node *Syntax, DefinitionSource Source)'],['../classnixf_1_1Definition.html#a762f3579773f6ad16e4c809be9d64ccb',1,'nixf::Definition::Definition(std::vector< const ExprVar * > Uses, const Node *Syntax, DefinitionSource Source)']]], + ['definition_2ecpp_17',['Definition.cpp',['../Definition_8cpp.html',1,'']]], + ['definition_2eh_18',['Definition.h',['../Definition_8h.html',1,'']]], + ['definitions_19',['Definitions',['../structnixd_1_1OptionDescription.html#a054d0be74f4dc2f8b471f5e8766ca95a',1,'nixd::OptionDescription']]], + ['definitionsource_20',['DefinitionSource',['../classnixf_1_1Definition.html#aebed6cc0cfac6f358f0b92c75f5af6ff',1,'nixf::Definition']]], + ['defmap_21',['DefMap',['../classnixf_1_1EnvNode.html#a567e9410627a8b05d62b9656eb308d0f',1,'nixf::EnvNode']]], + ['defs_22',['defs',['../classnixf_1_1EnvNode.html#ad32080ba97691fae6adfe8a9b3709d01',1,'nixf::EnvNode']]], + ['deleted_23',['Deleted',['../namespacelspserver.html#a1acdb8484c09865d22820cdd7e4242aba5fe6005bf6e415c950c011fb65f12b8f',1,'lspserver']]], + ['deletetokens_24',['deleteTokens',['../structlspserver_1_1SemanticTokensEdit.html#ae4be7a7bb31366d726d4daa5004194f0',1,'lspserver::SemanticTokensEdit']]], + ['delimited_25',['Delimited',['../namespacelspserver.html#a452c423a64856fd113d0303affd5a1b8af6a6c0fefcadb1df90205a0b9a7fb8b7',1,'lspserver']]], + ['deltaline_26',['deltaLine',['../structlspserver_1_1SemanticToken.html#ab2e11bdb8e0ec4ab69c350e7a56690c4',1,'lspserver::SemanticToken']]], + ['deltastart_27',['deltaStart',['../structlspserver_1_1SemanticToken.html#ac2564dccb01d96fbaa0fbbe31806de89',1,'lspserver::SemanticToken']]], + ['deprecated_28',['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_29',['Deprecated',['../namespacelspserver.html#af6f9096acddc880ee3694315f62d1be2a106522b707d7ea2d4eb122d313c919c0',1,'lspserver::Deprecated'],['../namespacelspserver.html#a0ab41ec28e07b679bf3d6de08c39b4bfa0ac54cb10e7494cff1949826e8e32f7b',1,'lspserver::Deprecated']]], + ['descend_30',['descend',['../classnixf_1_1Node.html#a0baddb708b003d7fccc90d3f09f94515',1,'nixf::Node']]], + ['description_31',['Description',['../structnixd_1_1PackageDescription.html#a8871abf2ad5cf4c7828b483ee44999e9',1,'nixd::PackageDescription::Description'],['../structnixd_1_1OptionType.html#a73083b3678a190e32f414e77758f6f64',1,'nixd::OptionType::Description'],['../structnixd_1_1OptionDescription.html#a8b52ab524f5439f6ca53b4d4f84a3ddc',1,'nixd::OptionDescription::Description'],['../structnixd_1_1OptionField.html#a139e8de05bfe702b1605d188cd1dc787',1,'nixd::OptionField::Description']]], + ['description_32',['description',['../structlspserver_1_1ChangeAnnotation.html#a01cdeffae101b5bbc8b37bc989f0d798',1,'lspserver::ChangeAnnotation']]], + ['deserialize_2eh_33',['Deserialize.h',['../Deserialize_8h.html',1,'']]], + ['deserializecontext_34',['DeserializeContext',['../structnixt_1_1DeserializeContext.html',1,'nixt']]], + ['deserializehookable_35',['deserializeHookable',['../namespacenixt.html#ab0d028a74390873ec4872a7745e0ed44',1,'nixt']]], + ['design_36',['Design',['../md_nixd_2docs_2dev.html#autotoc_md24',1,'']]], + ['designator_37',['Designator',['../namespacelspserver.html#ad0e04d3cce4fb889bbf88064199247f8abd5f348ef116c03d1c6e165aee01d7c6',1,'lspserver']]], + ['desugarinheritexpr_38',['desugarInheritExpr',['../classnixf_1_1Sema.html#afde558c97cafc9432a007dcfbd0d5fe6',1,'nixf::Sema']]], + ['detail_39',['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_40',['dev.md',['../dev_8md.html',1,'']]], + ['developers_20manual_41',['Developers' Manual',['../md_nixd_2docs_2dev.html',1,'']]], + ['diag_5fnote_42',['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_43',['Diagnostic',['../classdiagnostic_1_1Diagnostic.html',1,'diagnostic.Diagnostic'],['../structlspserver_1_1Diagnostic.html',1,'lspserver::Diagnostic'],['../structnixd_1_1Configuration_1_1Diagnostic.html',1,'nixd::Configuration::Diagnostic'],['../classnixf_1_1Diagnostic.html',1,'nixf::Diagnostic'],['../namespaceDiagnostic.html',1,'Diagnostic']]], + ['diagnostic_44',['diagnostic',['../namespacediagnostic.html',1,'']]], + ['diagnostic_45',['Diagnostic',['../classnixf_1_1Diagnostic.html#a309a5829099380594fd612938d81d186',1,'nixf::Diagnostic']]], + ['diagnostic_46',['diagnostic',['../structnixd_1_1Configuration.html#a9ff87d4c550698581b811db1990bc949',1,'nixd::Configuration']]], + ['diagnostic_47',['Diagnostic Control ("diagnostic")',['../md_nixd_2docs_2configuration.html#autotoc_md18',1,'']]], + ['diagnostic_20control_20diagnostic_48',['Diagnostic Control ("diagnostic")',['../md_nixd_2docs_2configuration.html#autotoc_md18',1,'']]], + ['diagnostic_20tt_20and_20fixes_49',['<tt>Diagnostic</tt> and Fixes',['../md_libnixf_2README.html#autotoc_md4',1,'']]], + ['diagnostic_2ecpp_50',['Diagnostic.cpp',['../Diagnostic_8cpp.html',1,'']]], + ['diagnostic_2ecpp_2epy_51',['Diagnostic.cpp.py',['../Diagnostic_8cpp_8py.html',1,'']]], + ['diagnostic_2eh_52',['Diagnostic.h',['../Diagnostic_8h.html',1,'']]], + ['diagnostic_2epy_53',['diagnostic.py',['../diagnostic_8py.html',1,'']]], + ['diagnosticcategory_54',['DiagnosticCategory',['../structlspserver_1_1ClientCapabilities.html#a3bcb1982254552b19c9f329a9cf8dc36',1,'lspserver::ClientCapabilities']]], + ['diagnosticenum_55',['DiagnosticEnum',['../namespaceDiagnosticEnum.html',1,'']]], + ['diagnosticenum_2eh_2epy_56',['DiagnosticEnum.h.py',['../DiagnosticEnum_8h_8py.html',1,'']]], + ['diagnosticfixes_57',['DiagnosticFixes',['../structlspserver_1_1ClientCapabilities.html#a3651f14900f6f64715aba940ba5a5487',1,'lspserver::ClientCapabilities']]], + ['diagnosticrelatedinformation_58',['DiagnosticRelatedInformation',['../structlspserver_1_1DiagnosticRelatedInformation.html',1,'lspserver::DiagnosticRelatedInformation'],['../structlspserver_1_1ClientCapabilities.html#af606342f91664eb0f02a8473bfb671e1',1,'lspserver::ClientCapabilities::DiagnosticRelatedInformation']]], + ['diagnostics_59',['diagnostics',['../classdiagnostic_1_1Diagnostic.html#a57597fe0d8f347590d3e5e34c5b4be96',1,'diagnostic.Diagnostic.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_60',['Diagnostics.cpp',['../Diagnostics_8cpp.html',1,'']]], + ['diagnostictag_61',['DiagnosticTag',['../namespacenixf.html#a107eebaa5e9ba959f752e4ac049cf078',1,'nixf::DiagnosticTag'],['../namespacelspserver.html#af6f9096acddc880ee3694315f62d1be2',1,'lspserver::DiagnosticTag']]], + ['diagnullexpr_62',['diagNullExpr',['../namespacenixf_1_1detail.html#af9e82df3ce22230174d929f2746563df',1,'nixf::detail']]], + ['didchangeconfigurationparams_63',['DidChangeConfigurationParams',['../structlspserver_1_1DidChangeConfigurationParams.html',1,'lspserver']]], + ['didchangetextdocumentparams_64',['DidChangeTextDocumentParams',['../structlspserver_1_1DidChangeTextDocumentParams.html',1,'lspserver']]], + ['didchangewatchedfilesparams_65',['DidChangeWatchedFilesParams',['../structlspserver_1_1DidChangeWatchedFilesParams.html',1,'lspserver']]], + ['didclosetextdocumentparams_66',['DidCloseTextDocumentParams',['../structlspserver_1_1DidCloseTextDocumentParams.html',1,'lspserver']]], + ['didopentextdocumentparams_67',['DidOpenTextDocumentParams',['../structlspserver_1_1DidOpenTextDocumentParams.html',1,'lspserver']]], + ['didsavetextdocumentparams_68',['DidSaveTextDocumentParams',['../structlspserver_1_1DidSaveTextDocumentParams.html',1,'lspserver']]], + ['diff_69',['First place to make diff',['../md_nixd_2docs_2dev.html#autotoc_md22',1,'']]], + ['direction_70',['direction',['../structlspserver_1_1TypeHierarchyPrepareParams.html#a1633112373fe988ab63351510d4451d7',1,'lspserver::TypeHierarchyPrepareParams::direction'],['../structlspserver_1_1ResolveTypeHierarchyItemParams.html#a162afb087a469ee31dfb33ffc96a0078',1,'lspserver::ResolveTypeHierarchyItemParams::direction']]], + ['dispatch_71',['dispatch',['../classlspserver_1_1InboundPort.html#a3107017fb6f852d5a36e561fd1d8c0f9',1,'lspserver::InboundPort']]], + ['displacement_2ecpp_72',['Displacement.cpp',['../Displacement_8cpp.html',1,'']]], + ['displacement_2eh_73',['Displacement.h',['../Displacement_8h.html',1,'']]], + ['displof_74',['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_75',['DK',['../Lexer_8cpp.html#aef7dabd6e8cc3cc39cf381615da3edef',1,'Lexer.cpp']]], + ['documentation_76',['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_77',['DocumentChanges',['../structlspserver_1_1ClientCapabilities.html#a767ca9a750699c8a40abacd36cb8e72e',1,'lspserver::ClientCapabilities']]], + ['documentchanges_78',['documentChanges',['../structlspserver_1_1WorkspaceEdit.html#a996b34bc9e3f55607a91304bd9addea9',1,'lspserver::WorkspaceEdit']]], + ['documentformattingparams_79',['DocumentFormattingParams',['../structlspserver_1_1DocumentFormattingParams.html',1,'lspserver']]], + ['documenthighlight_80',['DocumentHighlight',['../structlspserver_1_1DocumentHighlight.html',1,'lspserver']]], + ['documenthighlight_2ecpp_81',['DocumentHighlight.cpp',['../DocumentHighlight_8cpp.html',1,'']]], + ['documenthighlightkind_82',['DocumentHighlightKind',['../namespacelspserver.html#a63ffb3d295b12032400790fb555de2e9',1,'lspserver']]], + ['documentlink_83',['DocumentLink',['../structlspserver_1_1DocumentLink.html',1,'lspserver']]], + ['documentlink_2ecpp_84',['DocumentLink.cpp',['../DocumentLink_8cpp.html',1,'']]], + ['documentlinkparams_85',['DocumentLinkParams',['../structlspserver_1_1DocumentLinkParams.html',1,'lspserver']]], + ['documentontypeformattingparams_86',['DocumentOnTypeFormattingParams',['../structlspserver_1_1DocumentOnTypeFormattingParams.html',1,'lspserver']]], + ['documentrangeformattingparams_87',['DocumentRangeFormattingParams',['../structlspserver_1_1DocumentRangeFormattingParams.html',1,'lspserver']]], + ['documentsymbol_88',['DocumentSymbol',['../structlspserver_1_1DocumentSymbol.html',1,'lspserver']]], + ['documentsymbol_2ecpp_89',['DocumentSymbol.cpp',['../DocumentSymbol_8cpp.html',1,'']]], + ['documentsymbolparams_90',['DocumentSymbolParams',['../structlspserver_1_1DocumentSymbolParams.html',1,'lspserver']]], + ['dot_91',['Dot',['../classnixf_1_1Dot.html',1,'nixf::Dot'],['../classnixf_1_1Dot.html#ab09d121a0c285bc21291e19333f66a01',1,'nixf::Dot::Dot()']]], + ['draft_92',['Draft',['../structlspserver_1_1DraftStore_1_1Draft.html',1,'lspserver::DraftStore']]], + ['draftstore_93',['DraftStore',['../classlspserver_1_1DraftStore.html',1,'lspserver']]], + ['draftstore_2ecpp_94',['DraftStore.cpp',['../DraftStore_8cpp.html',1,'']]], + ['draftstore_2eh_95',['DraftStore.h',['../DraftStore_8h.html',1,'']]], + ['ds_5fbuiltin_96',['DS_Builtin',['../classnixf_1_1Definition.html#aebed6cc0cfac6f358f0b92c75f5af6ffa8613da40ff5820c7b234acaefa0ea489',1,'nixf::Definition']]], + ['ds_5ferror_97',['DS_Error',['../classnixf_1_1Diagnostic.html#a1ae78a8db740ce789f2dc8b4603f9d7baf587c7a518dcf415b845382645a6c9f7',1,'nixf::Diagnostic']]], + ['ds_5ffatal_98',['DS_Fatal',['../classnixf_1_1Diagnostic.html#a1ae78a8db740ce789f2dc8b4603f9d7ba704830342f52172a4615ed988b4dffb8',1,'nixf::Diagnostic']]], + ['ds_5fhint_99',['DS_Hint',['../classnixf_1_1Diagnostic.html#a1ae78a8db740ce789f2dc8b4603f9d7bab6bd8bb235089b19474b844db7bc34e0',1,'nixf::Diagnostic']]], + ['ds_5finfo_100',['DS_Info',['../classnixf_1_1Diagnostic.html#a1ae78a8db740ce789f2dc8b4603f9d7bab093c72a75a6fb762db3ad8dfa35e4ad',1,'nixf::Diagnostic']]], + ['ds_5flambdaarg_101',['DS_LambdaArg',['../classnixf_1_1Definition.html#aebed6cc0cfac6f358f0b92c75f5af6ffa7450a16484be4aa218201adfd5d4356c',1,'nixf::Definition']]], + ['ds_5flambdanoarg_5fformal_102',['DS_LambdaNoArg_Formal',['../classnixf_1_1Definition.html#aebed6cc0cfac6f358f0b92c75f5af6ffa7c349434260757c9759550e9a4b0b787',1,'nixf::Definition']]], + ['ds_5flambdawitharg_5farg_103',['DS_LambdaWithArg_Arg',['../classnixf_1_1Definition.html#aebed6cc0cfac6f358f0b92c75f5af6ffa88d925a0d1cbb428c991a5bddb9a7ff4',1,'nixf::Definition']]], + ['ds_5flambdawitharg_5fformal_104',['DS_LambdaWithArg_Formal',['../classnixf_1_1Definition.html#aebed6cc0cfac6f358f0b92c75f5af6ffaad6978f0cf13a75387107f1b5b6ecd8f',1,'nixf::Definition']]], + ['ds_5flet_105',['DS_Let',['../classnixf_1_1Definition.html#aebed6cc0cfac6f358f0b92c75f5af6ffad0480dede00c74a6bda3cf32246d976d',1,'nixf::Definition']]], + ['ds_5frec_106',['DS_Rec',['../classnixf_1_1Definition.html#aebed6cc0cfac6f358f0b92c75f5af6ffa2a8239ca701743dd387a578d479925d7',1,'nixf::Definition']]], + ['ds_5fwarning_107',['DS_Warning',['../classnixf_1_1Diagnostic.html#a1ae78a8db740ce789f2dc8b4603f9d7ba324f60c858794ca923640da68fef4f59',1,'nixf::Diagnostic']]], + ['ds_5fwith_108',['DS_With',['../classnixf_1_1Definition.html#aebed6cc0cfac6f358f0b92c75f5af6ffaab78e578dd9e44a4fc8725f410ad21bd',1,'nixf::Definition']]], + ['dupattr_109',['dupAttr',['../classnixf_1_1Sema.html#a813c4f1c697dc1b0874fff49008750b6',1,'nixf::Sema']]], + ['dynamicattrs_110',['dynamicAttrs',['../classnixf_1_1SemaAttrs.html#ac41612aaaa0284c7aaa104eec65871ca',1,'nixf::SemaAttrs']]], + ['dynamicnameexception_111',['DynamicNameException',['../structnixd_1_1idioms_1_1DynamicNameException.html',1,'nixd::idioms']]] +]; diff --git a/search/all_5.js b/search/all_5.js new file mode 100644 index 000000000..5af483bd3 --- /dev/null +++ b/search/all_5.js @@ -0,0 +1,86 @@ +var searchData= +[ + ['edit_0',['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_20find_20the_20executable_20and_20setup_20configurations_1',['Teach your editor find the executable, and setup configurations.',['../md_nixd_2docs_2editor-setup.html#autotoc_md32',1,'']]], + ['editor_20setup_20guide_2',['Editor Setup Guide',['../md_nixd_2docs_2editor-setup.html#autotoc_md30',1,'']]], + ['editor_2dsetup_2emd_3',['editor-setup.md',['../editor-setup_8md.html',1,'']]], + ['editors_20environment_4',['Reproducible Editors Environment',['../md_nixd_2docs_2editors_2editors.html',1,'']]], + ['editors_2emd_5',['editors.md',['../editors_8md.html',1,'']]], + ['edits_6',['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_7',['Eglot',['../md_nixd_2docs_2editor-setup.html#autotoc_md38',1,'']]], + ['elements_8',['elements',['../classnixf_1_1ExprList.html#a0193022985b2c580b53ba51819eae41a',1,'nixf::ExprList']]], + ['ellipsis_9',['ellipsis',['../classnixf_1_1Formal.html#a09e0332f1a7e1614b54c7704d32964d1',1,'nixf::Formal']]], + ['elog_10',['elog',['../namespacelspserver.html#a82488367b9fb79e2aa29e871e264730d',1,'lspserver']]], + ['elseexpr_11',['elseExpr',['../classnixf_1_1ExprIf.html#a6b2a181f583874616ee43d78e348fbe3',1,'nixf::ExprIf']]], + ['emacs_12',['Emacs',['../md_nixd_2docs_2editor-setup.html#autotoc_md37',1,'']]], + ['emap_13',['EMap',['../structnixt_1_1HookExprAssert.html#a15c6af5fc103829233185e67e0b93454',1,'nixt::HookExprAssert::EMap'],['../structnixt_1_1HookExprAttrs.html#ad2fcf3dcf2140e431e40823ffb58f924',1,'nixt::HookExprAttrs::EMap'],['../structnixt_1_1HookExprCall.html#a5470a2c1ce704f022ddeac027b3cb823',1,'nixt::HookExprCall::EMap'],['../structnixt_1_1HookExprConcatStrings.html#a0bc56463e27c183fb6f9355294b73865',1,'nixt::HookExprConcatStrings::EMap'],['../structnixt_1_1HookExprFloat.html#ae251e5bb925b6b2ec5dfbc5c3914236c',1,'nixt::HookExprFloat::EMap'],['../structnixt_1_1HookExprIf.html#aed96f4ef7f512bb8f077223ebb6a9c56',1,'nixt::HookExprIf::EMap'],['../structnixt_1_1HookExprInt.html#a904dea5214ffc2822a616d05a3c4948c',1,'nixt::HookExprInt::EMap'],['../structnixt_1_1HookExprLambda.html#aa1c5d488ff46d282436b698aabb3b607',1,'nixt::HookExprLambda::EMap'],['../structnixt_1_1HookExprLet.html#a301bc6f277922a95024ac99729efb69a',1,'nixt::HookExprLet::EMap'],['../structnixt_1_1HookExprList.html#a153c36bc31748d1d3b08c9861cbbf0c5',1,'nixt::HookExprList::EMap'],['../structnixt_1_1HookExprOpAnd.html#a2f1e26253e661c1d9f9ed9ea23819475',1,'nixt::HookExprOpAnd::EMap'],['../structnixt_1_1HookExprOpConcatLists.html#a37f60d9ac5278a8d0988fe4d4a6fdf00',1,'nixt::HookExprOpConcatLists::EMap'],['../structnixt_1_1HookExprOpEq.html#abb132999dec99ae21c6c84acd0f979fe',1,'nixt::HookExprOpEq::EMap'],['../structnixt_1_1HookExprOpHasAttr.html#aa320014fa146e0de3eeeacaca4b593a8',1,'nixt::HookExprOpHasAttr::EMap'],['../structnixt_1_1HookExprOpImpl.html#a3e2d6b938cea281f54c32012b8757020',1,'nixt::HookExprOpImpl::EMap'],['../structnixt_1_1HookExprOpNEq.html#a66b93e5634250d6f9a3c2f58ab23f727',1,'nixt::HookExprOpNEq::EMap'],['../structnixt_1_1HookExprOpNot.html#a7a19cd2348f7cbc0df5d511ca01c0531',1,'nixt::HookExprOpNot::EMap'],['../structnixt_1_1HookExprOpOr.html#aff214b3c95717c2d5b991dfd2e203789',1,'nixt::HookExprOpOr::EMap'],['../structnixt_1_1HookExprOpUpdate.html#ac72b1fb7c4ae9b0d02cbc22cfb45e1fe',1,'nixt::HookExprOpUpdate::EMap'],['../structnixt_1_1HookExprPath.html#afacf913bcb88634055c841aee6212fcb',1,'nixt::HookExprPath::EMap'],['../structnixt_1_1HookExprPos.html#a0997d3cc70620432ae1a7ebdc3094fe9',1,'nixt::HookExprPos::EMap'],['../structnixt_1_1HookExprSelect.html#a079d95f9ba405657001b1d0fdb02d703',1,'nixt::HookExprSelect::EMap'],['../structnixt_1_1HookExprString.html#a5afc1c16bb3461f2ca1537b22c04bff0',1,'nixt::HookExprString::EMap'],['../structnixt_1_1HookExprVar.html#ab40bd2f5054321907b9077b8edbb8d2b',1,'nixt::HookExprVar::EMap'],['../structnixt_1_1HookExprWith.html#af51acbc33b13ac0b7c3c524ac58b95bc',1,'nixt::HookExprWith::EMap']]], + ['encode_14',['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_15',['encodeAST',['../namespacenixt.html#a94c6760741573011c38cf19c30130f70',1,'nixt']]], + ['encodekind_16',['EncodeKind',['../namespacenixt.html#a5bcdc1a90b949f11bc1a7147ce48c50d',1,'nixt']]], + ['encodeversion_17',['encodeVersion',['../classlspserver_1_1DraftStore.html#a03755988045ecc0881cc22ed9f4494d1',1,'lspserver::DraftStore']]], + ['end_18',['End',['../structnixt_1_1ArrayRef.html#a32da33a8da4d4b5459292207a3fd2bc7',1,'nixt::ArrayRef']]], + ['end_19',['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_20',['endCharacter',['../structlspserver_1_1FoldingRange.html#ae2f313f031ea23b32ac16462aabba26c',1,'lspserver::FoldingRange']]], + ['endline_21',['endLine',['../structlspserver_1_1FoldingRange.html#a9c67eafdbaadf93abea34279b9450d7e',1,'lspserver::FoldingRange']]], + ['enum_22',['Enum',['../namespacelspserver.html#aaa34ea3819069fbee52018467e9586e0acf20423ed48998082c20099488a0917c',1,'lspserver::Enum'],['../namespacelspserver.html#a2c2f610d4b7f64335e8d68b47e18ea6facf20423ed48998082c20099488a0917c',1,'lspserver::Enum']]], + ['enummember_23',['EnumMember',['../namespacelspserver.html#aaa34ea3819069fbee52018467e9586e0a692ec2aadc30b3b8cc45b63c507e48a1',1,'lspserver::EnumMember'],['../namespacelspserver.html#a2c2f610d4b7f64335e8d68b47e18ea6fa692ec2aadc30b3b8cc45b63c507e48a1',1,'lspserver::EnumMember']]], + ['env_24',['env',['../classnixf_1_1VariableLookupAnalysis.html#a1ed59ea8d7578f4ac14419fadd8d1c2c',1,'nixf::VariableLookupAnalysis']]], + ['environment_25',['Reproducible Editors Environment',['../md_nixd_2docs_2editors_2editors.html',1,'']]], + ['envmap_26',['EnvMap',['../classnixf_1_1VariableLookupAnalysis.html#a753f8962166ee449beb3d2ba7c74a228',1,'nixf::VariableLookupAnalysis::EnvMap'],['../namespacenixt.html#a07e5104c8cd6f8edc7f136140f613dae',1,'nixt::EnvMap']]], + ['envnode_27',['EnvNode',['../classnixf_1_1EnvNode.html',1,'nixf::EnvNode'],['../classnixf_1_1EnvNode.html#a665cac8c337fae7fd9d58ba70edffc5e',1,'nixf::EnvNode::EnvNode()']]], + ['error_28',['Error',['../classlspserver_1_1Logger.html#a96543597ca6f5377381ee5a4dba571faa1aec2f15e5029084120d37988813df8c',1,'lspserver::Logger::Error'],['../namespacenixd_1_1rpc.html#adb82fac4db5997115883b375252dd765a902b0d55fddef6f8d651fe1035b7d4bd',1,'nixd::rpc::Error'],['../namespacelspserver.html#a200604f8ba85e73cda84aa47933d8fcba902b0d55fddef6f8d651fe1035b7d4bd',1,'lspserver::Error']]], + ['error_29',['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_30',['ErrorCode',['../namespacelspserver.html#a748780c668b7e2d2e3700f6e7075b078',1,'lspserver']]], + ['escaped_31',['escaped',['../classnixf_1_1InterpolablePart.html#a479152105d80ebf36b0a866258c1bbdf',1,'nixf::InterpolablePart']]], + ['eval_32',['eval',['../structnixt_1_1HookExprAssert.html#a7b4ccb49ee354a33adfc7f665c4f91e1',1,'nixt::HookExprAssert::eval()'],['../structnixt_1_1HookExprAttrs.html#ad66149e5dd9b14c8f455b9400befa12f',1,'nixt::HookExprAttrs::eval()'],['../structnixt_1_1HookExprCall.html#a2389e3940a52011b327a07a68ea98178',1,'nixt::HookExprCall::eval()'],['../structnixt_1_1HookExprConcatStrings.html#a38c5c2aa2cc6c923ad7a5f22355d43df',1,'nixt::HookExprConcatStrings::eval()'],['../structnixt_1_1HookExprFloat.html#ac701cc7d83d7070e22fac62570efecf7',1,'nixt::HookExprFloat::eval()'],['../structnixt_1_1HookExprIf.html#aad30acf9637d3eee4f31ea41443ab623',1,'nixt::HookExprIf::eval()'],['../structnixt_1_1HookExprInt.html#a7ddca5c6c0df52f55c7b2283e4e818d0',1,'nixt::HookExprInt::eval()'],['../structnixt_1_1HookExprLambda.html#a4700de83cec0134244fdbebf4e860e10',1,'nixt::HookExprLambda::eval()'],['../structnixt_1_1HookExprLet.html#ae907786167be0b171466de4f89bdde1d',1,'nixt::HookExprLet::eval()'],['../structnixt_1_1HookExprList.html#a5fdad48c0c502ec1cc0813fcedb1df32',1,'nixt::HookExprList::eval()'],['../structnixt_1_1HookExprOpAnd.html#a24bbbab2a9defddab797aa6b9c0aeff9',1,'nixt::HookExprOpAnd::eval()'],['../structnixt_1_1HookExprOpConcatLists.html#ab3f1e10128e89a37d2d56998df0966df',1,'nixt::HookExprOpConcatLists::eval()'],['../structnixt_1_1HookExprOpEq.html#a69d7603c4685588a615b0b852142bcc8',1,'nixt::HookExprOpEq::eval()'],['../structnixt_1_1HookExprOpHasAttr.html#aa72e9301d057060b5bec3552ea352b64',1,'nixt::HookExprOpHasAttr::eval()'],['../structnixt_1_1HookExprOpImpl.html#aac2efcacf2ae0cc688710cacf44375fe',1,'nixt::HookExprOpImpl::eval()'],['../structnixt_1_1HookExprOpNEq.html#a537a766035b75ae15e08103a85bae44c',1,'nixt::HookExprOpNEq::eval()'],['../structnixt_1_1HookExprOpNot.html#a5949270785e59bda34796d97fa53136f',1,'nixt::HookExprOpNot::eval()'],['../structnixt_1_1HookExprOpOr.html#a7ad8d0c17d4d88e4ea7cc6a1f2d75cb6',1,'nixt::HookExprOpOr::eval()'],['../structnixt_1_1HookExprOpUpdate.html#a7007a2c8e3c3a481563c0bf0ceb03cd3',1,'nixt::HookExprOpUpdate::eval()'],['../structnixt_1_1HookExprPath.html#afbdb1e3ceed7c1b60b42560924d6e470',1,'nixt::HookExprPath::eval()'],['../structnixt_1_1HookExprPos.html#a0361b56e9cdfd760f2934c053dcbe55c',1,'nixt::HookExprPos::eval()'],['../structnixt_1_1HookExprSelect.html#a7ff31be637f37109ed7e8ab3c0c57b92',1,'nixt::HookExprSelect::eval()'],['../structnixt_1_1HookExprString.html#a8319a1c07967676eec2ada6c569eaecf',1,'nixt::HookExprString::eval()'],['../structnixt_1_1HookExprVar.html#afa0087fa54b7380d24d2c93bccd6c00d',1,'nixt::HookExprVar::eval()'],['../structnixt_1_1HookExprWith.html#a3aca1b113471a9f5439683d27544b9cb',1,'nixt::HookExprWith::eval()']]], + ['evalcachef_33',['EvalCacheF',['../structnixt_1_1detail_1_1EvalCacheF.html',1,'nixt::detail']]], + ['evalclient_34',['EvalClient',['../classnixd_1_1EvalClient.html',1,'nixd::EvalClient'],['../classnixd_1_1EvalClient.html#a267f0cf23af6529f52b4c74ae50dfc31',1,'nixd::EvalClient::EvalClient()']]], + ['evalclient_2eh_35',['EvalClient.h',['../EvalClient_8h.html',1,'']]], + ['evalerror_36',['EvalError',['../structnixd_1_1rpc_1_1ExprValueResponse.html#aae25daf6dbf5578afc233532331a5b40a1bfdf5db46eaf547236d7d33010c09ce',1,'nixd::rpc::ExprValueResponse']]], + ['evalexpr_37',['evalExpr',['../classnixd_1_1AttrSetClient.html#afba7ee2c0055fb6db27df585dd890766',1,'nixd::AttrSetClient']]], + ['evalexpr_38',['EvalExpr',['../namespacenixd_1_1rpcMethod.html#a6058b321bad6a7d6455ff1ef911ef629',1,'nixd::rpcMethod']]], + ['evalexprparams_39',['EvalExprParams',['../namespacenixd.html#a0304b81415ba6a804526f12649d85979',1,'nixd']]], + ['evalexprresponse_40',['EvalExprResponse',['../namespacenixd.html#af4bcd68acf08130db1a9ace4a3be8ab3',1,'nixd']]], + ['evalprovider_41',['EvalProvider',['../classnixd_1_1EvalProvider.html',1,'nixd::EvalProvider'],['../classnixd_1_1EvalProvider.html#a3afed826bb93d1a565511affcc6a29db',1,'nixd::EvalProvider::EvalProvider()']]], + ['evalprovider_2eh_42',['EvalProvider.h',['../EvalProvider_8h.html',1,'']]], + ['event_43',['Event',['../classlspserver_1_1Event.html',1,'lspserver::Event< T >'],['../namespacelspserver.html#aaa34ea3819069fbee52018467e9586e0aa4ecfc70574394990cf17bd83df499f7',1,'lspserver::Event'],['../namespacelspserver.html#a2c2f610d4b7f64335e8d68b47e18ea6faa4ecfc70574394990cf17bd83df499f7',1,'lspserver::Event']]], + ['example_44',['Example',['../structnixd_1_1OptionDescription.html#a9bd6c11a1ac5e7994275a9d1c818c749',1,'nixd::OptionDescription']]], + ['exception_2eh_45',['Exception.h',['../Exception_8h.html',1,'']]], + ['executable_46',['Installation - get a working executable',['../md_nixd_2docs_2editor-setup.html#autotoc_md31',1,'']]], + ['executable_20and_20setup_20configurations_47',['Teach your editor find the executable, and setup configurations.',['../md_nixd_2docs_2editor-setup.html#autotoc_md32',1,'']]], + ['executecommandparams_48',['ExecuteCommandParams',['../structlspserver_1_1ExecuteCommandParams.html',1,'lspserver']]], + ['exit_49',['exit',['../classnixd_1_1AttrSetClient.html#ab51f4c56fdef10d7c38a2826f7bd2898',1,'nixd::AttrSetClient']]], + ['exit_50',['Exit',['../namespacenixd_1_1rpcMethod.html#a0f936e2647395b7adf9a4d40cf1a23c7',1,'nixd::rpcMethod']]], + ['explanation_51',['Fields explanation',['../md_nixd_2docs_2configuration.html#autotoc_md17',1,'']]], + ['expr_52',['Expr',['../classnixf_1_1Expr.html',1,'nixf']]], + ['expr_53',['expr',['../structnixd_1_1Configuration_1_1OptionProvider.html#ab8dfc523dff02a3018da886bfe621491',1,'nixd::Configuration::OptionProvider::expr'],['../structnixd_1_1Configuration_1_1NixpkgsProvider.html#a799b37c64c414c6d02de294a772ff511',1,'nixd::Configuration::NixpkgsProvider::expr'],['../classnixf_1_1Inherit.html#a238e6d06460e441d5d72e5f5145f4b86',1,'nixf::Inherit::expr()'],['../classnixf_1_1ExprSelect.html#ac1a75c9a89efbfe87a6771837a0272f9',1,'nixf::ExprSelect::expr()'],['../classnixf_1_1ExprLet.html#acece467b9c55cc8b61abaedfba65e17a',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_54',['Expr',['../classnixf_1_1Expr.html#a12e87d1fab1d766cf93bbb0ac38b708d',1,'nixf::Expr']]], + ['expr_55',['EXPR',['../Basic_8h.html#a66c4fd18ac8f9e2f0a4a7e6ea5a3a7b7',1,'EXPR: Basic.h'],['../Nodes_8cpp.html#a66c4fd18ac8f9e2f0a4a7e6ea5a3a7b7',1,'EXPR: Nodes.cpp']]], + ['expr_2eh_56',['Expr.h',['../Expr_8h.html',1,'']]], + ['exprassert_57',['ExprAssert',['../classnixf_1_1ExprAssert.html',1,'nixf::ExprAssert'],['../classnixf_1_1ExprAssert.html#a40edbca00d2dd57b3e67ebb2f8267cab',1,'nixf::ExprAssert::ExprAssert()']]], + ['exprattrs_58',['ExprAttrs',['../classnixf_1_1ExprAttrs.html',1,'nixf::ExprAttrs'],['../classnixf_1_1ExprAttrs.html#abe45b2e9a18aa38182550c2bc72b94fd',1,'nixf::ExprAttrs::ExprAttrs()']]], + ['exprbinop_59',['ExprBinOp',['../classnixf_1_1ExprBinOp.html',1,'nixf::ExprBinOp'],['../classnixf_1_1ExprBinOp.html#a0fe6f745400078a7ce6e54e074751e99',1,'nixf::ExprBinOp::ExprBinOp()']]], + ['exprcall_60',['ExprCall',['../classnixf_1_1ExprCall.html',1,'nixf::ExprCall'],['../classnixf_1_1ExprCall.html#a6f60faa211da6f3beb69f2aee03e05e2',1,'nixf::ExprCall::ExprCall()']]], + ['expressions_61',['libnixt, Playing with <tt>nix::Expr</tt> expressions.',['../md_libnixt_2README.html',1,'']]], + ['exprfloat_62',['ExprFloat',['../classnixf_1_1ExprFloat.html',1,'nixf::ExprFloat'],['../classnixf_1_1ExprFloat.html#ab8b80abe8c5ecc5a111d4c690f35011a',1,'nixf::ExprFloat::ExprFloat()']]], + ['exprid_63',['ExprID',['../structnixd_1_1rpc_1_1ExprValueParams.html#a9f2b048f1f85283449ccc9e3000ee470',1,'nixd::rpc::ExprValueParams']]], + ['exprif_64',['ExprIf',['../classnixf_1_1ExprIf.html',1,'nixf::ExprIf'],['../classnixf_1_1ExprIf.html#a88ddfa784fec625a2c090ad3dc745f1d',1,'nixf::ExprIf::ExprIf()']]], + ['exprint_65',['ExprInt',['../classnixf_1_1ExprInt.html',1,'nixf::ExprInt'],['../classnixf_1_1ExprInt.html#a98d404e1e836df102e5b05a8b11d2bbd',1,'nixf::ExprInt::ExprInt()']]], + ['exprkind_66',['ExprKind',['../namespacenixt_1_1ek.html#a92936c4da989def360778fc59ea9dc8b',1,'nixt::ek']]], + ['exprlambda_67',['ExprLambda',['../classnixf_1_1ExprLambda.html',1,'nixf::ExprLambda'],['../classnixf_1_1ExprLambda.html#adee27f61cd0fac29864b6467e480d492',1,'nixf::ExprLambda::ExprLambda()']]], + ['exprlet_68',['ExprLet',['../classnixf_1_1ExprLet.html',1,'nixf::ExprLet'],['../classnixf_1_1ExprLet.html#a222fbc6df7e3470f2e3bd0ba91c2d084',1,'nixf::ExprLet::ExprLet()']]], + ['exprlist_69',['ExprList',['../classnixf_1_1ExprList.html',1,'nixf::ExprList'],['../classnixf_1_1ExprList.html#af61bba618b32855be81cac21b9c0c864',1,'nixf::ExprList::ExprList()']]], + ['exprop_70',['ExprOp',['../classnixf_1_1ExprOp.html',1,'nixf::ExprOp'],['../classnixf_1_1ExprOp.html#a8b3e7ca3bf69983264ea305b05c30298',1,'nixf::ExprOp::ExprOp()']]], + ['exprophasattr_71',['ExprOpHasAttr',['../classnixf_1_1ExprOpHasAttr.html',1,'nixf::ExprOpHasAttr'],['../classnixf_1_1ExprOpHasAttr.html#af8b54ae89510f8b2e203912c37daaa19',1,'nixf::ExprOpHasAttr::ExprOpHasAttr()']]], + ['exprparen_72',['ExprParen',['../classnixf_1_1ExprParen.html',1,'nixf::ExprParen'],['../classnixf_1_1ExprParen.html#ae2a39d10e0a66c70342a90b6f25dfd55',1,'nixf::ExprParen::ExprParen()']]], + ['exprpath_73',['ExprPath',['../classnixf_1_1ExprPath.html',1,'nixf::ExprPath'],['../classnixf_1_1ExprPath.html#ac85244257515173f2becda4f8c59c8c7',1,'nixf::ExprPath::ExprPath()']]], + ['exprselect_74',['ExprSelect',['../classnixf_1_1ExprSelect.html',1,'nixf::ExprSelect'],['../classnixf_1_1ExprSelect.html#a65a9fdfe883d6985aa76ebb5da6c85bb',1,'nixf::ExprSelect::ExprSelect()']]], + ['exprspath_75',['ExprSPath',['../classnixf_1_1ExprSPath.html',1,'nixf::ExprSPath'],['../classnixf_1_1ExprSPath.html#a8859c7d5a4b09a71f38986a69cd4f90e',1,'nixf::ExprSPath::ExprSPath()']]], + ['exprstring_76',['ExprString',['../classnixf_1_1ExprString.html',1,'nixf::ExprString'],['../classnixf_1_1ExprString.html#aeaa71e49de7f779867cbc487a7b3e6e7',1,'nixf::ExprString::ExprString()']]], + ['exprunaryop_77',['ExprUnaryOp',['../classnixf_1_1ExprUnaryOp.html',1,'nixf::ExprUnaryOp'],['../classnixf_1_1ExprUnaryOp.html#a3397dc4d0cc34d6b6f58cc4464e4b559',1,'nixf::ExprUnaryOp::ExprUnaryOp()']]], + ['exprvalue_78',['ExprValue',['../classnixd_1_1EvalClient.html#acb85b540a1ec98673f4c1653408859a1',1,'nixd::EvalClient']]], + ['exprvalueparams_79',['ExprValueParams',['../structnixd_1_1rpc_1_1ExprValueParams.html',1,'nixd::rpc']]], + ['exprvalueresponse_80',['ExprValueResponse',['../structnixd_1_1rpc_1_1ExprValueResponse.html',1,'nixd::rpc']]], + ['exprvar_81',['ExprVar',['../classnixf_1_1ExprVar.html',1,'nixf::ExprVar'],['../classnixf_1_1ExprVar.html#a3636e3f329b3cd8bce706860206db46c',1,'nixf::ExprVar::ExprVar()']]], + ['exprwith_82',['ExprWith',['../classnixf_1_1ExprWith.html',1,'nixf::ExprWith'],['../classnixf_1_1ExprWith.html#a6a7f58b5612ed7104a461732e2a5ead9',1,'nixf::ExprWith::ExprWith()']]] +]; diff --git a/search/all_6.js b/search/all_6.js new file mode 100644 index 000000000..1300ea319 --- /dev/null +++ b/search/all_6.js @@ -0,0 +1,65 @@ +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']]], + ['fdty_4',['FDTy',['../classnixd_1_1util_1_1AutoCloseFD.html#ab7c1cca2c222a76edecfe013c6e54e09',1,'nixd::util::AutoCloseFD']]], + ['features_20in_20nixd_5',['Features in nixd',['../md_nixd_2docs_2features.html',1,'']]], + ['features_2emd_6',['features.md',['../features_8md.html',1,'']]], + ['field_7',['Field',['../namespacelspserver.html#aaa34ea3819069fbee52018467e9586e0a6f16a5f8ff5d75ab84c018adacdfcbb7',1,'lspserver::Field'],['../namespacelspserver.html#a2c2f610d4b7f64335e8d68b47e18ea6fa6f16a5f8ff5d75ab84c018adacdfcbb7',1,'lspserver::Field']]], + ['fields_20explanation_8',['Fields explanation',['../md_nixd_2docs_2configuration.html#autotoc_md17',1,'']]], + ['file_9',['file',['../structlspserver_1_1TweakArgs.html#a5ee336faeb522b474b155098925c3a85',1,'lspserver::TweakArgs::file'],['../structlspserver_1_1URIForFile.html#af4471722f38b155208c4ca6bfc9fcb0b',1,'lspserver::URIForFile::file()']]], + ['file_10',['File',['../namespacelspserver.html#aaa34ea3819069fbee52018467e9586e0a0b27918290ff5323bea1e3b78a9cf04e',1,'lspserver::File'],['../namespacelspserver.html#a2c2f610d4b7f64335e8d68b47e18ea6fa0b27918290ff5323bea1e3b78a9cf04e',1,'lspserver::File']]], + ['filechangetype_11',['FileChangeType',['../namespacelspserver.html#a1acdb8484c09865d22820cdd7e4242ab',1,'lspserver']]], + ['fileevalcache_12',['FileEvalCache',['../namespacenixt.html#a88076b368ecb5b309dbf07939284b945',1,'nixt']]], + ['fileevent_13',['FileEvent',['../structlspserver_1_1FileEvent.html',1,'lspserver']]], + ['filestatus_14',['FileStatus',['../structlspserver_1_1FileStatus.html',1,'lspserver::FileStatus'],['../structlspserver_1_1InitializationOptions.html#a48a390f999402d313ca861f296567cde',1,'lspserver::InitializationOptions::FileStatus']]], + ['filtertext_15',['filterText',['../structlspserver_1_1CompletionItem.html#a71dcfdcd867a876761dbb9d740077da2',1,'lspserver::CompletionItem']]], + ['find_20the_20executable_20and_20setup_20configurations_16',['Teach your editor find the executable, and setup configurations.',['../md_nixd_2docs_2editor-setup.html#autotoc_md32',1,'']]], + ['findattrpath_17',['findAttrPath',['../namespacenixd.html#a375913b64ef54f188ebb5f7678d5fbf4',1,'nixd']]], + ['findattrpathresult_18',['FindAttrPathResult',['../namespacenixd.html#a8a9fff4151180c5042891772c134b76c',1,'nixd']]], + ['finddefinition_19',['findDefinition',['../namespacenixd.html#ab1ed48e69ae30947129a89060db4fed8',1,'nixd']]], + ['findreferences_2ecpp_20',['FindReferences.cpp',['../FindReferences_8cpp.html',1,'']]], + ['first_20place_20to_20make_20diff_21',['First place to make diff',['../md_nixd_2docs_2dev.html#autotoc_md22',1,'']]], + ['fix_22',['Fix',['../classnixf_1_1Fix.html',1,'nixf']]], + ['fix_23',['fix',['../classnixf_1_1Diagnostic.html#a92366a85a2893ba31c22a8a31914e4a6',1,'nixf::Diagnostic']]], + ['fix_24',['Fix',['../classnixf_1_1Fix.html#a0f2933f83e52d667c2479681c7259ea5',1,'nixf::Fix']]], + ['fixes_25',['<tt>Diagnostic</tt> and Fixes',['../md_libnixf_2README.html#autotoc_md4',1,'']]], + ['fixes_26',['fixes',['../classnixf_1_1Diagnostic.html#ab084f13cf3992140004e98a6d5561796',1,'nixf::Diagnostic']]], + ['flake_2ecpp_27',['Flake.cpp',['../Flake_8cpp.html',1,'']]], + ['flake_2eh_28',['Flake.h',['../Flake_8h.html',1,'']]], + ['float_29',['Float',['../structnixd_1_1rpc_1_1ExprValueResponse.html#a788097e9ca88ca57b0059f5805570f21aa02c440dad0e0a2352f4de261fa2ffa3',1,'nixd::rpc::ExprValueResponse']]], + ['fn_30',['fn',['../classnixf_1_1ExprCall.html#a34a3a144a95f7f94e1b28f12c7b286b1',1,'nixf::ExprCall']]], + ['fo_31',['FO',['../structnixt_1_1detail_1_1RB.html#afcbe35d3a5bdf0e78512459128a80cca',1,'nixt::detail::RB']]], + ['folder_32',['Folder',['../namespacelspserver.html#aaa34ea3819069fbee52018467e9586e0ab0f2b97dc5d2b76b26e040408bb1d8af',1,'lspserver']]], + ['foldingrange_33',['FoldingRange',['../structlspserver_1_1FoldingRange.html',1,'lspserver']]], + ['foldingrangeparams_34',['FoldingRangeParams',['../structlspserver_1_1FoldingRangeParams.html',1,'lspserver']]], + ['forcerebuild_35',['forceRebuild',['../structlspserver_1_1DidChangeTextDocumentParams.html#a5016d926510b80405dd10c3fc5aa6abc',1,'lspserver::DidChangeTextDocumentParams']]], + ['forkpiped_36',['forkPiped',['../namespacenixd.html#a159c3df5c515c67a1143cc92ad2d07cc',1,'nixd']]], + ['forkpiped_2ecpp_37',['ForkPiped.cpp',['../ForkPiped_8cpp.html',1,'']]], + ['forkpiped_2eh_38',['ForkPiped.h',['../ForkPiped_8h.html',1,'']]], + ['formal_39',['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_40',['Formals',['../classnixf_1_1Formals.html',1,'nixf::Formals'],['../classnixf_1_1Formals.html#a2e970bd6237d5078f30a023e58fd217f',1,'nixf::Formals::Formals()']]], + ['formals_41',['formals',['../classnixf_1_1LambdaArg.html#a126e8da96e3c9097fdd69d4a6586d583',1,'nixf::LambdaArg']]], + ['formalvector_42',['FormalVector',['../classnixf_1_1Formals.html#a2773c21044f3f91000d59df0d3d9ae10',1,'nixf::Formals::FormalVector'],['../classnixf_1_1Sema.html#a98b2ff06568d9a14816b666cb0ceca3b',1,'nixf::Sema::FormalVector']]], + ['format_43',['format',['../classnixf_1_1PartialDiagnostic.html#a78fe5b8c06be826fbf45d06578708b42',1,'nixf::PartialDiagnostic::format()'],['../structllvm_1_1format__provider_3_01lspserver_1_1Position_01_4.html#a99df5b81ac711fc620a4768358755e65',1,'llvm::format_provider< lspserver::Position >::format()']]], + ['format_20formating_44',['Format ("formating")',['../md_nixd_2docs_2configuration.html#autotoc_md19',1,'']]], + ['format_2ecpp_45',['Format.cpp',['../Format_8cpp.html',1,'']]], + ['format_5fprovider_3c_20lspserver_3a_3aposition_20_3e_46',['format_provider< lspserver::Position >',['../structllvm_1_1format__provider_3_01lspserver_1_1Position_01_4.html',1,'llvm']]], + ['formating_47',['Format ("formating")',['../md_nixd_2docs_2configuration.html#autotoc_md19',1,'']]], + ['formatting_48',['Formatting',['../structnixd_1_1Configuration_1_1Formatting.html',1,'nixd::Configuration']]], + ['formatting_49',['formatting',['../structnixd_1_1Configuration.html#a01a1cf79f5687f798d2c69cda9629862',1,'nixd::Configuration']]], + ['fragments_50',['fragments',['../classnixf_1_1InterpolatedParts.html#ac21ab247218d873f571e114379a9eeaa',1,'nixf::InterpolatedParts']]], + ['from_51',['from',['../structlspserver_1_1CallHierarchyIncomingCall.html#a1f18ad5df77c33925fef1e5a6f2e6836',1,'lspserver::CallHierarchyIncomingCall']]], + ['from_20source_52',['Hack nixd from source',['../md_nixd_2docs_2dev.html#autotoc_md23',1,'']]], + ['frominherit_53',['fromInherit',['../classnixf_1_1Attribute.html#a661bbe72351e06a44a04795476fb7a45',1,'nixf::Attribute']]], + ['fromjson_54',['fromJSON',['../namespacenixd.html#a1fbc67dfe3549bb7a7a8c4d871495dc0',1,'nixd::fromJSON(const llvm::json::Value &Params, Configuration::Diagnostic &R, llvm::json::Path P)'],['../namespacenixd.html#ac468c96e153c92fc262ef496faa0df07',1,'nixd::fromJSON(const llvm::json::Value &Params, Configuration::Formatting &R, llvm::json::Path P)'],['../namespacenixd.html#a28ff57f08a75b0ea2d47c155870f5413',1,'nixd::fromJSON(const llvm::json::Value &Params, Configuration::OptionProvider &R, llvm::json::Path P)'],['../namespacenixd.html#a38743528cfc89db19395692d59fcc6ac',1,'nixd::fromJSON(const llvm::json::Value &Params, Configuration::NixpkgsProvider &R, llvm::json::Path P)'],['../namespacenixd.html#ae8ff1f07d8b610d8c96707eaf906de1f',1,'nixd::fromJSON(const llvm::json::Value &Params, Configuration &R, llvm::json::Path P)'],['../namespacenixd.html#a0ce0d17219ab06604a517b82e3ccb83f',1,'nixd::fromJSON(const llvm::json::Value &Params, PackageDescription &R, llvm::json::Path P)'],['../namespacenixd.html#aea3184c01e4d88098831369af9abd1ed',1,'nixd::fromJSON(const llvm::json::Value &Params, ValueMeta &R, llvm::json::Path P)'],['../namespacenixd.html#a197c4b4d2e156f019e36fa4a508970b4',1,'nixd::fromJSON(const llvm::json::Value &Params, AttrPathInfoResponse &R, llvm::json::Path P)'],['../namespacenixd.html#aec130855079c995e38c4b92b907f9f2c',1,'nixd::fromJSON(const llvm::json::Value &Params, AttrPathCompleteParams &R, llvm::json::Path P)'],['../namespacenixd.html#a2a5bfd3a24aadcff9111be68c19dc2be',1,'nixd::fromJSON(const llvm::json::Value &Params, OptionType &R, llvm::json::Path P)'],['../namespacenixd.html#a7af166c35c6f71d87cde52b76581fb6c',1,'nixd::fromJSON(const llvm::json::Value &Params, OptionDescription &R, llvm::json::Path P)'],['../namespacenixd.html#ab3d434950148046d6e93697a5d2cfb11',1,'nixd::fromJSON(const llvm::json::Value &Params, OptionField &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.html#a12611e71eaa85c0888c6df46b92ae3b5',1,'nixd::fromJSON()'],['../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)'],['../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#ab728930266760ada5bcdc06ae4d98302',1,'lspserver::fromJSON(const llvm::json::Value &, Location &, 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#aaf443e6f610e3f4468bc11bb78f4ef2c',1,'lspserver::fromJSON(const llvm::json::Value &, MarkupContent &, llvm::json::Path)'],['../namespacelspserver.html#ad4d9c0fd503fca3e6e04be8f2340f412',1,'lspserver::fromJSON(const llvm::json::Value &, CompletionItem &, 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)']]], + ['fromranges_55',['fromRanges',['../structlspserver_1_1CallHierarchyIncomingCall.html#a3bf53545c722718468c4bd6a5cad7168',1,'lspserver::CallHierarchyIncomingCall::fromRanges'],['../structlspserver_1_1CallHierarchyOutgoingCall.html#ae80af7807ec43827da6a95ea7a5c707a',1,'lspserver::CallHierarchyOutgoingCall::fromRanges']]], + ['fromuri_56',['fromURI',['../structlspserver_1_1URIForFile.html#ae0d57afc543eca5ccf3479333d12c404',1,'lspserver::URIForFile']]], + ['fromwith_57',['FromWith',['../classnixf_1_1VariableLookupAnalysis.html#a2b0542627cacd7b6ccd0d4e74d5a8092a84d0f6395eaa7b2aac4511b8a06b83e0',1,'nixf::VariableLookupAnalysis']]], + ['frontend_58',['<tt>libnixf</tt>, The nix frontend',['../md_libnixf_2README.html',1,'']]], + ['full_59',['Full',['../namespacelspserver.html#a96d435eb7c5ff25b80532d96bbedef3eabbd47109890259c0127154db1af26c75',1,'lspserver']]], + ['function_60',['Function',['../namespacelspserver.html#aaa34ea3819069fbee52018467e9586e0a86408593c34af77fdd90df932f8b5261',1,'lspserver::Function'],['../namespacelspserver.html#a2c2f610d4b7f64335e8d68b47e18ea6fa86408593c34af77fdd90df932f8b5261',1,'lspserver::Function']]], + ['function_2eh_61',['Function.h',['../Function_8h.html',1,'']]] +]; diff --git a/search/all_7.js b/search/all_7.js new file mode 100644 index 000000000..c64be960d --- /dev/null +++ b/search/all_7.js @@ -0,0 +1,24 @@ +var searchData= +[ + ['gen_5fmessage_0',['gen_message',['../namespaceDiagnostic.html#ac0f81cb41ea0f120454d06d46f05be0d',1,'Diagnostic']]], + ['gen_5fparse_5fid_1',['gen_parse_id',['../namespaceDiagnostic.html#a103a921302feef80b9922ecd93b4fb55',1,'Diagnostic']]], + ['gen_5fserverity_2',['gen_serverity',['../namespaceDiagnostic.html#a6f3e04427f2906eef707e4453c5621b4',1,'Diagnostic']]], + ['gen_5fsname_3',['gen_sname',['../namespaceDiagnostic.html#a5d5fc1da9f8440cd5863dd90281eb5f9',1,'Diagnostic']]], + ['get_4',['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_20a_20working_20executable_5',['Installation - get a working executable',['../md_nixd_2docs_2editor-setup.html#autotoc_md31',1,'']]], + ['get_20started_6',['Get Started',['../md_README.html#autotoc_md52',1,'']]], + ['getabsolutepath_7',['getAbsolutePath',['../classlspserver_1_1URIScheme.html#a810c252a7793f73c7831a8d11ff6bfd6',1,'lspserver::URIScheme']]], + ['getactivefiles_8',['getActiveFiles',['../classlspserver_1_1DraftStore.html#a6754dd30b75c1972fd4e460aebad76cb',1,'lspserver::DraftStore']]], + ['getderived_9',['getDerived',['../structnixt_1_1RecursiveASTVisitor.html#ae836d176fbd00e3e9b409d2b926cc63c',1,'nixt::RecursiveASTVisitor']]], + ['getdeserializecontext_10',['getDeserializeContext',['../namespacenixt.html#a8a2e7f8d733597ab4be7010d14bac9e4',1,'nixt']]], + ['getdraft_11',['getDraft',['../classlspserver_1_1DraftStore.html#a6a7a5c47213af923989e6473efb021c2',1,'lspserver::DraftStore']]], + ['getexe_12',['getExe',['../classnixd_1_1AttrSetClient.html#a6eac8c49e1513a8cd589e4fdb698b34a',1,'nixd::AttrSetClient']]], + ['getfield_13',['getField',['../namespacenixt.html#accd87e27c1d3f44d7d9fdd479a381411',1,'nixt']]], + ['getfieldstring_14',['getFieldString',['../namespacenixt.html#a2f91a2be5f45eaa2c8426db6b1d3e51e',1,'nixt']]], + ['getfileevalcache_15',['getFileEvalCache',['../namespacenixt.html#aa20968488a6bdd90cd263d264dd50790',1,'nixt']]], + ['getincludespelling_16',['getIncludeSpelling',['../classlspserver_1_1URIScheme.html#ab5be826dad7367a46a9a44c170267f94',1,'lspserver::URIScheme']]], + ['getlspseverity_17',['getLSPSeverity',['../namespacenixd.html#a19133b596a33f6f08ca6d857194ac8c4',1,'nixd']]], + ['getname_18',['getName',['../structnixt_1_1HookExprAssert.html#a2a5409c078190ec04aff00777f9c10fc',1,'nixt::HookExprAssert::getName()'],['../structnixt_1_1HookExprAttrs.html#a9b7f5744281396007492e11554b5898c',1,'nixt::HookExprAttrs::getName()'],['../structnixt_1_1HookExprCall.html#a28945cc49e550aa851d17add4c835663',1,'nixt::HookExprCall::getName()'],['../structnixt_1_1HookExprConcatStrings.html#a49b54391e032daadb73f528065c871fd',1,'nixt::HookExprConcatStrings::getName()'],['../structnixt_1_1HookExprFloat.html#a270e39e5cae5c96529c7be4e500a8895',1,'nixt::HookExprFloat::getName()'],['../structnixt_1_1HookExprIf.html#ae75efc6f3e80712c23a026ce8261b84c',1,'nixt::HookExprIf::getName()'],['../structnixt_1_1HookExprInt.html#a78a60da4a330572fb8296322df034cfc',1,'nixt::HookExprInt::getName()'],['../structnixt_1_1HookExprLambda.html#ab70e32efea5782601015e77753acd30d',1,'nixt::HookExprLambda::getName()'],['../structnixt_1_1HookExprLet.html#a3557969557cd6c7d9737239e66838d74',1,'nixt::HookExprLet::getName()'],['../structnixt_1_1HookExprList.html#acfa6817ed1b6cf06255402debd72e1c0',1,'nixt::HookExprList::getName()'],['../structnixt_1_1HookExprOpAnd.html#a07c35229986f15a1e078835d56b71fc2',1,'nixt::HookExprOpAnd::getName()'],['../structnixt_1_1HookExprOpConcatLists.html#a4c0a3b3926fd429fec94c238996171f6',1,'nixt::HookExprOpConcatLists::getName()'],['../structnixt_1_1HookExprOpEq.html#aa54adeb953a2b32647469cf34d0f6693',1,'nixt::HookExprOpEq::getName()'],['../structnixt_1_1HookExprOpHasAttr.html#ac99009f0adcdc2507b2ab3e6d211777a',1,'nixt::HookExprOpHasAttr::getName()'],['../structnixt_1_1HookExprOpImpl.html#afa088f28934e606d9fe5fdbf77220e4d',1,'nixt::HookExprOpImpl::getName()'],['../structnixt_1_1HookExprOpNEq.html#a1b692ea8848b6cb723085c5536fe4ecf',1,'nixt::HookExprOpNEq::getName()'],['../structnixt_1_1HookExprOpNot.html#a2daaa687088fe78c896237a12466b775',1,'nixt::HookExprOpNot::getName()'],['../structnixt_1_1HookExprOpOr.html#a6f9502b0421a7de5933aa5031ec3fd62',1,'nixt::HookExprOpOr::getName()'],['../structnixt_1_1HookExprOpUpdate.html#a37afd28b36b66f62ef160c39eb5a31e5',1,'nixt::HookExprOpUpdate::getName()'],['../structnixt_1_1HookExprPath.html#a05c89309a98055db2c57435df3c464d8',1,'nixt::HookExprPath::getName()'],['../structnixt_1_1HookExprPos.html#ac6cad360f2b3fd3ff65e5d78a44f50d9',1,'nixt::HookExprPos::getName()'],['../structnixt_1_1HookExprSelect.html#a0f45e725bad8217f46081e45bed0a88f',1,'nixt::HookExprSelect::getName()'],['../structnixt_1_1HookExprString.html#a29a79bcf3fe0913dbc14fb0c19e565ad',1,'nixt::HookExprString::getName()'],['../structnixt_1_1HookExprVar.html#a465e2f8bf4e618204075b54f318222ae',1,'nixt::HookExprVar::getName()'],['../structnixt_1_1HookExprWith.html#a462cc100e2a475e2e079728b2d625b0b',1,'nixt::HookExprWith::getName()']]], + ['getscopeandprefix_19',['getScopeAndPrefix',['../namespacenixd.html#afe8a6f3c49a1a9b099302ce373ff7487',1,'nixd']]], + ['guide_20',['Editor Setup Guide',['../md_nixd_2docs_2editor-setup.html#autotoc_md30',1,'']]] +]; diff --git a/search/all_8.js b/search/all_8.js new file mode 100644 index 000000000..6b4d7f00b --- /dev/null +++ b/search/all_8.js @@ -0,0 +1,46 @@ +var searchData= +[ + ['hack_20nixd_20from_20source_0',['Hack nixd from source',['../md_nixd_2docs_2dev.html#autotoc_md23',1,'']]], + ['hackcache_2eh_1',['HackCache.h',['../HackCache_8h.html',1,'']]], + ['handle_2',['Handle',['../structnixt_1_1HookExprAssert.html#acb327d6de224ea4c8d8e46535a883a41',1,'nixt::HookExprAssert::Handle'],['../structnixt_1_1HookExprAttrs.html#ae5a61862de8d76e7d056fa62b633594c',1,'nixt::HookExprAttrs::Handle'],['../structnixt_1_1HookExprCall.html#a70692b3eae17d27d3ecc7df20925efc9',1,'nixt::HookExprCall::Handle'],['../structnixt_1_1HookExprConcatStrings.html#a56839e77ebc77fa800131c5b4835941f',1,'nixt::HookExprConcatStrings::Handle'],['../structnixt_1_1HookExprFloat.html#aa344a6d64b25e523b2e40f28d2d18ed8',1,'nixt::HookExprFloat::Handle'],['../structnixt_1_1HookExprIf.html#a641423c2f23a0d489dfead0b947fffdf',1,'nixt::HookExprIf::Handle'],['../structnixt_1_1HookExprInt.html#add7fec0a9abac612c221d08689754b06',1,'nixt::HookExprInt::Handle'],['../structnixt_1_1HookExprLambda.html#a4ba2f6c3e4ac82b34bf0dd61cce76c7c',1,'nixt::HookExprLambda::Handle'],['../structnixt_1_1HookExprLet.html#a7fbe33dece1f2658b79f45120f299b2f',1,'nixt::HookExprLet::Handle'],['../structnixt_1_1HookExprList.html#a3478ea0fb8b589f7780806434cc1014a',1,'nixt::HookExprList::Handle'],['../structnixt_1_1HookExprOpAnd.html#a7f59f63d695aa5de9d020b05e4432943',1,'nixt::HookExprOpAnd::Handle'],['../structnixt_1_1HookExprOpConcatLists.html#ad95de0eb1baac85f815e09fde301f7f1',1,'nixt::HookExprOpConcatLists::Handle'],['../structnixt_1_1HookExprOpEq.html#a96aa83eb997c36a715ffe21e29d9edfd',1,'nixt::HookExprOpEq::Handle'],['../structnixt_1_1HookExprOpHasAttr.html#a9ed2c4a0ebd50338c4b6e95052b6df6c',1,'nixt::HookExprOpHasAttr::Handle'],['../structnixt_1_1HookExprOpImpl.html#a558a37516c0eb73ef6d682f661b2be2c',1,'nixt::HookExprOpImpl::Handle'],['../structnixt_1_1HookExprOpNEq.html#a1b8f85a864a1c36293071caf42623b9b',1,'nixt::HookExprOpNEq::Handle'],['../structnixt_1_1HookExprOpNot.html#aba621deda6f0b400b6a9be6e0fb6e4f5',1,'nixt::HookExprOpNot::Handle'],['../structnixt_1_1HookExprOpOr.html#a05c663be3c767f9efe67ad82dd576ebd',1,'nixt::HookExprOpOr::Handle'],['../structnixt_1_1HookExprOpUpdate.html#a7b58ad9f76c6bddb0f41496a081c89f2',1,'nixt::HookExprOpUpdate::Handle'],['../structnixt_1_1HookExprPath.html#a4d023d3b62fa8b8bc609284a23ceefd6',1,'nixt::HookExprPath::Handle'],['../structnixt_1_1HookExprPos.html#a9ae681f75b747b7c4709f651230e573e',1,'nixt::HookExprPos::Handle'],['../structnixt_1_1HookExprSelect.html#aaa263d60f5aa93b7f062533187764fda',1,'nixt::HookExprSelect::Handle'],['../structnixt_1_1HookExprString.html#a8ea9c3635eaffd8b9bb908253143abee',1,'nixt::HookExprString::Handle'],['../structnixt_1_1HookExprVar.html#a346636a35e29c3d114f40a70642d49f8',1,'nixt::HookExprVar::Handle'],['../structnixt_1_1HookExprWith.html#ad9ee1fb9355a554966bcdbefea510bc5',1,'nixt::HookExprWith::Handle']]], + ['handlermap_3',['HandlerMap',['../structlspserver_1_1HandlerRegistry.html#a260e9df7c4da0c6a22c53008442035f4',1,'lspserver::HandlerRegistry']]], + ['handlerregistry_4',['HandlerRegistry',['../structlspserver_1_1HandlerRegistry.html',1,'lspserver']]], + ['hasexpr_5',['hasExpr',['../classnixf_1_1Inherit.html#a8ca85be69eb7816dce6f535b7b419c4f',1,'nixf::Inherit']]], + ['hassignaturehelp_6',['HasSignatureHelp',['../structlspserver_1_1ClientCapabilities.html#a9ca47e898beb1c56b06c67c96fd5123a',1,'lspserver::ClientCapabilities']]], + ['havepackagescope_7',['havePackageScope',['../namespacenixd.html#a61cd8a1e981fd817d78f0543b4f5a46f',1,'nixd']]], + ['helix_8',['Helix',['../md_nixd_2docs_2editor-setup.html#autotoc_md40',1,'']]], + ['hierarchicaldocumentsymbol_9',['HierarchicalDocumentSymbol',['../structlspserver_1_1ClientCapabilities.html#a97a1aefd747510606ac5b43038b6ff73',1,'lspserver::ClientCapabilities']]], + ['hints_10',['Inlay Hints',['../md_nixd_2docs_2features.html#autotoc_md47',1,'']]], + ['homepage_11',['Homepage',['../structnixd_1_1PackageDescription.html#ae9f712d0658eb615ef1ede2840a2f556',1,'nixd::PackageDescription']]], + ['hookexpr_2ecpp_12',['HookExpr.cpp',['../HookExpr_8cpp.html',1,'']]], + ['hookexpr_2eh_13',['HookExpr.h',['../HookExpr_8h.html',1,'']]], + ['hookexprassert_14',['HookExprAssert',['../structnixt_1_1HookExprAssert.html',1,'nixt::HookExprAssert'],['../structnixt_1_1HookExprAssert.html#a35209cd17244ce0cbf88909f68303ff4',1,'nixt::HookExprAssert::HookExprAssert()']]], + ['hookexprattrs_15',['HookExprAttrs',['../structnixt_1_1HookExprAttrs.html',1,'nixt::HookExprAttrs'],['../structnixt_1_1HookExprAttrs.html#ad7379f5aac6e004dbec24ad307c34470',1,'nixt::HookExprAttrs::HookExprAttrs()']]], + ['hookexprcall_16',['HookExprCall',['../structnixt_1_1HookExprCall.html',1,'nixt::HookExprCall'],['../structnixt_1_1HookExprCall.html#a645ff13ca0705d95a502c6086b7f827b',1,'nixt::HookExprCall::HookExprCall()']]], + ['hookexprconcatstrings_17',['HookExprConcatStrings',['../structnixt_1_1HookExprConcatStrings.html',1,'nixt::HookExprConcatStrings'],['../structnixt_1_1HookExprConcatStrings.html#afb9d0a63c3eb13425aba01671d22466f',1,'nixt::HookExprConcatStrings::HookExprConcatStrings()']]], + ['hookexprfloat_18',['HookExprFloat',['../structnixt_1_1HookExprFloat.html',1,'nixt::HookExprFloat'],['../structnixt_1_1HookExprFloat.html#ac48e83983996ae6c2fada2ac4517e7c9',1,'nixt::HookExprFloat::HookExprFloat()']]], + ['hookexprif_19',['HookExprIf',['../structnixt_1_1HookExprIf.html',1,'nixt::HookExprIf'],['../structnixt_1_1HookExprIf.html#a6f511d507ec8732a2afa2a7b2ed4c3c9',1,'nixt::HookExprIf::HookExprIf()']]], + ['hookexprint_20',['HookExprInt',['../structnixt_1_1HookExprInt.html',1,'nixt::HookExprInt'],['../structnixt_1_1HookExprInt.html#a0ca509c4d136a005c5f8ee1819d6948a',1,'nixt::HookExprInt::HookExprInt()']]], + ['hookexprlambda_21',['HookExprLambda',['../structnixt_1_1HookExprLambda.html',1,'nixt::HookExprLambda'],['../structnixt_1_1HookExprLambda.html#a26c59c5deaa83b20606b0944e0ed2c69',1,'nixt::HookExprLambda::HookExprLambda()']]], + ['hookexprlet_22',['HookExprLet',['../structnixt_1_1HookExprLet.html',1,'nixt::HookExprLet'],['../structnixt_1_1HookExprLet.html#a09c631559c4d011146b8fe2974763c97',1,'nixt::HookExprLet::HookExprLet()']]], + ['hookexprlist_23',['HookExprList',['../structnixt_1_1HookExprList.html',1,'nixt::HookExprList'],['../structnixt_1_1HookExprList.html#a52ca48d5d926c8a23819574d85e76de7',1,'nixt::HookExprList::HookExprList()']]], + ['hookexpropand_24',['HookExprOpAnd',['../structnixt_1_1HookExprOpAnd.html',1,'nixt::HookExprOpAnd'],['../structnixt_1_1HookExprOpAnd.html#aa473548a9d781a95a328818b22c2ee64',1,'nixt::HookExprOpAnd::HookExprOpAnd()']]], + ['hookexpropconcatlists_25',['HookExprOpConcatLists',['../structnixt_1_1HookExprOpConcatLists.html',1,'nixt::HookExprOpConcatLists'],['../structnixt_1_1HookExprOpConcatLists.html#aecf4df94e57d76fc7d48ff018ae94e16',1,'nixt::HookExprOpConcatLists::HookExprOpConcatLists()']]], + ['hookexpropeq_26',['HookExprOpEq',['../structnixt_1_1HookExprOpEq.html',1,'nixt::HookExprOpEq'],['../structnixt_1_1HookExprOpEq.html#a2b303484902073f41a00f743076385e5',1,'nixt::HookExprOpEq::HookExprOpEq()']]], + ['hookexprophasattr_27',['HookExprOpHasAttr',['../structnixt_1_1HookExprOpHasAttr.html',1,'nixt::HookExprOpHasAttr'],['../structnixt_1_1HookExprOpHasAttr.html#ab13ed90056ac044bc79b65c99583053f',1,'nixt::HookExprOpHasAttr::HookExprOpHasAttr()']]], + ['hookexpropimpl_28',['HookExprOpImpl',['../structnixt_1_1HookExprOpImpl.html',1,'nixt::HookExprOpImpl'],['../structnixt_1_1HookExprOpImpl.html#a9ba8769bb56116c18b1cb2b3b85b52cd',1,'nixt::HookExprOpImpl::HookExprOpImpl()']]], + ['hookexpropneq_29',['HookExprOpNEq',['../structnixt_1_1HookExprOpNEq.html',1,'nixt::HookExprOpNEq'],['../structnixt_1_1HookExprOpNEq.html#a5d269cbb2e78e130be8563445b3f0a6b',1,'nixt::HookExprOpNEq::HookExprOpNEq()']]], + ['hookexpropnot_30',['HookExprOpNot',['../structnixt_1_1HookExprOpNot.html',1,'nixt::HookExprOpNot'],['../structnixt_1_1HookExprOpNot.html#a3a85286cd8ad99c753a705b22ebfe9b2',1,'nixt::HookExprOpNot::HookExprOpNot()']]], + ['hookexpropor_31',['HookExprOpOr',['../structnixt_1_1HookExprOpOr.html',1,'nixt::HookExprOpOr'],['../structnixt_1_1HookExprOpOr.html#a8d7b060ab59055cc10fb1e270e8b2ff4',1,'nixt::HookExprOpOr::HookExprOpOr()']]], + ['hookexpropupdate_32',['HookExprOpUpdate',['../structnixt_1_1HookExprOpUpdate.html',1,'nixt::HookExprOpUpdate'],['../structnixt_1_1HookExprOpUpdate.html#a9586e45d373961064d7b166219714837',1,'nixt::HookExprOpUpdate::HookExprOpUpdate()']]], + ['hookexprpath_33',['HookExprPath',['../structnixt_1_1HookExprPath.html',1,'nixt::HookExprPath'],['../structnixt_1_1HookExprPath.html#a6ccd55b34ddd112084bf377287fd0eb0',1,'nixt::HookExprPath::HookExprPath()']]], + ['hookexprpos_34',['HookExprPos',['../structnixt_1_1HookExprPos.html',1,'nixt::HookExprPos'],['../structnixt_1_1HookExprPos.html#aa5a0c187bf386fe890b58fc6fed02271',1,'nixt::HookExprPos::HookExprPos()']]], + ['hookexprselect_35',['HookExprSelect',['../structnixt_1_1HookExprSelect.html',1,'nixt::HookExprSelect'],['../structnixt_1_1HookExprSelect.html#af173deaeb2ddbc8b6205f92e560828c8',1,'nixt::HookExprSelect::HookExprSelect()']]], + ['hookexprstring_36',['HookExprString',['../structnixt_1_1HookExprString.html',1,'nixt::HookExprString'],['../structnixt_1_1HookExprString.html#a6d2a5ba7e8eb568c413612ad5c1279a5',1,'nixt::HookExprString::HookExprString()']]], + ['hookexprvar_37',['HookExprVar',['../structnixt_1_1HookExprVar.html',1,'nixt::HookExprVar'],['../structnixt_1_1HookExprVar.html#a484e20ace875d2ae2aacbd1f17f10cbc',1,'nixt::HookExprVar::HookExprVar()']]], + ['hookexprwith_38',['HookExprWith',['../structnixt_1_1HookExprWith.html',1,'nixt::HookExprWith'],['../structnixt_1_1HookExprWith.html#a5bc91b1a9d407fac8220f0849b4f4c83',1,'nixt::HookExprWith::HookExprWith()']]], + ['hover_39',['Hover',['../structlspserver_1_1Hover.html',1,'lspserver']]], + ['hover_2ecpp_40',['Hover.cpp',['../Hover_8cpp.html',1,'']]], + ['hovercontentformat_41',['HoverContentFormat',['../structlspserver_1_1ClientCapabilities.html#af75256e464cbc48e35bf300a990f2339',1,'lspserver::ClientCapabilities']]], + ['href_42',['href',['../structlspserver_1_1CodeDescription.html#a950cfe72f2650727ab9040454cffbe26',1,'lspserver::CodeDescription']]] +]; diff --git a/search/all_9.js b/search/all_9.js new file mode 100644 index 000000000..459c68a07 --- /dev/null +++ b/search/all_9.js @@ -0,0 +1,76 @@ +var searchData= +[ + ['id_0',['id',['../classnixf_1_1AttrName.html#a37eea7dfc9412f77f58150a2b1d307af',1,'nixf::AttrName::id()'],['../classnixf_1_1Formal.html#aab8695fb13ff49a84040916aeedaacde',1,'nixf::Formal::id()'],['../classnixf_1_1LambdaArg.html#a675a713b4000ba0276b76fdec61f1343',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()']]], + ['idiomexception_3',['IdiomException',['../structnixd_1_1idioms_1_1IdiomException.html',1,'nixd::idioms']]], + ['idiomselectorexception_4',['IdiomSelectorException',['../structnixd_1_1idioms_1_1IdiomSelectorException.html',1,'nixd::idioms']]], + ['implicitprogresscreation_5',['ImplicitProgressCreation',['../structlspserver_1_1ClientCapabilities.html#ae99d6881f86577aaec54f868833e0805',1,'lspserver::ClientCapabilities']]], + ['import_5fkind_6',['IMPORT_KIND',['../structlspserver_1_1FoldingRange.html#a3040c1531b4f5133af99920cdc6d23f6',1,'lspserver::FoldingRange']]], + ['in_7',['In',['../classlspserver_1_1InboundPort.html#afb28d5b31d3b8f6fe1a9ab3f17e9768f',1,'lspserver::InboundPort']]], + ['in_8',['in',['../classnixf_1_1ExprLet.html#aea2667d42ed0579f525d1eb93dc6cbb4',1,'nixf::ExprLet']]], + ['in_20nixd_9',['Features in nixd',['../md_nixd_2docs_2features.html',1,'']]], + ['in_20your_20workflow_10',['Use <tt>nixf-tidy</tt> in your workflow',['../md_libnixf_2README.html#autotoc_md11',1,'']]], + ['inactiveregions_11',['InactiveRegions',['../structlspserver_1_1ClientCapabilities.html#af2686e5c4895a0a854d91e3dba375180',1,'lspserver::ClientCapabilities::InactiveRegions'],['../structlspserver_1_1InactiveRegionsParams.html#aa9c2423142598c35bfd465eed891f467',1,'lspserver::InactiveRegionsParams::InactiveRegions']]], + ['inactiveregionsparams_12',['InactiveRegionsParams',['../structlspserver_1_1InactiveRegionsParams.html',1,'lspserver']]], + ['inboundport_13',['InboundPort',['../classlspserver_1_1InboundPort.html',1,'lspserver::InboundPort'],['../classlspserver_1_1InboundPort.html#a419e5af57e0cca6ccfe6978b35675bbe',1,'lspserver::InboundPort::InboundPort()']]], + ['include_2fnixd_2fprotocol_2fprotocol_2eh_14',['Protocol.h',['../include_2nixd_2Protocol_2Protocol_8h.html',1,'']]], + ['include_2fnixf_2fparse_2fparser_2eh_15',['Parser.h',['../include_2nixf_2Parse_2Parser_8h.html',1,'']]], + ['includedeclaration_16',['includeDeclaration',['../structlspserver_1_1ReferenceContext.html#abdbba19760558847f47948f67dec14f1',1,'lspserver::ReferenceContext']]], + ['includespelling_17',['includeSpelling',['../classlspserver_1_1URI.html#aca4cec72a895ac2b26e28f814d2f1624',1,'lspserver::URI']]], + ['incremental_18',['Incremental',['../namespacelspserver.html#a96d435eb7c5ff25b80532d96bbedef3ea482be0da5798aaaecbf7416714e6607f',1,'lspserver']]], + ['indent_19',['indent',['../namespacesupport.html#a7147af64f83276f4a745e64590a341ae',1,'support']]], + ['indicator_20',['indicator',['../classlspserver_1_1Logger.html#ac118beec87dfcd4a03ed63148a64d8c1',1,'lspserver::Logger']]], + ['info_21',['Info',['../classlspserver_1_1Logger.html#a96543597ca6f5377381ee5a4dba571faa1b5b28822814a65fcd846e8d0c48a81e',1,'lspserver::Logger::Info'],['../namespacenixd_1_1rpc.html#adb82fac4db5997115883b375252dd765a4059b0251f66a18cb56f544728796875',1,'nixd::rpc::Info'],['../namespacelspserver.html#a200604f8ba85e73cda84aa47933d8fcba4059b0251f66a18cb56f544728796875',1,'lspserver::Info']]], + ['info_5fkind_22',['INFO_KIND',['../structlspserver_1_1CodeAction.html#a35f3a22bb33d882f294f79bfad896573',1,'lspserver::CodeAction']]], + ['inherit_23',['Inherit',['../classnixf_1_1Inherit.html',1,'nixf::Inherit'],['../classnixf_1_1Inherit.html#aa02b90d3a483e460c71b0bad76a02391',1,'nixf::Inherit::Inherit()'],['../classnixf_1_1Attribute.html#aa48a020e7c83244b959571ab5be09e4bac49484faf79e2388b580e49444d6ac11',1,'nixf::Attribute::Inherit'],['../namespacenixd.html#a8a9fff4151180c5042891772c134b76cac49484faf79e2388b580e49444d6ac11',1,'nixd::Inherit']]], + ['inheritfrom_24',['InheritFrom',['../classnixf_1_1Attribute.html#aa48a020e7c83244b959571ab5be09e4ba1e73dddbf23ae3c70d342fcfa48e540d',1,'nixf::Attribute']]], + ['initeval_25',['initEval',['../namespacenixt.html#abfdf7b34660dfb0339b1a8d432258d64',1,'nixt']]], + ['initeval_2eh_26',['InitEval.h',['../InitEval_8h.html',1,'']]], + ['initializationoptions_27',['InitializationOptions',['../structlspserver_1_1InitializationOptions.html',1,'lspserver']]], + ['initializationoptions_28',['initializationOptions',['../structlspserver_1_1InitializeParams.html#a5e88a877f71891675820b640ff12bc7f',1,'lspserver::InitializeParams']]], + ['initializedparams_29',['InitializedParams',['../namespacelspserver.html#a0f06aec4d410e011a3c2d6501ddfef94',1,'lspserver']]], + ['initializeparams_30',['InitializeParams',['../structlspserver_1_1InitializeParams.html',1,'lspserver']]], + ['inlay_20hints_31',['Inlay Hints',['../md_nixd_2docs_2features.html#autotoc_md47',1,'']]], + ['inlayhint_32',['InlayHint',['../structlspserver_1_1InlayHint.html',1,'lspserver']]], + ['inlayhintkind_33',['InlayHintKind',['../namespacelspserver.html#ad0e04d3cce4fb889bbf88064199247f8',1,'lspserver']]], + ['inlayhints_2ecpp_34',['InlayHints.cpp',['../InlayHints_8cpp.html',1,'']]], + ['inlayhintsparams_35',['InlayHintsParams',['../structlspserver_1_1InlayHintsParams.html',1,'lspserver']]], + ['insertattr_36',['insertAttr',['../classnixf_1_1Sema.html#a13b10a1e7a3044d9329e7a1b0528ea69',1,'nixf::Sema']]], + ['inserttext_37',['insertText',['../structlspserver_1_1CompletionItem.html#a8bf42e95f9c1da002854af23eebeac3f',1,'lspserver::CompletionItem']]], + ['inserttextformat_38',['insertTextFormat',['../structlspserver_1_1CompletionItem.html#a82d58166654813e1fabdbbd58e76802f',1,'lspserver::CompletionItem']]], + ['inserttextformat_39',['InsertTextFormat',['../namespacelspserver.html#ac7ba537910cf2ac19f50ecf4bf062c00',1,'lspserver']]], + ['installation_20get_20a_20working_20executable_40',['Installation - get a working executable',['../md_nixd_2docs_2editor-setup.html#autotoc_md31',1,'']]], + ['int_41',['Int',['../structnixd_1_1rpc_1_1ExprValueResponse.html#a788097e9ca88ca57b0059f5805570f21a66a0fcd7eb462355b3befc43311a7352',1,'nixd::rpc::ExprValueResponse']]], + ['interface_42',['Interface',['../namespacelspserver.html#aaa34ea3819069fbee52018467e9586e0a3c1aac82863ed9e5a9aca8ce687f711d',1,'lspserver::Interface'],['../namespacelspserver.html#a2c2f610d4b7f64335e8d68b47e18ea6fa3c1aac82863ed9e5a9aca8ce687f711d',1,'lspserver::Interface']]], + ['internalerror_43',['InternalError',['../namespacelspserver.html#a748780c668b7e2d2e3700f6e7075b078a8462b58246e70e5c83e5b939a9332cb5',1,'lspserver']]], + ['interpolablepart_44',['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_45',['InterpolablePartKind',['../classnixf_1_1InterpolablePart.html#a7454ab26e6f93fe207838d0388a70a12',1,'nixf::InterpolablePart']]], + ['interpolatedparts_46',['InterpolatedParts',['../classnixf_1_1InterpolatedParts.html',1,'nixf::InterpolatedParts'],['../classnixf_1_1InterpolatedParts.html#a2eb53e17b3330f4e8fcf074cf4bbb6d4',1,'nixf::InterpolatedParts::InterpolatedParts()']]], + ['interpolation_47',['Interpolation',['../classnixf_1_1Interpolation.html',1,'nixf::Interpolation'],['../classnixf_1_1Interpolation.html#a55aceae8cdb93625335d3d7cde838db1',1,'nixf::Interpolation::Interpolation()']]], + ['interpolation_48',['interpolation',['../classnixf_1_1AttrName.html#ac2732ba9cdfb0b82133f240aadd06af3',1,'nixf::AttrName::interpolation()'],['../classnixf_1_1InterpolablePart.html#ac67030946a216a5de81f566dccb6a857',1,'nixf::InterpolablePart::interpolation()']]], + ['invalidparams_49',['InvalidParams',['../namespacelspserver.html#a748780c668b7e2d2e3700f6e7075b078ad4c4700b7580ce00c94ddf7b363de696',1,'lspserver']]], + ['invalidrequest_50',['InvalidRequest',['../namespacelspserver.html#a748780c668b7e2d2e3700f6e7075b078ad544eb3da2f68d24cf92a8519ed53a31',1,'lspserver']]], + ['invoked_51',['Invoked',['../namespacelspserver.html#a509e18127b3bb638d67ba0aaf019afbea78ebb05ef299168efe905bfffed49fc1',1,'lspserver']]], + ['isat_52',['isAt',['../classnixf_1_1LexerCursor.html#a7f6e007a3d39a02b99f6930e9d02bce4',1,'nixf::LexerCursor']]], + ['isbuiltin_53',['isBuiltin',['../classnixf_1_1Definition.html#a38ea36321783dfdabd7b270f909aea8f',1,'nixf::Definition']]], + ['isderivation_54',['isDerivation',['../namespacenixt.html#ab4224127acdd06f51e20c682e1041b1f',1,'nixt']]], + ['isellipsis_55',['isEllipsis',['../classnixf_1_1Formal.html#a8343c279f0396f74167e646bfda90b0f',1,'nixf::Formal']]], + ['isexpr_56',['isExpr',['../classnixf_1_1Expr.html#a6f85bfc7d96a73d8d8d3714df0758d74',1,'nixf::Expr']]], + ['isincomplete_57',['isIncomplete',['../structlspserver_1_1CompletionList.html#a2319e93956c0454fc9b2e06e7605636d',1,'lspserver::CompletionList']]], + ['isinsertion_58',['isInsertion',['../classnixf_1_1TextEdit.html#a422a39a4961490c3451e5f3fc18fbb25',1,'nixf::TextEdit']]], + ['isliteral_59',['isLiteral',['../classnixf_1_1InterpolatedParts.html#a7e1d40e5c9a19eaa027ac861a56ce8d3',1,'nixf::InterpolatedParts::isLiteral()'],['../classnixf_1_1ExprString.html#a42d86124c5beb4bdd871b1df5c1d2def',1,'nixf::ExprString::isLiteral()']]], + ['islive_60',['isLive',['../classnixf_1_1EnvNode.html#a45ab85f3fc95bedd9bbcf3359004aa0d',1,'nixf::EnvNode']]], + ['isoption_61',['isOption',['../namespacenixt.html#a5b81a93a32497f13b698427ea3696e16',1,'nixt']]], + ['ispreferred_62',['isPreferred',['../structlspserver_1_1CodeAction.html#abcad8bbfe56f70b1819de2a67f1f607f',1,'lspserver::CodeAction']]], + ['isreadytoeval_63',['isReadyToEval',['../classnixd_1_1Controller.html#aaebe9c5f8f275485f3b006825371eaf9',1,'nixd::Controller']]], + ['isrecursive_64',['isRecursive',['../classnixf_1_1SemaAttrs.html#ab7a4d35f7742538bc3cd2d5c3646d9fe',1,'nixf::SemaAttrs::isRecursive()'],['../classnixf_1_1ExprAttrs.html#a2c881c1d2eda371913c523fc9506b45a',1,'nixf::ExprAttrs::isRecursive()']]], + ['isreleased_65',['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_66',['isRemoval',['../classnixf_1_1TextEdit.html#acfe595455ec070184a8228d482cf0405',1,'nixf::TextEdit']]], + ['isreplace_67',['isReplace',['../classnixf_1_1TextEdit.html#ac1716784158c0b6d6d1d92c6a0def933',1,'nixf::TextEdit']]], + ['isroot_68',['isRoot',['../classnixf_1_1ParentMapAnalysis.html#a5405ebc1d99a6cd3a46fb5d9a892b3b9',1,'nixf::ParentMapAnalysis::isRoot(const Node *Up, const Node &N)'],['../classnixf_1_1ParentMapAnalysis.html#a9bb60f4bdc1caf25d73efc354b3bb584',1,'nixf::ParentMapAnalysis::isRoot(const Node &N) const']]], + ['isstatic_69',['isStatic',['../classnixf_1_1AttrName.html#ab7eef836b1c3fafccf262271653d428e',1,'nixf::AttrName']]], + ['iswith_70',['isWith',['../classnixf_1_1EnvNode.html#a0f3201d6ce5bfc7db062ada7cf1bafdb',1,'nixf::EnvNode']]], + ['item_71',['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_72',['items',['../structlspserver_1_1CompletionList.html#a76cb0f838134404363ab569593645415',1,'lspserver::CompletionList::items'],['../structlspserver_1_1ConfigurationParams.html#ae3804192f58e4e8c49b3e2f30a451226',1,'lspserver::ConfigurationParams::items']]] +]; diff --git a/search/all_a.js b/search/all_a.js new file mode 100644 index 000000000..11b8b9e6d --- /dev/null +++ b/search/all_a.js @@ -0,0 +1,11 @@ +var searchData= +[ + ['json_0',['JSON',['../structlspserver_1_1HandlerRegistry.html#aae59055288de39d90b87956f75cf638b',1,'lspserver::HandlerRegistry']]], + ['json_2ecpp_1',['JSON.cpp',['../JSON_8cpp.html',1,'']]], + ['json_2eh_2',['JSON.h',['../JSON_8h.html',1,'']]], + ['jsondiagnostic_2ecpp_3',['JSONDiagnostic.cpp',['../JSONDiagnostic_8cpp.html',1,'']]], + ['jsondiagnostic_2eh_4',['JSONDiagnostic.h',['../JSONDiagnostic_8h.html',1,'']]], + ['jsonparseexception_5',['JSONParseException',['../classnixd_1_1JSONParseException.html',1,'nixd::JSONParseException'],['../classnixd_1_1JSONParseException.html#a731ad3a22c2ef0de886f2024f9dfbe84',1,'nixd::JSONParseException::JSONParseException()']]], + ['jsonschemaexception_6',['JSONSchemaException',['../classnixd_1_1JSONSchemaException.html',1,'nixd::JSONSchemaException'],['../classnixd_1_1JSONSchemaException.html#a13b0356fcf6b795d903b49d889da9140',1,'nixd::JSONSchemaException::JSONSchemaException()']]], + ['jsonstreamstyle_7',['JSONStreamStyle',['../namespacelspserver.html#a452c423a64856fd113d0303affd5a1b8',1,'lspserver']]] +]; diff --git a/search/all_b.js b/search/all_b.js new file mode 100644 index 000000000..7461b2b18 --- /dev/null +++ b/search/all_b.js @@ -0,0 +1,14 @@ +var searchData= +[ + ['kcurrentoffsetencoding_0',['kCurrentOffsetEncoding',['../namespacelspserver.html#ae1b6a9026eb83daa2a63574e1005d83a',1,'lspserver']]], + ['key_1',['Key',['../classlspserver_1_1Key.html',1,'lspserver']]], + ['key_2',['key',['../classnixf_1_1Attribute.html#a3160f2ec78640fb1276f83e9b659b988',1,'nixf::Attribute']]], + ['key_3',['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'],['../namespacelspserver.html#a2c2f610d4b7f64335e8d68b47e18ea6fa897356954c2cd3d41b221e3f24f99bba',1,'lspserver::Key']]], + ['keyword_4',['Keyword',['../namespacelspserver.html#aaa34ea3819069fbee52018467e9586e0a220f3d3750583b9db48568a0b5b9a5f1',1,'lspserver']]], + ['kind_5',['Kind',['../structnixf_1_1VariableLookupAnalysis_1_1LookupResult.html#a9a0d805aa961dfffc698cc2da4e77170',1,'nixf::VariableLookupAnalysis::LookupResult']]], + ['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'],['../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_1Attribute.html#a61e13adbdb686a81d92272f968e930ca',1,'nixf::Attribute::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,'']]], + ['kwwith_10',['kwWith',['../classnixf_1_1ExprWith.html#a16b7c85d568ead23bda96e3e635694f4',1,'nixf::ExprWith']]] +]; diff --git a/search/all_c.js b/search/all_c.js new file mode 100644 index 000000000..1188dcc8f --- /dev/null +++ b/search/all_c.js @@ -0,0 +1,83 @@ +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_20nixd_20workers_5',['Memory model about nix language & nixd workers',['../md_nixd_2docs_2dev.html#autotoc_md25',1,'']]], + ['languageid_6',['languageId',['../structlspserver_1_1TextDocumentItem.html#a7c4fbb979f975664b26c677f6f5c47ed',1,'lspserver::TextDocumentItem']]], + ['languages_20toml_7',['languages.toml',['../md_nixd_2docs_2editor-setup.html#autotoc_md41',1,'']]], + ['lastexprkind_8',['LastExprKind',['../namespacenixt_1_1ek.html#a92936c4da989def360778fc59ea9dc8bab81cdfe0226cefa918385e7000ffd49f',1,'nixt::ek']]], + ['launch_2ecpp_9',['Launch.cpp',['../Launch_8cpp.html',1,'']]], + ['launch_2eh_10',['Launch.h',['../Launch_8h.html',1,'']]], + ['lcur_11',['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_12',['length',['../structlspserver_1_1SemanticToken.html#a081ca08285c9a311da5dbf0364fd89ff',1,'lspserver::SemanticToken']]], + ['lengthof_13',['lengthof',['../namespacenixt.html#ac6b4f9213d65373445ab2fff33c850b9',1,'nixt']]], + ['let_14',['let',['../classnixf_1_1ExprLet.html#a0dbefba776f1d5d5a9602d54aaf25dcd',1,'nixf::ExprLet']]], + ['level_15',['Level',['../classlspserver_1_1Logger.html#a96543597ca6f5377381ee5a4dba571fa',1,'lspserver::Logger']]], + ['lex_16',['lex',['../classnixf_1_1Lexer.html#a034dcf1bd3082e72b51e087d6499bcc8',1,'nixf::Lexer']]], + ['lexer_17',['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_18',['Lexer.cpp',['../Lexer_8cpp.html',1,'']]], + ['lexer_2eh_19',['Lexer.h',['../Lexer_8h.html',1,'']]], + ['lexercursor_20',['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_21',['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_22',['lexIndString',['../classnixf_1_1Lexer.html#a50d8aa54da3f34164d1fcb8306837c6a',1,'nixf::Lexer']]], + ['lexpath_23',['lexPath',['../classnixf_1_1Lexer.html#a8a51c201d533855c1e8971c0ae5b786b',1,'nixf::Lexer']]], + ['lexstring_24',['lexString',['../classnixf_1_1Lexer.html#a9f8efb4268ad89cc1a2b5d339c2f7310',1,'nixf::Lexer']]], + ['lhs_25',['lhs',['../classnixf_1_1ExprBinOp.html#ac9191de6305a5bfec16ad76962b7d7af',1,'nixf::ExprBinOp']]], + ['lib_26',['Lib',['../namespacenixd_1_1idioms.html#af9b8331a31fe17eb27e753dcd0ffe9f1',1,'nixd::idioms']]], + ['lib_2fprotocol_2fprotocol_2ecpp_27',['Protocol.cpp',['../lib_2Protocol_2Protocol_8cpp.html',1,'']]], + ['libnixf_28',['Standalone tools provided along libnixf',['../md_libnixf_2README.html#autotoc_md8',1,'']]], + ['libnixf_20tt_20the_20nix_20frontend_29',['<tt>libnixf</tt>, The nix frontend',['../md_libnixf_2README.html',1,'']]], + ['libnixf_2finclude_2fnixf_2fsema_2fparentmap_2eh_30',['ParentMap.h',['../libnixf_2include_2nixf_2Sema_2ParentMap_8h.html',1,'']]], + ['libnixf_2freadme_2emd_31',['README.md',['../libnixf_2README_8md.html',1,'']]], + ['libnixf_2fsrc_2fsema_2fparentmap_2ecpp_32',['ParentMap.cpp',['../libnixf_2src_2Sema_2ParentMap_8cpp.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_2finclude_2fnixt_2fparentmap_2eh_34',['ParentMap.h',['../libnixt_2include_2nixt_2ParentMap_8h.html',1,'']]], + ['libnixt_2flib_2fparentmap_2ecpp_35',['ParentMap.cpp',['../libnixt_2lib_2ParentMap_8cpp.html',1,'']]], + ['libnixt_2freadme_2emd_36',['README.md',['../libnixt_2README_8md.html',1,'']]], + ['lifetime_2ecpp_37',['LifeTime.cpp',['../LifeTime_8cpp.html',1,'']]], + ['limit_38',['limit',['../structlspserver_1_1WorkspaceSymbolParams.html#aadd80a745c97d6ae35413c980c989d81',1,'lspserver::WorkspaceSymbolParams::limit'],['../structlspserver_1_1CompletionParams.html#acb666c154a571e7c8ede79d3cdbe6938',1,'lspserver::CompletionParams::limit']]], + ['line_39',['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_40',['LineFoldingOnly',['../structlspserver_1_1ClientCapabilities.html#ac455e1a742f8c5aa88d781bce220216f',1,'lspserver::ClientCapabilities']]], + ['lines_41',['lines',['../namespacesupport.html#a6ad6b29a8f430ce0968644d8eb97cbc4',1,'support']]], + ['listener_42',['Listener',['../classlspserver_1_1Event.html#a2bd0fd7d19a15a37af841f1758aadac1',1,'lspserver::Event']]], + ['literal_43',['literal',['../classnixf_1_1InterpolatedParts.html#a6d6b71a8c7089c5b349646b4cce7ee3e',1,'nixf::InterpolatedParts::literal()'],['../classnixf_1_1ExprString.html#a89d896ae4e5c288cba3ad3a3a7116eae',1,'nixf::ExprString::literal()']]], + ['littest_44',['LitTest',['../namespacenixd.html#aaa0b3352f854dca3015e80a7eb31edda',1,'nixd']]], + ['llvm_45',['llvm',['../namespacellvm.html',1,'']]], + ['llvmerrorexception_46',['LLVMErrorException',['../classnixd_1_1LLVMErrorException.html',1,'nixd::LLVMErrorException'],['../classnixd_1_1LLVMErrorException.html#a2bb03306512c579916d467b1fe8b3a27',1,'nixd::LLVMErrorException::LLVMErrorException()']]], + ['location_47',['Location',['../structlspserver_1_1Location.html',1,'lspserver::Location'],['../structnixd_1_1ValueMeta.html#a6dd391365f8fe156aadb41a1036e7afa',1,'nixd::ValueMeta::Location']]], + ['location_48',['location',['../structlspserver_1_1DiagnosticRelatedInformation.html#a2bbe3214ee91607562c9cdba02019596',1,'lspserver::DiagnosticRelatedInformation::location'],['../structlspserver_1_1SymbolInformation.html#af54cf457d97f284f2fc646971af096d9',1,'lspserver::SymbolInformation::location']]], + ['locations_49',['Locations',['../Definition_8cpp.html#a12207ae0ae860d3010572b266069d011',1,'Definition.cpp']]], + ['log_50',['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_51',['Log',['../namespacelspserver.html#a200604f8ba85e73cda84aa47933d8fcbace0be71e33226e4c1db2bcea5959f16b',1,'lspserver']]], + ['logger_52',['Logger',['../classlspserver_1_1Logger.html',1,'lspserver']]], + ['logger_2ecpp_53',['Logger.cpp',['../Logger_8cpp.html',1,'']]], + ['logger_2eh_54',['Logger.h',['../Logger_8h.html',1,'']]], + ['loggingsession_55',['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_56',['logImpl',['../namespacelspserver_1_1detail.html#a8905d8683dee5d9b3492afb380e5d947',1,'lspserver::detail']]], + ['loglevel_57',['LogLevel',['../namespacenixd_1_1rpc.html#adb82fac4db5997115883b375252dd765',1,'nixd::rpc']]], + ['longdescription_58',['LongDescription',['../structnixd_1_1PackageDescription.html#aca003aeab9d430da6a6c6ff5bdee7eb7',1,'nixd::PackageDescription']]], + ['lookupresult_59',['LookupResult',['../structnixf_1_1VariableLookupAnalysis_1_1LookupResult.html',1,'nixf::VariableLookupAnalysis::LookupResult'],['../Definition_8cpp.html#a2cdf7705d242aea1a5be460db23ae09f',1,'LookupResult: Definition.cpp']]], + ['lookupresultkind_60',['LookupResultKind',['../classnixf_1_1VariableLookupAnalysis.html#a2b0542627cacd7b6ccd0d4e74d5a8092',1,'nixf::VariableLookupAnalysis']]], + ['loop_61',['loop',['../classlspserver_1_1InboundPort.html#ac7e0915cb005ecd6fe77b609801aae6a',1,'lspserver::InboundPort']]], + ['lowerbinds_62',['lowerBinds',['../classnixf_1_1Sema.html#a5cb52f2d7a5742bd3ae8b873223a202c',1,'nixf::Sema']]], + ['lowerinherit_63',['lowerInherit',['../classnixf_1_1Sema.html#a194dcd5cf7aa2d89b47be498e085fec7',1,'nixf::Sema']]], + ['lowerinheritname_64',['lowerInheritName',['../classnixf_1_1Sema.html#a37fa8f94a97d47524b9a9ed84d824725',1,'nixf::Sema']]], + ['lparen_65',['lparen',['../classnixf_1_1ExprParen.html#af95065f247843154ae0e342e2c303032',1,'nixf::ExprParen']]], + ['lsp_20mode_66',['lsp-mode',['../md_nixd_2docs_2editor-setup.html#autotoc_md39',1,'']]], + ['lspbinder_2eh_67',['LSPBinder.h',['../LSPBinder_8h.html',1,'']]], + ['lspdiagnosticcompare_68',['LSPDiagnosticCompare',['../structlspserver_1_1LSPDiagnosticCompare.html',1,'lspserver']]], + ['lsperror_69',['LSPError',['../classlspserver_1_1LSPError.html',1,'lspserver::LSPError'],['../classlspserver_1_1LSPError.html#a6c652f24319d875f2324ccf4d2b44221',1,'lspserver::LSPError::LSPError()']]], + ['lsplength_70',['lspLength',['../namespacelspserver.html#a33cf5ae9ff1beb1ed5da6be44131c538',1,'lspserver']]], + ['lspserver_71',['LSPServer',['../classlspserver_1_1LSPServer.html',1,'lspserver']]], + ['lspserver_72',['lspserver',['../namespacelspserver.html',1,'']]], + ['lspserver_73',['LSPServer',['../classlspserver_1_1LSPServer.html#a53836f18f56886fc4726d1c691aa5967',1,'lspserver::LSPServer']]], + ['lspserver_74',['lspserver',['../md_nixd_2lspserver_2README.html',1,'']]], + ['lspserver_2ecpp_75',['LSPServer.cpp',['../LSPServer_8cpp.html',1,'']]], + ['lspserver_2eh_76',['LSPServer.h',['../LSPServer_8h.html',1,'']]], + ['lspserver_2finclude_2flspserver_2fprotocol_2eh_77',['Protocol.h',['../lspserver_2include_2lspserver_2Protocol_8h.html',1,'']]], + ['lspserver_2fsrc_2fprotocol_2ecpp_78',['Protocol.cpp',['../lspserver_2src_2Protocol_8cpp.html',1,'']]], + ['lspserver_3a_3adetail_79',['detail',['../namespacelspserver_1_1detail.html',1,'lspserver']]] +]; diff --git a/search/all_d.js b/search/all_d.js new file mode 100644 index 000000000..da73cfa53 --- /dev/null +++ b/search/all_d.js @@ -0,0 +1,39 @@ +var searchData= +[ + ['magic_0',['Magic',['../structnixt_1_1ASTHeader.html#a35492d0f33e24cbfd0a9669a629b9635',1,'nixt::ASTHeader']]], + ['main_1',['main',['../nixf-tidy_8cpp.html#a61bb56cc8677d0962ca016a8223f2721',1,'main(int Argc, const char *Argv[]): nixf-tidy.cpp'],['../nixd-attrset-eval_8cpp.html#a61bb56cc8677d0962ca016a8223f2721',1,'main(int Argc, const char *Argv[]): nixd-attrset-eval.cpp'],['../nixd_8cpp.html#a0ddf1224851353fc92bfbff6f499fa97',1,'main(int argc, char *argv[]): nixd.cpp']]], + ['make_20diff_2',['First place to make diff',['../md_nixd_2docs_2dev.html#autotoc_md22',1,'']]], + ['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_md25',1,'']]], + ['mergeattrsets_11',['mergeAttrSets',['../classnixf_1_1Sema.html#a476c6746dd40eb1f78311701f232897b',1,'nixf::Sema']]], + ['message_12',['Message',['../md_nixd_2docs_2dev.html#autotoc_md28',1,'Commit message'],['../classlspserver_1_1LSPError.html#a19b4a5ac8612ee1fa10fd57c1b29f938',1,'lspserver::LSPError::Message']]], + ['message_13',['message',['../classdiagnostic_1_1Diagnostic.html#a0a695c7f5656ff6f12fa69eefccaf2cf',1,'diagnostic.Diagnostic.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#a6fe98e2ddb4400792e05d7a96692f587',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']]], + ['meta_17',['Meta',['../structnixd_1_1AttrPathInfoResponse.html#a91e36e9479efdba3f0e1c965b5398ad2',1,'nixd::AttrPathInfoResponse']]], + ['method_18',['Method',['../namespacelspserver.html#aaa34ea3819069fbee52018467e9586e0a4c3880bb027f159e801041b1021e88e8',1,'lspserver::Method'],['../namespacelspserver.html#a2c2f610d4b7f64335e8d68b47e18ea6fa4c3880bb027f159e801041b1021e88e8',1,'lspserver::Method']]], + ['methodhandlers_19',['MethodHandlers',['../structlspserver_1_1HandlerRegistry.html#ab9b29fe16e502b4735c0ad29dc63db3a',1,'lspserver::HandlerRegistry']]], + ['methodnotfound_20',['MethodNotFound',['../namespacelspserver.html#a748780c668b7e2d2e3700f6e7075b078a011fb1f694f7b928964b898fc5d0ca5c',1,'lspserver']]], + ['misc_21',['Misc',['../classnixf_1_1Misc.html',1,'nixf::Misc'],['../classnixf_1_1Misc.html#a5a46e9d50e77fa519e426571882b4440',1,'nixf::Misc::Misc()']]], + ['missing_22',['Missing',['../namespacelspserver.html#aaa34ea3819069fbee52018467e9586e0a2aee0be2678ee90fd327cc186826438e',1,'lspserver::Missing'],['../namespacelspserver.html#ac7ba537910cf2ac19f50ecf4bf062c00a2aee0be2678ee90fd327cc186826438e',1,'lspserver::Missing']]], + ['mkin_23',['mkIn',['../structnixd_1_1StreamProc.html#abe2658aff77fde7585ed06ff63a22523',1,'nixd::StreamProc']]], + ['mkinsertion_24',['mkInsertion',['../classnixf_1_1TextEdit.html#aa01de417f0748dd4f29fe8dae17ca601',1,'nixf::TextEdit']]], + ['mkout_25',['mkOut',['../structnixd_1_1StreamProc.html#ae8995e2c76e610e4624fa185f612c114',1,'nixd::StreamProc']]], + ['mkoutmethod_26',['mkOutMethod',['../classlspserver_1_1LSPServer.html#a5dd731ed81441fd2630f4e0be2f633ac',1,'lspserver::LSPServer']]], + ['mkoutnotifiction_27',['mkOutNotifiction',['../classlspserver_1_1LSPServer.html#afeb63f9af680b6c3fec9d31d725f8c5c',1,'lspserver::LSPServer']]], + ['mkremoval_28',['mkRemoval',['../classnixf_1_1TextEdit.html#a8b915421713ff5dc17b1c8d51babaebb',1,'nixf::TextEdit']]], + ['mkselector_29',['mkSelector',['../namespacenixd_1_1idioms.html#a3152734e112585842faec493aba3cebd',1,'nixd::idioms::mkSelector(const nixf::AttrPath &AP, Selector BaseSelector)'],['../namespacenixd_1_1idioms.html#a918e194d422258fc4bbd385b010c08dc',1,'nixd::idioms::mkSelector(const nixf::ExprSelect &Select, Selector BaseSelector)'],['../namespacenixd_1_1idioms.html#aa80158d658fdce466dfefe02ce2f1882',1,'nixd::idioms::mkSelector(const nixf::ExprSelect &Select, const nixf::VariableLookupAnalysis &VLA, const nixf::ParentMapAnalysis &PM)']]], + ['mkvarselector_30',['mkVarSelector',['../namespacenixd_1_1idioms.html#a267c4c42720066a60c48f92fc65e6ff3',1,'nixd::idioms']]], + ['mode_31',['lsp-mode',['../md_nixd_2docs_2editor-setup.html#autotoc_md39',1,'']]], + ['model_20about_20nix_20language_20nixd_20workers_32',['Memory model about nix language & nixd workers',['../md_nixd_2docs_2dev.html#autotoc_md25',1,'']]], + ['module_33',['Module',['../namespacelspserver.html#aaa34ea3819069fbee52018467e9586e0ae55f75a29310d7b60f7ac1d390c8ae42',1,'lspserver::Module'],['../namespacelspserver.html#a2c2f610d4b7f64335e8d68b47e18ea6fae55f75a29310d7b60f7ac1d390c8ae42',1,'lspserver::Module'],['../md_libnixf_2README.html#autotoc_md3',1,'The <tt>Basic</tt> module'],['../md_libnixf_2README.html#autotoc_md6',1,'The <tt>Parse</tt> module']]], + ['modules_34',['Modules',['../md_libnixf_2README.html#autotoc_md2',1,'']]], + ['motivation_35',['Background & Motivation',['../md_libnixf_2README.html#autotoc_md1',1,'']]] +]; diff --git a/search/all_e.js b/search/all_e.js new file mode 100644 index 000000000..d9dd5dc33 --- /dev/null +++ b/search/all_e.js @@ -0,0 +1,79 @@ +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#a6fa6c0a9b934c874d60ff7d53105e7c8',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()']]], + ['name_1',['Name',['../structnixd_1_1PackageDescription.html#a00ea7a33f1767971378432094a124c15',1,'nixd::PackageDescription::Name'],['../structnixd_1_1OptionType.html#aca8f8af760e6395728f7cddddbae56a9',1,'nixd::OptionType::Name'],['../structnixd_1_1OptionField.html#aec249e77ae41e23fc9b2f91450aa8117',1,'nixd::OptionField::Name']]], + ['name_20coloring_2',['Attribute name coloring',['../md_nixd_2docs_2features.html#autotoc_md49',1,'']]], + ['nameof_3',['nameOf',['../namespacenixt.html#a3efffc7408dd31f34dec03f721c1fda7',1,'nixt']]], + ['names_4',['names',['../classnixf_1_1AttrPath.html#ae0143958c2795a68fb6254a583c1c00f',1,'nixf::AttrPath::names()'],['../classnixf_1_1Inherit.html#a26fed72a675db2c13c7f0f89199bdc94',1,'nixf::Inherit::names()']]], + ['namespace_5',['Namespace',['../namespacelspserver.html#a2c2f610d4b7f64335e8d68b47e18ea6fab3ba0fe968ce39dcfc6fe8cc0f1b02da',1,'lspserver']]], + ['needs_20configuration_6',['Default configuration & Who needs configuration',['../md_nixd_2docs_2configuration.html#autotoc_md14',1,'']]], + ['needsconfirmation_7',['needsConfirmation',['../structlspserver_1_1ChangeAnnotation.html#aca9324acf18a5f70fdea8571081cc720',1,'lspserver::ChangeAnnotation']]], + ['neo_20vim_8',['(Neo)vim',['../md_nixd_2docs_2editor-setup.html#autotoc_md34',1,'']]], + ['neovim_9',['Neovim',['../md_nixd_2docs_2editor-setup.html#autotoc_md36',1,'Neovim'],['../md_nixd_2docs_2editors_2editors.html#autotoc_md45',1,'Neovim']]], + ['newname_10',['newName',['../structlspserver_1_1RenameParams.html#a4f121d58cb2a9799003eecdcc12f23d2',1,'lspserver::RenameParams']]], + ['newtext_11',['newText',['../structlspserver_1_1TextEdit.html#adec5027e18f0fb42b23460061d615bfe',1,'lspserver::TextEdit::newText'],['../classnixf_1_1TextEdit.html#a0782f25df320f1b76c84f457d9a0d366',1,'nixf::TextEdit::newText()']]], + ['next_12',['next',['../classnixf_1_1Dot.html#ad56ed2882f7a2bd722a35646ba6b00e1',1,'nixf::Dot']]], + ['nix_13',['nix',['../namespacenix.html',1,'']]], + ['nix_20frontend_14',['<tt>libnixf</tt>, The nix frontend',['../md_libnixf_2README.html',1,'']]], + ['nix_20language_20nixd_20workers_15',['Memory model about nix language & nixd workers',['../md_nixd_2docs_2dev.html#autotoc_md25',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',['../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']]], + ['nixd_18',['nixd',['../md_nixd_2docs_2features.html',1,'Features in nixd'],['../namespacenixd.html',1,'nixd']]], + ['nixd_20from_20source_19',['Hack nixd from source',['../md_nixd_2docs_2dev.html#autotoc_md23',1,'']]], + ['nixd_20workers_20',['Memory model about nix language & nixd workers',['../md_nixd_2docs_2dev.html#autotoc_md25',1,'']]], + ['nixd_2dattrset_2deval_2ecpp_21',['nixd-attrset-eval.cpp',['../nixd-attrset-eval_8cpp.html',1,'']]], + ['nixd_2ecpp_22',['nixd.cpp',['../nixd_8cpp.html',1,'']]], + ['nixd_2flspserver_2freadme_2emd_23',['README.md',['../nixd_2lspserver_2README_8md.html',1,'']]], + ['nixd_3a_3aidioms_24',['idioms',['../namespacenixd_1_1idioms.html',1,'nixd']]], + ['nixd_3a_3arpc_25',['rpc',['../namespacenixd_1_1rpc.html',1,'nixd']]], + ['nixd_3a_3arpcmethod_26',['rpcMethod',['../namespacenixd_1_1rpcMethod.html',1,'nixd']]], + ['nixd_3a_3autil_27',['util',['../namespacenixd_1_1util.html',1,'nixd']]], + ['nixdcategory_28',['NixdCategory',['../namespacenixd.html#a2cd45c92952150965eba018d90a01633',1,'nixd']]], + ['nixf_29',['nixf',['../namespacenixf.html',1,'']]], + ['nixf_20tidy_20tt_30',['<tt>nixf-tidy</tt>',['../md_libnixf_2README.html#autotoc_md9',1,'']]], + ['nixf_20tidy_20tt_20in_20your_20workflow_31',['Use <tt>nixf-tidy</tt> in your workflow',['../md_libnixf_2README.html#autotoc_md11',1,'']]], + ['nixf_2dtidy_2ecpp_32',['nixf-tidy.cpp',['../nixf-tidy_8cpp.html',1,'']]], + ['nixf_3a_3adetail_33',['detail',['../namespacenixf_1_1detail.html',1,'nixf']]], + ['nixf_3a_3atok_34',['tok',['../namespacenixf_1_1tok.html',1,'nixf']]], + ['nixfloat_35',['NixFloat',['../namespacenixf.html#ae0a23b6341e30167b5ffcf039f958f31',1,'nixf']]], + ['nixint_36',['NixInt',['../namespacenixf.html#aa5dba9ae7b53e4af5f0c5376b9126f8a',1,'nixf']]], + ['nixpkgs_37',['nixpkgs',['../structnixd_1_1Configuration.html#af0ce984c3127850f46dbfa91b6484a62',1,'nixd::Configuration']]], + ['nixpkgsprovider_38',['NixpkgsProvider',['../structnixd_1_1Configuration_1_1NixpkgsProvider.html',1,'nixd::Configuration']]], + ['nixt_39',['nixt',['../namespacenixt.html',1,'']]], + ['nixt_3a_3adetail_40',['detail',['../namespacenixt_1_1detail.html',1,'nixt']]], + ['nixt_3a_3aek_41',['ek',['../namespacenixt_1_1ek.html',1,'nixt']]], + ['nixtu_42',['NixTU',['../classnixd_1_1NixTU.html',1,'nixd::NixTU'],['../classnixd_1_1NixTU.html#a175eb5c09159572b4d0b46d9220a7993',1,'nixd::NixTU::NixTU()=default'],['../classnixd_1_1NixTU.html#a9b6ef6e7290c067da5ab8c89691d6efb',1,'nixd::NixTU::NixTU(std::vector< nixf::Diagnostic > Diagnostics, std::shared_ptr< nixf::Node > AST, std::optional< util::OwnedRegion > ASTByteCode, std::unique_ptr< nixf::VariableLookupAnalysis > VLA, std::shared_ptr< const std::string > Src)']]], + ['nixtu_2ecpp_43',['NixTU.cpp',['../NixTU_8cpp.html',1,'']]], + ['nixtu_2eh_44',['NixTU.h',['../NixTU_8h.html',1,'']]], + ['nk_45',['NK',['../Lexer_8cpp.html#a315d0166a5efb584ca2be6d9ab715ab2',1,'Lexer.cpp']]], + ['nk_5fbeginexpr_46',['NK_BeginExpr',['../classnixf_1_1Node.html#a33f84590ebf2cafe57a2ae525a3cb24fa82c7c6773a7d7fe65e1dc2f99d2337cc',1,'nixf::Node']]], + ['nk_5fendexpr_47',['NK_EndExpr',['../classnixf_1_1Node.html#a33f84590ebf2cafe57a2ae525a3cb24fa449d58d691e0f457b4c0469348897ee9',1,'nixf::Node']]], + ['node_48',['Node',['../classnixf_1_1Node.html',1,'nixf::Node'],['../classnixf_1_1Node.html#ad11d40789cd9815f1f5c11df610d501d',1,'nixf::Node::Node()']]], + ['node_49',['NODE',['../Basic_8h.html#ae51fb3910ef81fe9a8d43fe6f0c8fbd8',1,'NODE: Basic.h'],['../Nodes_8cpp.html#ae51fb3910ef81fe9a8d43fe6f0c8fbd8',1,'NODE: Nodes.cpp']]], + ['nodekind_50',['NodeKind',['../classnixf_1_1Node.html#a33f84590ebf2cafe57a2ae525a3cb24f',1,'nixf::Node']]], + ['nodekinds_2einc_51',['NodeKinds.inc',['../NodeKinds_8inc.html',1,'']]], + ['nodes_52',['Nodes',['../md_libnixf_2README.html#autotoc_md5',1,'AST Nodes'],['../structnixt_1_1PtrPool.html#a1800dc79208ee98a3d549855aa9b19ae',1,'nixt::PtrPool::Nodes']]], + ['nodes_2ecpp_53',['Nodes.cpp',['../Nodes_8cpp.html',1,'']]], + ['nodes_2einc_54',['Nodes.inc',['../Nodes_8inc.html',1,'']]], + ['nolocationforbuiltinvariable_55',['NoLocationForBuiltinVariable',['../structnixd_1_1idioms_1_1NoLocationForBuiltinVariable.html',1,'nixd::idioms']]], + ['none_56',['None',['../namespacelspserver.html#a96d435eb7c5ff25b80532d96bbedef3ea6adf97f83acf6453d4a6a4b1070f3754',1,'lspserver']]], + ['noparams_57',['NoParams',['../structlspserver_1_1NoParams.html',1,'lspserver']]], + ['nosuchvar_58',['NoSuchVar',['../classnixf_1_1VariableLookupAnalysis.html#a2b0542627cacd7b6ccd0d4e74d5a8092a8f24f4d3656866ab27d8511a2ea96919',1,'nixf::VariableLookupAnalysis']]], + ['nosuchvarexception_59',['NoSuchVarException',['../structnixd_1_1idioms_1_1NoSuchVarException.html',1,'nixd::idioms']]], + ['notanidiomexception_60',['NotAnIdiomException',['../structnixd_1_1idioms_1_1NotAnIdiomException.html',1,'nixd::idioms']]], + ['notattrpath_61',['NotAttrPath',['../namespacenixd.html#a8a9fff4151180c5042891772c134b76cabeb3c2922aaa620f4f617f91409187e8',1,'nixd']]], + ['note_62',['Note',['../classnixf_1_1Note.html',1,'nixf::Note'],['../classnixf_1_1Note.html#a9984578ffc34751c62a52a16c4621661',1,'nixf::Note::Note()']]], + ['note_63',['note',['../classnixf_1_1Diagnostic.html#a4f2b8ee8c6168580c085e03e0a01bffc',1,'nixf::Diagnostic']]], + ['notekind_64',['NoteKind',['../classnixf_1_1Note.html#afd0b733e88a64c9f06305eacfbc49592',1,'nixf::Note']]], + ['notekinds_2einc_65',['NoteKinds.inc',['../NoteKinds_8inc.html',1,'']]], + ['notes_66',['notes',['../classnixf_1_1Diagnostic.html#adb5fbb6e886dd6ee6966ad8dc65a74fd',1,'nixf::Diagnostic']]], + ['notevaluated_67',['NotEvaluated',['../structnixd_1_1rpc_1_1ExprValueResponse.html#aae25daf6dbf5578afc233532331a5b40ac8edcaf2b7b454d5c55bdb0042611af1',1,'nixd::rpc::ExprValueResponse']]], + ['notfound_68',['NotFound',['../structnixd_1_1rpc_1_1ExprValueResponse.html#aae25daf6dbf5578afc233532331a5b40aa345680532bc76323e45d8888784b25a',1,'nixd::rpc::ExprValueResponse']]], + ['notificationhandlers_69',['NotificationHandlers',['../structlspserver_1_1HandlerRegistry.html#aafabcb783d12b17e1243b809ce910ed4',1,'lspserver::HandlerRegistry']]], + ['notify_70',['notify',['../classlspserver_1_1OutboundPort.html#a85ec6be072ff927259769f5961ad9e79',1,'lspserver::OutboundPort']]], + ['notvariableselect_71',['NotVariableSelect',['../structnixd_1_1idioms_1_1NotVariableSelect.html',1,'nixd::idioms']]], + ['null_72',['Null',['../namespacelspserver.html#a2c2f610d4b7f64335e8d68b47e18ea6fabbb93ef26e3c101ff11cdd21cab08a94',1,'lspserver']]], + ['null_5fdevice_73',['NULL_DEVICE',['../Launch_8cpp.html#a05d9e85ca6c6f2d354e0ff7d66ad1279',1,'Launch.cpp']]], + ['number_74',['Number',['../namespacelspserver.html#a2c2f610d4b7f64335e8d68b47e18ea6fab2ee912b91d69b435159c7c3f6df7f5f',1,'lspserver']]], + ['nvim_75',['Coc.nvim',['../md_nixd_2docs_2editor-setup.html#autotoc_md35',1,'']]] +]; diff --git a/search/all_f.js b/search/all_f.js new file mode 100644 index 000000000..b7df9f896 --- /dev/null +++ b/search/all_f.js @@ -0,0 +1,67 @@ +var searchData= +[ + ['object_0',['Object',['../namespacelspserver.html#a2c2f610d4b7f64335e8d68b47e18ea6fa497031794414a552435f90151ac3b54b',1,'lspserver']]], + ['observe_1',['observe',['../classlspserver_1_1Event.html#a371a83f606c7b98af3a0c55d2e9b8d0c',1,'lspserver::Event']]], + ['off_2',['Off',['../namespacelspserver.html#a84ff90cc9ec54bbbee73d83bdf8c6928ad15305d7a4e34e02489c74a5ef542f36',1,'lspserver']]], + ['offset_3',['offset',['../classnixf_1_1LexerCursor.html#a5dc0fd53d1ef98feab10e6d7c9d319ad',1,'nixf::LexerCursor']]], + ['offsetencoding_4',['offsetEncoding',['../structlspserver_1_1ClientCapabilities.html#ae2666d024c096114db82d579cd6052b2',1,'lspserver::ClientCapabilities']]], + ['offsetencoding_5',['OffsetEncoding',['../namespacelspserver.html#a2ea2a228752a8a5289ef9ed3c27bbc88',1,'lspserver']]], + ['offsetsinsignaturehelp_6',['OffsetsInSignatureHelp',['../structlspserver_1_1ClientCapabilities.html#ad609bc3de9a9964c4663cd2d16d5a58a',1,'lspserver::ClientCapabilities']]], + ['offsettoposition_7',['offsetToPosition',['../namespacelspserver.html#ac71023b148ed02879e34fd46bf7f6781',1,'lspserver']]], + ['ok_8',['OK',['../structnixd_1_1rpc_1_1ExprValueResponse.html#aae25daf6dbf5578afc233532331a5b40a3ad59822e2b500a77642fbcabd240713',1,'nixd::rpc::ExprValueResponse::OK'],['../namespacenixd.html#a8a9fff4151180c5042891772c134b76cae0aa021e21dddbd6d8cecec71e9cf564',1,'nixd::OK']]], + ['oldrange_9',['oldRange',['../classnixf_1_1TextEdit.html#a7cfa20b90917da966cba7bb51e9e90f7',1,'nixf::TextEdit']]], + ['onattrpathcomplete_10',['onAttrPathComplete',['../classnixd_1_1AttrSetProvider.html#aec853402c2f11df131f33e00f46a80b8',1,'nixd::AttrSetProvider']]], + ['onattrpathinfo_11',['onAttrPathInfo',['../classnixd_1_1AttrSetProvider.html#a48bcde745313f70d5f64c3c18fe3dd69',1,'nixd::AttrSetProvider']]], + ['oncall_12',['onCall',['../classlspserver_1_1MessageHandler.html#ab203a403bb6038c38cb38cb42add8170',1,'lspserver::MessageHandler']]], + ['onevalexpr_13',['onEvalExpr',['../classnixd_1_1AttrSetProvider.html#a541b5193172f0e799d1098c394af93ac',1,'nixd::AttrSetProvider']]], + ['onexprattrs_14',['onExprAttrs',['../classnixf_1_1Sema.html#a2551dfd3d1b94d27905cc8a467726f6b',1,'nixf::Sema']]], + ['onexprvalue_15',['onExprValue',['../classnixd_1_1EvalProvider.html#ab3e68d91b47eff7a255de39d1e085923',1,'nixd::EvalProvider']]], + ['onformals_16',['onFormals',['../classnixf_1_1Sema.html#ab8c50241f63d575ff8bc9a3e76b933d1',1,'nixf::Sema']]], + ['onlambdaarg_17',['onLambdaArg',['../classnixf_1_1Sema.html#a27e53de22cf5db1df5511f21418ab220',1,'nixf::Sema']]], + ['only_18',['only',['../structlspserver_1_1CodeActionContext.html#a7ff6fc854befe3a80eca853cc990b84d',1,'lspserver::CodeActionContext']]], + ['onnotify_19',['onNotify',['../classlspserver_1_1MessageHandler.html#aac19f27657fcbf0d9608ad190d71ddef',1,'lspserver::MessageHandler']]], + ['onoptioncomplete_20',['onOptionComplete',['../classnixd_1_1AttrSetProvider.html#afc2bb1f61c34170678c1979626381c2b',1,'nixd::AttrSetProvider']]], + ['onoptioninfo_21',['onOptionInfo',['../classnixd_1_1AttrSetProvider.html#a1d9ed55a4b9323e09095fcc6f4435ab1',1,'nixd::AttrSetProvider']]], + ['onready_22',['onReady',['../classnixd_1_1EvalClient.html#a30254c18345b06c2407beb8bc7e37f55',1,'nixd::EvalClient']]], + ['onregisterbc_23',['onRegisterBC',['../classnixd_1_1EvalProvider.html#a792da053ce2f95446d56eec2d306fd02',1,'nixd::EvalProvider']]], + ['onreply_24',['onReply',['../classlspserver_1_1MessageHandler.html#aa54175b940483903b3c4c3bd093c3435',1,'lspserver::MessageHandler']]], + ['op_25',['Op',['../classnixf_1_1Op.html',1,'nixf']]], + ['op_26',['op',['../classnixf_1_1Op.html#a5f0bf93da42657f12d0ac0985201efc5',1,'nixf::Op::op()'],['../classnixf_1_1ExprOp.html#a864b79b1a9f2ab90e9a8582723198118',1,'nixf::ExprOp::op()']]], + ['op_27',['Op',['../classnixf_1_1Op.html#aff59913eecd7f9cafc80bbb29daccd18',1,'nixf::Op']]], + ['op_2eh_28',['Op.h',['../Op_8h.html',1,'']]], + ['operator_29',['Operator',['../namespacelspserver.html#aaa34ea3819069fbee52018467e9586e0ae1b3ec89ead7f83a9245ed5c9cacfdbf',1,'lspserver::Operator'],['../namespacelspserver.html#a2c2f610d4b7f64335e8d68b47e18ea6fae1b3ec89ead7f83a9245ed5c9cacfdbf',1,'lspserver::Operator']]], + ['operator_20bool_30',['operator bool',['../structlspserver_1_1URIForFile.html#a3b6bf195656afd19a7bdf79957c3dc91',1,'lspserver::URIForFile']]], + ['operator_21_3d_31',['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_32',['operator()',['../structlspserver_1_1LSPDiagnosticCompare.html#a7d5b98919a787f50e772137eec45acc6',1,'lspserver::LSPDiagnosticCompare']]], + ['operator_2f_33',['operator/',['../structlspserver_1_1Range.html#ae615d88095508e29aca124832441f933',1,'lspserver::Range']]], + ['operator_3c_34',['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_35',['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_36',['operator<=',['../classnixf_1_1Position.html#a54b0ad2f50769bba67879e8c77352e1f',1,'nixf::Position::operator<='],['../structlspserver_1_1Position.html#a54b0ad2f50769bba67879e8c77352e1f',1,'lspserver::Position::operator<=']]], + ['operator_3d_37',['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_38',['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 &)']]], + ['optioncomplete_39',['optionComplete',['../classnixd_1_1AttrSetClient.html#adcb917073548204bebf9c8e43a3b3442',1,'nixd::AttrSetClient']]], + ['optioncomplete_40',['OptionComplete',['../namespacenixd_1_1rpcMethod.html#adc49a105932b9d0b77397ccce92c8367',1,'nixd::rpcMethod']]], + ['optioncompleteresponse_41',['OptionCompleteResponse',['../namespacenixd.html#ae24332c6cc8865d348c1816cae293c4e',1,'nixd']]], + ['optiondescription_42',['OptionDescription',['../structnixd_1_1OptionDescription.html',1,'nixd']]], + ['optionfield_43',['OptionField',['../structnixd_1_1OptionField.html',1,'nixd']]], + ['optioninfo_44',['optionInfo',['../classnixd_1_1AttrSetClient.html#a76bb0549be1a65120a810e178234bb7c',1,'nixd::AttrSetClient']]], + ['optioninfo_45',['OptionInfo',['../namespacenixd_1_1rpcMethod.html#aafd8d0256da5ab1d47b355045f5b189a',1,'nixd::rpcMethod']]], + ['optioninfoparams_46',['OptionInfoParams',['../namespacenixd.html#ae24777a9d0d4ea916903e901170d9ba1',1,'nixd']]], + ['optioninforesponse_47',['OptionInfoResponse',['../namespacenixd.html#a6556151858241f325d3963ea6717f71d',1,'nixd']]], + ['optionmapty_48',['OptionMapTy',['../classnixd_1_1Controller.html#ad2f715fdf7a6302393f33b2736abb1ba',1,'nixd::Controller']]], + ['optionprovider_49',['OptionProvider',['../structnixd_1_1Configuration_1_1OptionProvider.html',1,'nixd::Configuration']]], + ['options_50',['options',['../structnixd_1_1Configuration.html#a7693c8cb09c708f4db3f0577867cce0c',1,'nixd::Configuration']]], + ['options_51',['Options ("options")',['../md_nixd_2docs_2configuration.html#autotoc_md20',1,'']]], + ['options_20options_52',['Options ("options")',['../md_nixd_2docs_2configuration.html#autotoc_md20',1,'']]], + ['options_2ecpp_53',['Options.cpp',['../Options_8cpp.html',1,'']]], + ['options_2eh_54',['Options.h',['../Options_8h.html',1,'']]], + ['optiontype_55',['OptionType',['../structnixd_1_1OptionType.html',1,'nixd']]], + ['origin_56',['Origin',['../structnixt_1_1DeserializeContext.html#a06f635eb80414a22eb143a016f488457',1,'nixt::DeserializeContext']]], + ['outboundport_57',['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)']]], + ['output_58',['output',['../namespaceDiagnostic.html#a2e5522440453c79ff0deb0966ff35eff',1,'Diagnostic.output'],['../namespaceDiagnosticEnum.html#a6f090de724ec83ad8e13c1b879fe0ed1',1,'DiagnosticEnum.output']]], + ['overlap_59',['overlap',['../structlspserver_1_1Range.html#a8709855b72791ff29f5878623159d233',1,'lspserver::Range']]], + ['overview_60',['Configuration overview',['../md_nixd_2docs_2configuration.html#autotoc_md16',1,'']]], + ['ownedevalclient_61',['OwnedEvalClient',['../classnixd_1_1OwnedEvalClient.html',1,'nixd::OwnedEvalClient'],['../classnixd_1_1OwnedEvalClient.html#ab2d5d31e904b5ae56306451cd80ae289',1,'nixd::OwnedEvalClient::OwnedEvalClient()']]], + ['ownedregion_62',['OwnedRegion',['../structnixd_1_1util_1_1OwnedRegion.html',1,'nixd::util']]], + ['ownedregion_2eh_63',['OwnedRegion.h',['../OwnedRegion_8h.html',1,'']]] +]; diff --git a/search/classes_0.js b/search/classes_0.js new file mode 100644 index 000000000..dfd769f9b --- /dev/null +++ b/search/classes_0.js @@ -0,0 +1,19 @@ +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']]], + ['astheader_3',['ASTHeader',['../structnixt_1_1ASTHeader.html',1,'nixt']]], + ['astnode_4',['ASTNode',['../structlspserver_1_1ASTNode.html',1,'lspserver']]], + ['astparams_5',['ASTParams',['../structlspserver_1_1ASTParams.html',1,'lspserver']]], + ['attribute_6',['Attribute',['../classnixf_1_1Attribute.html',1,'nixf']]], + ['attrname_7',['AttrName',['../classnixf_1_1AttrName.html',1,'nixf']]], + ['attrpath_8',['AttrPath',['../classnixf_1_1AttrPath.html',1,'nixf']]], + ['attrpathcompleteparams_9',['AttrPathCompleteParams',['../structnixd_1_1AttrPathCompleteParams.html',1,'nixd']]], + ['attrpathinforesponse_10',['AttrPathInfoResponse',['../structnixd_1_1AttrPathInfoResponse.html',1,'nixd']]], + ['attrsetclient_11',['AttrSetClient',['../classnixd_1_1AttrSetClient.html',1,'nixd']]], + ['attrsetclientproc_12',['AttrSetClientProc',['../classnixd_1_1AttrSetClientProc.html',1,'nixd']]], + ['attrsetprovider_13',['AttrSetProvider',['../classnixd_1_1AttrSetProvider.html',1,'nixd']]], + ['autoclosefd_14',['AutoCloseFD',['../classnixd_1_1util_1_1AutoCloseFD.html',1,'nixd::util']]], + ['autoremoveshm_15',['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..de2687721 --- /dev/null +++ b/search/classes_10.js @@ -0,0 +1,20 @@ +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']]], + ['streamproc_14',['StreamProc',['../structnixd_1_1StreamProc.html',1,'nixd']]], + ['subscription_15',['Subscription',['../classlspserver_1_1Event_1_1Subscription.html',1,'lspserver::Event']]], + ['symbolinformation_16',['SymbolInformation',['../structlspserver_1_1SymbolInformation.html',1,'lspserver']]] +]; diff --git a/search/classes_11.js b/search/classes_11.js new file mode 100644 index 000000000..19ba37ff3 --- /dev/null +++ b/search/classes_11.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_12.js b/search/classes_12.js new file mode 100644 index 000000000..e12c3d54e --- /dev/null +++ b/search/classes_12.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['undefinedvarexception_0',['UndefinedVarException',['../structnixd_1_1idioms_1_1UndefinedVarException.html',1,'nixd::idioms']]], + ['uri_1',['URI',['../classlspserver_1_1URI.html',1,'lspserver']]], + ['uriforfile_2',['URIForFile',['../structlspserver_1_1URIForFile.html',1,'lspserver']]], + ['urischeme_3',['URIScheme',['../classlspserver_1_1URIScheme.html',1,'lspserver']]] +]; diff --git a/search/classes_13.js b/search/classes_13.js new file mode 100644 index 000000000..d2413a517 --- /dev/null +++ b/search/classes_13.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['valuemeta_0',['ValueMeta',['../structnixd_1_1ValueMeta.html',1,'nixd']]], + ['variablelookupanalysis_1',['VariableLookupAnalysis',['../classnixf_1_1VariableLookupAnalysis.html',1,'nixf']]], + ['versionedtextdocumentidentifier_2',['VersionedTextDocumentIdentifier',['../structlspserver_1_1VersionedTextDocumentIdentifier.html',1,'lspserver']]], + ['vlaexception_3',['VLAException',['../structnixd_1_1idioms_1_1VLAException.html',1,'nixd::idioms']]] +]; diff --git a/search/classes_14.js b/search/classes_14.js new file mode 100644 index 000000000..d045f227f --- /dev/null +++ b/search/classes_14.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..9e95a7405 --- /dev/null +++ b/search/classes_2.js @@ -0,0 +1,27 @@ +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']]], + ['cannotfindvarexception_6',['CannotFindVarException',['../structnixd_1_1CannotFindVarException.html',1,'nixd']]], + ['changeannotation_7',['ChangeAnnotation',['../structlspserver_1_1ChangeAnnotation.html',1,'lspserver']]], + ['clangdcompilecommand_8',['ClangdCompileCommand',['../structlspserver_1_1ClangdCompileCommand.html',1,'lspserver']]], + ['clientcapabilities_9',['ClientCapabilities',['../structlspserver_1_1ClientCapabilities.html',1,'lspserver']]], + ['codeaction_10',['CodeAction',['../structlspserver_1_1CodeAction.html',1,'lspserver']]], + ['codeactioncontext_11',['CodeActionContext',['../structlspserver_1_1CodeActionContext.html',1,'lspserver']]], + ['codeactionparams_12',['CodeActionParams',['../structlspserver_1_1CodeActionParams.html',1,'lspserver']]], + ['codedescription_13',['CodeDescription',['../structlspserver_1_1CodeDescription.html',1,'lspserver']]], + ['command_14',['Command',['../structlspserver_1_1Command.html',1,'lspserver']]], + ['completioncontext_15',['CompletionContext',['../structlspserver_1_1CompletionContext.html',1,'lspserver']]], + ['completionitem_16',['CompletionItem',['../structlspserver_1_1CompletionItem.html',1,'lspserver']]], + ['completionlist_17',['CompletionList',['../structlspserver_1_1CompletionList.html',1,'lspserver']]], + ['completionparams_18',['CompletionParams',['../structlspserver_1_1CompletionParams.html',1,'lspserver']]], + ['configuration_19',['Configuration',['../structnixd_1_1Configuration.html',1,'nixd']]], + ['configurationitem_20',['ConfigurationItem',['../structlspserver_1_1ConfigurationItem.html',1,'lspserver']]], + ['configurationparams_21',['ConfigurationParams',['../structlspserver_1_1ConfigurationParams.html',1,'lspserver']]], + ['configurationsettings_22',['ConfigurationSettings',['../structlspserver_1_1ConfigurationSettings.html',1,'lspserver']]], + ['controller_23',['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..ac5b94d8f --- /dev/null +++ b/search/classes_3.js @@ -0,0 +1,25 @@ +var searchData= +[ + ['definition_0',['Definition',['../classnixf_1_1Definition.html',1,'nixf']]], + ['deserializecontext_1',['DeserializeContext',['../structnixt_1_1DeserializeContext.html',1,'nixt']]], + ['diagnostic_2',['Diagnostic',['../classdiagnostic_1_1Diagnostic.html',1,'diagnostic.Diagnostic'],['../structlspserver_1_1Diagnostic.html',1,'lspserver::Diagnostic'],['../structnixd_1_1Configuration_1_1Diagnostic.html',1,'nixd::Configuration::Diagnostic'],['../classnixf_1_1Diagnostic.html',1,'nixf::Diagnostic']]], + ['diagnosticrelatedinformation_3',['DiagnosticRelatedInformation',['../structlspserver_1_1DiagnosticRelatedInformation.html',1,'lspserver']]], + ['didchangeconfigurationparams_4',['DidChangeConfigurationParams',['../structlspserver_1_1DidChangeConfigurationParams.html',1,'lspserver']]], + ['didchangetextdocumentparams_5',['DidChangeTextDocumentParams',['../structlspserver_1_1DidChangeTextDocumentParams.html',1,'lspserver']]], + ['didchangewatchedfilesparams_6',['DidChangeWatchedFilesParams',['../structlspserver_1_1DidChangeWatchedFilesParams.html',1,'lspserver']]], + ['didclosetextdocumentparams_7',['DidCloseTextDocumentParams',['../structlspserver_1_1DidCloseTextDocumentParams.html',1,'lspserver']]], + ['didopentextdocumentparams_8',['DidOpenTextDocumentParams',['../structlspserver_1_1DidOpenTextDocumentParams.html',1,'lspserver']]], + ['didsavetextdocumentparams_9',['DidSaveTextDocumentParams',['../structlspserver_1_1DidSaveTextDocumentParams.html',1,'lspserver']]], + ['documentformattingparams_10',['DocumentFormattingParams',['../structlspserver_1_1DocumentFormattingParams.html',1,'lspserver']]], + ['documenthighlight_11',['DocumentHighlight',['../structlspserver_1_1DocumentHighlight.html',1,'lspserver']]], + ['documentlink_12',['DocumentLink',['../structlspserver_1_1DocumentLink.html',1,'lspserver']]], + ['documentlinkparams_13',['DocumentLinkParams',['../structlspserver_1_1DocumentLinkParams.html',1,'lspserver']]], + ['documentontypeformattingparams_14',['DocumentOnTypeFormattingParams',['../structlspserver_1_1DocumentOnTypeFormattingParams.html',1,'lspserver']]], + ['documentrangeformattingparams_15',['DocumentRangeFormattingParams',['../structlspserver_1_1DocumentRangeFormattingParams.html',1,'lspserver']]], + ['documentsymbol_16',['DocumentSymbol',['../structlspserver_1_1DocumentSymbol.html',1,'lspserver']]], + ['documentsymbolparams_17',['DocumentSymbolParams',['../structlspserver_1_1DocumentSymbolParams.html',1,'lspserver']]], + ['dot_18',['Dot',['../classnixf_1_1Dot.html',1,'nixf']]], + ['draft_19',['Draft',['../structlspserver_1_1DraftStore_1_1Draft.html',1,'lspserver::DraftStore']]], + ['draftstore_20',['DraftStore',['../classlspserver_1_1DraftStore.html',1,'lspserver']]], + ['dynamicnameexception_21',['DynamicNameException',['../structnixd_1_1idioms_1_1DynamicNameException.html',1,'nixd::idioms']]] +]; diff --git a/search/classes_4.js b/search/classes_4.js new file mode 100644 index 000000000..ee00dc25b --- /dev/null +++ b/search/classes_4.js @@ -0,0 +1,32 @@ +var searchData= +[ + ['envnode_0',['EnvNode',['../classnixf_1_1EnvNode.html',1,'nixf']]], + ['evalcachef_1',['EvalCacheF',['../structnixt_1_1detail_1_1EvalCacheF.html',1,'nixt::detail']]], + ['evalclient_2',['EvalClient',['../classnixd_1_1EvalClient.html',1,'nixd']]], + ['evalprovider_3',['EvalProvider',['../classnixd_1_1EvalProvider.html',1,'nixd']]], + ['event_4',['Event',['../classlspserver_1_1Event.html',1,'lspserver']]], + ['executecommandparams_5',['ExecuteCommandParams',['../structlspserver_1_1ExecuteCommandParams.html',1,'lspserver']]], + ['expr_6',['Expr',['../classnixf_1_1Expr.html',1,'nixf']]], + ['exprassert_7',['ExprAssert',['../classnixf_1_1ExprAssert.html',1,'nixf']]], + ['exprattrs_8',['ExprAttrs',['../classnixf_1_1ExprAttrs.html',1,'nixf']]], + ['exprbinop_9',['ExprBinOp',['../classnixf_1_1ExprBinOp.html',1,'nixf']]], + ['exprcall_10',['ExprCall',['../classnixf_1_1ExprCall.html',1,'nixf']]], + ['exprfloat_11',['ExprFloat',['../classnixf_1_1ExprFloat.html',1,'nixf']]], + ['exprif_12',['ExprIf',['../classnixf_1_1ExprIf.html',1,'nixf']]], + ['exprint_13',['ExprInt',['../classnixf_1_1ExprInt.html',1,'nixf']]], + ['exprlambda_14',['ExprLambda',['../classnixf_1_1ExprLambda.html',1,'nixf']]], + ['exprlet_15',['ExprLet',['../classnixf_1_1ExprLet.html',1,'nixf']]], + ['exprlist_16',['ExprList',['../classnixf_1_1ExprList.html',1,'nixf']]], + ['exprop_17',['ExprOp',['../classnixf_1_1ExprOp.html',1,'nixf']]], + ['exprophasattr_18',['ExprOpHasAttr',['../classnixf_1_1ExprOpHasAttr.html',1,'nixf']]], + ['exprparen_19',['ExprParen',['../classnixf_1_1ExprParen.html',1,'nixf']]], + ['exprpath_20',['ExprPath',['../classnixf_1_1ExprPath.html',1,'nixf']]], + ['exprselect_21',['ExprSelect',['../classnixf_1_1ExprSelect.html',1,'nixf']]], + ['exprspath_22',['ExprSPath',['../classnixf_1_1ExprSPath.html',1,'nixf']]], + ['exprstring_23',['ExprString',['../classnixf_1_1ExprString.html',1,'nixf']]], + ['exprunaryop_24',['ExprUnaryOp',['../classnixf_1_1ExprUnaryOp.html',1,'nixf']]], + ['exprvalueparams_25',['ExprValueParams',['../structnixd_1_1rpc_1_1ExprValueParams.html',1,'nixd::rpc']]], + ['exprvalueresponse_26',['ExprValueResponse',['../structnixd_1_1rpc_1_1ExprValueResponse.html',1,'nixd::rpc']]], + ['exprvar_27',['ExprVar',['../classnixf_1_1ExprVar.html',1,'nixf']]], + ['exprwith_28',['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..f7312f871 --- /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']]], + ['filestatus_2',['FileStatus',['../structlspserver_1_1FileStatus.html',1,'lspserver']]], + ['fix_3',['Fix',['../classnixf_1_1Fix.html',1,'nixf']]], + ['foldingrange_4',['FoldingRange',['../structlspserver_1_1FoldingRange.html',1,'lspserver']]], + ['foldingrangeparams_5',['FoldingRangeParams',['../structlspserver_1_1FoldingRangeParams.html',1,'lspserver']]], + ['formal_6',['Formal',['../classnixf_1_1Formal.html',1,'nixf']]], + ['formals_7',['Formals',['../classnixf_1_1Formals.html',1,'nixf']]], + ['format_5fprovider_3c_20lspserver_3a_3aposition_20_3e_8',['format_provider< lspserver::Position >',['../structllvm_1_1format__provider_3_01lspserver_1_1Position_01_4.html',1,'llvm']]], + ['formatting_9',['Formatting',['../structnixd_1_1Configuration_1_1Formatting.html',1,'nixd::Configuration']]] +]; diff --git a/search/classes_6.js b/search/classes_6.js new file mode 100644 index 000000000..be3123550 --- /dev/null +++ b/search/classes_6.js @@ -0,0 +1,30 @@ +var searchData= +[ + ['handlerregistry_0',['HandlerRegistry',['../structlspserver_1_1HandlerRegistry.html',1,'lspserver']]], + ['hookexprassert_1',['HookExprAssert',['../structnixt_1_1HookExprAssert.html',1,'nixt']]], + ['hookexprattrs_2',['HookExprAttrs',['../structnixt_1_1HookExprAttrs.html',1,'nixt']]], + ['hookexprcall_3',['HookExprCall',['../structnixt_1_1HookExprCall.html',1,'nixt']]], + ['hookexprconcatstrings_4',['HookExprConcatStrings',['../structnixt_1_1HookExprConcatStrings.html',1,'nixt']]], + ['hookexprfloat_5',['HookExprFloat',['../structnixt_1_1HookExprFloat.html',1,'nixt']]], + ['hookexprif_6',['HookExprIf',['../structnixt_1_1HookExprIf.html',1,'nixt']]], + ['hookexprint_7',['HookExprInt',['../structnixt_1_1HookExprInt.html',1,'nixt']]], + ['hookexprlambda_8',['HookExprLambda',['../structnixt_1_1HookExprLambda.html',1,'nixt']]], + ['hookexprlet_9',['HookExprLet',['../structnixt_1_1HookExprLet.html',1,'nixt']]], + ['hookexprlist_10',['HookExprList',['../structnixt_1_1HookExprList.html',1,'nixt']]], + ['hookexpropand_11',['HookExprOpAnd',['../structnixt_1_1HookExprOpAnd.html',1,'nixt']]], + ['hookexpropconcatlists_12',['HookExprOpConcatLists',['../structnixt_1_1HookExprOpConcatLists.html',1,'nixt']]], + ['hookexpropeq_13',['HookExprOpEq',['../structnixt_1_1HookExprOpEq.html',1,'nixt']]], + ['hookexprophasattr_14',['HookExprOpHasAttr',['../structnixt_1_1HookExprOpHasAttr.html',1,'nixt']]], + ['hookexpropimpl_15',['HookExprOpImpl',['../structnixt_1_1HookExprOpImpl.html',1,'nixt']]], + ['hookexpropneq_16',['HookExprOpNEq',['../structnixt_1_1HookExprOpNEq.html',1,'nixt']]], + ['hookexpropnot_17',['HookExprOpNot',['../structnixt_1_1HookExprOpNot.html',1,'nixt']]], + ['hookexpropor_18',['HookExprOpOr',['../structnixt_1_1HookExprOpOr.html',1,'nixt']]], + ['hookexpropupdate_19',['HookExprOpUpdate',['../structnixt_1_1HookExprOpUpdate.html',1,'nixt']]], + ['hookexprpath_20',['HookExprPath',['../structnixt_1_1HookExprPath.html',1,'nixt']]], + ['hookexprpos_21',['HookExprPos',['../structnixt_1_1HookExprPos.html',1,'nixt']]], + ['hookexprselect_22',['HookExprSelect',['../structnixt_1_1HookExprSelect.html',1,'nixt']]], + ['hookexprstring_23',['HookExprString',['../structnixt_1_1HookExprString.html',1,'nixt']]], + ['hookexprvar_24',['HookExprVar',['../structnixt_1_1HookExprVar.html',1,'nixt']]], + ['hookexprwith_25',['HookExprWith',['../structnixt_1_1HookExprWith.html',1,'nixt']]], + ['hover_26',['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..006be6302 --- /dev/null +++ b/search/classes_7.js @@ -0,0 +1,16 @@ +var searchData= +[ + ['identifier_0',['Identifier',['../classnixf_1_1Identifier.html',1,'nixf']]], + ['idiomexception_1',['IdiomException',['../structnixd_1_1idioms_1_1IdiomException.html',1,'nixd::idioms']]], + ['idiomselectorexception_2',['IdiomSelectorException',['../structnixd_1_1idioms_1_1IdiomSelectorException.html',1,'nixd::idioms']]], + ['inactiveregionsparams_3',['InactiveRegionsParams',['../structlspserver_1_1InactiveRegionsParams.html',1,'lspserver']]], + ['inboundport_4',['InboundPort',['../classlspserver_1_1InboundPort.html',1,'lspserver']]], + ['inherit_5',['Inherit',['../classnixf_1_1Inherit.html',1,'nixf']]], + ['initializationoptions_6',['InitializationOptions',['../structlspserver_1_1InitializationOptions.html',1,'lspserver']]], + ['initializeparams_7',['InitializeParams',['../structlspserver_1_1InitializeParams.html',1,'lspserver']]], + ['inlayhint_8',['InlayHint',['../structlspserver_1_1InlayHint.html',1,'lspserver']]], + ['inlayhintsparams_9',['InlayHintsParams',['../structlspserver_1_1InlayHintsParams.html',1,'lspserver']]], + ['interpolablepart_10',['InterpolablePart',['../classnixf_1_1InterpolablePart.html',1,'nixf']]], + ['interpolatedparts_11',['InterpolatedParts',['../classnixf_1_1InterpolatedParts.html',1,'nixf']]], + ['interpolation_12',['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..5878a4241 --- /dev/null +++ b/search/classes_8.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['jsonparseexception_0',['JSONParseException',['../classnixd_1_1JSONParseException.html',1,'nixd']]], + ['jsonschemaexception_1',['JSONSchemaException',['../classnixd_1_1JSONSchemaException.html',1,'nixd']]] +]; diff --git a/search/classes_9.js b/search/classes_9.js new file mode 100644 index 000000000..c7ae868d7 --- /dev/null +++ b/search/classes_9.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['key_0',['Key',['../classlspserver_1_1Key.html',1,'lspserver']]] +]; diff --git a/search/classes_a.js b/search/classes_a.js new file mode 100644 index 000000000..698cabd7e --- /dev/null +++ b/search/classes_a.js @@ -0,0 +1,15 @@ +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']]], + ['llvmerrorexception_4',['LLVMErrorException',['../classnixd_1_1LLVMErrorException.html',1,'nixd']]], + ['location_5',['Location',['../structlspserver_1_1Location.html',1,'lspserver']]], + ['logger_6',['Logger',['../classlspserver_1_1Logger.html',1,'lspserver']]], + ['loggingsession_7',['LoggingSession',['../classlspserver_1_1LoggingSession.html',1,'lspserver']]], + ['lookupresult_8',['LookupResult',['../structnixf_1_1VariableLookupAnalysis_1_1LookupResult.html',1,'nixf::VariableLookupAnalysis']]], + ['lspdiagnosticcompare_9',['LSPDiagnosticCompare',['../structlspserver_1_1LSPDiagnosticCompare.html',1,'lspserver']]], + ['lsperror_10',['LSPError',['../classlspserver_1_1LSPError.html',1,'lspserver']]], + ['lspserver_11',['LSPServer',['../classlspserver_1_1LSPServer.html',1,'lspserver']]] +]; diff --git a/search/classes_b.js b/search/classes_b.js new file mode 100644 index 000000000..b0432ad01 --- /dev/null +++ b/search/classes_b.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_c.js b/search/classes_c.js new file mode 100644 index 000000000..7f34985bf --- /dev/null +++ b/search/classes_c.js @@ -0,0 +1,12 @@ +var searchData= +[ + ['nixpkgsprovider_0',['NixpkgsProvider',['../structnixd_1_1Configuration_1_1NixpkgsProvider.html',1,'nixd::Configuration']]], + ['nixtu_1',['NixTU',['../classnixd_1_1NixTU.html',1,'nixd']]], + ['node_2',['Node',['../classnixf_1_1Node.html',1,'nixf']]], + ['nolocationforbuiltinvariable_3',['NoLocationForBuiltinVariable',['../structnixd_1_1idioms_1_1NoLocationForBuiltinVariable.html',1,'nixd::idioms']]], + ['noparams_4',['NoParams',['../structlspserver_1_1NoParams.html',1,'lspserver']]], + ['nosuchvarexception_5',['NoSuchVarException',['../structnixd_1_1idioms_1_1NoSuchVarException.html',1,'nixd::idioms']]], + ['notanidiomexception_6',['NotAnIdiomException',['../structnixd_1_1idioms_1_1NotAnIdiomException.html',1,'nixd::idioms']]], + ['note_7',['Note',['../classnixf_1_1Note.html',1,'nixf']]], + ['notvariableselect_8',['NotVariableSelect',['../structnixd_1_1idioms_1_1NotVariableSelect.html',1,'nixd::idioms']]] +]; diff --git a/search/classes_d.js b/search/classes_d.js new file mode 100644 index 000000000..315e9c56b --- /dev/null +++ b/search/classes_d.js @@ -0,0 +1,11 @@ +var searchData= +[ + ['op_0',['Op',['../classnixf_1_1Op.html',1,'nixf']]], + ['optiondescription_1',['OptionDescription',['../structnixd_1_1OptionDescription.html',1,'nixd']]], + ['optionfield_2',['OptionField',['../structnixd_1_1OptionField.html',1,'nixd']]], + ['optionprovider_3',['OptionProvider',['../structnixd_1_1Configuration_1_1OptionProvider.html',1,'nixd::Configuration']]], + ['optiontype_4',['OptionType',['../structnixd_1_1OptionType.html',1,'nixd']]], + ['outboundport_5',['OutboundPort',['../classlspserver_1_1OutboundPort.html',1,'lspserver']]], + ['ownedevalclient_6',['OwnedEvalClient',['../classnixd_1_1OwnedEvalClient.html',1,'nixd']]], + ['ownedregion_7',['OwnedRegion',['../structnixd_1_1util_1_1OwnedRegion.html',1,'nixd::util']]] +]; diff --git a/search/classes_e.js b/search/classes_e.js new file mode 100644 index 000000000..c3e2e4190 --- /dev/null +++ b/search/classes_e.js @@ -0,0 +1,15 @@ +var searchData= +[ + ['packagedescription_0',['PackageDescription',['../structnixd_1_1PackageDescription.html',1,'nixd']]], + ['parameterinformation_1',['ParameterInformation',['../structlspserver_1_1ParameterInformation.html',1,'lspserver']]], + ['parentmapanalysis_2',['ParentMapAnalysis',['../classnixf_1_1ParentMapAnalysis.html',1,'nixf']]], + ['parser_3',['Parser',['../classnixf_1_1Parser.html',1,'nixf']]], + ['partialdiagnostic_4',['PartialDiagnostic',['../classnixf_1_1PartialDiagnostic.html',1,'nixf']]], + ['pipedproc_5',['PipedProc',['../structnixd_1_1util_1_1PipedProc.html',1,'nixd::util']]], + ['position_6',['Position',['../structlspserver_1_1Position.html',1,'lspserver::Position'],['../classnixf_1_1Position.html',1,'nixf::Position']]], + ['positionrange_7',['PositionRange',['../classnixf_1_1PositionRange.html',1,'nixf']]], + ['progressparams_8',['ProgressParams',['../structlspserver_1_1ProgressParams.html',1,'lspserver']]], + ['ptrpool_9',['PtrPool',['../structnixt_1_1PtrPool.html',1,'nixt']]], + ['ptrpool_3c_20nix_3a_3aexpr_20_3e_10',['PtrPool< nix::Expr >',['../structnixt_1_1PtrPool.html',1,'nixt']]], + ['publishdiagnosticsparams_11',['PublishDiagnosticsParams',['../structlspserver_1_1PublishDiagnosticsParams.html',1,'lspserver']]] +]; diff --git a/search/classes_f.js b/search/classes_f.js new file mode 100644 index 000000000..dc906b882 --- /dev/null +++ b/search/classes_f.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/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..38bd22e9f --- /dev/null +++ b/search/defines_0.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['dbg_0',['DBG',['../Completion_8cpp.html#a49606be7356624568932ec81c0d429f4',1,'Completion.cpp']]], + ['dbgprefix_1',['DBGPREFIX',['../Completion_8cpp.html#a6fe395e23568b22d7a27462cc64aca28',1,'DBGPREFIX: Completion.cpp'],['../Completion_8cpp.html#a6fe395e23568b22d7a27462cc64aca28',1,'DBGPREFIX: Completion.cpp']]], + ['def_5ftraverse_5ftype_2',['DEF_TRAVERSE_TYPE',['../Visitor_8h.html#a44f20d102cc60a863f99cfcf913adb73',1,'Visitor.h']]], + ['diag_5fnote_3',['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..c04839196 --- /dev/null +++ b/search/defines_2.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['nix_5fexpr_0',['NIX_EXPR',['../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']]], + ['null_5fdevice_2',['NULL_DEVICE',['../Launch_8cpp.html#a05d9e85ca6c6f2d354e0ff7d66ad1279',1,'Launch.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..e85d429eb --- /dev/null +++ b/search/enums_0.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['attributekind_0',['AttributeKind',['../classnixf_1_1Attribute.html#aa48a020e7c83244b959571ab5be09e4b',1,'nixf::Attribute']]], + ['attrnamekind_1',['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..aa5c795a5 --- /dev/null +++ b/search/enums_2.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['definitionsource_0',['DefinitionSource',['../classnixf_1_1Definition.html#aebed6cc0cfac6f358f0b92c75f5af6ff',1,'nixf::Definition']]], + ['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..d9db4d8a4 --- /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',['../namespacenixt_1_1ek.html#a92936c4da989def360778fc59ea9dc8b',1,'nixt::ek']]] +]; diff --git a/search/enums_4.js b/search/enums_4.js new file mode 100644 index 000000000..d370ada4a --- /dev/null +++ b/search/enums_4.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['filechangetype_0',['FileChangeType',['../namespacelspserver.html#a1acdb8484c09865d22820cdd7e4242ab',1,'lspserver']]], + ['findattrpathresult_1',['FindAttrPathResult',['../namespacenixd.html#a8a9fff4151180c5042891772c134b76c',1,'nixd']]] +]; 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..78c3847c5 --- /dev/null +++ b/search/enums_7.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['level_0',['Level',['../classlspserver_1_1Logger.html#a96543597ca6f5377381ee5a4dba571fa',1,'lspserver::Logger']]], + ['loglevel_1',['LogLevel',['../namespacenixd_1_1rpc.html#adb82fac4db5997115883b375252dd765',1,'nixd::rpc']]], + ['lookupresultkind_2',['LookupResultKind',['../classnixf_1_1VariableLookupAnalysis.html#a2b0542627cacd7b6ccd0d4e74d5a8092',1,'nixf::VariableLookupAnalysis']]] +]; 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..2d978933a --- /dev/null +++ b/search/enums_a.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['offsetencoding_0',['OffsetEncoding',['../namespacelspserver.html#a2ea2a228752a8a5289ef9ed3c27bbc88',1,'lspserver']]] +]; 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..a3a8aec0d --- /dev/null +++ b/search/enumvalues_10.js @@ -0,0 +1,11 @@ +var searchData= +[ + ['undefined_0',['Undefined',['../classnixf_1_1VariableLookupAnalysis.html#a2b0542627cacd7b6ccd0d4e74d5a8092aec0fc0100c4fc1ce4eea230c3dc10360',1,'nixf::VariableLookupAnalysis']]], + ['unit_1',['Unit',['../namespacelspserver.html#aaa34ea3819069fbee52018467e9586e0a19c562a36aeb455d09534f93b4f5236f',1,'lspserver']]], + ['unknownerrorcode_2',['UnknownErrorCode',['../namespacelspserver.html#a748780c668b7e2d2e3700f6e7075b078a6987ecdaa445fee7770c8ee77c1c0551',1,'lspserver']]], + ['unnecessary_3',['Unnecessary',['../namespacelspserver.html#af6f9096acddc880ee3694315f62d1be2aa53a0e56e8caae20491695a36a74b59c',1,'lspserver']]], + ['unsupportedencoding_4',['UnsupportedEncoding',['../namespacelspserver.html#a2ea2a228752a8a5289ef9ed3c27bbc88aa3f2a49bd188837ebb624a98293899a6',1,'lspserver']]], + ['utf16_5',['UTF16',['../namespacelspserver.html#a2ea2a228752a8a5289ef9ed3c27bbc88af023832671d1cf95ebe4934d58722a14',1,'lspserver']]], + ['utf32_6',['UTF32',['../namespacelspserver.html#a2ea2a228752a8a5289ef9ed3c27bbc88a92dca193c750fb95044806ff8f00db6c',1,'lspserver']]], + ['utf8_7',['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..1dbd31f82 --- /dev/null +++ b/search/enumvalues_12.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['warning_0',['Warning',['../namespacenixd_1_1rpc.html#adb82fac4db5997115883b375252dd765a0eaadb4fcb48a0a0ed7bc9868be9fbaa',1,'nixd::rpc::Warning'],['../namespacelspserver.html#a200604f8ba85e73cda84aa47933d8fcba0eaadb4fcb48a0a0ed7bc9868be9fbaa',1,'lspserver::Warning']]], + ['withdynamic_1',['WithDynamic',['../namespacenixd.html#a8a9fff4151180c5042891772c134b76ca021f27eceaa8a25b201cdbfc6f7146d3',1,'nixd']]], + ['write_2',['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..dfd8944e3 --- /dev/null +++ b/search/enumvalues_3.js @@ -0,0 +1,22 @@ +var searchData= +[ + ['debug_0',['Debug',['../classlspserver_1_1Logger.html#a96543597ca6f5377381ee5a4dba571faa4b6c6efd37089c0ad40995881daf45c0',1,'lspserver::Logger::Debug'],['../namespacenixd_1_1rpc.html#adb82fac4db5997115883b375252dd765aa603905470e2a5b8c13e96b579ef0dba',1,'nixd::rpc::Debug']]], + ['defined_1',['Defined',['../classnixf_1_1VariableLookupAnalysis.html#a2b0542627cacd7b6ccd0d4e74d5a8092ac4e9522d7b3c8c652f7f0333ff436eec',1,'nixf::VariableLookupAnalysis']]], + ['deleted_2',['Deleted',['../namespacelspserver.html#a1acdb8484c09865d22820cdd7e4242aba5fe6005bf6e415c950c011fb65f12b8f',1,'lspserver']]], + ['delimited_3',['Delimited',['../namespacelspserver.html#a452c423a64856fd113d0303affd5a1b8af6a6c0fefcadb1df90205a0b9a7fb8b7',1,'lspserver']]], + ['deprecated_4',['Deprecated',['../namespacelspserver.html#af6f9096acddc880ee3694315f62d1be2a106522b707d7ea2d4eb122d313c919c0',1,'lspserver::Deprecated'],['../namespacelspserver.html#a0ab41ec28e07b679bf3d6de08c39b4bfa0ac54cb10e7494cff1949826e8e32f7b',1,'lspserver::Deprecated']]], + ['designator_5',['Designator',['../namespacelspserver.html#ad0e04d3cce4fb889bbf88064199247f8abd5f348ef116c03d1c6e165aee01d7c6',1,'lspserver']]], + ['ds_5fbuiltin_6',['DS_Builtin',['../classnixf_1_1Definition.html#aebed6cc0cfac6f358f0b92c75f5af6ffa8613da40ff5820c7b234acaefa0ea489',1,'nixf::Definition']]], + ['ds_5ferror_7',['DS_Error',['../classnixf_1_1Diagnostic.html#a1ae78a8db740ce789f2dc8b4603f9d7baf587c7a518dcf415b845382645a6c9f7',1,'nixf::Diagnostic']]], + ['ds_5ffatal_8',['DS_Fatal',['../classnixf_1_1Diagnostic.html#a1ae78a8db740ce789f2dc8b4603f9d7ba704830342f52172a4615ed988b4dffb8',1,'nixf::Diagnostic']]], + ['ds_5fhint_9',['DS_Hint',['../classnixf_1_1Diagnostic.html#a1ae78a8db740ce789f2dc8b4603f9d7bab6bd8bb235089b19474b844db7bc34e0',1,'nixf::Diagnostic']]], + ['ds_5finfo_10',['DS_Info',['../classnixf_1_1Diagnostic.html#a1ae78a8db740ce789f2dc8b4603f9d7bab093c72a75a6fb762db3ad8dfa35e4ad',1,'nixf::Diagnostic']]], + ['ds_5flambdaarg_11',['DS_LambdaArg',['../classnixf_1_1Definition.html#aebed6cc0cfac6f358f0b92c75f5af6ffa7450a16484be4aa218201adfd5d4356c',1,'nixf::Definition']]], + ['ds_5flambdanoarg_5fformal_12',['DS_LambdaNoArg_Formal',['../classnixf_1_1Definition.html#aebed6cc0cfac6f358f0b92c75f5af6ffa7c349434260757c9759550e9a4b0b787',1,'nixf::Definition']]], + ['ds_5flambdawitharg_5farg_13',['DS_LambdaWithArg_Arg',['../classnixf_1_1Definition.html#aebed6cc0cfac6f358f0b92c75f5af6ffa88d925a0d1cbb428c991a5bddb9a7ff4',1,'nixf::Definition']]], + ['ds_5flambdawitharg_5fformal_14',['DS_LambdaWithArg_Formal',['../classnixf_1_1Definition.html#aebed6cc0cfac6f358f0b92c75f5af6ffaad6978f0cf13a75387107f1b5b6ecd8f',1,'nixf::Definition']]], + ['ds_5flet_15',['DS_Let',['../classnixf_1_1Definition.html#aebed6cc0cfac6f358f0b92c75f5af6ffad0480dede00c74a6bda3cf32246d976d',1,'nixf::Definition']]], + ['ds_5frec_16',['DS_Rec',['../classnixf_1_1Definition.html#aebed6cc0cfac6f358f0b92c75f5af6ffa2a8239ca701743dd387a578d479925d7',1,'nixf::Definition']]], + ['ds_5fwarning_17',['DS_Warning',['../classnixf_1_1Diagnostic.html#a1ae78a8db740ce789f2dc8b4603f9d7ba324f60c858794ca923640da68fef4f59',1,'nixf::Diagnostic']]], + ['ds_5fwith_18',['DS_With',['../classnixf_1_1Definition.html#aebed6cc0cfac6f358f0b92c75f5af6ffaab78e578dd9e44a4fc8725f410ad21bd',1,'nixf::Definition']]] +]; diff --git a/search/enumvalues_4.js b/search/enumvalues_4.js new file mode 100644 index 000000000..c3d2a2e15 --- /dev/null +++ b/search/enumvalues_4.js @@ -0,0 +1,8 @@ +var searchData= +[ + ['enum_0',['Enum',['../namespacelspserver.html#aaa34ea3819069fbee52018467e9586e0acf20423ed48998082c20099488a0917c',1,'lspserver::Enum'],['../namespacelspserver.html#a2c2f610d4b7f64335e8d68b47e18ea6facf20423ed48998082c20099488a0917c',1,'lspserver::Enum']]], + ['enummember_1',['EnumMember',['../namespacelspserver.html#aaa34ea3819069fbee52018467e9586e0a692ec2aadc30b3b8cc45b63c507e48a1',1,'lspserver::EnumMember'],['../namespacelspserver.html#a2c2f610d4b7f64335e8d68b47e18ea6fa692ec2aadc30b3b8cc45b63c507e48a1',1,'lspserver::EnumMember']]], + ['error_2',['Error',['../classlspserver_1_1Logger.html#a96543597ca6f5377381ee5a4dba571faa1aec2f15e5029084120d37988813df8c',1,'lspserver::Logger::Error'],['../namespacenixd_1_1rpc.html#adb82fac4db5997115883b375252dd765a902b0d55fddef6f8d651fe1035b7d4bd',1,'nixd::rpc::Error'],['../namespacelspserver.html#a200604f8ba85e73cda84aa47933d8fcba902b0d55fddef6f8d651fe1035b7d4bd',1,'lspserver::Error']]], + ['evalerror_3',['EvalError',['../structnixd_1_1rpc_1_1ExprValueResponse.html#aae25daf6dbf5578afc233532331a5b40a1bfdf5db46eaf547236d7d33010c09ce',1,'nixd::rpc::ExprValueResponse']]], + ['event_4',['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..3f1d00e24 --- /dev/null +++ b/search/enumvalues_5.js @@ -0,0 +1,11 @@ +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']]], + ['fromwith_5',['FromWith',['../classnixf_1_1VariableLookupAnalysis.html#a2b0542627cacd7b6ccd0d4e74d5a8092a84d0f6395eaa7b2aac4511b8a06b83e0',1,'nixf::VariableLookupAnalysis']]], + ['full_6',['Full',['../namespacelspserver.html#a96d435eb7c5ff25b80532d96bbedef3eabbd47109890259c0127154db1af26c75',1,'lspserver']]], + ['function_7',['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..3ffd009c8 --- /dev/null +++ b/search/enumvalues_6.js @@ -0,0 +1,13 @@ +var searchData= +[ + ['incremental_0',['Incremental',['../namespacelspserver.html#a96d435eb7c5ff25b80532d96bbedef3ea482be0da5798aaaecbf7416714e6607f',1,'lspserver']]], + ['info_1',['Info',['../classlspserver_1_1Logger.html#a96543597ca6f5377381ee5a4dba571faa1b5b28822814a65fcd846e8d0c48a81e',1,'lspserver::Logger::Info'],['../namespacenixd_1_1rpc.html#adb82fac4db5997115883b375252dd765a4059b0251f66a18cb56f544728796875',1,'nixd::rpc::Info'],['../namespacelspserver.html#a200604f8ba85e73cda84aa47933d8fcba4059b0251f66a18cb56f544728796875',1,'lspserver::Info']]], + ['inherit_2',['Inherit',['../classnixf_1_1Attribute.html#aa48a020e7c83244b959571ab5be09e4bac49484faf79e2388b580e49444d6ac11',1,'nixf::Attribute::Inherit'],['../namespacenixd.html#a8a9fff4151180c5042891772c134b76cac49484faf79e2388b580e49444d6ac11',1,'nixd::Inherit']]], + ['inheritfrom_3',['InheritFrom',['../classnixf_1_1Attribute.html#aa48a020e7c83244b959571ab5be09e4ba1e73dddbf23ae3c70d342fcfa48e540d',1,'nixf::Attribute']]], + ['int_4',['Int',['../structnixd_1_1rpc_1_1ExprValueResponse.html#a788097e9ca88ca57b0059f5805570f21a66a0fcd7eb462355b3befc43311a7352',1,'nixd::rpc::ExprValueResponse']]], + ['interface_5',['Interface',['../namespacelspserver.html#aaa34ea3819069fbee52018467e9586e0a3c1aac82863ed9e5a9aca8ce687f711d',1,'lspserver::Interface'],['../namespacelspserver.html#a2c2f610d4b7f64335e8d68b47e18ea6fa3c1aac82863ed9e5a9aca8ce687f711d',1,'lspserver::Interface']]], + ['internalerror_6',['InternalError',['../namespacelspserver.html#a748780c668b7e2d2e3700f6e7075b078a8462b58246e70e5c83e5b939a9332cb5',1,'lspserver']]], + ['invalidparams_7',['InvalidParams',['../namespacelspserver.html#a748780c668b7e2d2e3700f6e7075b078ad4c4700b7580ce00c94ddf7b363de696',1,'lspserver']]], + ['invalidrequest_8',['InvalidRequest',['../namespacelspserver.html#a748780c668b7e2d2e3700f6e7075b078ad544eb3da2f68d24cf92a8519ed53a31',1,'lspserver']]], + ['invoked_9',['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..c602ee2fa --- /dev/null +++ b/search/enumvalues_a.js @@ -0,0 +1,14 @@ +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']]], + ['nosuchvar_5',['NoSuchVar',['../classnixf_1_1VariableLookupAnalysis.html#a2b0542627cacd7b6ccd0d4e74d5a8092a8f24f4d3656866ab27d8511a2ea96919',1,'nixf::VariableLookupAnalysis']]], + ['notattrpath_6',['NotAttrPath',['../namespacenixd.html#a8a9fff4151180c5042891772c134b76cabeb3c2922aaa620f4f617f91409187e8',1,'nixd']]], + ['notevaluated_7',['NotEvaluated',['../structnixd_1_1rpc_1_1ExprValueResponse.html#aae25daf6dbf5578afc233532331a5b40ac8edcaf2b7b454d5c55bdb0042611af1',1,'nixd::rpc::ExprValueResponse']]], + ['notfound_8',['NotFound',['../structnixd_1_1rpc_1_1ExprValueResponse.html#aae25daf6dbf5578afc233532331a5b40aa345680532bc76323e45d8888784b25a',1,'nixd::rpc::ExprValueResponse']]], + ['null_9',['Null',['../namespacelspserver.html#a2c2f610d4b7f64335e8d68b47e18ea6fabbb93ef26e3c101ff11cdd21cab08a94',1,'lspserver']]], + ['number_10',['Number',['../namespacelspserver.html#a2c2f610d4b7f64335e8d68b47e18ea6fab2ee912b91d69b435159c7c3f6df7f5f',1,'lspserver']]] +]; diff --git a/search/enumvalues_b.js b/search/enumvalues_b.js new file mode 100644 index 000000000..28cc7519a --- /dev/null +++ b/search/enumvalues_b.js @@ -0,0 +1,7 @@ +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'],['../namespacenixd.html#a8a9fff4151180c5042891772c134b76cae0aa021e21dddbd6d8cecec71e9cf564',1,'nixd::OK']]], + ['operator_3',['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..d6814aa3d --- /dev/null +++ b/search/enumvalues_c.js @@ -0,0 +1,14 @@ +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']]], + ['plain_4',['Plain',['../classnixf_1_1Attribute.html#aa48a020e7c83244b959571ab5be09e4ba4cd8413207629a963225f4314b53adcd',1,'nixf::Attribute']]], + ['plaintext_5',['PlainText',['../namespacelspserver.html#a6d13302ad950c821ee002913c8387a00ab7ebbf7f254ef646928dd58f62383a85',1,'lspserver::PlainText'],['../namespacelspserver.html#ac7ba537910cf2ac19f50ecf4bf062c00ab7ebbf7f254ef646928dd58f62383a85',1,'lspserver::PlainText']]], + ['property_6',['Property',['../namespacelspserver.html#aaa34ea3819069fbee52018467e9586e0a5ad234cb2cde4266195252a23ca7d84e',1,'lspserver::Property'],['../namespacelspserver.html#a2c2f610d4b7f64335e8d68b47e18ea6fa5ad234cb2cde4266195252a23ca7d84e',1,'lspserver::Property']]], + ['ps_5fexpr_7',['PS_Expr',['../classnixf_1_1Parser.html#a7223a2cf217acfdedaa4e053c6777d88a878d15cf66f15137182468c1cb6e7b3d',1,'nixf::Parser']]], + ['ps_5findstring_8',['PS_IndString',['../classnixf_1_1Parser.html#a7223a2cf217acfdedaa4e053c6777d88a3ce52f13dc3bc9869a5fb8d707ccb493',1,'nixf::Parser']]], + ['ps_5fpath_9',['PS_Path',['../classnixf_1_1Parser.html#a7223a2cf217acfdedaa4e053c6777d88ac08fdc99ed7907f318cda66a585d6751',1,'nixf::Parser']]], + ['ps_5fstring_10',['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..9f168bdab --- /dev/null +++ b/search/files_0.js @@ -0,0 +1,17 @@ +var searchData= +[ + ['arrayref_2eh_0',['ArrayRef.h',['../ArrayRef_8h.html',1,'']]], + ['ast_2ecpp_1',['AST.cpp',['../AST_8cpp.html',1,'']]], + ['ast_2eh_2',['AST.h',['../AST_8h.html',1,'']]], + ['attrs_2eh_3',['Attrs.h',['../Attrs_8h.html',1,'']]], + ['attrset_2ecpp_4',['AttrSet.cpp',['../AttrSet_8cpp.html',1,'']]], + ['attrset_2eh_5',['AttrSet.h',['../AttrSet_8h.html',1,'']]], + ['attrsetclient_2ecpp_6',['AttrSetClient.cpp',['../AttrSetClient_8cpp.html',1,'']]], + ['attrsetclient_2eh_7',['AttrSetClient.h',['../AttrSetClient_8h.html',1,'']]], + ['attrsetprovider_2ecpp_8',['AttrSetProvider.cpp',['../AttrSetProvider_8cpp.html',1,'']]], + ['attrsetprovider_2eh_9',['AttrSetProvider.h',['../AttrSetProvider_8h.html',1,'']]], + ['autoclosefd_2ecpp_10',['AutoCloseFD.cpp',['../AutoCloseFD_8cpp.html',1,'']]], + ['autoclosefd_2eh_11',['AutoCloseFD.h',['../AutoCloseFD_8h.html',1,'']]], + ['autoremoveshm_2ecpp_12',['AutoRemoveShm.cpp',['../AutoRemoveShm_8cpp.html',1,'']]], + ['autoremoveshm_2eh_13',['AutoRemoveShm.h',['../AutoRemoveShm_8h.html',1,'']]] +]; diff --git a/search/files_1.js b/search/files_1.js new file mode 100644 index 000000000..09b61e35f --- /dev/null +++ b/search/files_1.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['basic_2eh_0',['Basic.h',['../Basic_8h.html',1,'']]], + ['binops_2einc_1',['BinOps.inc',['../BinOps_8inc.html',1,'']]] +]; diff --git a/search/files_10.js b/search/files_10.js new file mode 100644 index 000000000..92d32cfcc --- /dev/null +++ b/search/files_10.js @@ -0,0 +1,9 @@ +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,'']]], + ['traverse_2einc_5',['Traverse.inc',['../Traverse_8inc.html',1,'']]] +]; diff --git a/search/files_11.js b/search/files_11.js new file mode 100644 index 000000000..2fb1cda80 --- /dev/null +++ b/search/files_11.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['uri_2ecpp_0',['URI.cpp',['../URI_8cpp.html',1,'']]], + ['uri_2eh_1',['URI.h',['../URI_8h.html',1,'']]] +]; diff --git a/search/files_12.js b/search/files_12.js new file mode 100644 index 000000000..283e784a6 --- /dev/null +++ b/search/files_12.js @@ -0,0 +1,8 @@ +var searchData= +[ + ['value_2ecpp_0',['Value.cpp',['../Value_8cpp.html',1,'']]], + ['value_2eh_1',['Value.h',['../Value_8h.html',1,'']]], + ['variablelookup_2ecpp_2',['VariableLookup.cpp',['../VariableLookup_8cpp.html',1,'']]], + ['variablelookup_2eh_3',['VariableLookup.h',['../VariableLookup_8h.html',1,'']]], + ['visitor_2eh_4',['Visitor.h',['../Visitor_8h.html',1,'']]] +]; diff --git a/search/files_2.js b/search/files_2.js new file mode 100644 index 000000000..553c097c9 --- /dev/null +++ b/search/files_2.js @@ -0,0 +1,15 @@ +var searchData= +[ + ['codeaction_2ecpp_0',['CodeAction.cpp',['../CodeAction_8cpp.html',1,'']]], + ['commandline_2fconfiguration_2ecpp_1',['Configuration.cpp',['../CommandLine_2Configuration_8cpp.html',1,'']]], + ['commandline_2fconfiguration_2eh_2',['Configuration.h',['../CommandLine_2Configuration_8h.html',1,'']]], + ['completion_2ecpp_3',['Completion.cpp',['../Completion_8cpp.html',1,'']]], + ['configuration_2emd_4',['configuration.md',['../configuration_8md.html',1,'']]], + ['connection_2ecpp_5',['Connection.cpp',['../Connection_8cpp.html',1,'']]], + ['connection_2eh_6',['Connection.h',['../Connection_8h.html',1,'']]], + ['controller_2eh_7',['Controller.h',['../Controller_8h.html',1,'']]], + ['controller_2fconfiguration_2ecpp_8',['Configuration.cpp',['../Controller_2Configuration_8cpp.html',1,'']]], + ['controller_2fconfiguration_2eh_9',['Configuration.h',['../Controller_2Configuration_8h.html',1,'']]], + ['convert_2ecpp_10',['Convert.cpp',['../Convert_8cpp.html',1,'']]], + ['convert_2eh_11',['Convert.h',['../Convert_8h.html',1,'']]] +]; diff --git a/search/files_3.js b/search/files_3.js new file mode 100644 index 000000000..9e565027e --- /dev/null +++ b/search/files_3.js @@ -0,0 +1,20 @@ +var searchData= +[ + ['definition_2ecpp_0',['Definition.cpp',['../Definition_8cpp.html',1,'']]], + ['definition_2eh_1',['Definition.h',['../Definition_8h.html',1,'']]], + ['deserialize_2eh_2',['Deserialize.h',['../Deserialize_8h.html',1,'']]], + ['dev_2emd_3',['dev.md',['../dev_8md.html',1,'']]], + ['diagnostic_2ecpp_4',['Diagnostic.cpp',['../Diagnostic_8cpp.html',1,'']]], + ['diagnostic_2ecpp_2epy_5',['Diagnostic.cpp.py',['../Diagnostic_8cpp_8py.html',1,'']]], + ['diagnostic_2eh_6',['Diagnostic.h',['../Diagnostic_8h.html',1,'']]], + ['diagnostic_2epy_7',['diagnostic.py',['../diagnostic_8py.html',1,'']]], + ['diagnosticenum_2eh_2epy_8',['DiagnosticEnum.h.py',['../DiagnosticEnum_8h_8py.html',1,'']]], + ['diagnostics_2ecpp_9',['Diagnostics.cpp',['../Diagnostics_8cpp.html',1,'']]], + ['displacement_2ecpp_10',['Displacement.cpp',['../Displacement_8cpp.html',1,'']]], + ['displacement_2eh_11',['Displacement.h',['../Displacement_8h.html',1,'']]], + ['documenthighlight_2ecpp_12',['DocumentHighlight.cpp',['../DocumentHighlight_8cpp.html',1,'']]], + ['documentlink_2ecpp_13',['DocumentLink.cpp',['../DocumentLink_8cpp.html',1,'']]], + ['documentsymbol_2ecpp_14',['DocumentSymbol.cpp',['../DocumentSymbol_8cpp.html',1,'']]], + ['draftstore_2ecpp_15',['DraftStore.cpp',['../DraftStore_8cpp.html',1,'']]], + ['draftstore_2eh_16',['DraftStore.h',['../DraftStore_8h.html',1,'']]] +]; diff --git a/search/files_4.js b/search/files_4.js new file mode 100644 index 000000000..e551faa86 --- /dev/null +++ b/search/files_4.js @@ -0,0 +1,9 @@ +var searchData= +[ + ['editor_2dsetup_2emd_0',['editor-setup.md',['../editor-setup_8md.html',1,'']]], + ['editors_2emd_1',['editors.md',['../editors_8md.html',1,'']]], + ['evalclient_2eh_2',['EvalClient.h',['../EvalClient_8h.html',1,'']]], + ['evalprovider_2eh_3',['EvalProvider.h',['../EvalProvider_8h.html',1,'']]], + ['exception_2eh_4',['Exception.h',['../Exception_8h.html',1,'']]], + ['expr_2eh_5',['Expr.h',['../Expr_8h.html',1,'']]] +]; diff --git a/search/files_5.js b/search/files_5.js new file mode 100644 index 000000000..2683d39b2 --- /dev/null +++ b/search/files_5.js @@ -0,0 +1,11 @@ +var searchData= +[ + ['features_2emd_0',['features.md',['../features_8md.html',1,'']]], + ['findreferences_2ecpp_1',['FindReferences.cpp',['../FindReferences_8cpp.html',1,'']]], + ['flake_2ecpp_2',['Flake.cpp',['../Flake_8cpp.html',1,'']]], + ['flake_2eh_3',['Flake.h',['../Flake_8h.html',1,'']]], + ['forkpiped_2ecpp_4',['ForkPiped.cpp',['../ForkPiped_8cpp.html',1,'']]], + ['forkpiped_2eh_5',['ForkPiped.h',['../ForkPiped_8h.html',1,'']]], + ['format_2ecpp_6',['Format.cpp',['../Format_8cpp.html',1,'']]], + ['function_2eh_7',['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..2c869097e --- /dev/null +++ b/search/files_7.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['include_2fnixd_2fprotocol_2fprotocol_2eh_0',['Protocol.h',['../include_2nixd_2Protocol_2Protocol_8h.html',1,'']]], + ['include_2fnixf_2fparse_2fparser_2eh_1',['Parser.h',['../include_2nixf_2Parse_2Parser_8h.html',1,'']]], + ['initeval_2eh_2',['InitEval.h',['../InitEval_8h.html',1,'']]], + ['inlayhints_2ecpp_3',['InlayHints.cpp',['../InlayHints_8cpp.html',1,'']]] +]; diff --git a/search/files_8.js b/search/files_8.js new file mode 100644 index 000000000..2cce2da79 --- /dev/null +++ b/search/files_8.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['json_2ecpp_0',['JSON.cpp',['../JSON_8cpp.html',1,'']]], + ['json_2eh_1',['JSON.h',['../JSON_8h.html',1,'']]], + ['jsondiagnostic_2ecpp_2',['JSONDiagnostic.cpp',['../JSONDiagnostic_8cpp.html',1,'']]], + ['jsondiagnostic_2eh_3',['JSONDiagnostic.h',['../JSONDiagnostic_8h.html',1,'']]] +]; diff --git a/search/files_9.js b/search/files_9.js new file mode 100644 index 000000000..d8a799f0d --- /dev/null +++ b/search/files_9.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_a.js b/search/files_a.js new file mode 100644 index 000000000..6f6b4f4d5 --- /dev/null +++ b/search/files_a.js @@ -0,0 +1,23 @@ +var searchData= +[ + ['lambda_2eh_0',['Lambda.h',['../Lambda_8h.html',1,'']]], + ['launch_2ecpp_1',['Launch.cpp',['../Launch_8cpp.html',1,'']]], + ['launch_2eh_2',['Launch.h',['../Launch_8h.html',1,'']]], + ['lexer_2ecpp_3',['Lexer.cpp',['../Lexer_8cpp.html',1,'']]], + ['lexer_2eh_4',['Lexer.h',['../Lexer_8h.html',1,'']]], + ['lib_2fprotocol_2fprotocol_2ecpp_5',['Protocol.cpp',['../lib_2Protocol_2Protocol_8cpp.html',1,'']]], + ['libnixf_2finclude_2fnixf_2fsema_2fparentmap_2eh_6',['ParentMap.h',['../libnixf_2include_2nixf_2Sema_2ParentMap_8h.html',1,'']]], + ['libnixf_2freadme_2emd_7',['README.md',['../libnixf_2README_8md.html',1,'']]], + ['libnixf_2fsrc_2fsema_2fparentmap_2ecpp_8',['ParentMap.cpp',['../libnixf_2src_2Sema_2ParentMap_8cpp.html',1,'']]], + ['libnixt_2finclude_2fnixt_2fparentmap_2eh_9',['ParentMap.h',['../libnixt_2include_2nixt_2ParentMap_8h.html',1,'']]], + ['libnixt_2flib_2fparentmap_2ecpp_10',['ParentMap.cpp',['../libnixt_2lib_2ParentMap_8cpp.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_2fsrc_2fprotocol_2ecpp_19',['Protocol.cpp',['../lspserver_2src_2Protocol_8cpp.html',1,'']]] +]; diff --git a/search/files_b.js b/search/files_b.js new file mode 100644 index 000000000..c80187600 --- /dev/null +++ b/search/files_b.js @@ -0,0 +1,13 @@ +var searchData= +[ + ['nixd_2dattrset_2deval_2ecpp_0',['nixd-attrset-eval.cpp',['../nixd-attrset-eval_8cpp.html',1,'']]], + ['nixd_2ecpp_1',['nixd.cpp',['../nixd_8cpp.html',1,'']]], + ['nixd_2flspserver_2freadme_2emd_2',['README.md',['../nixd_2lspserver_2README_8md.html',1,'']]], + ['nixf_2dtidy_2ecpp_3',['nixf-tidy.cpp',['../nixf-tidy_8cpp.html',1,'']]], + ['nixtu_2ecpp_4',['NixTU.cpp',['../NixTU_8cpp.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_c.js b/search/files_c.js new file mode 100644 index 000000000..f8937869a --- /dev/null +++ b/search/files_c.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['op_2eh_0',['Op.h',['../Op_8h.html',1,'']]], + ['options_2ecpp_1',['Options.cpp',['../Options_8cpp.html',1,'']]], + ['options_2eh_2',['Options.h',['../Options_8h.html',1,'']]], + ['ownedregion_2eh_3',['OwnedRegion.h',['../OwnedRegion_8h.html',1,'']]] +]; diff --git a/search/files_d.js b/search/files_d.js new file mode 100644 index 000000000..9f2ecf2f9 --- /dev/null +++ b/search/files_d.js @@ -0,0 +1,13 @@ +var searchData= +[ + ['parseattrs_2ecpp_0',['ParseAttrs.cpp',['../ParseAttrs_8cpp.html',1,'']]], + ['parseexpr_2ecpp_1',['ParseExpr.cpp',['../ParseExpr_8cpp.html',1,'']]], + ['parselambda_2ecpp_2',['ParseLambda.cpp',['../ParseLambda_8cpp.html',1,'']]], + ['parseop_2ecpp_3',['ParseOp.cpp',['../ParseOp_8cpp.html',1,'']]], + ['parsesimple_2ecpp_4',['ParseSimple.cpp',['../ParseSimple_8cpp.html',1,'']]], + ['parsestrings_2ecpp_5',['ParseStrings.cpp',['../ParseStrings_8cpp.html',1,'']]], + ['parsesupport_2ecpp_6',['ParseSupport.cpp',['../ParseSupport_8cpp.html',1,'']]], + ['path_2eh_7',['Path.h',['../Path_8h.html',1,'']]], + ['pipedproc_2eh_8',['PipedProc.h',['../PipedProc_8h.html',1,'']]], + ['ptrpool_2eh_9',['PtrPool.h',['../PtrPool_8h.html',1,'']]] +]; diff --git a/search/files_e.js b/search/files_e.js new file mode 100644 index 000000000..fefbcec3e --- /dev/null +++ b/search/files_e.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['range_2eh_0',['Range.h',['../Range_8h.html',1,'']]], + ['readme_2emd_1',['README.md',['../README_8md.html',1,'']]], + ['rename_2ecpp_2',['Rename.cpp',['../Rename_8cpp.html',1,'']]] +]; diff --git a/search/files_f.js b/search/files_f.js new file mode 100644 index 000000000..d137bd44c --- /dev/null +++ b/search/files_f.js @@ -0,0 +1,16 @@ +var searchData= +[ + ['semaactions_2ecpp_0',['SemaActions.cpp',['../SemaActions_8cpp.html',1,'']]], + ['semaactions_2eh_1',['SemaActions.h',['../SemaActions_8h.html',1,'']]], + ['semantictokens_2ecpp_2',['SemanticTokens.cpp',['../SemanticTokens_8cpp.html',1,'']]], + ['serialize_2eh_3',['Serialize.h',['../Serialize_8h.html',1,'']]], + ['simple_2eh_4',['Simple.h',['../Simple_8h.html',1,'']]], + ['sourcecode_2ecpp_5',['SourceCode.cpp',['../SourceCode_8cpp.html',1,'']]], + ['sourcecode_2eh_6',['SourceCode.h',['../SourceCode_8h.html',1,'']]], + ['src_2fparse_2fparser_2eh_7',['Parser.h',['../src_2Parse_2Parser_8h.html',1,'']]], + ['streamproc_2ecpp_8',['StreamProc.cpp',['../StreamProc_8cpp.html',1,'']]], + ['streamproc_2eh_9',['StreamProc.h',['../StreamProc_8h.html',1,'']]], + ['support_2ecpp_10',['Support.cpp',['../Support_8cpp.html',1,'']]], + ['support_2epy_11',['support.py',['../support_8py.html',1,'']]], + ['syntaxkinds_2einc_12',['SyntaxKinds.inc',['../SyntaxKinds_8inc.html',1,'']]] +]; diff --git a/search/functions_0.js b/search/functions_0.js new file mode 100644 index 000000000..9973218e1 --- /dev/null +++ b/search/functions_0.js @@ -0,0 +1,31 @@ +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#a01bad0cb91cd1b9903afe8ef6236bce4',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#a754c12f0dc17ce69ba81d6493378d7b8',1,'nixf::ExprCall::args()']]], + ['ast_12',['ast',['../classnixd_1_1NixTU.html#af84c5eb174e0059336cab9f802f2e59a',1,'nixd::NixTU']]], + ['asvfs_13',['asVFS',['../classlspserver_1_1DraftStore.html#aec81eb3be70461578bb820090958147d',1,'lspserver::DraftStore']]], + ['attribute_14',['Attribute',['../classnixf_1_1Attribute.html#acdf18b2fb493bf99f4c524e4c3927ea6',1,'nixf::Attribute']]], + ['attrname_15',['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_16',['AttrPath',['../classnixf_1_1AttrPath.html#a22a078918dc7c123c1c62f5a5d02711f',1,'nixf::AttrPath']]], + ['attrpath_17',['attrpath',['../classnixf_1_1ExprOpHasAttr.html#aab50a5158a7e291d1487f67db56214ad',1,'nixf::ExprOpHasAttr']]], + ['attrpathcomplete_18',['attrpathComplete',['../classnixd_1_1AttrSetClient.html#ad90c6930a047581a8c8c0985e2086c9f',1,'nixd::AttrSetClient']]], + ['attrpathinfo_19',['attrpathInfo',['../classnixd_1_1AttrSetClient.html#aae0fc59bb1edee4225f8974adec73ea6',1,'nixd::AttrSetClient']]], + ['attrpathstr_20',['attrPathStr',['../namespacenixt.html#a76e1a0435aeacccbf8ba2c8c914e4539',1,'nixt']]], + ['attrs_21',['attrs',['../classnixf_1_1ExprLet.html#a9d285018a5342d41324abaaed0d87337',1,'nixf::ExprLet']]], + ['attrsetclient_22',['AttrSetClient',['../classnixd_1_1AttrSetClient.html#a7e8e258a56178dbff6cfd9fab6ff4f8b',1,'nixd::AttrSetClient']]], + ['attrsetclientproc_23',['AttrSetClientProc',['../classnixd_1_1AttrSetClientProc.html#a8761ae4cdfe17901da01760961f45268',1,'nixd::AttrSetClientProc']]], + ['attrsetprovider_24',['AttrSetProvider',['../classnixd_1_1AttrSetProvider.html#aa09ca2f7179db71621f11def90077771',1,'nixd::AttrSetProvider']]], + ['authority_25',['authority',['../classlspserver_1_1URI.html#a91512c203ca0302ae7760037b550c1af',1,'lspserver::URI']]], + ['autoclosefd_26',['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']]], + ['autoremoveshm_27',['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..ebe394612 --- /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_1Binds.html#a6d2badff19ff4592eff48465a4f741a8',1,'nixf::Binds']]], + ['binds_4',['binds',['../classnixf_1_1ExprAttrs.html#ad78576f46894599609db94783ca21ebb',1,'nixf::ExprAttrs::binds()'],['../classnixf_1_1ExprLet.html#a7d390dc1ff69e7cb3a8f5d5fc3faf01e',1,'nixf::ExprLet::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..055c207fc --- /dev/null +++ b/search/functions_10.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['query_0',['query',['../classnixf_1_1ParentMapAnalysis.html#ae1a8a5013b3716efba4992f919a32a6c',1,'nixf::ParentMapAnalysis::query()'],['../classnixf_1_1VariableLookupAnalysis.html#abcb49eb87d9c66b1bded81586a817bd3',1,'nixf::VariableLookupAnalysis::query()']]] +]; diff --git a/search/functions_11.js b/search/functions_11.js new file mode 100644 index 000000000..f09013d55 --- /dev/null +++ b/search/functions_11.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()']]], + ['readdelimitedmessage_2',['readDelimitedMessage',['../classlspserver_1_1InboundPort.html#ac130e7a1daffba4a6a5a70b4649bd18e',1,'lspserver::InboundPort']]], + ['readline_3',['readLine',['../namespacelspserver.html#afbe5d31d367546d2d2bd41949e6ac3a8',1,'lspserver']]], + ['readmessage_4',['readMessage',['../classlspserver_1_1InboundPort.html#aa781da274df2375c0c9f648ccc4ca393',1,'lspserver::InboundPort']]], + ['readstandardmessage_5',['readStandardMessage',['../classlspserver_1_1InboundPort.html#a75f1031eb93fc44b3a0f2649545b1a56',1,'lspserver::InboundPort']]], + ['ready_6',['ready',['../classnixd_1_1EvalClient.html#a401b8ca6ce5cef8c453d144df3938d75',1,'nixd::EvalClient']]], + ['rec_7',['rec',['../classnixf_1_1ExprAttrs.html#ab2e72b19f5e98455f60d0cf34a98f11d',1,'nixf::ExprAttrs']]], + ['record_8',['record',['../structnixt_1_1PtrPool.html#a9d6e70d8db772764426b6a60f0634d48',1,'nixt::PtrPool']]], + ['release_9',['release',['../classnixd_1_1util_1_1AutoCloseFD.html#ab69ba32fd428e832dbc04e877bdfdba9',1,'nixd::util::AutoCloseFD']]], + ['removedraft_10',['removeDraft',['../classlspserver_1_1DraftStore.html#a9432c04dbf56358e7967b9cefc096131',1,'lspserver::DraftStore']]], + ['removeformal_11',['removeFormal',['../classnixf_1_1Sema.html#abb324d1b4655fc7ca0863cd9fc2b52f8',1,'nixf::Sema']]], + ['reply_12',['reply',['../classlspserver_1_1OutboundPort.html#ac1da9934b3ab8851b33551dc27dd40be',1,'lspserver::OutboundPort']]], + ['resolve_13',['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_14',['resolvePath',['../classlspserver_1_1URI.html#af74e7671fefbbbd61db978ac8d7c35fa',1,'lspserver::URI']]], + ['rhs_15',['rhs',['../classnixf_1_1ExprBinOp.html#a3f13d7e7779ecbe960a77e9a3e4529e6',1,'nixf::ExprBinOp']]], + ['rparen_16',['rparen',['../classnixf_1_1ExprParen.html#a833d9e2d5780c480d4105b1bfa325b05',1,'nixf::ExprParen']]], + ['run_17',['run',['../classlspserver_1_1LSPServer.html#af88fc336cbc2b4513a0461e4b30bb2d6',1,'lspserver::LSPServer']]], + ['runonast_18',['runOnAST',['../classnixf_1_1ParentMapAnalysis.html#acb44e336f6a90a0cc378a03fb7972e55',1,'nixf::ParentMapAnalysis::runOnAST()'],['../classnixf_1_1VariableLookupAnalysis.html#ab1cb260eeaec18bf6f5c4ccbea232b7d',1,'nixf::VariableLookupAnalysis::runOnAST()']]] +]; diff --git a/search/functions_12.js b/search/functions_12.js new file mode 100644 index 000000000..40960e762 --- /dev/null +++ b/search/functions_12.js @@ -0,0 +1,36 @@ +var searchData= +[ + ['scheme_0',['scheme',['../classlspserver_1_1URI.html#ab97804c060c2e322f07ab7c882ad3319',1,'lspserver::URI']]], + ['selectattr_1',['selectAttr',['../namespacenixt.html#aca4b69f17fe4e635e23ad7d8353e12b6',1,'nixt']]], + ['selectattrpath_2',['selectAttrPath',['../namespacenixt.html#a4de16134eaac60048b86992129cc116e',1,'nixt']]], + ['selectoption_3',['selectOption',['../namespacenixt.html#a7c5c88005572617acd24f2d908eee82f',1,'nixt']]], + ['selectoptions_4',['selectOptions',['../namespacenixt.html#ab9bc9833cbab2f11f9e9cdf5e5fa6535',1,'nixt::selectOptions(nix::EvalState &State, nix::Value &V, std::vector< nix::Symbol >::const_iterator Begin, std::vector< nix::Symbol >::const_iterator End)'],['../namespacenixt.html#a334c2b645f16cd80b11c9c2250743265',1,'nixt::selectOptions(nix::EvalState &State, nix::Value &V, const std::vector< nix::Symbol > &AttrPath)']]], + ['selectorcreate_5',['selectOrCreate',['../classnixf_1_1Sema.html#a0b137b12fbec016d52ef7fd8bae0ff10',1,'nixf::Sema']]], + ['selectstrings_6',['selectStrings',['../namespacenixt.html#aad41132c512553ac03321bda0e89ab84',1,'nixt']]], + ['selectstringviews_7',['selectStringViews',['../namespacenixt.html#ae1bce7e3dc1ddd368a5bd0d02a950ce7',1,'nixt']]], + ['selectsymbols_8',['selectSymbols',['../namespacenixt.html#a27a8660ee6ebed6c741040f0b1671494',1,'nixt']]], + ['sema_9',['sema',['../classnixf_1_1ExprAttrs.html#a552568476b135321dbbc77080d965baf',1,'nixf::ExprAttrs']]], + ['sema_10',['Sema',['../classnixf_1_1Sema.html#ae2d3c9846532adba88cf4d746cdb9e67',1,'nixf::Sema']]], + ['semaattrs_11',['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_12',['sendMessage',['../classlspserver_1_1OutboundPort.html#a66baca8ef340b385c4852c522c1d4a42',1,'lspserver::OutboundPort']]], + ['setcur_13',['setCur',['../classnixf_1_1Lexer.html#aa1da76c67db3bcd5d9bcf89c8f9052c2',1,'nixf::Lexer']]], + ['severity_14',['severity',['../classnixf_1_1Diagnostic.html#ae30dc22122096f243f09a425ac9f47ae',1,'nixf::Diagnostic']]], + ['shmname_15',['shmName',['../classnixd_1_1util_1_1AutoRemoveShm.html#ae5742ac205976bb5d6ced9b2732003a9',1,'nixd::util::AutoRemoveShm']]], + ['shouldtraversepostorder_16',['shouldTraversePostOrder',['../structnixt_1_1RecursiveASTVisitor.html#aeae26a42e443af02877fe52456b5d9a3',1,'nixt::RecursiveASTVisitor']]], + ['sname_17',['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#a9a8f1fd3dde14ee67993af31e74a0f9f',1,'nixf::Diagnostic::sname(DiagnosticKind Kind)'],['../classnixf_1_1Diagnostic.html#a5f3fa89c21696fb6221bd32cd4d8767b',1,'nixf::Diagnostic::sname() const']]], + ['source_18',['source',['../classnixf_1_1Definition.html#a927a77126fd16ec089d151d99c3f6e06',1,'nixf::Definition']]], + ['spelling_19',['spelling',['../namespacenixf_1_1tok.html#a22303bfd9cb56f2263925fb456d35877',1,'nixf::tok']]], + ['src_20',['src',['../classnixf_1_1Node.html#a8aecdb38ea3becaa4c3486e9a22bac04',1,'nixf::Node::src()'],['../classnixd_1_1NixTU.html#a99317c7022218b59ce98085182b72ceb',1,'nixd::NixTU::src()']]], + ['startattrseteval_21',['startAttrSetEval',['../namespacenixd.html#a59c22e4b544e14f47a68a03062967b71',1,'nixd']]], + ['startnixpkgs_22',['startNixpkgs',['../namespacenixd.html#aa7c4c0191b66da6a442112fa3459a5e0',1,'nixd']]], + ['startoption_23',['startOption',['../namespacenixd.html#a6a4b5d52ad84bc68727c3ffa1b22ebef',1,'nixd']]], + ['staticattrs_24',['staticAttrs',['../classnixf_1_1SemaAttrs.html#adb4cd398a017d36cdf5b2b581fcdf78b',1,'nixf::SemaAttrs']]], + ['staticname_25',['staticName',['../classnixf_1_1AttrName.html#a26f8f0850b88fa1ab24494cb8c969b06',1,'nixf::AttrName']]], + ['stream_26',['stream',['../structnixd_1_1StreamProc.html#ae9a44dc408d824577626d8630b5c605e',1,'nixd::StreamProc']]], + ['streamlogger_27',['StreamLogger',['../classlspserver_1_1StreamLogger.html#a49ddb7eeb5f140e6f79aed6c51e05491',1,'lspserver::StreamLogger']]], + ['streamproc_28',['StreamProc',['../structnixd_1_1StreamProc.html#a728068bb5347bb8f3557f26136b0bcf5',1,'nixd::StreamProc']]], + ['string_29',['string',['../classnixf_1_1AttrName.html#aa606d39021e67e8f858ac3ecdf298133',1,'nixf::AttrName']]], + ['subscription_30',['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_31',['switchStreamStyle',['../classlspserver_1_1LSPServer.html#ae32986041af5973c958e01718641fccb',1,'lspserver::LSPServer']]], + ['syntax_32',['syntax',['../classnixf_1_1Definition.html#a37c7d4be512492d4095eaf163cbfbaeb',1,'nixf::Definition::syntax()'],['../classnixf_1_1EnvNode.html#a247d3076abeb43d0db03140418fd0709',1,'nixf::EnvNode::syntax()']]] +]; diff --git a/search/functions_13.js b/search/functions_13.js new file mode 100644 index 000000000..cc8cb8cb9 --- /dev/null +++ b/search/functions_13.js @@ -0,0 +1,22 @@ +var searchData= +[ + ['tag_0',['tag',['../classnixf_1_1PartialDiagnostic.html#a1856976da05c5e0f0be1ceff38b1848e',1,'nixf::PartialDiagnostic']]], + ['tags_1',['tags',['../classnixf_1_1PartialDiagnostic.html#a6a980e9e70615655cb9b7d02787f0521',1,'nixf::PartialDiagnostic']]], + ['takeerror_2',['takeError',['../classnixd_1_1LLVMErrorException.html#a58ee073660197b77fbeb48a316c0533f',1,'nixd::LLVMErrorException']]], + ['text_3',['text',['../classnixf_1_1ExprSPath.html#a154a69c4cbf1d43df69eb5b3bdeb8af2',1,'nixf::ExprSPath']]], + ['textedit_4',['TextEdit',['../classnixf_1_1TextEdit.html#ad5d1fdcac6cbfeed63a12b115e13e532',1,'nixf::TextEdit']]], + ['then_5',['then',['../classnixf_1_1ExprIf.html#a2f80b0835b006680c5e764d2673c41a0',1,'nixf::ExprIf']]], + ['to_5fjson_6',['to_json',['../namespacenixf.html#a5b1322453c32d0d5d3bd3664bd06fa9a',1,'nixf::to_json(nlohmann::json &R, const LexerCursor &LC)'],['../namespacenixf.html#a78f5bc0d96baa62b8cbc274e3fff14c6',1,'nixf::to_json(nlohmann::json &R, const LexerCursorRange &LCR)'],['../namespacenixf.html#adf20d7251ae7a82388b957740ddac9f8',1,'nixf::to_json(nlohmann::json &R, const PartialDiagnostic &D)'],['../namespacenixf.html#a4568bd3a2ba5074149db3bf78a310b05',1,'nixf::to_json(nlohmann::json &R, const Diagnostic &D)'],['../namespacenixf.html#aa09bc3bf19c873713b68cce7e1372a9e',1,'nixf::to_json(nlohmann::json &R, const Note &N)'],['../namespacenixf.html#a000c506cb61d7ba0f19528e6285bbd88',1,'nixf::to_json(nlohmann::json &R, const TextEdit &D)'],['../namespacenixf.html#abd85e28ef427f4a7719486eb88870573',1,'nixf::to_json(nlohmann::json &R, const Fix &F)']]], + ['todef_7',['toDef',['../classnixf_1_1VariableLookupAnalysis.html#a592946effb9a6656c36ebf5608274f08',1,'nixf::VariableLookupAnalysis']]], + ['tojson_8',['toJSON',['../namespacenixd.html#a21ac91dd6f9f2107002d0bcebc40f56b',1,'nixd::toJSON(const PackageDescription &Params)'],['../namespacenixd.html#a4ef199245224b634084164328167fdeb',1,'nixd::toJSON(const ValueMeta &Params)'],['../namespacenixd.html#a03351f8340dbcabb9e5cba32b82803b0',1,'nixd::toJSON(const AttrPathInfoResponse &Params)'],['../namespacenixd.html#ab6168035654f44eaa3d6db5b5a183d6c',1,'nixd::toJSON(const AttrPathCompleteParams &Params)'],['../namespacenixd.html#a2b5ab49c923c8006f6d783512d4e1273',1,'nixd::toJSON(const OptionType &Params)'],['../namespacenixd.html#a4d270bbabc3858d0091ef1cd550af6c0',1,'nixd::toJSON(const OptionDescription &Params)'],['../namespacenixd.html#addf8ee3694329211f427c99e4176a031',1,'nixd::toJSON(const OptionField &Params)'],['../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)'],['../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 &)']]], + ['token_9',['Token',['../classnixf_1_1Token.html#a663c3e1dc061f2adb6fa4587d1c86cad',1,'nixf::Token']]], + ['toksemi_10',['tokSemi',['../classnixf_1_1ExprWith.html#a56dab8af49eb79e7b17e9fa049287f4e',1,'nixf::ExprWith']]], + ['tolspposition_11',['toLSPPosition',['../namespacenixd.html#a4ef1be7481558afa9b5e1f2d5716e0ee',1,'nixd']]], + ['tolsprange_12',['toLSPRange',['../namespacenixd.html#ac5b35c065b009c335878273fbd08cfaa',1,'nixd']]], + ['tolsptags_13',['toLSPTags',['../namespacenixd.html#aed677a632cad0aba844def114336270a',1,'nixd']]], + ['tonixfposition_14',['toNixfPosition',['../namespacenixd.html#a937441b968008649c460c9f14ebd2de8',1,'nixd']]], + ['tonixfrange_15',['toNixfRange',['../namespacenixd.html#a1d0246751142b5eb16cd8dd111da7e89',1,'nixd']]], + ['tostring_16',['toString',['../classlspserver_1_1URI.html#abbcf9d8d5d654fad7720b188781de90c',1,'lspserver::URI']]], + ['tosymbols_17',['toSymbols',['../namespacenixt.html#ac71e3c3a8e81e63ee5b513cf1b76d196',1,'nixt::toSymbols(nix::SymbolTable &STable, const std::vector< std::string > &Names)'],['../namespacenixt.html#a2acdeae51eb08f895917d09730ebe751',1,'nixt::toSymbols(nix::SymbolTable &STable, const std::vector< std::string_view > &Names)']]], + ['traverseexpr_18',['traverseExpr',['../structnixt_1_1RecursiveASTVisitor.html#a57603dce28547d1f8d08bab24eb765c6',1,'nixt::RecursiveASTVisitor']]] +]; diff --git a/search/functions_14.js b/search/functions_14.js new file mode 100644 index 000000000..b383fb1a4 --- /dev/null +++ b/search/functions_14.js @@ -0,0 +1,14 @@ +var searchData= +[ + ['unionranges_0',['unionRanges',['../namespacelspserver.html#a1d543d73f88565b59621538d51fb34df',1,'lspserver']]], + ['unsafecreate_1',['unsafeCreate',['../classnixf_1_1LexerCursor.html#a5e9b05e14a69c5c6b6ef8eda7b0af416',1,'nixf::LexerCursor']]], + ['upenv_2',['upEnv',['../namespacenixd.html#a4a51147e5361aa8285840fd52a0137c7',1,'nixd']]], + ['upexpr_3',['upExpr',['../classnixf_1_1ParentMapAnalysis.html#a018c41ed1129da1d6605556a50880a7c',1,'nixf::ParentMapAnalysis']]], + ['upto_4',['upTo',['../classnixf_1_1ParentMapAnalysis.html#a8121cffec7ef83babe0147ef17980300',1,'nixf::ParentMapAnalysis']]], + ['uri_5',['URI',['../classlspserver_1_1URI.html#af4b7b70de82110b7dc3238a1a7f61364',1,'lspserver::URI']]], + ['uri_6',['uri',['../structlspserver_1_1URIForFile.html#aed55ac711769bce7d879c2eb17b657cd',1,'lspserver::URIForFile']]], + ['uriforfile_7',['URIForFile',['../structlspserver_1_1URIForFile.html#a656ca164a73f3b520aab8db1711f9b4e',1,'lspserver::URIForFile']]], + ['urifromabsolutepath_8',['uriFromAbsolutePath',['../classlspserver_1_1URIScheme.html#aad975c1e77d1061f170ee8dd21e06ea5',1,'lspserver::URIScheme']]], + ['usedby_9',['usedBy',['../classnixf_1_1Definition.html#a13895a1ddc27d70e30ef86d1fbef06e9',1,'nixf::Definition']]], + ['uses_10',['uses',['../classnixf_1_1Definition.html#aea28c5067cab05ffbb58c7392b58c2e9',1,'nixf::Definition']]] +]; diff --git a/search/functions_15.js b/search/functions_15.js new file mode 100644 index 000000000..35eef8671 --- /dev/null +++ b/search/functions_15.js @@ -0,0 +1,9 @@ +var searchData= +[ + ['value_0',['value',['../classnixf_1_1Binding.html#ab831cd6b8ab83de1ec78fcfb2fd537e9',1,'nixf::Binding::value()'],['../classnixf_1_1Attribute.html#a4983c64b97a333567daf1cb6398c66d7',1,'nixf::Attribute::value()'],['../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()']]], + ['variablelookup_1',['variableLookup',['../classnixd_1_1NixTU.html#ae98adc5ccb0cf1bcd9eb4615b263be4a',1,'nixd::NixTU']]], + ['variablelookupanalysis_2',['VariableLookupAnalysis',['../classnixf_1_1VariableLookupAnalysis.html#ac7368d509727e75c46096ef6304667fe',1,'nixf::VariableLookupAnalysis']]], + ['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_16.js b/search/functions_16.js new file mode 100644 index 000000000..3f324d5e9 --- /dev/null +++ b/search/functions_16.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['what_0',['what',['../classnixd_1_1JSONParseException.html#a68e88123489624c1fa250be6967490f7',1,'nixd::JSONParseException::what()'],['../classnixd_1_1JSONSchemaException.html#a42ed87d185c94ecabaaefd572d519883',1,'nixd::JSONSchemaException::what()'],['../structnixd_1_1idioms_1_1NotAnIdiomException.html#a9b42117d37183e58850ade7bf8e22791',1,'nixd::idioms::NotAnIdiomException::what()'],['../structnixd_1_1idioms_1_1NoLocationForBuiltinVariable.html#a1006c7be7471cae8db24564c2a9a02ff',1,'nixd::idioms::NoLocationForBuiltinVariable::what()'],['../structnixd_1_1idioms_1_1NoSuchVarException.html#aa4cd965bbd6ee700fcdb3281645fffd5',1,'nixd::idioms::NoSuchVarException::what()'],['../structnixd_1_1idioms_1_1UndefinedVarException.html#a020f6d64bd005a89c639de4b89ec7931',1,'nixd::idioms::UndefinedVarException::what()'],['../structnixd_1_1idioms_1_1DynamicNameException.html#ab054c18ae8a0d676b76698ce673351aa',1,'nixd::idioms::DynamicNameException::what()'],['../structnixd_1_1idioms_1_1NotVariableSelect.html#a6cd9178c8bab2dcbdd7f33b3919035b3',1,'nixd::idioms::NotVariableSelect::what()'],['../structnixd_1_1CannotFindVarException.html#a81282da207f07308d38d30c7e8fa55ad',1,'nixd::CannotFindVarException::what()']]], + ['with_1',['with',['../classnixf_1_1ExprWith.html#a29f83259744bc8dfb316e7d2485799fc',1,'nixf::ExprWith']]], + ['wrap_2',['wrap',['../namespacelspserver_1_1detail.html#aa2ddd906ab8a11c9d4651a83c5b0cb26',1,'lspserver::detail::wrap(T &&V)'],['../namespacelspserver_1_1detail.html#a02ac1f849f3e0284a3f4a4e74d01af0f',1,'lspserver::detail::wrap(llvm::Error &&V)']]] +]; diff --git a/search/functions_17.js b/search/functions_17.js new file mode 100644 index 000000000..014505495 --- /dev/null +++ b/search/functions_17.js @@ -0,0 +1,16 @@ +var searchData= +[ + ['_7eattrsetclientproc_0',['~AttrSetClientProc',['../classnixd_1_1AttrSetClientProc.html#a489d1203047c98e1e3d0ec3b802f613f',1,'nixd::AttrSetClientProc']]], + ['_7eautoclosefd_1',['~AutoCloseFD',['../classnixd_1_1util_1_1AutoCloseFD.html#a847af93bb4d9cb5339edc9fbf785c226',1,'nixd::util::AutoCloseFD']]], + ['_7eautoremoveshm_2',['~AutoRemoveShm',['../classnixd_1_1util_1_1AutoRemoveShm.html#a317a460aa901b745e1d51f5bc94f3210',1,'nixd::util::AutoRemoveShm']]], + ['_7econtroller_3',['~Controller',['../classnixd_1_1Controller.html#a8ad8533f6082e0c1bf1cd9a65044d11f',1,'nixd::Controller']]], + ['_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#a369862cf5522fca995530738512f1fcd',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..396bcb477 --- /dev/null +++ b/search/functions_2.js @@ -0,0 +1,29 @@ +var searchData= +[ + ['call_0',['call',['../classlspserver_1_1OutboundPort.html#acece6b5fd08945aee7805777718f036d',1,'lspserver::OutboundPort']]], + ['calldirtyflake_1',['callDirtyFlake',['../namespacenixt.html#a5d7eac38c3e886f2bd6c647bb9eef23a',1,'nixt']]], + ['canonicalize_2',['canonicalize',['../structlspserver_1_1URIForFile.html#a25f1325018685a980fb43903e1b84646',1,'lspserver::URIForFile']]], + ['checkattrrecursiveformerge_3',['checkAttrRecursiveForMerge',['../classnixf_1_1Sema.html#aa2f40eead33f88c01564da59dd86ded1',1,'nixf::Sema']]], + ['checkfield_4',['checkField',['../namespacenixt.html#a6162f1b231ae7af9d4abc39d5ceed10c',1,'nixt']]], + ['checkformalellipsis_5',['checkFormalEllipsis',['../classnixf_1_1Sema.html#a4f62354c3a63d6084ff05210b935a71e',1,'nixf::Sema']]], + ['checkformalempty_6',['checkFormalEmpty',['../classnixf_1_1Sema.html#aa930ffbbda48a74dd8e1dc819b92d5da',1,'nixf::Sema']]], + ['checkformalsep_7',['checkFormalSep',['../classnixf_1_1Sema.html#a739f2a57c39e588659a6a8487e35e747',1,'nixf::Sema']]], + ['checktype_8',['checkType',['../namespacenixt.html#a62e351adc5bd412be9d66445e33f34c5',1,'nixt']]], + ['children_9',['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_1Dot.html#a6718f5427b8a755c2c0cb7a224c29e9f',1,'nixf::Dot::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_1ExprSPath.html#a0820d01bbb1d13cc173fd7064f0dc4f0',1,'nixf::ExprSPath::children()'],['../classnixf_1_1ExprParen.html#ad71fe3e184e003f26577f5c287047274',1,'nixf::ExprParen::children()'],['../classnixf_1_1ExprVar.html#a0f51f49ecb68e3f24bd658ad6dffadfa',1,'nixf::ExprVar::children()']]], + ['classof_10',['classof',['../classnixf_1_1Expr.html#a4575b972c2e7c4ce8389ac397ea3a70b',1,'nixf::Expr']]], + ['client_11',['client',['../classnixd_1_1AttrSetClientProc.html#a4c8fbe69488b899bd48c1fa8d6ca2dd5',1,'nixd::AttrSetClientProc']]], + ['close_12',['close',['../classlspserver_1_1InboundPort.html#a654e594cba394792fb01c94a5a916680',1,'lspserver::InboundPort']]], + ['closeinbound_13',['closeInbound',['../classlspserver_1_1LSPServer.html#aaaabca1d9e626068a602488d24f3d8fb',1,'lspserver::LSPServer']]], + ['collectwords_14',['collectWords',['../namespacelspserver.html#a917da274f676099780efde7f1b02e430',1,'lspserver']]], + ['column_15',['column',['../classnixf_1_1Position.html#a3b7fb2514b10014af595c4f87fdd8f4a',1,'nixf::Position::column()'],['../classnixf_1_1LexerCursor.html#a3c2bf1a27e8a99fd838c6097bee01d42',1,'nixf::LexerCursor::column()']]], + ['comma_16',['comma',['../classnixf_1_1Formal.html#a222e180ec769ee04c991a5a1864ce0fa',1,'nixf::Formal']]], + ['cond_17',['cond',['../classnixf_1_1ExprIf.html#a302c8b1f948b23a39be23444479a9063',1,'nixf::ExprIf::cond()'],['../classnixf_1_1ExprAssert.html#ac7cdada7b3231ab9f552a4eaa5d8220d',1,'nixf::ExprAssert::cond()']]], + ['consume_18',['consume',['../namespacenixt.html#ae82ebf3f2e7224da9f53ead9c2017036',1,'nixt']]], + ['consumeast_19',['consumeAST',['../namespacenixt.html#af5af0dc80196f5f6a76e98c8edc1c694',1,'nixt']]], + ['contains_20',['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_21',['Controller',['../classnixd_1_1Controller.html#aafdf4a25d9a6d7aa3e86d6669c86c06d',1,'nixd::Controller']]], + ['converttoerrorcode_22',['convertToErrorCode',['../classlspserver_1_1LSPError.html#ade86cbededef0f4f201c595a4c40dbdb',1,'lspserver::LSPError']]], + ['create_23',['create',['../classnixd_1_1OwnedEvalClient.html#a568acb02499c79a1b2976f52fd4249e6',1,'nixd::OwnedEvalClient::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)']]], + ['createfile_24',['createFile',['../classlspserver_1_1URI.html#ae7df5b5cae4a6cfaa1174107ce74d6a3',1,'lspserver::URI']]], + ['cur_25',['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..a5a51847c --- /dev/null +++ b/search/functions_3.js @@ -0,0 +1,23 @@ +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()']]], + ['definition_7',['Definition',['../classnixf_1_1Definition.html#a2ed1ecda9631603a4aee598e78414f21',1,'nixf::Definition::Definition(const Node *Syntax, DefinitionSource Source)'],['../classnixf_1_1Definition.html#a762f3579773f6ad16e4c809be9d64ccb',1,'nixf::Definition::Definition(std::vector< const ExprVar * > Uses, const Node *Syntax, DefinitionSource Source)']]], + ['defs_8',['defs',['../classnixf_1_1EnvNode.html#ad32080ba97691fae6adfe8a9b3709d01',1,'nixf::EnvNode']]], + ['descend_9',['descend',['../classnixf_1_1Node.html#a0baddb708b003d7fccc90d3f09f94515',1,'nixf::Node']]], + ['deserializehookable_10',['deserializeHookable',['../namespacenixt.html#ab0d028a74390873ec4872a7745e0ed44',1,'nixt']]], + ['desugarinheritexpr_11',['desugarInheritExpr',['../classnixf_1_1Sema.html#afde558c97cafc9432a007dcfbd0d5fe6',1,'nixf::Sema']]], + ['diagnostic_12',['Diagnostic',['../classnixf_1_1Diagnostic.html#a309a5829099380594fd612938d81d186',1,'nixf::Diagnostic']]], + ['diagnostics_13',['diagnostics',['../classnixd_1_1NixTU.html#a10b00e84fe21b6248f95f7f6513ece26',1,'nixd::NixTU']]], + ['diagnullexpr_14',['diagNullExpr',['../namespacenixf_1_1detail.html#af9e82df3ce22230174d929f2746563df',1,'nixf::detail']]], + ['dispatch_15',['dispatch',['../classlspserver_1_1InboundPort.html#a3107017fb6f852d5a36e561fd1d8c0f9',1,'lspserver::InboundPort']]], + ['displof_16',['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)']]], + ['dot_17',['Dot',['../classnixf_1_1Dot.html#ab09d121a0c285bc21291e19333f66a01',1,'nixf::Dot']]], + ['dupattr_18',['dupAttr',['../classnixf_1_1Sema.html#a813c4f1c697dc1b0874fff49008750b6',1,'nixf::Sema']]], + ['dynamicattrs_19',['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..ee7a93330 --- /dev/null +++ b/search/functions_4.js @@ -0,0 +1,44 @@ +var searchData= +[ + ['edit_0',['edit',['../classnixf_1_1Fix.html#a99a48f92d2c5fcc520bc4d33776a41c2',1,'nixf::Fix']]], + ['edits_1',['edits',['../classnixf_1_1Fix.html#a62f8f141759b0b3b0f09f77970f25643',1,'nixf::Fix']]], + ['elements_2',['elements',['../classnixf_1_1ExprList.html#a0193022985b2c580b53ba51819eae41a',1,'nixf::ExprList']]], + ['ellipsis_3',['ellipsis',['../classnixf_1_1Formal.html#a09e0332f1a7e1614b54c7704d32964d1',1,'nixf::Formal']]], + ['elog_4',['elog',['../namespacelspserver.html#a82488367b9fb79e2aa29e871e264730d',1,'lspserver']]], + ['elseexpr_5',['elseExpr',['../classnixf_1_1ExprIf.html#a6b2a181f583874616ee43d78e348fbe3',1,'nixf::ExprIf']]], + ['encode_6',['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_7',['encodeAST',['../namespacenixt.html#a94c6760741573011c38cf19c30130f70',1,'nixt']]], + ['encodeversion_8',['encodeVersion',['../classlspserver_1_1DraftStore.html#a03755988045ecc0881cc22ed9f4494d1',1,'lspserver::DraftStore']]], + ['end_9',['end',['../classnixf_1_1PositionRange.html#add684fcec94fdd8448adc660428af795',1,'nixf::PositionRange::end()'],['../namespacenixt.html#a96f6acc6d2d5c11eb3189af95897e5d6',1,'nixt::end()']]], + ['env_10',['env',['../classnixf_1_1VariableLookupAnalysis.html#a1ed59ea8d7578f4ac14419fadd8d1c2c',1,'nixf::VariableLookupAnalysis']]], + ['envnode_11',['EnvNode',['../classnixf_1_1EnvNode.html#a665cac8c337fae7fd9d58ba70edffc5e',1,'nixf::EnvNode']]], + ['error_12',['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_13',['escaped',['../classnixf_1_1InterpolablePart.html#a479152105d80ebf36b0a866258c1bbdf',1,'nixf::InterpolablePart']]], + ['eval_14',['eval',['../structnixt_1_1HookExprAssert.html#a7b4ccb49ee354a33adfc7f665c4f91e1',1,'nixt::HookExprAssert::eval()'],['../structnixt_1_1HookExprAttrs.html#ad66149e5dd9b14c8f455b9400befa12f',1,'nixt::HookExprAttrs::eval()'],['../structnixt_1_1HookExprCall.html#a2389e3940a52011b327a07a68ea98178',1,'nixt::HookExprCall::eval()'],['../structnixt_1_1HookExprConcatStrings.html#a38c5c2aa2cc6c923ad7a5f22355d43df',1,'nixt::HookExprConcatStrings::eval()'],['../structnixt_1_1HookExprFloat.html#ac701cc7d83d7070e22fac62570efecf7',1,'nixt::HookExprFloat::eval()'],['../structnixt_1_1HookExprIf.html#aad30acf9637d3eee4f31ea41443ab623',1,'nixt::HookExprIf::eval()'],['../structnixt_1_1HookExprInt.html#a7ddca5c6c0df52f55c7b2283e4e818d0',1,'nixt::HookExprInt::eval()'],['../structnixt_1_1HookExprLambda.html#a4700de83cec0134244fdbebf4e860e10',1,'nixt::HookExprLambda::eval()'],['../structnixt_1_1HookExprLet.html#ae907786167be0b171466de4f89bdde1d',1,'nixt::HookExprLet::eval()'],['../structnixt_1_1HookExprList.html#a5fdad48c0c502ec1cc0813fcedb1df32',1,'nixt::HookExprList::eval()'],['../structnixt_1_1HookExprOpAnd.html#a24bbbab2a9defddab797aa6b9c0aeff9',1,'nixt::HookExprOpAnd::eval()'],['../structnixt_1_1HookExprOpConcatLists.html#ab3f1e10128e89a37d2d56998df0966df',1,'nixt::HookExprOpConcatLists::eval()'],['../structnixt_1_1HookExprOpEq.html#a69d7603c4685588a615b0b852142bcc8',1,'nixt::HookExprOpEq::eval()'],['../structnixt_1_1HookExprOpHasAttr.html#aa72e9301d057060b5bec3552ea352b64',1,'nixt::HookExprOpHasAttr::eval()'],['../structnixt_1_1HookExprOpImpl.html#aac2efcacf2ae0cc688710cacf44375fe',1,'nixt::HookExprOpImpl::eval()'],['../structnixt_1_1HookExprOpNEq.html#a537a766035b75ae15e08103a85bae44c',1,'nixt::HookExprOpNEq::eval()'],['../structnixt_1_1HookExprOpNot.html#a5949270785e59bda34796d97fa53136f',1,'nixt::HookExprOpNot::eval()'],['../structnixt_1_1HookExprOpOr.html#a7ad8d0c17d4d88e4ea7cc6a1f2d75cb6',1,'nixt::HookExprOpOr::eval()'],['../structnixt_1_1HookExprOpUpdate.html#a7007a2c8e3c3a481563c0bf0ceb03cd3',1,'nixt::HookExprOpUpdate::eval()'],['../structnixt_1_1HookExprPath.html#afbdb1e3ceed7c1b60b42560924d6e470',1,'nixt::HookExprPath::eval()'],['../structnixt_1_1HookExprPos.html#a0361b56e9cdfd760f2934c053dcbe55c',1,'nixt::HookExprPos::eval()'],['../structnixt_1_1HookExprSelect.html#a7ff31be637f37109ed7e8ab3c0c57b92',1,'nixt::HookExprSelect::eval()'],['../structnixt_1_1HookExprString.html#a8319a1c07967676eec2ada6c569eaecf',1,'nixt::HookExprString::eval()'],['../structnixt_1_1HookExprVar.html#afa0087fa54b7380d24d2c93bccd6c00d',1,'nixt::HookExprVar::eval()'],['../structnixt_1_1HookExprWith.html#a3aca1b113471a9f5439683d27544b9cb',1,'nixt::HookExprWith::eval()']]], + ['evalclient_15',['EvalClient',['../classnixd_1_1EvalClient.html#a267f0cf23af6529f52b4c74ae50dfc31',1,'nixd::EvalClient']]], + ['evalexpr_16',['evalExpr',['../classnixd_1_1AttrSetClient.html#afba7ee2c0055fb6db27df585dd890766',1,'nixd::AttrSetClient']]], + ['evalprovider_17',['EvalProvider',['../classnixd_1_1EvalProvider.html#a3afed826bb93d1a565511affcc6a29db',1,'nixd::EvalProvider']]], + ['exit_18',['exit',['../classnixd_1_1AttrSetClient.html#ab51f4c56fdef10d7c38a2826f7bd2898',1,'nixd::AttrSetClient']]], + ['expr_19',['expr',['../classnixf_1_1Inherit.html#a238e6d06460e441d5d72e5f5145f4b86',1,'nixf::Inherit::expr()'],['../classnixf_1_1ExprSelect.html#ac1a75c9a89efbfe87a6771837a0272f9',1,'nixf::ExprSelect::expr()'],['../classnixf_1_1ExprLet.html#acece467b9c55cc8b61abaedfba65e17a',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_20',['Expr',['../classnixf_1_1Expr.html#a12e87d1fab1d766cf93bbb0ac38b708d',1,'nixf::Expr']]], + ['exprassert_21',['ExprAssert',['../classnixf_1_1ExprAssert.html#a40edbca00d2dd57b3e67ebb2f8267cab',1,'nixf::ExprAssert']]], + ['exprattrs_22',['ExprAttrs',['../classnixf_1_1ExprAttrs.html#abe45b2e9a18aa38182550c2bc72b94fd',1,'nixf::ExprAttrs']]], + ['exprbinop_23',['ExprBinOp',['../classnixf_1_1ExprBinOp.html#a0fe6f745400078a7ce6e54e074751e99',1,'nixf::ExprBinOp']]], + ['exprcall_24',['ExprCall',['../classnixf_1_1ExprCall.html#a6f60faa211da6f3beb69f2aee03e05e2',1,'nixf::ExprCall']]], + ['exprfloat_25',['ExprFloat',['../classnixf_1_1ExprFloat.html#ab8b80abe8c5ecc5a111d4c690f35011a',1,'nixf::ExprFloat']]], + ['exprif_26',['ExprIf',['../classnixf_1_1ExprIf.html#a88ddfa784fec625a2c090ad3dc745f1d',1,'nixf::ExprIf']]], + ['exprint_27',['ExprInt',['../classnixf_1_1ExprInt.html#a98d404e1e836df102e5b05a8b11d2bbd',1,'nixf::ExprInt']]], + ['exprlambda_28',['ExprLambda',['../classnixf_1_1ExprLambda.html#adee27f61cd0fac29864b6467e480d492',1,'nixf::ExprLambda']]], + ['exprlet_29',['ExprLet',['../classnixf_1_1ExprLet.html#a222fbc6df7e3470f2e3bd0ba91c2d084',1,'nixf::ExprLet']]], + ['exprlist_30',['ExprList',['../classnixf_1_1ExprList.html#af61bba618b32855be81cac21b9c0c864',1,'nixf::ExprList']]], + ['exprop_31',['ExprOp',['../classnixf_1_1ExprOp.html#a8b3e7ca3bf69983264ea305b05c30298',1,'nixf::ExprOp']]], + ['exprophasattr_32',['ExprOpHasAttr',['../classnixf_1_1ExprOpHasAttr.html#af8b54ae89510f8b2e203912c37daaa19',1,'nixf::ExprOpHasAttr']]], + ['exprparen_33',['ExprParen',['../classnixf_1_1ExprParen.html#ae2a39d10e0a66c70342a90b6f25dfd55',1,'nixf::ExprParen']]], + ['exprpath_34',['ExprPath',['../classnixf_1_1ExprPath.html#ac85244257515173f2becda4f8c59c8c7',1,'nixf::ExprPath']]], + ['exprselect_35',['ExprSelect',['../classnixf_1_1ExprSelect.html#a65a9fdfe883d6985aa76ebb5da6c85bb',1,'nixf::ExprSelect']]], + ['exprspath_36',['ExprSPath',['../classnixf_1_1ExprSPath.html#a8859c7d5a4b09a71f38986a69cd4f90e',1,'nixf::ExprSPath']]], + ['exprstring_37',['ExprString',['../classnixf_1_1ExprString.html#aeaa71e49de7f779867cbc487a7b3e6e7',1,'nixf::ExprString']]], + ['exprunaryop_38',['ExprUnaryOp',['../classnixf_1_1ExprUnaryOp.html#a3397dc4d0cc34d6b6f58cc4464e4b559',1,'nixf::ExprUnaryOp']]], + ['exprvar_39',['ExprVar',['../classnixf_1_1ExprVar.html#a3636e3f329b3cd8bce706860206db46c',1,'nixf::ExprVar']]], + ['exprwith_40',['ExprWith',['../classnixf_1_1ExprWith.html#a6a7f58b5612ed7104a461732e2a5ead9',1,'nixf::ExprWith']]] +]; diff --git a/search/functions_5.js b/search/functions_5.js new file mode 100644 index 000000000..38f5b34b9 --- /dev/null +++ b/search/functions_5.js @@ -0,0 +1,20 @@ +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']]], + ['findattrpath_2',['findAttrPath',['../namespacenixd.html#a375913b64ef54f188ebb5f7678d5fbf4',1,'nixd']]], + ['finddefinition_3',['findDefinition',['../namespacenixd.html#ab1ed48e69ae30947129a89060db4fed8',1,'nixd']]], + ['fix_4',['fix',['../classnixf_1_1Diagnostic.html#a92366a85a2893ba31c22a8a31914e4a6',1,'nixf::Diagnostic']]], + ['fix_5',['Fix',['../classnixf_1_1Fix.html#a0f2933f83e52d667c2479681c7259ea5',1,'nixf::Fix']]], + ['fixes_6',['fixes',['../classnixf_1_1Diagnostic.html#ab084f13cf3992140004e98a6d5561796',1,'nixf::Diagnostic']]], + ['fn_7',['fn',['../classnixf_1_1ExprCall.html#a34a3a144a95f7f94e1b28f12c7b286b1',1,'nixf::ExprCall']]], + ['forkpiped_8',['forkPiped',['../namespacenixd.html#a159c3df5c515c67a1143cc92ad2d07cc',1,'nixd']]], + ['formal_9',['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_10',['Formals',['../classnixf_1_1Formals.html#a2e970bd6237d5078f30a023e58fd217f',1,'nixf::Formals']]], + ['formals_11',['formals',['../classnixf_1_1LambdaArg.html#a126e8da96e3c9097fdd69d4a6586d583',1,'nixf::LambdaArg']]], + ['format_12',['format',['../classnixf_1_1PartialDiagnostic.html#a78fe5b8c06be826fbf45d06578708b42',1,'nixf::PartialDiagnostic::format()'],['../structllvm_1_1format__provider_3_01lspserver_1_1Position_01_4.html#a99df5b81ac711fc620a4768358755e65',1,'llvm::format_provider< lspserver::Position >::format()']]], + ['fragments_13',['fragments',['../classnixf_1_1InterpolatedParts.html#ac21ab247218d873f571e114379a9eeaa',1,'nixf::InterpolatedParts']]], + ['frominherit_14',['fromInherit',['../classnixf_1_1Attribute.html#a661bbe72351e06a44a04795476fb7a45',1,'nixf::Attribute']]], + ['fromjson_15',['fromJSON',['../namespacenixd.html#a1fbc67dfe3549bb7a7a8c4d871495dc0',1,'nixd::fromJSON(const llvm::json::Value &Params, Configuration::Diagnostic &R, llvm::json::Path P)'],['../namespacenixd.html#ac468c96e153c92fc262ef496faa0df07',1,'nixd::fromJSON(const llvm::json::Value &Params, Configuration::Formatting &R, llvm::json::Path P)'],['../namespacenixd.html#a28ff57f08a75b0ea2d47c155870f5413',1,'nixd::fromJSON(const llvm::json::Value &Params, Configuration::OptionProvider &R, llvm::json::Path P)'],['../namespacenixd.html#a38743528cfc89db19395692d59fcc6ac',1,'nixd::fromJSON(const llvm::json::Value &Params, Configuration::NixpkgsProvider &R, llvm::json::Path P)'],['../namespacenixd.html#ae8ff1f07d8b610d8c96707eaf906de1f',1,'nixd::fromJSON(const llvm::json::Value &Params, Configuration &R, llvm::json::Path P)'],['../namespacenixd.html#a0ce0d17219ab06604a517b82e3ccb83f',1,'nixd::fromJSON(const llvm::json::Value &Params, PackageDescription &R, llvm::json::Path P)'],['../namespacenixd.html#aea3184c01e4d88098831369af9abd1ed',1,'nixd::fromJSON(const llvm::json::Value &Params, ValueMeta &R, llvm::json::Path P)'],['../namespacenixd.html#a197c4b4d2e156f019e36fa4a508970b4',1,'nixd::fromJSON(const llvm::json::Value &Params, AttrPathInfoResponse &R, llvm::json::Path P)'],['../namespacenixd.html#aec130855079c995e38c4b92b907f9f2c',1,'nixd::fromJSON(const llvm::json::Value &Params, AttrPathCompleteParams &R, llvm::json::Path P)'],['../namespacenixd.html#a2a5bfd3a24aadcff9111be68c19dc2be',1,'nixd::fromJSON(const llvm::json::Value &Params, OptionType &R, llvm::json::Path P)'],['../namespacenixd.html#a7af166c35c6f71d87cde52b76581fb6c',1,'nixd::fromJSON(const llvm::json::Value &Params, OptionDescription &R, llvm::json::Path P)'],['../namespacenixd.html#ab3d434950148046d6e93697a5d2cfb11',1,'nixd::fromJSON(const llvm::json::Value &Params, OptionField &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.html#a12611e71eaa85c0888c6df46b92ae3b5',1,'nixd::fromJSON()'],['../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)'],['../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#ab728930266760ada5bcdc06ae4d98302',1,'lspserver::fromJSON(const llvm::json::Value &, Location &, 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#aaf443e6f610e3f4468bc11bb78f4ef2c',1,'lspserver::fromJSON(const llvm::json::Value &, MarkupContent &, llvm::json::Path)'],['../namespacelspserver.html#ad4d9c0fd503fca3e6e04be8f2340f412',1,'lspserver::fromJSON(const llvm::json::Value &, CompletionItem &, 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)']]], + ['fromuri_16',['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..385bafe18 --- /dev/null +++ b/search/functions_6.js @@ -0,0 +1,21 @@ +var searchData= +[ + ['gen_5fmessage_0',['gen_message',['../namespaceDiagnostic.html#ac0f81cb41ea0f120454d06d46f05be0d',1,'Diagnostic']]], + ['gen_5fparse_5fid_1',['gen_parse_id',['../namespaceDiagnostic.html#a103a921302feef80b9922ecd93b4fb55',1,'Diagnostic']]], + ['gen_5fserverity_2',['gen_serverity',['../namespaceDiagnostic.html#a6f3e04427f2906eef707e4453c5621b4',1,'Diagnostic']]], + ['gen_5fsname_3',['gen_sname',['../namespaceDiagnostic.html#a5d5fc1da9f8440cd5863dd90281eb5f9',1,'Diagnostic']]], + ['get_4',['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_5',['getAbsolutePath',['../classlspserver_1_1URIScheme.html#a810c252a7793f73c7831a8d11ff6bfd6',1,'lspserver::URIScheme']]], + ['getactivefiles_6',['getActiveFiles',['../classlspserver_1_1DraftStore.html#a6754dd30b75c1972fd4e460aebad76cb',1,'lspserver::DraftStore']]], + ['getderived_7',['getDerived',['../structnixt_1_1RecursiveASTVisitor.html#ae836d176fbd00e3e9b409d2b926cc63c',1,'nixt::RecursiveASTVisitor']]], + ['getdeserializecontext_8',['getDeserializeContext',['../namespacenixt.html#a8a2e7f8d733597ab4be7010d14bac9e4',1,'nixt']]], + ['getdraft_9',['getDraft',['../classlspserver_1_1DraftStore.html#a6a7a5c47213af923989e6473efb021c2',1,'lspserver::DraftStore']]], + ['getexe_10',['getExe',['../classnixd_1_1AttrSetClient.html#a6eac8c49e1513a8cd589e4fdb698b34a',1,'nixd::AttrSetClient']]], + ['getfield_11',['getField',['../namespacenixt.html#accd87e27c1d3f44d7d9fdd479a381411',1,'nixt']]], + ['getfieldstring_12',['getFieldString',['../namespacenixt.html#a2f91a2be5f45eaa2c8426db6b1d3e51e',1,'nixt']]], + ['getfileevalcache_13',['getFileEvalCache',['../namespacenixt.html#aa20968488a6bdd90cd263d264dd50790',1,'nixt']]], + ['getincludespelling_14',['getIncludeSpelling',['../classlspserver_1_1URIScheme.html#ab5be826dad7367a46a9a44c170267f94',1,'lspserver::URIScheme']]], + ['getlspseverity_15',['getLSPSeverity',['../namespacenixd.html#a19133b596a33f6f08ca6d857194ac8c4',1,'nixd']]], + ['getname_16',['getName',['../structnixt_1_1HookExprAssert.html#a2a5409c078190ec04aff00777f9c10fc',1,'nixt::HookExprAssert::getName()'],['../structnixt_1_1HookExprAttrs.html#a9b7f5744281396007492e11554b5898c',1,'nixt::HookExprAttrs::getName()'],['../structnixt_1_1HookExprCall.html#a28945cc49e550aa851d17add4c835663',1,'nixt::HookExprCall::getName()'],['../structnixt_1_1HookExprConcatStrings.html#a49b54391e032daadb73f528065c871fd',1,'nixt::HookExprConcatStrings::getName()'],['../structnixt_1_1HookExprFloat.html#a270e39e5cae5c96529c7be4e500a8895',1,'nixt::HookExprFloat::getName()'],['../structnixt_1_1HookExprIf.html#ae75efc6f3e80712c23a026ce8261b84c',1,'nixt::HookExprIf::getName()'],['../structnixt_1_1HookExprInt.html#a78a60da4a330572fb8296322df034cfc',1,'nixt::HookExprInt::getName()'],['../structnixt_1_1HookExprLambda.html#ab70e32efea5782601015e77753acd30d',1,'nixt::HookExprLambda::getName()'],['../structnixt_1_1HookExprLet.html#a3557969557cd6c7d9737239e66838d74',1,'nixt::HookExprLet::getName()'],['../structnixt_1_1HookExprList.html#acfa6817ed1b6cf06255402debd72e1c0',1,'nixt::HookExprList::getName()'],['../structnixt_1_1HookExprOpAnd.html#a07c35229986f15a1e078835d56b71fc2',1,'nixt::HookExprOpAnd::getName()'],['../structnixt_1_1HookExprOpConcatLists.html#a4c0a3b3926fd429fec94c238996171f6',1,'nixt::HookExprOpConcatLists::getName()'],['../structnixt_1_1HookExprOpEq.html#aa54adeb953a2b32647469cf34d0f6693',1,'nixt::HookExprOpEq::getName()'],['../structnixt_1_1HookExprOpHasAttr.html#ac99009f0adcdc2507b2ab3e6d211777a',1,'nixt::HookExprOpHasAttr::getName()'],['../structnixt_1_1HookExprOpImpl.html#afa088f28934e606d9fe5fdbf77220e4d',1,'nixt::HookExprOpImpl::getName()'],['../structnixt_1_1HookExprOpNEq.html#a1b692ea8848b6cb723085c5536fe4ecf',1,'nixt::HookExprOpNEq::getName()'],['../structnixt_1_1HookExprOpNot.html#a2daaa687088fe78c896237a12466b775',1,'nixt::HookExprOpNot::getName()'],['../structnixt_1_1HookExprOpOr.html#a6f9502b0421a7de5933aa5031ec3fd62',1,'nixt::HookExprOpOr::getName()'],['../structnixt_1_1HookExprOpUpdate.html#a37afd28b36b66f62ef160c39eb5a31e5',1,'nixt::HookExprOpUpdate::getName()'],['../structnixt_1_1HookExprPath.html#a05c89309a98055db2c57435df3c464d8',1,'nixt::HookExprPath::getName()'],['../structnixt_1_1HookExprPos.html#ac6cad360f2b3fd3ff65e5d78a44f50d9',1,'nixt::HookExprPos::getName()'],['../structnixt_1_1HookExprSelect.html#a0f45e725bad8217f46081e45bed0a88f',1,'nixt::HookExprSelect::getName()'],['../structnixt_1_1HookExprString.html#a29a79bcf3fe0913dbc14fb0c19e565ad',1,'nixt::HookExprString::getName()'],['../structnixt_1_1HookExprVar.html#a465e2f8bf4e618204075b54f318222ae',1,'nixt::HookExprVar::getName()'],['../structnixt_1_1HookExprWith.html#a462cc100e2a475e2e079728b2d625b0b',1,'nixt::HookExprWith::getName()']]], + ['getscopeandprefix_17',['getScopeAndPrefix',['../namespacenixd.html#afe8a6f3c49a1a9b099302ce373ff7487',1,'nixd']]] +]; diff --git a/search/functions_7.js b/search/functions_7.js new file mode 100644 index 000000000..5f2dc3c53 --- /dev/null +++ b/search/functions_7.js @@ -0,0 +1,30 @@ +var searchData= +[ + ['hasexpr_0',['hasExpr',['../classnixf_1_1Inherit.html#a8ca85be69eb7816dce6f535b7b419c4f',1,'nixf::Inherit']]], + ['havepackagescope_1',['havePackageScope',['../namespacenixd.html#a61cd8a1e981fd817d78f0543b4f5a46f',1,'nixd']]], + ['hookexprassert_2',['HookExprAssert',['../structnixt_1_1HookExprAssert.html#a35209cd17244ce0cbf88909f68303ff4',1,'nixt::HookExprAssert']]], + ['hookexprattrs_3',['HookExprAttrs',['../structnixt_1_1HookExprAttrs.html#ad7379f5aac6e004dbec24ad307c34470',1,'nixt::HookExprAttrs']]], + ['hookexprcall_4',['HookExprCall',['../structnixt_1_1HookExprCall.html#a645ff13ca0705d95a502c6086b7f827b',1,'nixt::HookExprCall']]], + ['hookexprconcatstrings_5',['HookExprConcatStrings',['../structnixt_1_1HookExprConcatStrings.html#afb9d0a63c3eb13425aba01671d22466f',1,'nixt::HookExprConcatStrings']]], + ['hookexprfloat_6',['HookExprFloat',['../structnixt_1_1HookExprFloat.html#ac48e83983996ae6c2fada2ac4517e7c9',1,'nixt::HookExprFloat']]], + ['hookexprif_7',['HookExprIf',['../structnixt_1_1HookExprIf.html#a6f511d507ec8732a2afa2a7b2ed4c3c9',1,'nixt::HookExprIf']]], + ['hookexprint_8',['HookExprInt',['../structnixt_1_1HookExprInt.html#a0ca509c4d136a005c5f8ee1819d6948a',1,'nixt::HookExprInt']]], + ['hookexprlambda_9',['HookExprLambda',['../structnixt_1_1HookExprLambda.html#a26c59c5deaa83b20606b0944e0ed2c69',1,'nixt::HookExprLambda']]], + ['hookexprlet_10',['HookExprLet',['../structnixt_1_1HookExprLet.html#a09c631559c4d011146b8fe2974763c97',1,'nixt::HookExprLet']]], + ['hookexprlist_11',['HookExprList',['../structnixt_1_1HookExprList.html#a52ca48d5d926c8a23819574d85e76de7',1,'nixt::HookExprList']]], + ['hookexpropand_12',['HookExprOpAnd',['../structnixt_1_1HookExprOpAnd.html#aa473548a9d781a95a328818b22c2ee64',1,'nixt::HookExprOpAnd']]], + ['hookexpropconcatlists_13',['HookExprOpConcatLists',['../structnixt_1_1HookExprOpConcatLists.html#aecf4df94e57d76fc7d48ff018ae94e16',1,'nixt::HookExprOpConcatLists']]], + ['hookexpropeq_14',['HookExprOpEq',['../structnixt_1_1HookExprOpEq.html#a2b303484902073f41a00f743076385e5',1,'nixt::HookExprOpEq']]], + ['hookexprophasattr_15',['HookExprOpHasAttr',['../structnixt_1_1HookExprOpHasAttr.html#ab13ed90056ac044bc79b65c99583053f',1,'nixt::HookExprOpHasAttr']]], + ['hookexpropimpl_16',['HookExprOpImpl',['../structnixt_1_1HookExprOpImpl.html#a9ba8769bb56116c18b1cb2b3b85b52cd',1,'nixt::HookExprOpImpl']]], + ['hookexpropneq_17',['HookExprOpNEq',['../structnixt_1_1HookExprOpNEq.html#a5d269cbb2e78e130be8563445b3f0a6b',1,'nixt::HookExprOpNEq']]], + ['hookexpropnot_18',['HookExprOpNot',['../structnixt_1_1HookExprOpNot.html#a3a85286cd8ad99c753a705b22ebfe9b2',1,'nixt::HookExprOpNot']]], + ['hookexpropor_19',['HookExprOpOr',['../structnixt_1_1HookExprOpOr.html#a8d7b060ab59055cc10fb1e270e8b2ff4',1,'nixt::HookExprOpOr']]], + ['hookexpropupdate_20',['HookExprOpUpdate',['../structnixt_1_1HookExprOpUpdate.html#a9586e45d373961064d7b166219714837',1,'nixt::HookExprOpUpdate']]], + ['hookexprpath_21',['HookExprPath',['../structnixt_1_1HookExprPath.html#a6ccd55b34ddd112084bf377287fd0eb0',1,'nixt::HookExprPath']]], + ['hookexprpos_22',['HookExprPos',['../structnixt_1_1HookExprPos.html#aa5a0c187bf386fe890b58fc6fed02271',1,'nixt::HookExprPos']]], + ['hookexprselect_23',['HookExprSelect',['../structnixt_1_1HookExprSelect.html#af173deaeb2ddbc8b6205f92e560828c8',1,'nixt::HookExprSelect']]], + ['hookexprstring_24',['HookExprString',['../structnixt_1_1HookExprString.html#a6d2a5ba7e8eb568c413612ad5c1279a5',1,'nixt::HookExprString']]], + ['hookexprvar_25',['HookExprVar',['../structnixt_1_1HookExprVar.html#a484e20ace875d2ae2aacbd1f17f10cbc',1,'nixt::HookExprVar']]], + ['hookexprwith_26',['HookExprWith',['../structnixt_1_1HookExprWith.html#a5bc91b1a9d407fac8220f0849b4f4c83',1,'nixt::HookExprWith']]] +]; diff --git a/search/functions_8.js b/search/functions_8.js new file mode 100644 index 000000000..584bc780e --- /dev/null +++ b/search/functions_8.js @@ -0,0 +1,34 @@ +var searchData= +[ + ['id_0',['id',['../classnixf_1_1AttrName.html#a37eea7dfc9412f77f58150a2b1d307af',1,'nixf::AttrName::id()'],['../classnixf_1_1Formal.html#aab8695fb13ff49a84040916aeedaacde',1,'nixf::Formal::id()'],['../classnixf_1_1LambdaArg.html#a675a713b4000ba0276b76fdec61f1343',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#aea2667d42ed0579f525d1eb93dc6cbb4',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']]], + ['indent_5',['indent',['../namespacesupport.html#a7147af64f83276f4a745e64590a341ae',1,'support']]], + ['indicator_6',['indicator',['../classlspserver_1_1Logger.html#ac118beec87dfcd4a03ed63148a64d8c1',1,'lspserver::Logger']]], + ['inherit_7',['Inherit',['../classnixf_1_1Inherit.html#aa02b90d3a483e460c71b0bad76a02391',1,'nixf::Inherit']]], + ['initeval_8',['initEval',['../namespacenixt.html#abfdf7b34660dfb0339b1a8d432258d64',1,'nixt']]], + ['insertattr_9',['insertAttr',['../classnixf_1_1Sema.html#a13b10a1e7a3044d9329e7a1b0528ea69',1,'nixf::Sema']]], + ['interpolablepart_10',['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_11',['InterpolatedParts',['../classnixf_1_1InterpolatedParts.html#a2eb53e17b3330f4e8fcf074cf4bbb6d4',1,'nixf::InterpolatedParts']]], + ['interpolation_12',['Interpolation',['../classnixf_1_1Interpolation.html#a55aceae8cdb93625335d3d7cde838db1',1,'nixf::Interpolation']]], + ['interpolation_13',['interpolation',['../classnixf_1_1AttrName.html#ac2732ba9cdfb0b82133f240aadd06af3',1,'nixf::AttrName::interpolation()'],['../classnixf_1_1InterpolablePart.html#ac67030946a216a5de81f566dccb6a857',1,'nixf::InterpolablePart::interpolation()']]], + ['isat_14',['isAt',['../classnixf_1_1LexerCursor.html#a7f6e007a3d39a02b99f6930e9d02bce4',1,'nixf::LexerCursor']]], + ['isbuiltin_15',['isBuiltin',['../classnixf_1_1Definition.html#a38ea36321783dfdabd7b270f909aea8f',1,'nixf::Definition']]], + ['isderivation_16',['isDerivation',['../namespacenixt.html#ab4224127acdd06f51e20c682e1041b1f',1,'nixt']]], + ['isellipsis_17',['isEllipsis',['../classnixf_1_1Formal.html#a8343c279f0396f74167e646bfda90b0f',1,'nixf::Formal']]], + ['isexpr_18',['isExpr',['../classnixf_1_1Expr.html#a6f85bfc7d96a73d8d8d3714df0758d74',1,'nixf::Expr']]], + ['isinsertion_19',['isInsertion',['../classnixf_1_1TextEdit.html#a422a39a4961490c3451e5f3fc18fbb25',1,'nixf::TextEdit']]], + ['isliteral_20',['isLiteral',['../classnixf_1_1InterpolatedParts.html#a7e1d40e5c9a19eaa027ac861a56ce8d3',1,'nixf::InterpolatedParts::isLiteral()'],['../classnixf_1_1ExprString.html#a42d86124c5beb4bdd871b1df5c1d2def',1,'nixf::ExprString::isLiteral()']]], + ['islive_21',['isLive',['../classnixf_1_1EnvNode.html#a45ab85f3fc95bedd9bbcf3359004aa0d',1,'nixf::EnvNode']]], + ['isoption_22',['isOption',['../namespacenixt.html#a5b81a93a32497f13b698427ea3696e16',1,'nixt']]], + ['isreadytoeval_23',['isReadyToEval',['../classnixd_1_1Controller.html#aaebe9c5f8f275485f3b006825371eaf9',1,'nixd::Controller']]], + ['isrecursive_24',['isRecursive',['../classnixf_1_1SemaAttrs.html#ab7a4d35f7742538bc3cd2d5c3646d9fe',1,'nixf::SemaAttrs::isRecursive()'],['../classnixf_1_1ExprAttrs.html#a2c881c1d2eda371913c523fc9506b45a',1,'nixf::ExprAttrs::isRecursive()']]], + ['isreleased_25',['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_26',['isRemoval',['../classnixf_1_1TextEdit.html#acfe595455ec070184a8228d482cf0405',1,'nixf::TextEdit']]], + ['isreplace_27',['isReplace',['../classnixf_1_1TextEdit.html#ac1716784158c0b6d6d1d92c6a0def933',1,'nixf::TextEdit']]], + ['isroot_28',['isRoot',['../classnixf_1_1ParentMapAnalysis.html#a5405ebc1d99a6cd3a46fb5d9a892b3b9',1,'nixf::ParentMapAnalysis::isRoot(const Node *Up, const Node &N)'],['../classnixf_1_1ParentMapAnalysis.html#a9bb60f4bdc1caf25d73efc354b3bb584',1,'nixf::ParentMapAnalysis::isRoot(const Node &N) const']]], + ['isstatic_29',['isStatic',['../classnixf_1_1AttrName.html#ab7eef836b1c3fafccf262271653d428e',1,'nixf::AttrName']]], + ['iswith_30',['isWith',['../classnixf_1_1EnvNode.html#a0f3201d6ce5bfc7db062ada7cf1bafdb',1,'nixf::EnvNode']]] +]; diff --git a/search/functions_9.js b/search/functions_9.js new file mode 100644 index 000000000..b19551e7b --- /dev/null +++ b/search/functions_9.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['jsonparseexception_0',['JSONParseException',['../classnixd_1_1JSONParseException.html#a731ad3a22c2ef0de886f2024f9dfbe84',1,'nixd::JSONParseException']]], + ['jsonschemaexception_1',['JSONSchemaException',['../classnixd_1_1JSONSchemaException.html#a13b0356fcf6b795d903b49d889da9140',1,'nixd::JSONSchemaException']]] +]; diff --git a/search/functions_a.js b/search/functions_a.js new file mode 100644 index 000000000..5769a4ca5 --- /dev/null +++ b/search/functions_a.js @@ -0,0 +1,8 @@ +var searchData= +[ + ['key_0',['key',['../classnixf_1_1Attribute.html#a3160f2ec78640fb1276f83e9b659b988',1,'nixf::Attribute']]], + ['key_1',['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']]], + ['kind_2',['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_1Attribute.html#a61e13adbdb686a81d92272f968e930ca',1,'nixf::Attribute::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']]], + ['kwwith_4',['kwWith',['../classnixf_1_1ExprWith.html#a16b7c85d568ead23bda96e3e635694f4',1,'nixf::ExprWith']]] +]; diff --git a/search/functions_b.js b/search/functions_b.js new file mode 100644 index 000000000..494303452 --- /dev/null +++ b/search/functions_b.js @@ -0,0 +1,30 @@ +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#a0dbefba776f1d5d5a9602d54aaf25dcd',1,'nixf::ExprLet']]], + ['lex_4',['lex',['../classnixf_1_1Lexer.html#a034dcf1bd3082e72b51e087d6499bcc8',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#a50d8aa54da3f34164d1fcb8306837c6a',1,'nixf::Lexer']]], + ['lexpath_9',['lexPath',['../classnixf_1_1Lexer.html#a8a51c201d533855c1e8971c0ae5b786b',1,'nixf::Lexer']]], + ['lexstring_10',['lexString',['../classnixf_1_1Lexer.html#a9f8efb4268ad89cc1a2b5d339c2f7310',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()']]], + ['lines_13',['lines',['../namespacesupport.html#a6ad6b29a8f430ce0968644d8eb97cbc4',1,'support']]], + ['literal_14',['literal',['../classnixf_1_1InterpolatedParts.html#a6d6b71a8c7089c5b349646b4cce7ee3e',1,'nixf::InterpolatedParts::literal()'],['../classnixf_1_1ExprString.html#a89d896ae4e5c288cba3ad3a3a7116eae',1,'nixf::ExprString::literal()']]], + ['llvmerrorexception_15',['LLVMErrorException',['../classnixd_1_1LLVMErrorException.html#a2bb03306512c579916d467b1fe8b3a27',1,'nixd::LLVMErrorException']]], + ['log_16',['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_17',['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_18',['logImpl',['../namespacelspserver_1_1detail.html#a8905d8683dee5d9b3492afb380e5d947',1,'lspserver::detail']]], + ['loop_19',['loop',['../classlspserver_1_1InboundPort.html#ac7e0915cb005ecd6fe77b609801aae6a',1,'lspserver::InboundPort']]], + ['lowerbinds_20',['lowerBinds',['../classnixf_1_1Sema.html#a5cb52f2d7a5742bd3ae8b873223a202c',1,'nixf::Sema']]], + ['lowerinherit_21',['lowerInherit',['../classnixf_1_1Sema.html#a194dcd5cf7aa2d89b47be498e085fec7',1,'nixf::Sema']]], + ['lowerinheritname_22',['lowerInheritName',['../classnixf_1_1Sema.html#a37fa8f94a97d47524b9a9ed84d824725',1,'nixf::Sema']]], + ['lparen_23',['lparen',['../classnixf_1_1ExprParen.html#af95065f247843154ae0e342e2c303032',1,'nixf::ExprParen']]], + ['lsperror_24',['LSPError',['../classlspserver_1_1LSPError.html#a6c652f24319d875f2324ccf4d2b44221',1,'lspserver::LSPError']]], + ['lsplength_25',['lspLength',['../namespacelspserver.html#a33cf5ae9ff1beb1ed5da6be44131c538',1,'lspserver']]], + ['lspserver_26',['LSPServer',['../classlspserver_1_1LSPServer.html#a53836f18f56886fc4726d1c691aa5967',1,'lspserver::LSPServer']]] +]; diff --git a/search/functions_c.js b/search/functions_c.js new file mode 100644 index 000000000..29fbf17bd --- /dev/null +++ b/search/functions_c.js @@ -0,0 +1,16 @@ +var searchData= +[ + ['main_0',['main',['../nixf-tidy_8cpp.html#a61bb56cc8677d0962ca016a8223f2721',1,'main(int Argc, const char *Argv[]): nixf-tidy.cpp'],['../nixd-attrset-eval_8cpp.html#a61bb56cc8677d0962ca016a8223f2721',1,'main(int Argc, const char *Argv[]): nixd-attrset-eval.cpp'],['../nixd_8cpp.html#a0ddf1224851353fc92bfbff6f499fa97',1,'main(int argc, char *argv[]): nixd.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#a6fe98e2ddb4400792e05d7a96692f587',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']]], + ['mkin_7',['mkIn',['../structnixd_1_1StreamProc.html#abe2658aff77fde7585ed06ff63a22523',1,'nixd::StreamProc']]], + ['mkinsertion_8',['mkInsertion',['../classnixf_1_1TextEdit.html#aa01de417f0748dd4f29fe8dae17ca601',1,'nixf::TextEdit']]], + ['mkout_9',['mkOut',['../structnixd_1_1StreamProc.html#ae8995e2c76e610e4624fa185f612c114',1,'nixd::StreamProc']]], + ['mkremoval_10',['mkRemoval',['../classnixf_1_1TextEdit.html#a8b915421713ff5dc17b1c8d51babaebb',1,'nixf::TextEdit']]], + ['mkselector_11',['mkSelector',['../namespacenixd_1_1idioms.html#a3152734e112585842faec493aba3cebd',1,'nixd::idioms::mkSelector(const nixf::AttrPath &AP, Selector BaseSelector)'],['../namespacenixd_1_1idioms.html#a918e194d422258fc4bbd385b010c08dc',1,'nixd::idioms::mkSelector(const nixf::ExprSelect &Select, Selector BaseSelector)'],['../namespacenixd_1_1idioms.html#aa80158d658fdce466dfefe02ce2f1882',1,'nixd::idioms::mkSelector(const nixf::ExprSelect &Select, const nixf::VariableLookupAnalysis &VLA, const nixf::ParentMapAnalysis &PM)']]], + ['mkvarselector_12',['mkVarSelector',['../namespacenixd_1_1idioms.html#a267c4c42720066a60c48f92fc65e6ff3',1,'nixd::idioms']]] +]; diff --git a/search/functions_d.js b/search/functions_d.js new file mode 100644 index 000000000..d09ceebb5 --- /dev/null +++ b/search/functions_d.js @@ -0,0 +1,14 @@ +var searchData= +[ + ['name_0',['name',['../classnixf_1_1Node.html#a6fa6c0a9b934c874d60ff7d53105e7c8',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']]], + ['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']]], + ['next_4',['next',['../classnixf_1_1Dot.html#ad56ed2882f7a2bd722a35646ba6b00e1',1,'nixf::Dot']]], + ['nixtu_5',['NixTU',['../classnixd_1_1NixTU.html#a175eb5c09159572b4d0b46d9220a7993',1,'nixd::NixTU::NixTU()=default'],['../classnixd_1_1NixTU.html#a9b6ef6e7290c067da5ab8c89691d6efb',1,'nixd::NixTU::NixTU(std::vector< nixf::Diagnostic > Diagnostics, std::shared_ptr< nixf::Node > AST, std::optional< util::OwnedRegion > ASTByteCode, std::unique_ptr< nixf::VariableLookupAnalysis > VLA, std::shared_ptr< const std::string > Src)']]], + ['node_6',['Node',['../classnixf_1_1Node.html#ad11d40789cd9815f1f5c11df610d501d',1,'nixf::Node']]], + ['note_7',['Note',['../classnixf_1_1Note.html#a9984578ffc34751c62a52a16c4621661',1,'nixf::Note']]], + ['note_8',['note',['../classnixf_1_1Diagnostic.html#a4f2b8ee8c6168580c085e03e0a01bffc',1,'nixf::Diagnostic']]], + ['notes_9',['notes',['../classnixf_1_1Diagnostic.html#adb5fbb6e886dd6ee6966ad8dc65a74fd',1,'nixf::Diagnostic']]], + ['notify_10',['notify',['../classlspserver_1_1OutboundPort.html#a85ec6be072ff927259769f5961ad9e79',1,'lspserver::OutboundPort']]] +]; diff --git a/search/functions_e.js b/search/functions_e.js new file mode 100644 index 000000000..88ecbf700 --- /dev/null +++ b/search/functions_e.js @@ -0,0 +1,35 @@ +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']]], + ['onattrpathcomplete_4',['onAttrPathComplete',['../classnixd_1_1AttrSetProvider.html#aec853402c2f11df131f33e00f46a80b8',1,'nixd::AttrSetProvider']]], + ['onattrpathinfo_5',['onAttrPathInfo',['../classnixd_1_1AttrSetProvider.html#a48bcde745313f70d5f64c3c18fe3dd69',1,'nixd::AttrSetProvider']]], + ['oncall_6',['onCall',['../classlspserver_1_1MessageHandler.html#ab203a403bb6038c38cb38cb42add8170',1,'lspserver::MessageHandler']]], + ['onevalexpr_7',['onEvalExpr',['../classnixd_1_1AttrSetProvider.html#a541b5193172f0e799d1098c394af93ac',1,'nixd::AttrSetProvider']]], + ['onexprattrs_8',['onExprAttrs',['../classnixf_1_1Sema.html#a2551dfd3d1b94d27905cc8a467726f6b',1,'nixf::Sema']]], + ['onexprvalue_9',['onExprValue',['../classnixd_1_1EvalProvider.html#ab3e68d91b47eff7a255de39d1e085923',1,'nixd::EvalProvider']]], + ['onformals_10',['onFormals',['../classnixf_1_1Sema.html#ab8c50241f63d575ff8bc9a3e76b933d1',1,'nixf::Sema']]], + ['onlambdaarg_11',['onLambdaArg',['../classnixf_1_1Sema.html#a27e53de22cf5db1df5511f21418ab220',1,'nixf::Sema']]], + ['onnotify_12',['onNotify',['../classlspserver_1_1MessageHandler.html#aac19f27657fcbf0d9608ad190d71ddef',1,'lspserver::MessageHandler']]], + ['onoptioncomplete_13',['onOptionComplete',['../classnixd_1_1AttrSetProvider.html#afc2bb1f61c34170678c1979626381c2b',1,'nixd::AttrSetProvider']]], + ['onoptioninfo_14',['onOptionInfo',['../classnixd_1_1AttrSetProvider.html#a1d9ed55a4b9323e09095fcc6f4435ab1',1,'nixd::AttrSetProvider']]], + ['onready_15',['onReady',['../classnixd_1_1EvalClient.html#a30254c18345b06c2407beb8bc7e37f55',1,'nixd::EvalClient']]], + ['onregisterbc_16',['onRegisterBC',['../classnixd_1_1EvalProvider.html#a792da053ce2f95446d56eec2d306fd02',1,'nixd::EvalProvider']]], + ['onreply_17',['onReply',['../classlspserver_1_1MessageHandler.html#aa54175b940483903b3c4c3bd093c3435',1,'lspserver::MessageHandler']]], + ['op_18',['op',['../classnixf_1_1Op.html#a5f0bf93da42657f12d0ac0985201efc5',1,'nixf::Op::op()'],['../classnixf_1_1ExprOp.html#a864b79b1a9f2ab90e9a8582723198118',1,'nixf::ExprOp::op()']]], + ['op_19',['Op',['../classnixf_1_1Op.html#aff59913eecd7f9cafc80bbb29daccd18',1,'nixf::Op']]], + ['operator_20bool_20',['operator bool',['../structlspserver_1_1URIForFile.html#a3b6bf195656afd19a7bdf79957c3dc91',1,'lspserver::URIForFile']]], + ['operator_28_29_21',['operator()',['../structlspserver_1_1LSPDiagnosticCompare.html#a7d5b98919a787f50e772137eec45acc6',1,'lspserver::LSPDiagnosticCompare']]], + ['operator_2f_22',['operator/',['../structlspserver_1_1Range.html#ae615d88095508e29aca124832441f933',1,'lspserver::Range']]], + ['operator_3c_23',['operator<',['../namespacelspserver.html#af54fb741a74716d8b626474d31e4cdcc',1,'lspserver::operator<(const CompletionItem &, const CompletionItem &)'],['../namespacelspserver.html#a27358b21dd4a6de2eed0bf9f7bdddb63',1,'lspserver::operator<(const InlayHint &, const InlayHint &)']]], + ['operator_3c_3c_24',['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_25',['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_26',['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 &)']]], + ['optioncomplete_27',['optionComplete',['../classnixd_1_1AttrSetClient.html#adcb917073548204bebf9c8e43a3b3442',1,'nixd::AttrSetClient']]], + ['optioninfo_28',['optionInfo',['../classnixd_1_1AttrSetClient.html#a76bb0549be1a65120a810e178234bb7c',1,'nixd::AttrSetClient']]], + ['outboundport_29',['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_30',['overlap',['../structlspserver_1_1Range.html#a8709855b72791ff29f5878623159d233',1,'lspserver::Range']]], + ['ownedevalclient_31',['OwnedEvalClient',['../classnixd_1_1OwnedEvalClient.html#ab2d5d31e904b5ae56306451cd80ae289',1,'nixd::OwnedEvalClient']]] +]; diff --git a/search/functions_f.js b/search/functions_f.js new file mode 100644 index 000000000..6dcee3020 --- /dev/null +++ b/search/functions_f.js @@ -0,0 +1,47 @@ +var searchData= +[ + ['parent_0',['parent',['../classnixf_1_1EnvNode.html#a7ca9e36831b4206d75a18ee3f6ee82fc',1,'nixf::EnvNode']]], + ['parentmap_1',['parentMap',['../classnixd_1_1NixTU.html#aa446c99e3edca5a56a905c269be216e6',1,'nixd::NixTU::parentMap()'],['../namespacenixt.html#a9e1281b1eeb0c0f744522d8b6f72d356',1,'nixt::parentMap()']]], + ['parse_2',['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()'],['../namespacenixd.html#abcfa184bf75c7028479561d673217d59',1,'nixd::parse()']]], + ['parseattrname_3',['parseAttrName',['../classnixf_1_1Parser.html#aa6da76760cadbc0fb9bfc6bdf71e7f4a',1,'nixf::Parser']]], + ['parseattrpath_4',['parseAttrPath',['../classnixf_1_1Parser.html#ad906975449ef0b6e50ac45cfddc7760b',1,'nixf::Parser']]], + ['parsebinding_5',['parseBinding',['../classnixf_1_1Parser.html#af4789122e2951057c256bf7047caaee6',1,'nixf::Parser']]], + ['parsebinds_6',['parseBinds',['../classnixf_1_1Parser.html#aeb54eef031850bf8a2ed02ce90f405ea',1,'nixf::Parser']]], + ['parsecliconfig_7',['parseCLIConfig',['../namespacenixd.html#aa0f7ee754debc4171ef331da953fe468',1,'nixd']]], + ['parseexpr_8',['parseExpr',['../classnixf_1_1Parser.html#a633faf5003438ff1b57869642df405c4',1,'nixf::Parser']]], + ['parseexprapp_9',['parseExprApp',['../classnixf_1_1Parser.html#abb973747c2961ad624b9ff4000072400',1,'nixf::Parser']]], + ['parseexprassert_10',['parseExprAssert',['../classnixf_1_1Parser.html#a4f82ad514edb8c83f8b26939730daf0f',1,'nixf::Parser']]], + ['parseexprattrs_11',['parseExprAttrs',['../classnixf_1_1Parser.html#aead9237c85444231ce7ecc3973c30f00',1,'nixf::Parser']]], + ['parseexprif_12',['parseExprIf',['../classnixf_1_1Parser.html#ad7231e2490de2cb05e7b985c312f8fe2',1,'nixf::Parser']]], + ['parseexprlambda_13',['parseExprLambda',['../classnixf_1_1Parser.html#a6e67accaeaf8e7dd3871cda9fa95171f',1,'nixf::Parser']]], + ['parseexprlet_14',['parseExprLet',['../classnixf_1_1Parser.html#a4468da2adb5ba0d3d08f7a887182ebc8',1,'nixf::Parser']]], + ['parseexprlist_15',['parseExprList',['../classnixf_1_1Parser.html#ae2577fce17b6a113a7f448e28ff17375',1,'nixf::Parser']]], + ['parseexprop_16',['parseExprOp',['../classnixf_1_1Parser.html#a58041cfb84546bdf130e3fb519ff822c',1,'nixf::Parser']]], + ['parseexprparen_17',['parseExprParen',['../classnixf_1_1Parser.html#a1f2c35adfdb20dafcfe6375df64e2441',1,'nixf::Parser']]], + ['parseexprpath_18',['parseExprPath',['../classnixf_1_1Parser.html#ac750efbc73b82e6adb335e6ee1d3a3dc',1,'nixf::Parser']]], + ['parseexprselect_19',['parseExprSelect',['../classnixf_1_1Parser.html#abdb5a590a2e168f01d13b96a9526c395',1,'nixf::Parser']]], + ['parseexprsimple_20',['parseExprSimple',['../classnixf_1_1Parser.html#ac86393e12a6fa03b0692bfff7c47ec23',1,'nixf::Parser']]], + ['parseexprwith_21',['parseExprWith',['../classnixf_1_1Parser.html#ad70d2be7dab89b9be8d4977d941b554d',1,'nixf::Parser']]], + ['parseformal_22',['parseFormal',['../classnixf_1_1Parser.html#a3dadea3f07631cbe7803fef87aec867c',1,'nixf::Parser']]], + ['parseformals_23',['parseFormals',['../classnixf_1_1Parser.html#a05bf558d01ad911f34f85d059a381652',1,'nixf::Parser']]], + ['parseinherit_24',['parseInherit',['../classnixf_1_1Parser.html#a68f00b48bd77f38c2cbcabac9450e39a',1,'nixf::Parser']]], + ['parseinterpolation_25',['parseInterpolation',['../classnixf_1_1Parser.html#a4711f08746efb425cbef244ead1464a9',1,'nixf::Parser']]], + ['parsekind_26',['parseKind',['../classnixf_1_1Diagnostic.html#a19250e9da80621cef1c691538629a582',1,'nixf::Diagnostic']]], + ['parselambdaarg_27',['parseLambdaArg',['../classnixf_1_1Parser.html#ae7097191627494344747862139825022',1,'nixf::Parser']]], + ['parseparam_28',['parseParam',['../namespacelspserver.html#a25d2e6d84f80ad9e600ea50daa10b7c3',1,'lspserver::parseParam(const llvm::json::Value &Raw, llvm::StringRef PayloadName, llvm::StringRef PayloadKind)'],['../namespacelspserver.html#a228f53d66ead347bb9aa1cbec5ca8a66',1,'lspserver::parseParam(const llvm::json::Value &Raw, llvm::StringRef PayloadName, llvm::StringRef PayloadKind)']]], + ['parser_29',['Parser',['../classnixf_1_1Parser.html#a6f2c6921c2e8d5a98566c0bc4d6e0a4d',1,'nixf::Parser']]], + ['parsestring_30',['parseString',['../classnixf_1_1Parser.html#abd465f23b9dd6b26d1355602f07459ec',1,'nixf::Parser']]], + ['parsestringparts_31',['parseStringParts',['../classnixf_1_1Parser.html#abacfcf943a580fd11bc6e8d9462102b2',1,'nixf::Parser']]], + ['partialdiagnostic_32',['PartialDiagnostic',['../classnixf_1_1PartialDiagnostic.html#a22d72e7f3855985ca7deaace2e2ba8c3',1,'nixf::PartialDiagnostic::PartialDiagnostic()=default'],['../classnixf_1_1PartialDiagnostic.html#a27f1ac8be8f074375a97672341420878',1,'nixf::PartialDiagnostic::PartialDiagnostic(LexerCursorRange Range)']]], + ['parts_33',['parts',['../classnixf_1_1ExprString.html#adbf204757a9eefdb3b04234ddacb6288',1,'nixf::ExprString::parts()'],['../classnixf_1_1ExprPath.html#ad472e577ac0c80d7cda738ca8a711509',1,'nixf::ExprPath::parts()']]], + ['path_34',['path',['../classnixf_1_1Binding.html#a3c053a2774353025ebeb784f6ea6e8be',1,'nixf::Binding::path()'],['../classnixf_1_1ExprSelect.html#acaf24533f8ba9dfe4e43ba4a88fdb4b7',1,'nixf::ExprSelect::path()']]], + ['pathequal_35',['pathEqual',['../namespacelspserver.html#a64f08c900dbfd60a48d456ca9eb746ad',1,'lspserver']]], + ['pathstartswith_36',['pathStartsWith',['../namespacelspserver.html#ae9c525c95cbbba2eeb3e87072a085db9',1,'lspserver']]], + ['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)']]], + ['position_38',['position',['../classnixf_1_1LexerCursor.html#acecacc84f3db35e01501a85d6400f839',1,'nixf::LexerCursor']]], + ['positionrange_39',['positionRange',['../classnixf_1_1Node.html#aabfbecfd26d2a3feac1dd2f86404ecba',1,'nixf::Node']]], + ['positionrange_40',['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)']]], + ['positiontooffset_41',['positionToOffset',['../namespacelspserver.html#adc670be77dee1777c3e8bbd1e8e50b90',1,'lspserver']]], + ['prev_42',['prev',['../classnixf_1_1Dot.html#a89f7623cc2dd64718bc36d6cf34b7ee2',1,'nixf::Dot']]], + ['proc_43',['proc',['../classnixd_1_1OwnedEvalClient.html#acb524844a610498efc42a113c2672f55',1,'nixd::OwnedEvalClient::proc()'],['../structnixd_1_1StreamProc.html#a27d9ea1aa9caef0aedfbae8262687596',1,'nixd::StreamProc::proc()']]] +]; 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..430ec8dbd --- /dev/null +++ b/search/namespaces_0.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['diagnostic_0',['Diagnostic',['../namespaceDiagnostic.html',1,'']]], + ['diagnostic_1',['diagnostic',['../namespacediagnostic.html',1,'']]], + ['diagnosticenum_2',['DiagnosticEnum',['../namespaceDiagnosticEnum.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..fb76816b7 --- /dev/null +++ b/search/namespaces_2.js @@ -0,0 +1,15 @@ +var searchData= +[ + ['nix_0',['nix',['../namespacenix.html',1,'']]], + ['nixd_1',['nixd',['../namespacenixd.html',1,'']]], + ['nixd_3a_3aidioms_2',['idioms',['../namespacenixd_1_1idioms.html',1,'nixd']]], + ['nixd_3a_3arpc_3',['rpc',['../namespacenixd_1_1rpc.html',1,'nixd']]], + ['nixd_3a_3arpcmethod_4',['rpcMethod',['../namespacenixd_1_1rpcMethod.html',1,'nixd']]], + ['nixd_3a_3autil_5',['util',['../namespacenixd_1_1util.html',1,'nixd']]], + ['nixf_6',['nixf',['../namespacenixf.html',1,'']]], + ['nixf_3a_3adetail_7',['detail',['../namespacenixf_1_1detail.html',1,'nixf']]], + ['nixf_3a_3atok_8',['tok',['../namespacenixf_1_1tok.html',1,'nixf']]], + ['nixt_9',['nixt',['../namespacenixt.html',1,'']]], + ['nixt_3a_3adetail_10',['detail',['../namespacenixt_1_1detail.html',1,'nixt']]], + ['nixt_3a_3aek_11',['ek',['../namespacenixt_1_1ek.html',1,'nixt']]] +]; diff --git a/search/namespaces_3.js b/search/namespaces_3.js new file mode 100644 index 000000000..c690ca76b --- /dev/null +++ b/search/namespaces_3.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['support_0',['support',['../namespacesupport.html',1,'']]] +]; diff --git a/search/pages_0.js b/search/pages_0.js new file mode 100644 index 000000000..cf9076baa --- /dev/null +++ b/search/pages_0.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['configuration_0',['Configuration',['../md_nixd_2docs_2configuration.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..5a0658365 --- /dev/null +++ b/search/pages_2.js @@ -0,0 +1,6 @@ +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,'']]], + ['expressions_2',['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..ed76b32a4 --- /dev/null +++ b/search/pages_3.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['features_20in_20nixd_0',['Features in nixd',['../md_nixd_2docs_2features.html',1,'']]], + ['frontend_1',['<tt>libnixf</tt>, The nix frontend',['../md_libnixf_2README.html',1,'']]] +]; diff --git a/search/pages_4.js b/search/pages_4.js new file mode 100644 index 000000000..cee196d55 --- /dev/null +++ b/search/pages_4.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['in_20nixd_0',['Features in nixd',['../md_nixd_2docs_2features.html',1,'']]] +]; diff --git a/search/pages_5.js b/search/pages_5.js new file mode 100644 index 000000000..b5e58ee82 --- /dev/null +++ b/search/pages_5.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['libnixf_20tt_20the_20nix_20frontend_0',['<tt>libnixf</tt>, The nix frontend',['../md_libnixf_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_nixd_2lspserver_2README.html',1,'']]] +]; diff --git a/search/pages_6.js b/search/pages_6.js new file mode 100644 index 000000000..89aa184be --- /dev/null +++ b/search/pages_6.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['manual_0',['Developers' Manual',['../md_nixd_2docs_2dev.html',1,'']]] +]; diff --git a/search/pages_7.js b/search/pages_7.js new file mode 100644 index 000000000..ae49cee58 --- /dev/null +++ b/search/pages_7.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['nix_20frontend_0',['<tt>libnixf</tt>, The nix frontend',['../md_libnixf_2README.html',1,'']]], + ['nix_3a_3aexpr_20tt_20expressions_1',['libnixt, Playing with <tt>nix::Expr</tt> expressions.',['../md_libnixt_2README.html',1,'']]], + ['nixd_2',['Features in nixd',['../md_nixd_2docs_2features.html',1,'']]] +]; diff --git a/search/pages_8.js b/search/pages_8.js new file mode 100644 index 000000000..7f66122af --- /dev/null +++ b/search/pages_8.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_9.js b/search/pages_9.js new file mode 100644 index 000000000..b8e4cf924 --- /dev/null +++ b/search/pages_9.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_a.js b/search/pages_a.js new file mode 100644 index 000000000..bc093310d --- /dev/null +++ b/search/pages_a.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['the_20nix_20frontend_0',['<tt>libnixf</tt>, The nix frontend',['../md_libnixf_2README.html',1,'']]], + ['tt_20libnixf_20tt_20the_20nix_20frontend_1',['<tt>libnixf</tt>, The nix frontend',['../md_libnixf_2README.html',1,'']]], + ['tt_20nix_3a_3aexpr_20tt_20expressions_2',['libnixt, Playing with <tt>nix::Expr</tt> expressions.',['../md_libnixt_2README.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..c87dabb35 --- /dev/null +++ b/src_2Parse_2Parser_8h_source.html @@ -0,0 +1,497 @@ + + + + + + + +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 /// | spath
    +
    237 /// | hpath
    +
    238 /// | uri
    +
    239 /// | '(' expr ')'
    +
    240 /// | legacy_let
    +
    241 /// | attrset_expr
    +
    242 /// | list
    +
    243 /// \endcode
    +
    244 std::shared_ptr<Expr> parseExprSimple();
    +
    245
    +
    246 /// \code
    +
    247 /// expr_select : expr_simple '.' attrpath
    +
    248 /// | expr_simple '.' attrpath 'or' expr_select
    +
    249 /// | expr_simple 'or' <-- special "apply", 'or' is argument
    +
    250 /// | expr_simple
    +
    251 /// \endcode
    +
    252 std::shared_ptr<Expr> parseExprSelect();
    +
    253
    +
    254 /// \code
    +
    255 /// expr_app : expr_app expr_select
    +
    256 /// | expr_select
    +
    257 /// \endcode
    +
    258 ///
    +
    259 /// Consume at most \p Limit number of `expr_select` as arguments
    +
    260 /// e.g. `Fn A1 A2 A3` with Limit = 2 will be parsed as `((Fn A1 A2) A3)`
    +
    261 std::shared_ptr<Expr> parseExprApp(int Limit = INT_MAX);
    +
    262
    +
    263 /// \code
    +
    264 /// expr_list : '[' expr_select* ']'
    +
    265 /// \endcode
    +
    266 std::shared_ptr<ExprList> parseExprList();
    +
    267
    +
    268 /// \code
    +
    269 /// formal : ,? ID
    +
    270 /// | ,? ID '?' expr
    +
    271 /// | ,? ...
    +
    272 /// \endcode
    +
    273 std::shared_ptr<Formal> parseFormal();
    +
    274
    +
    275 /// \code
    +
    276 /// formals : '{' formal* '}'
    +
    277 /// \endcode
    +
    278 std::shared_ptr<Formals> parseFormals();
    +
    279
    +
    280 /// \code
    +
    281 /// lambda_arg : ID
    +
    282 /// | ID @ {' formals '}'
    +
    283 /// | '{' formals '}'
    +
    284 /// | '{' formals '}' @ ID
    +
    285 /// \endcode
    +
    286 std::shared_ptr<LambdaArg> parseLambdaArg();
    +
    287
    +
    288 /// \code
    +
    289 /// expr_lambda : lambda_arg ':' expr
    +
    290 /// \endcode
    +
    291 std::shared_ptr<ExprLambda> parseExprLambda();
    +
    292
    +
    293 std::shared_ptr<Expr> parseExpr();
    +
    294
    +
    295 /// \brief Parse binary/unary operators.
    +
    296 /// \code
    +
    297 /// expr_op : '!' expr_op
    +
    298 /// | '-' expr_op
    +
    299 /// | expr_op BINARY_OP expr_op
    +
    300 /// | expr_app
    +
    301 ///
    +
    302 /// %right ->
    +
    303 /// %left ||
    +
    304 /// %left &&
    +
    305 /// %nonassoc == !=
    +
    306 /// %nonassoc < > <= >=
    +
    307 /// %right //
    +
    308 /// %left NOT
    +
    309 /// %left + -
    +
    310 /// %left * /
    +
    311 /// %right ++
    +
    312 /// %nonassoc '?'
    +
    313 /// %nonassoc NEGATE
    +
    314 /// \endcode
    +
    315 std::shared_ptr<Expr> parseExprOp() { return parseExprOpBP(0); }
    +
    316
    +
    317 /// \code
    +
    318 /// expr_if : 'if' expr 'then' expr 'else' expr
    +
    319 /// \endcode
    +
    320 std::shared_ptr<ExprIf> parseExprIf();
    +
    321
    +
    322 /// \code
    +
    323 /// expr_assert : 'assert' expr ';' expr
    +
    324 /// \endcode
    +
    325 std::shared_ptr<ExprAssert> parseExprAssert();
    +
    326
    +
    327 /// \code
    +
    328 /// epxr_let : 'let' binds 'in' expr
    +
    329 /// \endcode
    +
    330 std::shared_ptr<ExprLet> parseExprLet();
    +
    331
    +
    332 /// \code
    +
    333 /// expr_with : 'with' expr ';' expr
    +
    334 /// \endcode
    +
    335 std::shared_ptr<ExprWith> parseExprWith();
    +
    336
    +
    337 /// Top-level parsing.
    +
    338 std::shared_ptr<Expr> parse();
    +
    339};
    +
    +
    340
    +
    341} // 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:203
    +
    Fix & edit(TextEdit Edit)
    Definition Diagnostic.h:65
    +
    A point in the source file.
    Definition Range.h:57
    + + +
    std::shared_ptr< Formals > parseFormals()
    +
    std::shared_ptr< ExprParen > parseExprParen()
    +
    std::shared_ptr< Expr > parse()
    Top-level parsing.
    +
    std::shared_ptr< Formal > parseFormal()
    +
    std::shared_ptr< ExprLet > parseExprLet()
    +
    std::shared_ptr< Interpolation > parseInterpolation()
    Parse interpolations.
    +
    std::shared_ptr< ExprAssert > parseExprAssert()
    +
    std::shared_ptr< Expr > parseExprOp()
    Parse binary/unary operators.
    +
    std::shared_ptr< Expr > parseExpr()
    Definition ParseExpr.cpp:73
    +
    std::shared_ptr< Inherit > parseInherit()
    +
    std::shared_ptr< ExprLambda > parseExprLambda()
    +
    Parser(std::string_view Src, std::vector< Diagnostic > &Diags)
    + + + + + +
    std::shared_ptr< AttrName > parseAttrName()
    Definition ParseAttrs.cpp:6
    +
    std::shared_ptr< InterpolatedParts > parseStringParts()
    +
    std::shared_ptr< Expr > parseExprApp(int Limit=INT_MAX)
    Definition ParseExpr.cpp:52
    +
    std::shared_ptr< ExprString > parseString(bool IsIndented)
    +
    std::shared_ptr< Expr > parseExprSelect()
    Definition ParseExpr.cpp:6
    +
    std::shared_ptr< Expr > parseExprPath()
    Parse paths.
    +
    std::shared_ptr< Expr > parseExprSimple()
    +
    std::shared_ptr< ExprWith > parseExprWith()
    +
    std::shared_ptr< ExprIf > parseExprIf()
    +
    std::shared_ptr< AttrPath > parseAttrPath()
    +
    std::shared_ptr< ExprList > parseExprList()
    +
    std::shared_ptr< LambdaArg > parseLambdaArg()
    +
    std::shared_ptr< ExprAttrs > parseExprAttrs()
    +
    std::shared_ptr< Binds > parseBinds()
    +
    std::shared_ptr< Binding > parseBinding()
    +
    void tag(DiagnosticTag Tag)
    Definition Diagnostic.h:96
    + +
    static TextEdit mkRemoval(LexerCursorRange RemovingRange)
    Definition Diagnostic.h:39
    +
    A token. With it's kind, and the range in source code.
    Definition Token.h:55
    +
    LexerCursor lCur() const
    Definition Token.h:63
    + +
    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..0dc0cc5a8 --- /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 1917 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 1918 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..0ec20aac3 --- /dev/null +++ b/structlspserver_1_1ASTNode.html @@ -0,0 +1,220 @@ + + + + + + + +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 1873 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 1888 of file lspserver/include/lspserver/Protocol.h.

    + +
    +
    + +

    ◆ children

    + +
    +
    + + + + +
    std::vector<ASTNode> lspserver::ASTNode::children
    +
    + +

    Nodes nested within this one, such as the operands of a BinaryOperator.

    + +

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

    + +
    +
    + +

    ◆ 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 1883 of file lspserver/include/lspserver/Protocol.h.

    + +
    +
    + +

    ◆ 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 1880 of file lspserver/include/lspserver/Protocol.h.

    + +
    +
    + +

    ◆ 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 1891 of file lspserver/include/lspserver/Protocol.h.

    + +
    +
    + +

    ◆ 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 1876 of file lspserver/include/lspserver/Protocol.h.

    + +
    +
    +
    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..1922a74f8 --- /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 1860 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 1867 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::fromJSON().

    + +
    +
    + +

    ◆ textDocument

    + +
    +
    + + + + +
    TextDocumentIdentifier lspserver::ASTParams::textDocument
    +
    + +

    The text document.

    + +

    Definition at line 1862 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..0048fd47d --- /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..8eb4ac28a --- /dev/null +++ b/structlspserver_1_1ApplyWorkspaceEditParams.html @@ -0,0 +1,126 @@ + + + + + + + +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 1149 of file lspserver/include/lspserver/Protocol.h.

    +

    Member Data Documentation

    + +

    ◆ edit

    + +
    +
    + + + + +
    WorkspaceEdit lspserver::ApplyWorkspaceEditParams::edit
    +
    + +

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

    + +
    +
    +
    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..5fd6f4837 --- /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..e045fb220 --- /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 1154 of file lspserver/include/lspserver/Protocol.h.

    +

    Member Data Documentation

    + +

    ◆ applied

    + +
    +
    + + + + +
    bool lspserver::ApplyWorkspaceEditResponse::applied = true
    +
    + +

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

    + +

    Referenced by lspserver::fromJSON().

    + +
    +
    + +

    ◆ failureReason

    + +
    +
    + + + + +
    std::optional<std::string> lspserver::ApplyWorkspaceEditResponse::failureReason
    +
    + +

    Definition at line 1156 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..0ef261ea1 --- /dev/null +++ b/structlspserver_1_1CallHierarchyIncomingCall.html @@ -0,0 +1,152 @@ + + + + + + + +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 1541 of file lspserver/include/lspserver/Protocol.h.

    +

    Member Data Documentation

    + +

    ◆ from

    + +
    +
    + + + + +
    CallHierarchyItem lspserver::CallHierarchyIncomingCall::from
    +
    + +

    The item that makes the call.

    + +

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

    + +
    +
    + +

    ◆ 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 1547 of file lspserver/include/lspserver/Protocol.h.

    + +
    +
    +
    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..2cf9a3467 --- /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..918c82b56 --- /dev/null +++ b/structlspserver_1_1CallHierarchyIncomingCallsParams.html @@ -0,0 +1,130 @@ + + + + + + + +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 1534 of file lspserver/include/lspserver/Protocol.h.

    +

    Member Data Documentation

    + +

    ◆ item

    + +
    +
    + + + + +
    CallHierarchyItem lspserver::CallHierarchyIncomingCallsParams::item
    +
    + +

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

    + +
    +
    +
    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..5a4c12539 --- /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..fe0d1c2c3 --- /dev/null +++ b/structlspserver_1_1CallHierarchyItem.html @@ -0,0 +1,271 @@ + + + + + + + +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 1501 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 1528 of file lspserver/include/lspserver/Protocol.h.

    + +
    +
    + +

    ◆ detail

    + +
    +
    + + + + +
    std::string lspserver::CallHierarchyItem::detail
    +
    + +

    More detaill for this item, e.g. the signature of a function.

    + +

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

    + +
    +
    + +

    ◆ kind

    + +
    +
    + + + + +
    SymbolKind lspserver::CallHierarchyItem::kind
    +
    + +

    The kind of this item.

    + +

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

    + +
    +
    + +

    ◆ name

    + +
    +
    + + + + +
    std::string lspserver::CallHierarchyItem::name
    +
    + +

    The name of this item.

    + +

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

    + +
    +
    + +

    ◆ 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 1519 of file lspserver/include/lspserver/Protocol.h.

    + +
    +
    + +

    ◆ 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 1524 of file lspserver/include/lspserver/Protocol.h.

    + +
    +
    + +

    ◆ tags

    + +
    +
    + + + + +
    std::vector<SymbolTag> lspserver::CallHierarchyItem::tags
    +
    + +

    Tags for this item.

    + +

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

    + +
    +
    + +

    ◆ uri

    + +
    +
    + + + + +
    URIForFile lspserver::CallHierarchyItem::uri
    +
    + +

    The resource identifier of this item.

    + +

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

    + +
    +
    +
    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..f9ba88fde --- /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..70e2f002f --- /dev/null +++ b/structlspserver_1_1CallHierarchyOutgoingCall.html @@ -0,0 +1,149 @@ + + + + + + + +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 1560 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 1566 of file lspserver/include/lspserver/Protocol.h.

    + +
    +
    + +

    ◆ to

    + +
    +
    + + + + +
    CallHierarchyItem lspserver::CallHierarchyOutgoingCall::to
    +
    + +

    The item that is called.

    + +

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

    + +
    +
    +
    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..4c246622f --- /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..95d613aa2 --- /dev/null +++ b/structlspserver_1_1CallHierarchyOutgoingCallsParams.html @@ -0,0 +1,130 @@ + + + + + + + +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 1552 of file lspserver/include/lspserver/Protocol.h.

    +

    Member Data Documentation

    + +

    ◆ item

    + +
    +
    + + + + +
    CallHierarchyItem lspserver::CallHierarchyOutgoingCallsParams::item
    +
    + +

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

    + +
    +
    +
    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..01fb9a3c2 --- /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..9bdb77c90 --- /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 1497 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..c5faf67d1 --- /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..4924aee4c --- /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..feb244e10 --- /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< boolneedsConfirmation
     
    std::string description
     
    +

    Detailed Description

    +
    +

    Definition at line 246 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 257 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::fromJSON().

    + +
    +
    + +

    ◆ 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 249 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::fromJSON().

    + +
    +
    + +

    ◆ needsConfirmation

    + +
    +
    + + + + +
    std::optional<bool> lspserver::ChangeAnnotation::needsConfirmation
    +
    +

    A flag which indicates that user confirmation is needed before applying the change.

    + +

    Definition at line 253 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_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..0c81fb91f --- /dev/null +++ b/structlspserver_1_1ClangdCompileCommand.html @@ -0,0 +1,140 @@ + + + + + + + +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 548 of file lspserver/include/lspserver/Protocol.h.

    +

    Member Data Documentation

    + +

    ◆ compilationCommand

    + +
    +
    + + + + +
    std::vector<std::string> lspserver::ClangdCompileCommand::compilationCommand
    +
    + +

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

    + +
    +
    + +

    ◆ workingDirectory

    + +
    +
    + + + + +
    std::string lspserver::ClangdCompileCommand::workingDirectory
    +
    + +

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

    + +
    +
    +
    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..8df3bbc6f --- /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 425 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 524 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 534 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 489 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 485 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 450 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 481 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 445 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 441 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 432 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 436 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 531 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 462 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 458 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 506 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 520 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 538 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 468 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 502 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 472 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 454 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 510 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 528 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 494 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 477 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 499 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 514 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::fromJSON().

    + +
    +
    + +

    ◆ WorkspaceConfiguration

    + +
    +
    + + + + +
    bool lspserver::ClientCapabilities::WorkspaceConfiguration = false
    +
    + +

    Definition at line 540 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 428 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..c137d7342 --- /dev/null +++ b/structlspserver_1_1CodeAction.html @@ -0,0 +1,316 @@ + + + + + + + +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 1047 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 1073 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 1059 of file lspserver/include/lspserver/Protocol.h.

    + +
    +
    + +

    ◆ edit

    + +
    +
    + + + + +
    std::optional<WorkspaceEdit> lspserver::CodeAction::edit
    +
    + +

    The workspace edit this code action performs.

    + +

    Definition at line 1069 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 1056 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 1066 of file lspserver/include/lspserver/Protocol.h.

    + +
    +
    + +

    ◆ kind

    + +
    +
    + + + + +
    std::optional<std::string> lspserver::CodeAction::kind
    +
    +

    The kind of the code action. Used to filter code actions.

    + +

    Definition at line 1053 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 1054 of file lspserver/include/lspserver/Protocol.h.

    + +
    +
    + +

    ◆ REFACTOR_KIND

    + +
    +
    + + + + + +
    + + + + +
    const llvm::StringLiteral lspserver::CodeAction::REFACTOR_KIND = "refactor"
    +
    +static
    +
    + +

    Definition at line 1055 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 1049 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..a4ebc4ce8 --- /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 962 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 969 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 975 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..b4e37c5da --- /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 979 of file lspserver/include/lspserver/Protocol.h.

    +

    Member Data Documentation

    + +

    ◆ context

    + +
    +
    + + + + +
    CodeActionContext lspserver::CodeActionParams::context
    +
    + +

    Context carrying additional information.

    + +

    Definition at line 987 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 984 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 981 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..3be72efba --- /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..572bcaee1 --- /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..984681b83 --- /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 884 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 886 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..d5b2e9fd0 --- /dev/null +++ b/structlspserver_1_1Command.html @@ -0,0 +1,137 @@ + + + + + + + +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 1037 of file lspserver/include/lspserver/Protocol.h.

    +

    Member Data Documentation

    + +

    ◆ title

    + +
    +
    + + + + +
    std::string lspserver::Command::title
    +
    + +

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

    + +
    +
    +
    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..7a6ab1a5b --- /dev/null +++ b/structlspserver_1_1Command__coll__graph.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/structlspserver_1_1Command__coll__graph.md5 b/structlspserver_1_1Command__coll__graph.md5 new file mode 100644 index 000000000..5d2bc0759 --- /dev/null +++ b/structlspserver_1_1Command__coll__graph.md5 @@ -0,0 +1 @@ +23fc9dd083f7d489103659f1a632c633 \ 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..8923d1661 --- /dev/null +++ b/structlspserver_1_1Command__coll__graph.svg @@ -0,0 +1,59 @@ + + + + + + +lspserver::Command + + +Node1 + + +lspserver::Command + + + + + +Node2 + + +lspserver::ExecuteCommand +Params + + + + + +Node2->Node1 + + + + + + + + +Node3 + + +Value + + + + + +Node3->Node2 + + + + + + argument + + + 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..bb69ba506 --- /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..64554b476 --- /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 1182 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 1187 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 1184 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..30f09e2bd --- /dev/null +++ b/structlspserver_1_1CompletionItem-members.html @@ -0,0 +1,103 @@ + + + + + + + +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..7ba318c01 --- /dev/null +++ b/structlspserver_1_1CompletionItem.html @@ -0,0 +1,376 @@ + + + + + + + +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
     
    std::string data
     
    +

    Detailed Description

    +
    +

    Definition at line 1235 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 1277 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::fromJSON().

    + +
    +
    + +

    ◆ data

    + +
    +
    + + + + +
    std::string lspserver::CompletionItem::data
    +
    + +

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

    + +

    Referenced by lspserver::fromJSON().

    + +
    +
    + +

    ◆ deprecated

    + +
    +
    + + + + +
    bool lspserver::CompletionItem::deprecated = false
    +
    + +

    Indicates if this item is deprecated.

    + +

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

    + +
    +
    + +

    ◆ detail

    + +
    +
    + + + + +
    std::string lspserver::CompletionItem::detail
    +
    +

    A human-readable string with additional information about this item, like type or symbol information.

    + +

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

    + +

    Referenced by lspserver::fromJSON().

    + +
    +
    + +

    ◆ documentation

    + +
    +
    + + + + +
    std::optional<MarkupContent> lspserver::CompletionItem::documentation
    +
    + +

    A human-readable string that represents a doc-comment.

    + +

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

    + +

    Referenced by lspserver::fromJSON().

    + +
    +
    + +

    ◆ 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 1257 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::fromJSON().

    + +
    +
    + +

    ◆ 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 1261 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::fromJSON().

    + +
    +
    + +

    ◆ 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 1265 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::fromJSON().

    + +
    +
    + +

    ◆ 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 1242 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::fromJSON().

    + +
    +
    + +

    ◆ 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 1238 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::fromJSON(), and lspserver::operator<().

    + +
    +
    + +

    ◆ 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 1287 of file lspserver/include/lspserver/Protocol.h.

    + +
    +
    + +

    ◆ 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 1253 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::fromJSON(), and lspserver::operator<().

    + +
    +
    + +

    ◆ 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 1272 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_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..9964b73d0 --- /dev/null +++ b/structlspserver_1_1CompletionList.html @@ -0,0 +1,147 @@ + + + + + + + +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 1305 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 1308 of file lspserver/include/lspserver/Protocol.h.

    + +
    +
    + +

    ◆ items

    + +
    +
    + + + + +
    std::vector<CompletionItem> lspserver::CompletionList::items
    +
    + +

    The completion items.

    + +

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

    + +
    +
    +
    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..e13198d88 --- /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< intlimit
     
    - Public Attributes inherited from lspserver::TextDocumentPositionParams
    TextDocumentIdentifier textDocument
     The text document.
     
    Position position
     The position inside the text document.
     
    +

    Detailed Description

    +
    +

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

    +

    Member Data Documentation

    + +

    ◆ context

    + +
    +
    + + + + +
    CompletionContext lspserver::CompletionParams::context
    +
    + +

    Definition at line 1192 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 1196 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..053614dfb --- /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..c10ab428c --- /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..49565e2cc --- /dev/null +++ b/structlspserver_1_1ConfigurationItem.html @@ -0,0 +1,139 @@ + + + + + + + +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 1899 of file lspserver/include/lspserver/Protocol.h.

    +

    Member Data Documentation

    + +

    ◆ scopeUri

    + +
    +
    + + + + +
    std::optional<URIForFile> lspserver::ConfigurationItem::scopeUri
    +
    + +

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

    + +
    +
    + +

    ◆ section

    + +
    +
    + + + + +
    std::optional<std::string> lspserver::ConfigurationItem::section
    +
    + +

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

    + +
    +
    +
    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..2484951f8 --- /dev/null +++ b/structlspserver_1_1ConfigurationParams.html @@ -0,0 +1,121 @@ + + + + + + + +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 1909 of file lspserver/include/lspserver/Protocol.h.

    +

    Member Data Documentation

    + +

    ◆ items

    + +
    +
    + + + + +
    std::vector<ConfigurationItem> lspserver::ConfigurationParams::items
    +
    + +

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

    + +
    +
    +
    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..d0bb5ffbf --- /dev/null +++ b/structlspserver_1_1ConfigurationSettings.html @@ -0,0 +1,122 @@ + + + + + + + +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 558 of file lspserver/include/lspserver/Protocol.h.

    +

    Member Data Documentation

    + +

    ◆ compilationDatabaseChanges

    + +
    +
    + + + + +
    std::map<std::string, ClangdCompileCommand> lspserver::ConfigurationSettings::compilationDatabaseChanges
    +
    + +

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

    + +
    +
    +
    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..88ca9d2fc --- /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 891 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 923 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 900 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 928 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 903 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 935 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 893 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 917 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 897 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 907 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 913 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..db22af228 --- /dev/null +++ b/structlspserver_1_1DiagnosticRelatedInformation.html @@ -0,0 +1,151 @@ + + + + + + + +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 862 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 864 of file lspserver/include/lspserver/Protocol.h.

    + +
    +
    + +

    ◆ message

    + +
    +
    + + + + +
    std::string lspserver::DiagnosticRelatedInformation::message
    +
    + +

    The message of this related diagnostic information.

    + +

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

    + +
    +
    +
    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..686c44dba --- /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..202ea32af --- /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..7a529bf5d --- /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..e05a91932 --- /dev/null +++ b/structlspserver_1_1DidChangeConfigurationParams.html @@ -0,0 +1,126 @@ + + + + + + + +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 808 of file lspserver/include/lspserver/Protocol.h.

    +

    Member Data Documentation

    + +

    ◆ settings

    + +
    +
    + + + + +
    ConfigurationSettings lspserver::DidChangeConfigurationParams::settings
    +
    + +

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

    + +
    +
    +
    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..7035bc6bf --- /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..1ebdcf00f --- /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< boolwantDiagnostics
     
    bool forceRebuild = false
     
    +

    Detailed Description

    +
    +

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

    +

    Member Data Documentation

    + +

    ◆ contentChanges

    + +
    +
    + + + + +
    std::vector<TextDocumentContentChangeEvent> lspserver::DidChangeTextDocumentParams::contentChanges
    +
    + +

    The actual content changes.

    + +

    Definition at line 765 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 777 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 762 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 771 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..82bf65523 --- /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..9ca60b0d3 --- /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 801 of file lspserver/include/lspserver/Protocol.h.

    +

    Member Data Documentation

    + +

    ◆ changes

    + +
    +
    + + + + +
    std::vector<FileEvent> lspserver::DidChangeWatchedFilesParams::changes
    +
    + +

    The actual file events.

    + +

    Definition at line 803 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..cebce9452 --- /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 731 of file lspserver/include/lspserver/Protocol.h.

    +

    Member Data Documentation

    + +

    ◆ textDocument

    + +
    +
    + + + + +
    TextDocumentIdentifier lspserver::DidCloseTextDocumentParams::textDocument
    +
    + +

    The document that was closed.

    + +

    Definition at line 733 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..7b2cf37eb --- /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..c07473d4b --- /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 724 of file lspserver/include/lspserver/Protocol.h.

    +

    Member Data Documentation

    + +

    ◆ textDocument

    + +
    +
    + + + + +
    TextDocumentItem lspserver::DidOpenTextDocumentParams::textDocument
    +
    + +

    The document that was opened.

    + +

    Definition at line 726 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..f078a70ae --- /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..d4c3a5adc --- /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 738 of file lspserver/include/lspserver/Protocol.h.

    +

    Member Data Documentation

    + +

    ◆ textDocument

    + +
    +
    + + + + +
    TextDocumentIdentifier lspserver::DidSaveTextDocumentParams::textDocument
    +
    + +

    The document that was saved.

    + +

    Definition at line 740 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..087ff157f --- /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..4f03eab42 --- /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 845 of file lspserver/include/lspserver/Protocol.h.

    +

    Member Data Documentation

    + +

    ◆ textDocument

    + +
    +
    + + + + +
    TextDocumentIdentifier lspserver::DocumentFormattingParams::textDocument
    +
    + +

    The document to format.

    + +

    Definition at line 847 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..1522385dc --- /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..cbf481bcb --- /dev/null +++ b/structlspserver_1_1DocumentHighlight.html @@ -0,0 +1,222 @@ + + + + + + + +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 1387 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 1394 of file lspserver/include/lspserver/Protocol.h.

    + +
    +
    + +

    ◆ operator==

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

    Definition at line 1401 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 1392 of file lspserver/include/lspserver/Protocol.h.

    + +
    +
    + +

    ◆ range

    + +
    +
    + + + + +
    Range lspserver::DocumentHighlight::range
    +
    + +

    The range this highlight applies to.

    + +

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

    + +
    +
    +
    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..38d792664 --- /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..5617fcf69 --- /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 1792 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 1810 of file lspserver/include/lspserver/Protocol.h.

    + +
    +
    + +

    ◆ operator==

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

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

    + +
    +
    +

    Member Data Documentation

    + +

    ◆ range

    + +
    +
    + + + + +
    Range lspserver::DocumentLink::range
    +
    + +

    The range this link applies to.

    + +

    Definition at line 1794 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 1797 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..14a4004b2 --- /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 1783 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 1785 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..e09c53031 --- /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..ff0635826 --- /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..92389f486 --- /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 832 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 840 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 837 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::fromJSON().

    + +
    +
    + +

    ◆ textDocument

    + +
    +
    + + + + +
    TextDocumentIdentifier lspserver::DocumentOnTypeFormattingParams::textDocument
    +
    + +

    The document to format.

    + +

    Definition at line 834 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..3d2785742 --- /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..523c9a1dc --- /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 822 of file lspserver/include/lspserver/Protocol.h.

    +

    Member Data Documentation

    + +

    ◆ range

    + +
    +
    + + + + +
    Range lspserver::DocumentRangeFormattingParams::range
    +
    + +

    The range to format.

    + +

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

    + +

    Referenced by lspserver::fromJSON().

    + +
    +
    + +

    ◆ textDocument

    + +
    +
    + + + + +
    TextDocumentIdentifier lspserver::DocumentRangeFormattingParams::textDocument
    +
    + +

    The document to format.

    + +

    Definition at line 824 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..4143de711 --- /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..c1ab6285e --- /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..385edc5df --- /dev/null +++ b/structlspserver_1_1DocumentSymbol.html @@ -0,0 +1,252 @@ + + + + + + + +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 1081 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 1105 of file lspserver/include/lspserver/Protocol.h.

    + +
    +
    + +

    ◆ deprecated

    + +
    +
    + + + + +
    bool lspserver::DocumentSymbol::deprecated = false
    +
    + +

    Indicates if this symbol is deprecated.

    + +

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

    + +
    +
    + +

    ◆ detail

    + +
    +
    + + + + +
    std::string lspserver::DocumentSymbol::detail
    +
    + +

    More detail for this symbol, e.g the signature of a function.

    + +

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

    + +
    +
    + +

    ◆ kind

    + +
    +
    + + + + +
    SymbolKind lspserver::DocumentSymbol::kind
    +
    + +

    The kind of this symbol.

    + +

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

    + +
    +
    + +

    ◆ name

    + +
    +
    + + + + +
    std::string lspserver::DocumentSymbol::name
    +
    + +

    The name of this symbol.

    + +

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

    + +
    +
    + +

    ◆ 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 1098 of file lspserver/include/lspserver/Protocol.h.

    + +
    +
    + +

    ◆ 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 1102 of file lspserver/include/lspserver/Protocol.h.

    + +
    +
    +
    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..87bf86ec8 --- /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 852 of file lspserver/include/lspserver/Protocol.h.

    +

    Member Data Documentation

    + +

    ◆ textDocument

    + +
    +
    + + + + +
    TextDocumentIdentifier lspserver::DocumentSymbolParams::textDocument
    +
    + +

    Definition at line 854 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..4ef63d26d --- /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..5da8c0339 --- /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..50ee02002 --- /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..6c9dc6556 --- /dev/null +++ b/structlspserver_1_1ExecuteCommandParams.html @@ -0,0 +1,156 @@ + + + + + + + +nixd: lspserver::ExecuteCommandParams Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    lspserver::ExecuteCommandParams Struct Reference
    +
    +
    + +

    #include <Protocol.h>

    +
    +Inheritance diagram for lspserver::ExecuteCommandParams:
    +
    +
    +
    [legend]
    +
    +Collaboration 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 1026 of file lspserver/include/lspserver/Protocol.h.

    +

    Member Data Documentation

    + +

    ◆ argument

    + +
    +
    + + + + +
    llvm::json::Value lspserver::ExecuteCommandParams::argument = nullptr
    +
    + +

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

    + +

    Referenced by lspserver::fromJSON().

    + +
    +
    + +

    ◆ command

    + +
    +
    + + + + +
    std::string lspserver::ExecuteCommandParams::command
    +
    + +

    The identifier of the actual command handler.

    + +

    Definition at line 1028 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_1ExecuteCommandParams__coll__graph.map b/structlspserver_1_1ExecuteCommandParams__coll__graph.map new file mode 100644 index 000000000..1fbac98f0 --- /dev/null +++ b/structlspserver_1_1ExecuteCommandParams__coll__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/structlspserver_1_1ExecuteCommandParams__coll__graph.md5 b/structlspserver_1_1ExecuteCommandParams__coll__graph.md5 new file mode 100644 index 000000000..e4a5679d2 --- /dev/null +++ b/structlspserver_1_1ExecuteCommandParams__coll__graph.md5 @@ -0,0 +1 @@ +ed57f15221e20c0b94a26fd0bcf16dcd \ No newline at end of file diff --git a/structlspserver_1_1ExecuteCommandParams__coll__graph.svg b/structlspserver_1_1ExecuteCommandParams__coll__graph.svg new file mode 100644 index 000000000..c7937aa92 --- /dev/null +++ b/structlspserver_1_1ExecuteCommandParams__coll__graph.svg @@ -0,0 +1,41 @@ + + + + + + +lspserver::ExecuteCommandParams + + +Node1 + + +lspserver::ExecuteCommand +Params + + + + + +Node2 + + +Value + + + + + +Node2->Node1 + + + + + + argument + + + 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..a13d39475 --- /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..2736f39fd --- /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 793 of file lspserver/include/lspserver/Protocol.h.

    +

    Member Data Documentation

    + +

    ◆ type

    + +
    +
    + + + + +
    FileChangeType lspserver::FileEvent::type = FileChangeType::Created
    +
    + +

    The change type.

    + +

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

    + +

    Referenced by lspserver::fromJSON().

    + +
    +
    + +

    ◆ uri

    + +
    +
    + + + + +
    URIForFile lspserver::FileEvent::uri
    +
    + +

    The file's URI.

    + +

    Definition at line 795 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..35b4e5164 --- /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..1c2af6511 --- /dev/null +++ b/structlspserver_1_1FileStatus.html @@ -0,0 +1,149 @@ + + + + + + + +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 1667 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 1672 of file lspserver/include/lspserver/Protocol.h.

    + +
    +
    + +

    ◆ uri

    + +
    +
    + + + + +
    URIForFile lspserver::FileStatus::uri
    +
    + +

    The text document's URI.

    + +

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

    + +
    +
    +
    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..56b6e79c4 --- /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..fa927c44d --- /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 1825 of file lspserver/include/lspserver/Protocol.h.

    +

    Member Data Documentation

    + +

    ◆ COMMENT_KIND

    + +
    +
    + + + + + +
    + + + + +
    const llvm::StringLiteral lspserver::FoldingRange::COMMENT_KIND = "comment"
    +
    +static
    +
    + +

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

    + +
    +
    + +

    ◆ endCharacter

    + +
    +
    + + + + +
    unsigned lspserver::FoldingRange::endCharacter
    +
    + +

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

    + +
    +
    + +

    ◆ endLine

    + +
    +
    + + + + +
    unsigned lspserver::FoldingRange::endLine = 0
    +
    + +

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

    + +
    +
    + +

    ◆ IMPORT_KIND

    + +
    +
    + + + + + +
    + + + + +
    const llvm::StringLiteral lspserver::FoldingRange::IMPORT_KIND = "import"
    +
    +static
    +
    + +

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

    + +
    +
    + +

    ◆ kind

    + +
    +
    + + + + +
    std::string lspserver::FoldingRange::kind
    +
    + +

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

    + +
    +
    + +

    ◆ REGION_KIND

    + +
    +
    + + + + + +
    + + + + +
    const llvm::StringLiteral lspserver::FoldingRange::REGION_KIND = "region"
    +
    +static
    +
    + +

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

    + +
    +
    + +

    ◆ startCharacter

    + +
    +
    + + + + +
    unsigned lspserver::FoldingRange::startCharacter
    +
    + +

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

    + +
    +
    + +

    ◆ startLine

    + +
    +
    + + + + +
    unsigned lspserver::FoldingRange::startLine = 0
    +
    + +

    Definition at line 1826 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..be6264160 --- /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 1818 of file lspserver/include/lspserver/Protocol.h.

    +

    Member Data Documentation

    + +

    ◆ textDocument

    + +
    +
    + + + + +
    TextDocumentIdentifier lspserver::FoldingRangeParams::textDocument
    +
    + +

    Definition at line 1819 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..05a977075 --- /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..250aaf731 --- /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::StringRef 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..13597fef1 --- /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::StringRef 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 42 of file LSPBinder.h.

    +

    Member Typedef Documentation

    + +

    ◆ HandlerMap

    + +
    +
    +
    +template<typename HandlerT >
    + + + + +
    using lspserver::HandlerRegistry::HandlerMap = llvm::StringMap<llvm::unique_function<HandlerT>>
    +
    + +

    Definition at line 45 of file LSPBinder.h.

    + +
    +
    + +

    ◆ JSON

    + +
    +
    + + + + +
    using lspserver::HandlerRegistry::JSON = llvm::json::Value
    +
    + +

    Definition at line 43 of file LSPBinder.h.

    + +
    +
    +

    Member Function Documentation

    + +

    ◆ addCommand()

    + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + +
    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 88 of file LSPBinder.h.

    + +

    References CommandHandlers, and lspserver::fromJSON().

    + +
    +
    + +

    ◆ addMethod()

    + +
    +
    + + + + + + +
    + + + + + + + + + + + + + + + + +
    void lspserver::HandlerRegistry::addMethod (llvm::StringRef 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 57 of file LSPBinder.h.

    + +

    References lspserver::fromJSON(), 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 73 of file LSPBinder.h.

    + +

    References lspserver::fromJSON(), lspserver::Method, and NotificationHandlers.

    + +

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

    + +
    +
    +

    Member Data Documentation

    + +

    ◆ CommandHandlers

    + +
    +
    + + + + +
    HandlerMap<void(JSON, Callback<JSON>)> lspserver::HandlerRegistry::CommandHandlers
    +
    + +

    Definition at line 49 of file LSPBinder.h.

    + +

    Referenced by addCommand().

    + +
    +
    + +

    ◆ MethodHandlers

    + +
    +
    + + + + +
    HandlerMap<void(JSON, Callback<JSON>)> lspserver::HandlerRegistry::MethodHandlers
    +
    + +

    Definition at line 48 of file LSPBinder.h.

    + +

    Referenced by addMethod().

    + +
    +
    + +

    ◆ NotificationHandlers

    + +
    +
    + + + + +
    HandlerMap<void(JSON)> lspserver::HandlerRegistry::NotificationHandlers
    +
    + +

    Definition at line 47 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..3ff59ef3d --- /dev/null +++ b/structlspserver_1_1Hover.html @@ -0,0 +1,148 @@ + + + + + + + +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 1207 of file lspserver/include/lspserver/Protocol.h.

    +

    Member Data Documentation

    + +

    ◆ contents

    + +
    +
    + + + + +
    MarkupContent lspserver::Hover::contents
    +
    + +

    The hover's content.

    + +

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

    + +
    +
    + +

    ◆ 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 1213 of file lspserver/include/lspserver/Protocol.h.

    + +
    +
    +
    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..05d3b0991 --- /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..222ea039b --- /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 1751 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 1755 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 1753 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..dbf01ef31 --- /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..031f7623d --- /dev/null +++ b/structlspserver_1_1InitializationOptions.html @@ -0,0 +1,184 @@ + + + + + + + +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 568 of file lspserver/include/lspserver/Protocol.h.

    +

    Member Data Documentation

    + +

    ◆ compilationDatabasePath

    + +
    +
    + + + + +
    std::optional<std::string> lspserver::InitializationOptions::compilationDatabasePath
    +
    + +

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

    + +
    +
    + +

    ◆ ConfigSettings

    + +
    +
    + + + + +
    ConfigurationSettings lspserver::InitializationOptions::ConfigSettings
    +
    + +

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

    + +
    +
    + +

    ◆ fallbackFlags

    + +
    +
    + + + + +
    std::vector<std::string> lspserver::InitializationOptions::fallbackFlags
    +
    + +

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

    + +
    +
    + +

    ◆ FileStatus

    + +
    +
    + + + + +
    bool lspserver::InitializationOptions::FileStatus = false
    +
    + +

    Clients supports show file status for textDocument/clangd.fileStatus.

    + +

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

    + +
    +
    +
    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..8d2d5b30d --- /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..3e0c62f17 --- /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< intprocessId
     
    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 585 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 607 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::fromJSON().

    + +
    +
    + +

    ◆ initializationOptions

    + +
    +
    + + + + +
    InitializationOptions lspserver::InitializeParams::initializationOptions
    +
    + +

    User-provided initialization options.

    + +

    Definition at line 615 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 590 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 609 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 596 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 601 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 612 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..4a60ee28a --- /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..a699eaa4a --- /dev/null +++ b/structlspserver_1_1InlayHint.html @@ -0,0 +1,232 @@ + + + + + + + +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 1615 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 1627 of file lspserver/include/lspserver/Protocol.h.

    + +
    +
    + +

    ◆ 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 1623 of file lspserver/include/lspserver/Protocol.h.

    + +
    +
    + +

    ◆ 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 1634 of file lspserver/include/lspserver/Protocol.h.

    + +
    +
    + +

    ◆ 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 1641 of file lspserver/include/lspserver/Protocol.h.

    + +
    +
    + +

    ◆ position

    + +
    +
    + + + + +
    Position lspserver::InlayHint::position
    +
    + +

    The position of this hint.

    + +

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

    + +
    +
    + +

    ◆ 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 1648 of file lspserver/include/lspserver/Protocol.h.

    + +
    +
    +
    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..83386fe05 --- /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..dded9b11f --- /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 1571 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 1579 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::fromJSON().

    + +
    +
    + +

    ◆ textDocument

    + +
    +
    + + + + +
    TextDocumentIdentifier lspserver::InlayHintsParams::textDocument
    +
    + +

    The text document.

    + +

    Definition at line 1573 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..81b962e8a --- /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..4e70da0bf --- /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 944 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..6bf0715b8 --- /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::fromJSON(), 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..aba5ca451 --- /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..d7d9329c8 --- /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..57af7c249 --- /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..daf225862 --- /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 1200 of file lspserver/include/lspserver/Protocol.h.

    +

    Member Data Documentation

    + +

    ◆ kind

    + +
    +
    + + + + +
    MarkupKind lspserver::MarkupContent::kind = MarkupKind::PlainText
    +
    + +

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

    + +

    Referenced by lspserver::fromJSON().

    + +
    +
    + +

    ◆ value

    + +
    +
    + + + + +
    std::string lspserver::MarkupContent::value
    +
    + +

    Definition at line 1202 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_1NoParams.html b/structlspserver_1_1NoParams.html new file mode 100644 index 000000000..22a0d2f14 --- /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 298 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..f336c17aa --- /dev/null +++ b/structlspserver_1_1ParameterInformation.html @@ -0,0 +1,168 @@ + + + + + + + +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 1316 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 1328 of file lspserver/include/lspserver/Protocol.h.

    + +
    +
    + +

    ◆ 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 1325 of file lspserver/include/lspserver/Protocol.h.

    + +
    +
    + +

    ◆ labelString

    + +
    +
    + + + + +
    std::string lspserver::ParameterInformation::labelString
    +
    + +

    The label of this parameter. Ignored when labelOffsets is set.

    + +

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

    + +
    +
    +
    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..1672a221d --- /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(), lspserver::toJSON(), and nixd::toNixfPosition().

    + +
    +
    + +

    ◆ line

    + +
    +
    + + + + +
    int lspserver::Position::line = 0
    +
    +
    +
    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..c43101c48 --- /dev/null +++ b/structlspserver_1_1ProgressParams.html @@ -0,0 +1,159 @@ + + + + + + + +nixd: lspserver::ProgressParams< T > Struct Template Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    lspserver::ProgressParams< T > Struct Template Reference
    +
    +
    + +

    #include <Protocol.h>

    +
    +Collaboration diagram for lspserver::ProgressParams< T >:
    +
    +
    +
    [legend]
    + + + + + + + + +

    +Public Attributes

    llvm::json::Value token = nullptr
     The progress token provided by the client or server.
     
    T value
     The progress data.
     
    +

    Detailed Description

    +
    template<typename T>
    +struct lspserver::ProgressParams< T >
    +

    Definition at line 625 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 627 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 630 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_1ProgressParams__coll__graph.map b/structlspserver_1_1ProgressParams__coll__graph.map new file mode 100644 index 000000000..47fc303e2 --- /dev/null +++ b/structlspserver_1_1ProgressParams__coll__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/structlspserver_1_1ProgressParams__coll__graph.md5 b/structlspserver_1_1ProgressParams__coll__graph.md5 new file mode 100644 index 000000000..82818a2d3 --- /dev/null +++ b/structlspserver_1_1ProgressParams__coll__graph.md5 @@ -0,0 +1 @@ +ad49141195b3649b4918f1bfa88f9f8d \ No newline at end of file diff --git a/structlspserver_1_1ProgressParams__coll__graph.svg b/structlspserver_1_1ProgressParams__coll__graph.svg new file mode 100644 index 000000000..f1cbf34f9 --- /dev/null +++ b/structlspserver_1_1ProgressParams__coll__graph.svg @@ -0,0 +1,40 @@ + + + + + + +lspserver::ProgressParams< T > + + +Node1 + + +lspserver::ProgressParams< T > + + + + + +Node2 + + +Value + + + + + +Node2->Node1 + + + + + + token + + + 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..4b2e92f01 --- /dev/null +++ b/structlspserver_1_1PublishDiagnosticsParams.html @@ -0,0 +1,171 @@ + + + + + + + +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_tversion
     The version number of the document the diagnostics are published for.
     
    +

    Detailed Description

    +
    +

    Definition at line 952 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 956 of file lspserver/include/lspserver/Protocol.h.

    + +
    +
    + +

    ◆ uri

    + +
    +
    + + + + +
    URIForFile lspserver::PublishDiagnosticsParams::uri
    +
    + +

    The URI for which diagnostic information is reported.

    + +

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

    + +
    +
    + +

    ◆ version

    + +
    +
    + + + + +
    std::optional<int64_t> lspserver::PublishDiagnosticsParams::version
    +
    + +

    The version number of the document the diagnostics are published for.

    + +

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

    + +
    +
    +
    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..9c81feccd --- /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..975ac193e --- /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, lspserver::fromJSON(), 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
    +
    +
    + +

    ◆ start

    + +
    +
    + + + + +
    Position lspserver::Range::start
    +
    +
    +
    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..1e58fdc3b --- /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..5046411dd --- /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 1655 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 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_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..5b882de3f --- /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 215 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 218 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_1ReferenceLocation__coll__graph.map b/structlspserver_1_1ReferenceLocation__coll__graph.map new file mode 100644 index 000000000..5f7b2aef1 --- /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..d8d93bca1 --- /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..9d97beeac --- /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..29b25888e --- /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 1660 of file lspserver/include/lspserver/Protocol.h.

    +

    Member Data Documentation

    + +

    ◆ context

    + +
    +
    + + + + +
    ReferenceContext lspserver::ReferenceParams::context
    +
    + +

    Definition at line 1661 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..fd78b479a --- /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..42cdc66e7 --- /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..5a88a5013 --- /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..f3c07be58 --- /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 1369 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 1377 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 1374 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::fromJSON().

    + +
    +
    + +

    ◆ textDocument

    + +
    +
    + + + + +
    TextDocumentIdentifier lspserver::RenameParams::textDocument
    +
    + +

    The document that was opened.

    + +

    Definition at line 1371 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..0ce47952f --- /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..91f6e67bc --- /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 1480 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 1488 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::fromJSON().

    + +
    +
    + +

    ◆ item

    + +
    +
    + + + + +
    TypeHierarchyItem lspserver::ResolveTypeHierarchyItemParams::item
    +
    + +

    The item to resolve.

    + +

    Definition at line 1482 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 1485 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..37908f00e --- /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..8b2f9c76a --- /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..b5ebba526 --- /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 1769 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 1778 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 1773 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..4c1a5d251 --- /dev/null +++ b/structlspserver_1_1SelectionRangeParams.html @@ -0,0 +1,150 @@ + + + + + + + +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 1759 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 1764 of file lspserver/include/lspserver/Protocol.h.

    + +
    +
    + +

    ◆ textDocument

    + +
    +
    + + + + +
    TextDocumentIdentifier lspserver::SelectionRangeParams::textDocument
    +
    + +

    The text document.

    + +

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

    + +
    +
    +
    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..19f2681bf --- /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..e83d2de87 --- /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..8e7badcf5 --- /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 1680 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 1682 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 1685 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 1687 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 1691 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 1689 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..91dc8352a --- /dev/null +++ b/structlspserver_1_1SemanticTokens.html @@ -0,0 +1,146 @@ + + + + + + + +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 1696 of file lspserver/include/lspserver/Protocol.h.

    +

    Member Data Documentation

    + +

    ◆ resultId

    + +
    +
    + + + + +
    std::string lspserver::SemanticTokens::resultId
    +
    + +

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

    + +
    +
    + +

    ◆ tokens

    + +
    +
    + + + + +
    std::vector<SemanticToken> lspserver::SemanticTokens::tokens
    +
    + +

    The actual tokens.

    + +

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

    + +
    +
    +
    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..f00844156 --- /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 1718 of file lspserver/include/lspserver/Protocol.h.

    +

    Member Data Documentation

    + +

    ◆ previousResultId

    + +
    +
    + + + + +
    std::string lspserver::SemanticTokensDeltaParams::previousResultId
    +
    + +

    The previous result id.

    + +

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

    + +

    Referenced by lspserver::fromJSON().

    + +
    +
    + +

    ◆ textDocument

    + +
    +
    + + + + +
    TextDocumentIdentifier lspserver::SemanticTokensDeltaParams::textDocument
    +
    + +

    The text document.

    + +

    Definition at line 1720 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..e0481b9e9 --- /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..340786466 --- /dev/null +++ b/structlspserver_1_1SemanticTokensEdit.html @@ -0,0 +1,161 @@ + + + + + + + +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 1728 of file lspserver/include/lspserver/Protocol.h.

    +

    Member Data Documentation

    + +

    ◆ deleteTokens

    + +
    +
    + + + + +
    unsigned lspserver::SemanticTokensEdit::deleteTokens = 0
    +
    + +

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

    + +
    +
    + +

    ◆ startToken

    + +
    +
    + + + + +
    unsigned lspserver::SemanticTokensEdit::startToken = 0
    +
    + +

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

    + +
    +
    + +

    ◆ tokens

    + +
    +
    + + + + +
    std::vector<SemanticToken> lspserver::SemanticTokensEdit::tokens
    +
    + +

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

    + +
    +
    +
    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..e38602c7f --- /dev/null +++ b/structlspserver_1_1SemanticTokensOrDelta.html @@ -0,0 +1,164 @@ + + + + + + + +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 1740 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 1743 of file lspserver/include/lspserver/Protocol.h.

    + +
    +
    + +

    ◆ resultId

    + +
    +
    + + + + +
    std::string lspserver::SemanticTokensOrDelta::resultId
    +
    + +

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

    + +
    +
    + +

    ◆ tokens

    + +
    +
    + + + + +
    std::optional<std::vector<SemanticToken> > lspserver::SemanticTokensOrDelta::tokens
    +
    + +

    Set if we computed a fresh set of tokens.

    + +

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

    + +
    +
    +
    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..73caa712f --- /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 1709 of file lspserver/include/lspserver/Protocol.h.

    +

    Member Data Documentation

    + +

    ◆ textDocument

    + +
    +
    + + + + +
    TextDocumentIdentifier lspserver::SemanticTokensParams::textDocument
    +
    + +

    The text document.

    + +

    Definition at line 1711 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..46733431e --- /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..e2b06c0b2 --- /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 716 of file lspserver/include/lspserver/Protocol.h.

    +

    Member Data Documentation

    + +

    ◆ message

    + +
    +
    + + + + +
    std::string lspserver::ShowMessageParams::message
    +
    + +

    The actual message.

    + +

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

    + +

    Referenced by lspserver::toJSON().

    + +
    +
    + +

    ◆ type

    + +
    +
    + + + + +
    MessageType lspserver::ShowMessageParams::type = MessageType::Info
    +
    + +

    The message type.

    + +

    Definition at line 718 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..96079ee19 --- /dev/null +++ b/structlspserver_1_1SignatureHelp.html @@ -0,0 +1,194 @@ + + + + + + + +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 1349 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 1358 of file lspserver/include/lspserver/Protocol.h.

    + +
    +
    + +

    ◆ activeSignature

    + +
    +
    + + + + +
    int lspserver::SignatureHelp::activeSignature = 0
    +
    + +

    The active signature.

    + +

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

    + +
    +
    + +

    ◆ 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 1365 of file lspserver/include/lspserver/Protocol.h.

    + +
    +
    + +

    ◆ signatures

    + +
    +
    + + + + +
    std::vector<SignatureInformation> lspserver::SignatureHelp::signatures
    +
    + +

    The resulting signatures.

    + +

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

    + +
    +
    +
    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..723051743 --- /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..594c1e166 --- /dev/null +++ b/structlspserver_1_1SignatureInformation.html @@ -0,0 +1,175 @@ + + + + + + + +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 1333 of file lspserver/include/lspserver/Protocol.h.

    +

    Member Data Documentation

    + +

    ◆ documentation

    + +
    +
    + + + + +
    MarkupContent lspserver::SignatureInformation::documentation
    +
    + +

    The documentation of this signature. Optional.

    + +

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

    + +
    +
    + +

    ◆ label

    + +
    +
    + + + + +
    std::string lspserver::SignatureInformation::label
    +
    + +

    The label of this signature. Mandatory.

    + +

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

    + +
    +
    + +

    ◆ parameters

    + +
    +
    + + + + +
    std::vector<ParameterInformation> lspserver::SignatureInformation::parameters
    +
    + +

    The parameters of this signature.

    + +

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

    + +
    +
    +
    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..567767420 --- /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..e35b55ff0 --- /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< floatscore
     
    +

    Detailed Description

    +

    Represents information about programming constructs like variables, classes, interfaces etc.

    + +

    Definition at line 1112 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 1123 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::toJSON().

    + +
    +
    + +

    ◆ kind

    + +
    +
    + + + + +
    SymbolKind lspserver::SymbolInformation::kind
    +
    + +

    The kind of this symbol.

    + +

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

    + +

    Referenced by lspserver::toJSON().

    + +
    +
    + +

    ◆ location

    + +
    +
    + + + + +
    Location lspserver::SymbolInformation::location
    +
    + +

    The location of this symbol.

    + +

    Definition at line 1120 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 1114 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by 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 1131 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..fc4b7351d --- /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..9441fc46b --- /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..a24aea519 --- /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< intrangeLength
     The length of the range that got replaced.
     
    std::string text
     The new text of the range/document.
     
    +

    Detailed Description

    +
    +

    Definition at line 745 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 747 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::fromJSON().

    + +
    +
    + +

    ◆ rangeLength

    + +
    +
    + + + + +
    std::optional<int> lspserver::TextDocumentContentChangeEvent::rangeLength
    +
    + +

    The length of the range that got replaced.

    + +

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

    + +

    Referenced by lspserver::fromJSON().

    + +
    +
    + +

    ◆ text

    + +
    +
    + + + + +
    std::string lspserver::TextDocumentContentChangeEvent::text
    +
    + +

    The new text of the range/document.

    + +

    Definition at line 753 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_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..41d32fdfe --- /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 262 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 268 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 264 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..459714c4d --- /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..bac85f554 --- /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..4697c1a38 --- /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..4d939e60b --- /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_tversion
     
    std::string text
     The content of the opened text document.
     
    +

    Detailed Description

    +
    +

    Definition at line 273 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 278 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 287 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::fromJSON().

    + +
    +
    + +

    ◆ uri

    + +
    +
    + + + + +
    URIForFile lspserver::TextDocumentItem::uri
    +
    + +

    The text document's URI.

    + +

    Definition at line 275 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 284 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..0b532eed2 --- /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..4d9f67f57 --- /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 1161 of file lspserver/include/lspserver/Protocol.h.

    +

    Member Data Documentation

    + +

    ◆ position

    + +
    +
    + + + + +
    Position lspserver::TextDocumentPositionParams::position
    +
    + +

    The position inside the text document.

    + +

    Definition at line 1166 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 1163 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..7415ef383 --- /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..3de38d958 --- /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..09823d4d4 --- /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..f2b0b8e65 --- /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 225 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 236 of file lspserver/include/lspserver/Protocol.h.

    + +

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

    + +
    +
    + +

    ◆ newText

    + +
    +
    + + + + +
    std::string lspserver::TextEdit::newText
    +
    +

    The string to be inserted. For delete operations use an empty string.

    + +

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

    + +

    Referenced by lspserver::fromJSON(), 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 228 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::fromJSON(), 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..41766845a --- /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..6c757deb2 --- /dev/null +++ b/structlspserver_1_1TweakArgs.html @@ -0,0 +1,172 @@ + + + + + + + +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 1015 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 1017 of file lspserver/include/lspserver/Protocol.h.

    + +
    +
    + +

    ◆ selection

    + +
    +
    + + + + +
    Range lspserver::TweakArgs::selection
    +
    + +

    A selection provided by the client on a textDocument/codeAction request.

    + +

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

    + +
    +
    + +

    ◆ tweakID

    + +
    +
    + + + + +
    std::string lspserver::TweakArgs::tweakID
    +
    + +

    ID of the tweak that should be executed. Corresponds to Tweak::id().

    + +

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

    + +
    +
    +
    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..051e902d3 --- /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..5962f46d3 --- /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..9b8d2085e --- /dev/null +++ b/structlspserver_1_1TypeHierarchyItem.html @@ -0,0 +1,315 @@ + + + + + + + +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 1428 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 1471 of file lspserver/include/lspserver/Protocol.h.

    + +
    +
    + +

    ◆ 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 1458 of file lspserver/include/lspserver/Protocol.h.

    + +
    +
    + +

    ◆ deprecated

    + +
    +
    + + + + +
    bool lspserver::TypeHierarchyItem::deprecated = false
    +
    +

    true if the hierarchy item is deprecated. Otherwise, false. This is a clangd exntesion.

    + +

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

    + +
    +
    + +

    ◆ detail

    + +
    +
    + + + + +
    std::optional<std::string> lspserver::TypeHierarchyItem::detail
    +
    + +

    More detail for this item, e.g. the signature of a function.

    + +

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

    + +
    +
    + +

    ◆ kind

    + +
    +
    + + + + +
    SymbolKind lspserver::TypeHierarchyItem::kind
    +
    + +

    The kind of this item.

    + +

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

    + +
    +
    + +

    ◆ name

    + +
    +
    + + + + +
    std::string lspserver::TypeHierarchyItem::name
    +
    + +

    The name of this item.

    + +

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

    + +
    +
    + +

    ◆ parents

    + +
    +
    + + + + +
    std::optional<std::vector<TypeHierarchyItem> > lspserver::TypeHierarchyItem::parents
    +
    + +

    This is a clangd exntesion.

    + +

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

    + +
    +
    + +

    ◆ 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 1443 of file lspserver/include/lspserver/Protocol.h.

    + +
    +
    + +

    ◆ 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 1447 of file lspserver/include/lspserver/Protocol.h.

    + +
    +
    + +

    ◆ uri

    + +
    +
    + + + + +
    URIForFile lspserver::TypeHierarchyItem::uri
    +
    + +

    The resource identifier of this item.

    + +

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

    + +
    +
    +
    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..90e3e24ff --- /dev/null +++ b/structlspserver_1_1TypeHierarchyItem_1_1ResolveParams.html @@ -0,0 +1,128 @@ + + + + + + + +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 1450 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 1452 of file lspserver/include/lspserver/Protocol.h.

    + +
    +
    +
    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..bcddd24eb --- /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..1e1251403 --- /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..aa781d945 --- /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 1416 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 1423 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 1419 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..f5a3addcc --- /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..9fedf4adf --- /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..79c4ac256 --- /dev/null +++ b/structlspserver_1_1URIForFile.html @@ -0,0 +1,409 @@ + + + + + + + +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::fromJSON(), 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::fromJSON(), 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..c2d0e4715 --- /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..1cf8167ea --- /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..bfc3f35ce --- /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 637 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 647 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 658 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 642 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..849826850 --- /dev/null +++ b/structlspserver_1_1WorkDoneProgressCreateParams.html @@ -0,0 +1,131 @@ + + + + + + + +nixd: lspserver::WorkDoneProgressCreateParams Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    lspserver::WorkDoneProgressCreateParams Struct Reference
    +
    +
    + +

    #include <Protocol.h>

    +
    +Collaboration diagram for lspserver::WorkDoneProgressCreateParams:
    +
    +
    +
    [legend]
    + + + + + +

    +Public Attributes

    llvm::json::Value token = nullptr
     The token to be used to report progress.
     
    +

    Detailed Description

    +
    +

    Definition at line 619 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 621 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__coll__graph.map b/structlspserver_1_1WorkDoneProgressCreateParams__coll__graph.map new file mode 100644 index 000000000..91721ae8f --- /dev/null +++ b/structlspserver_1_1WorkDoneProgressCreateParams__coll__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/structlspserver_1_1WorkDoneProgressCreateParams__coll__graph.md5 b/structlspserver_1_1WorkDoneProgressCreateParams__coll__graph.md5 new file mode 100644 index 000000000..e08f10586 --- /dev/null +++ b/structlspserver_1_1WorkDoneProgressCreateParams__coll__graph.md5 @@ -0,0 +1 @@ +a87aa01092285436712e8a033bdfb164 \ No newline at end of file diff --git a/structlspserver_1_1WorkDoneProgressCreateParams__coll__graph.svg b/structlspserver_1_1WorkDoneProgressCreateParams__coll__graph.svg new file mode 100644 index 000000000..67645b6b4 --- /dev/null +++ b/structlspserver_1_1WorkDoneProgressCreateParams__coll__graph.svg @@ -0,0 +1,41 @@ + + + + + + +lspserver::WorkDoneProgressCreateParams + + +Node1 + + +lspserver::WorkDoneProgress +CreateParams + + + + + +Node2 + + +Value + + + + + +Node2->Node1 + + + + + + token + + + 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..8eb86095f --- /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 695 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 698 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..d8bffb38d --- /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< boolcancellable
     
    std::optional< std::string > message
     
    std::optional< unsignedpercentage
     
    +

    Detailed Description

    +

    Reporting progress is done using the following payload.

    + +

    Definition at line 663 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 675 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 682 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 690 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 668 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..fa7b62708 --- /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 994 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 1006 of file lspserver/include/lspserver/Protocol.h.

    + +

    Referenced by lspserver::fromJSON().

    + +
    +
    + +

    ◆ changes

    + +
    +
    + + + + +
    std::optional<std::map<std::string, std::vector<TextEdit> > > lspserver::WorkspaceEdit::changes
    +
    + +

    Holds changes to existing resources.

    + +

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

    + +

    Referenced by lspserver::fromJSON().

    + +
    +
    + +

    ◆ 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 1002 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_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..f4aa9cc2e --- /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< intlimit
     
    +

    Detailed Description

    +

    The parameters of a Workspace Symbol Request.

    + +

    Definition at line 1137 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 1144 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 1140 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/structnixd_1_1AttrPathCompleteParams-members.html b/structnixd_1_1AttrPathCompleteParams-members.html new file mode 100644 index 000000000..d439375e2 --- /dev/null +++ b/structnixd_1_1AttrPathCompleteParams-members.html @@ -0,0 +1,92 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    nixd::AttrPathCompleteParams Member List
    +
    +
    + +

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

    + + + +
    Prefixnixd::AttrPathCompleteParams
    Scopenixd::AttrPathCompleteParams
    + + + + diff --git a/structnixd_1_1AttrPathCompleteParams.html b/structnixd_1_1AttrPathCompleteParams.html new file mode 100644 index 000000000..4cbcac22d --- /dev/null +++ b/structnixd_1_1AttrPathCompleteParams.html @@ -0,0 +1,146 @@ + + + + + + + +nixd: nixd::AttrPathCompleteParams Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    nixd::AttrPathCompleteParams Struct Reference
    +
    +
    + +

    #include <AttrSet.h>

    + + + + + + + +

    +Public Attributes

    Selector Scope
     
    std::string Prefix
     Search for packages prefixed with this "prefix".
     
    +

    Detailed Description

    +
    +

    Definition at line 93 of file AttrSet.h.

    +

    Member Data Documentation

    + +

    ◆ Prefix

    + +
    +
    + + + + +
    std::string nixd::AttrPathCompleteParams::Prefix
    +
    + +

    Search for packages prefixed with this "prefix".

    + +

    Definition at line 96 of file AttrSet.h.

    + +

    Referenced by nixd::fromJSON().

    + +
    +
    + +

    ◆ Scope

    + +
    +
    + + + + +
    Selector nixd::AttrPathCompleteParams::Scope
    +
    + +

    Definition at line 94 of file AttrSet.h.

    + +

    Referenced by nixd::fromJSON().

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structnixd_1_1AttrPathInfoResponse-members.html b/structnixd_1_1AttrPathInfoResponse-members.html new file mode 100644 index 000000000..da5f4cea7 --- /dev/null +++ b/structnixd_1_1AttrPathInfoResponse-members.html @@ -0,0 +1,92 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    nixd::AttrPathInfoResponse Member List
    +
    +
    + +

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

    + + + +
    Metanixd::AttrPathInfoResponse
    PackageDescnixd::AttrPathInfoResponse
    + + + + diff --git a/structnixd_1_1AttrPathInfoResponse.html b/structnixd_1_1AttrPathInfoResponse.html new file mode 100644 index 000000000..61d945ed9 --- /dev/null +++ b/structnixd_1_1AttrPathInfoResponse.html @@ -0,0 +1,154 @@ + + + + + + + +nixd: nixd::AttrPathInfoResponse Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    nixd::AttrPathInfoResponse Struct Reference
    +
    +
    + +

    #include <AttrSet.h>

    +
    +Collaboration diagram for nixd::AttrPathInfoResponse:
    +
    +
    +
    [legend]
    + + + + + + + + +

    +Public Attributes

    ValueMeta Meta
     General value description.
     
    PackageDescription PackageDesc
     Package description of the attribute path, if available.
     
    +

    Detailed Description

    +
    +

    Definition at line 81 of file AttrSet.h.

    +

    Member Data Documentation

    + +

    ◆ Meta

    + +
    +
    + + + + +
    ValueMeta nixd::AttrPathInfoResponse::Meta
    +
    + +

    General value description.

    + +

    Definition at line 83 of file AttrSet.h.

    + +

    Referenced by nixd::fromJSON().

    + +
    +
    + +

    ◆ PackageDesc

    + +
    +
    + + + + +
    PackageDescription nixd::AttrPathInfoResponse::PackageDesc
    +
    + +

    Package description of the attribute path, if available.

    + +

    Definition at line 86 of file AttrSet.h.

    + +

    Referenced by nixd::fromJSON().

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structnixd_1_1AttrPathInfoResponse__coll__graph.map b/structnixd_1_1AttrPathInfoResponse__coll__graph.map new file mode 100644 index 000000000..7d0c436f3 --- /dev/null +++ b/structnixd_1_1AttrPathInfoResponse__coll__graph.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/structnixd_1_1AttrPathInfoResponse__coll__graph.md5 b/structnixd_1_1AttrPathInfoResponse__coll__graph.md5 new file mode 100644 index 000000000..3c1929cc9 --- /dev/null +++ b/structnixd_1_1AttrPathInfoResponse__coll__graph.md5 @@ -0,0 +1 @@ +5f11808db6851a9d214e94afb550ef55 \ No newline at end of file diff --git a/structnixd_1_1AttrPathInfoResponse__coll__graph.svg b/structnixd_1_1AttrPathInfoResponse__coll__graph.svg new file mode 100644 index 000000000..f7b494db0 --- /dev/null +++ b/structnixd_1_1AttrPathInfoResponse__coll__graph.svg @@ -0,0 +1,59 @@ + + + + + + +nixd::AttrPathInfoResponse + + +Node1 + + +nixd::AttrPathInfoResponse + + + + + +Node2 + + +nixd::ValueMeta + + + + + +Node2->Node1 + + + + + + Meta + + + +Node3 + + +nixd::PackageDescription + + + + + +Node3->Node1 + + + + + + PackageDesc + + + diff --git a/structnixd_1_1CannotFindVarException-members.html b/structnixd_1_1CannotFindVarException-members.html new file mode 100644 index 000000000..077a52862 --- /dev/null +++ b/structnixd_1_1CannotFindVarException-members.html @@ -0,0 +1,91 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    nixd::CannotFindVarException Member List
    +
    +
    + +

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

    + + +
    what() const noexcept overridenixd::CannotFindVarExceptioninline
    + + + + diff --git a/structnixd_1_1CannotFindVarException.html b/structnixd_1_1CannotFindVarException.html new file mode 100644 index 000000000..0c50f4395 --- /dev/null +++ b/structnixd_1_1CannotFindVarException.html @@ -0,0 +1,142 @@ + + + + + + + +nixd: nixd::CannotFindVarException Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    nixd::CannotFindVarException Struct Reference
    +
    +
    + +

    #include <Definition.h>

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

    +Public Member Functions

    const charwhat () const noexcept override
     
    +

    Detailed Description

    +
    +

    Definition at line 10 of file Definition.h.

    +

    Member Function Documentation

    + +

    ◆ what()

    + +
    +
    + + + + + +
    + + + + + + + +
    const char * nixd::CannotFindVarException::what () const
    +
    +inlineoverridenoexcept
    +
    + +

    Definition at line 11 of file Definition.h.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structnixd_1_1CannotFindVarException__coll__graph.map b/structnixd_1_1CannotFindVarException__coll__graph.map new file mode 100644 index 000000000..f5f2ea3cc --- /dev/null +++ b/structnixd_1_1CannotFindVarException__coll__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/structnixd_1_1CannotFindVarException__coll__graph.md5 b/structnixd_1_1CannotFindVarException__coll__graph.md5 new file mode 100644 index 000000000..56ed886f6 --- /dev/null +++ b/structnixd_1_1CannotFindVarException__coll__graph.md5 @@ -0,0 +1 @@ +b4106cfb3561f43f6f5e014e00db8592 \ No newline at end of file diff --git a/structnixd_1_1CannotFindVarException__coll__graph.svg b/structnixd_1_1CannotFindVarException__coll__graph.svg new file mode 100644 index 000000000..b9f5e5e43 --- /dev/null +++ b/structnixd_1_1CannotFindVarException__coll__graph.svg @@ -0,0 +1,39 @@ + + + + + + +nixd::CannotFindVarException + + +Node1 + + +nixd::CannotFindVarException + + + + + +Node2 + + +std::exception + + + + + +Node2->Node1 + + + + + + + + diff --git a/structnixd_1_1CannotFindVarException__inherit__graph.map b/structnixd_1_1CannotFindVarException__inherit__graph.map new file mode 100644 index 000000000..f5f2ea3cc --- /dev/null +++ b/structnixd_1_1CannotFindVarException__inherit__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/structnixd_1_1CannotFindVarException__inherit__graph.md5 b/structnixd_1_1CannotFindVarException__inherit__graph.md5 new file mode 100644 index 000000000..56ed886f6 --- /dev/null +++ b/structnixd_1_1CannotFindVarException__inherit__graph.md5 @@ -0,0 +1 @@ +b4106cfb3561f43f6f5e014e00db8592 \ No newline at end of file diff --git a/structnixd_1_1CannotFindVarException__inherit__graph.svg b/structnixd_1_1CannotFindVarException__inherit__graph.svg new file mode 100644 index 000000000..b9f5e5e43 --- /dev/null +++ b/structnixd_1_1CannotFindVarException__inherit__graph.svg @@ -0,0 +1,39 @@ + + + + + + +nixd::CannotFindVarException + + +Node1 + + +nixd::CannotFindVarException + + + + + +Node2 + + +std::exception + + + + + +Node2->Node1 + + + + + + + + diff --git a/structnixd_1_1Configuration-members.html b/structnixd_1_1Configuration-members.html new file mode 100644 index 000000000..35ff1755c --- /dev/null +++ b/structnixd_1_1Configuration-members.html @@ -0,0 +1,94 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    nixd::Configuration Member List
    +
    +
    + +

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

    + + + + + +
    diagnosticnixd::Configuration
    formattingnixd::Configuration
    nixpkgsnixd::Configuration
    optionsnixd::Configuration
    + + + + diff --git a/structnixd_1_1Configuration.html b/structnixd_1_1Configuration.html new file mode 100644 index 000000000..8da472225 --- /dev/null +++ b/structnixd_1_1Configuration.html @@ -0,0 +1,186 @@ + + + + + + + +nixd: nixd::Configuration Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    nixd::Configuration Struct Reference
    +
    +
    + +

    #include <Configuration.h>

    +
    +Collaboration diagram for nixd::Configuration:
    +
    +
    +
    [legend]
    + + + + + + + + + + +

    +Classes

    struct  Diagnostic
     
    struct  Formatting
     
    struct  NixpkgsProvider
     
    struct  OptionProvider
     
    + + + + + + + + + +

    +Public Attributes

    struct nixd::Configuration::Formatting formatting
     
    std::map< std::string, OptionProvideroptions
     
    struct nixd::Configuration::NixpkgsProvider nixpkgs
     
    struct nixd::Configuration::Diagnostic diagnostic
     
    +

    Detailed Description

    +
    +

    Definition at line 14 of file Controller/Configuration.h.

    +

    Member Data Documentation

    + +

    ◆ diagnostic

    + +
    +
    + + + + +
    struct nixd::Configuration::Diagnostic nixd::Configuration::diagnostic
    +
    + +
    +
    + +

    ◆ formatting

    + +
    +
    + + + + +
    struct nixd::Configuration::Formatting nixd::Configuration::formatting
    +
    + +
    +
    + +

    ◆ nixpkgs

    + +
    +
    + + + + +
    struct nixd::Configuration::NixpkgsProvider nixd::Configuration::nixpkgs
    +
    + +
    +
    + +

    ◆ options

    + +
    +
    + + + + +
    std::map<std::string, OptionProvider> nixd::Configuration::options
    +
    + +

    Definition at line 24 of file Controller/Configuration.h.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structnixd_1_1Configuration_1_1Diagnostic-members.html b/structnixd_1_1Configuration_1_1Diagnostic-members.html new file mode 100644 index 000000000..9e7eb1fc9 --- /dev/null +++ b/structnixd_1_1Configuration_1_1Diagnostic-members.html @@ -0,0 +1,91 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    nixd::Configuration::Diagnostic Member List
    +
    +
    + +

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

    + + +
    suppressnixd::Configuration::Diagnostic
    + + + + diff --git a/structnixd_1_1Configuration_1_1Diagnostic.html b/structnixd_1_1Configuration_1_1Diagnostic.html new file mode 100644 index 000000000..e0249dcb8 --- /dev/null +++ b/structnixd_1_1Configuration_1_1Diagnostic.html @@ -0,0 +1,121 @@ + + + + + + + +nixd: nixd::Configuration::Diagnostic Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    nixd::Configuration::Diagnostic Struct Reference
    +
    +
    + +

    #include <Configuration.h>

    + + + + +

    +Public Attributes

    std::vector< std::string > suppress
     
    +

    Detailed Description

    +
    +

    Definition at line 31 of file Controller/Configuration.h.

    +

    Member Data Documentation

    + +

    ◆ suppress

    + +
    +
    + + + + +
    std::vector<std::string> nixd::Configuration::Diagnostic::suppress
    +
    + +

    Definition at line 32 of file Controller/Configuration.h.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structnixd_1_1Configuration_1_1Formatting-members.html b/structnixd_1_1Configuration_1_1Formatting-members.html new file mode 100644 index 000000000..970a94942 --- /dev/null +++ b/structnixd_1_1Configuration_1_1Formatting-members.html @@ -0,0 +1,91 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    nixd::Configuration::Formatting Member List
    +
    +
    + +

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

    + + +
    commandnixd::Configuration::Formatting
    + + + + diff --git a/structnixd_1_1Configuration_1_1Formatting.html b/structnixd_1_1Configuration_1_1Formatting.html new file mode 100644 index 000000000..7834e067c --- /dev/null +++ b/structnixd_1_1Configuration_1_1Formatting.html @@ -0,0 +1,121 @@ + + + + + + + +nixd: nixd::Configuration::Formatting Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    nixd::Configuration::Formatting Struct Reference
    +
    +
    + +

    #include <Configuration.h>

    + + + + +

    +Public Attributes

    std::vector< std::string > command = {"nixfmt"}
     
    +

    Detailed Description

    +
    +

    Definition at line 15 of file Controller/Configuration.h.

    +

    Member Data Documentation

    + +

    ◆ command

    + +
    +
    + + + + +
    std::vector<std::string> nixd::Configuration::Formatting::command = {"nixfmt"}
    +
    + +

    Definition at line 16 of file Controller/Configuration.h.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structnixd_1_1Configuration_1_1NixpkgsProvider-members.html b/structnixd_1_1Configuration_1_1NixpkgsProvider-members.html new file mode 100644 index 000000000..a6f49fb78 --- /dev/null +++ b/structnixd_1_1Configuration_1_1NixpkgsProvider-members.html @@ -0,0 +1,91 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    nixd::Configuration::NixpkgsProvider Member List
    +
    +
    + +

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

    + + +
    exprnixd::Configuration::NixpkgsProvider
    + + + + diff --git a/structnixd_1_1Configuration_1_1NixpkgsProvider.html b/structnixd_1_1Configuration_1_1NixpkgsProvider.html new file mode 100644 index 000000000..700f1b637 --- /dev/null +++ b/structnixd_1_1Configuration_1_1NixpkgsProvider.html @@ -0,0 +1,124 @@ + + + + + + + +nixd: nixd::Configuration::NixpkgsProvider Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    nixd::Configuration::NixpkgsProvider Struct Reference
    +
    +
    + +

    #include <Configuration.h>

    + + + + + +

    +Public Attributes

    std::string expr
     Expression to eval. Treat it as "import <nixpkgs> { }".
     
    +

    Detailed Description

    +
    +

    Definition at line 26 of file Controller/Configuration.h.

    +

    Member Data Documentation

    + +

    ◆ expr

    + +
    +
    + + + + +
    std::string nixd::Configuration::NixpkgsProvider::expr
    +
    + +

    Expression to eval. Treat it as "import <nixpkgs> { }".

    + +

    Definition at line 28 of file Controller/Configuration.h.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structnixd_1_1Configuration_1_1OptionProvider-members.html b/structnixd_1_1Configuration_1_1OptionProvider-members.html new file mode 100644 index 000000000..ce4c144b2 --- /dev/null +++ b/structnixd_1_1Configuration_1_1OptionProvider-members.html @@ -0,0 +1,91 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    nixd::Configuration::OptionProvider Member List
    +
    +
    + +

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

    + + +
    exprnixd::Configuration::OptionProvider
    + + + + diff --git a/structnixd_1_1Configuration_1_1OptionProvider.html b/structnixd_1_1Configuration_1_1OptionProvider.html new file mode 100644 index 000000000..a5c07a4bb --- /dev/null +++ b/structnixd_1_1Configuration_1_1OptionProvider.html @@ -0,0 +1,124 @@ + + + + + + + +nixd: nixd::Configuration::OptionProvider Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    nixd::Configuration::OptionProvider Struct Reference
    +
    +
    + +

    #include <Configuration.h>

    + + + + + +

    +Public Attributes

    std::string expr
     Expression to eval. Select this attrset as eval .options.
     
    +

    Detailed Description

    +
    +

    Definition at line 19 of file Controller/Configuration.h.

    +

    Member Data Documentation

    + +

    ◆ expr

    + +
    +
    + + + + +
    std::string nixd::Configuration::OptionProvider::expr
    +
    + +

    Expression to eval. Select this attrset as eval .options.

    + +

    Definition at line 21 of file Controller/Configuration.h.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structnixd_1_1Configuration__coll__graph.map b/structnixd_1_1Configuration__coll__graph.map new file mode 100644 index 000000000..a30b3944a --- /dev/null +++ b/structnixd_1_1Configuration__coll__graph.map @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/structnixd_1_1Configuration__coll__graph.md5 b/structnixd_1_1Configuration__coll__graph.md5 new file mode 100644 index 000000000..a9f895249 --- /dev/null +++ b/structnixd_1_1Configuration__coll__graph.md5 @@ -0,0 +1 @@ +2e2593f7caeea684f3cf00451868c572 \ No newline at end of file diff --git a/structnixd_1_1Configuration__coll__graph.svg b/structnixd_1_1Configuration__coll__graph.svg new file mode 100644 index 000000000..d755d06b0 --- /dev/null +++ b/structnixd_1_1Configuration__coll__graph.svg @@ -0,0 +1,81 @@ + + + + + + +nixd::Configuration + + +Node1 + + +nixd::Configuration + + + + + +Node2 + + +nixd::Configuration +::Formatting + + + + + +Node2->Node1 + + + + + + formatting + + + +Node3 + + +nixd::Configuration +::NixpkgsProvider + + + + + +Node3->Node1 + + + + + + nixpkgs + + + +Node4 + + +nixd::Configuration +::Diagnostic + + + + + +Node4->Node1 + + + + + + diagnostic + + + diff --git a/structnixd_1_1OptionDescription-members.html b/structnixd_1_1OptionDescription-members.html new file mode 100644 index 000000000..917e6f365 --- /dev/null +++ b/structnixd_1_1OptionDescription-members.html @@ -0,0 +1,95 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    nixd::OptionDescription Member List
    +
    + + + + + diff --git a/structnixd_1_1OptionDescription.html b/structnixd_1_1OptionDescription.html new file mode 100644 index 000000000..831bc88ac --- /dev/null +++ b/structnixd_1_1OptionDescription.html @@ -0,0 +1,193 @@ + + + + + + + +nixd: nixd::OptionDescription Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    nixd::OptionDescription Struct Reference
    +
    +
    + +

    #include <AttrSet.h>

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

    +Public Attributes

    std::optional< std::string > Description
     
    std::vector< lspserver::LocationDeclarations
     
    std::vector< lspserver::LocationDefinitions
     
    std::optional< std::string > Example
     
    std::optional< OptionTypeType
     
    +

    Detailed Description

    +
    +

    Definition at line 114 of file AttrSet.h.

    +

    Member Data Documentation

    + +

    ◆ Declarations

    + +
    +
    + + + + +
    std::vector<lspserver::Location> nixd::OptionDescription::Declarations
    +
    + +

    Definition at line 116 of file AttrSet.h.

    + +
    +
    + +

    ◆ Definitions

    + +
    +
    + + + + +
    std::vector<lspserver::Location> nixd::OptionDescription::Definitions
    +
    + +

    Definition at line 117 of file AttrSet.h.

    + +
    +
    + +

    ◆ Description

    + +
    +
    + + + + +
    std::optional<std::string> nixd::OptionDescription::Description
    +
    + +

    Definition at line 115 of file AttrSet.h.

    + +
    +
    + +

    ◆ Example

    + +
    +
    + + + + +
    std::optional<std::string> nixd::OptionDescription::Example
    +
    + +

    Definition at line 118 of file AttrSet.h.

    + +
    +
    + +

    ◆ Type

    + +
    +
    + + + + +
    std::optional<OptionType> nixd::OptionDescription::Type
    +
    + +

    Definition at line 119 of file AttrSet.h.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structnixd_1_1OptionField-members.html b/structnixd_1_1OptionField-members.html new file mode 100644 index 000000000..56bcf197e --- /dev/null +++ b/structnixd_1_1OptionField-members.html @@ -0,0 +1,92 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    nixd::OptionField Member List
    +
    +
    + +

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

    + + + +
    Descriptionnixd::OptionField
    Namenixd::OptionField
    + + + + diff --git a/structnixd_1_1OptionField.html b/structnixd_1_1OptionField.html new file mode 100644 index 000000000..661ace40a --- /dev/null +++ b/structnixd_1_1OptionField.html @@ -0,0 +1,141 @@ + + + + + + + +nixd: nixd::OptionField Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    nixd::OptionField Struct Reference
    +
    +
    + +

    #include <AttrSet.h>

    + + + + + + +

    +Public Attributes

    std::string Name
     
    std::optional< OptionDescriptionDescription
     
    +

    Detailed Description

    +
    +

    Definition at line 126 of file AttrSet.h.

    +

    Member Data Documentation

    + +

    ◆ Description

    + +
    +
    + + + + +
    std::optional<OptionDescription> nixd::OptionField::Description
    +
    + +

    Definition at line 128 of file AttrSet.h.

    + +
    +
    + +

    ◆ Name

    + +
    +
    + + + + +
    std::string nixd::OptionField::Name
    +
    + +

    Definition at line 127 of file AttrSet.h.

    + +

    Referenced by nixd::AttrSetProvider::onOptionComplete().

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structnixd_1_1OptionType-members.html b/structnixd_1_1OptionType-members.html new file mode 100644 index 000000000..5c3b14d50 --- /dev/null +++ b/structnixd_1_1OptionType-members.html @@ -0,0 +1,92 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    nixd::OptionType Member List
    +
    +
    + +

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

    + + + +
    Descriptionnixd::OptionType
    Namenixd::OptionType
    + + + + diff --git a/structnixd_1_1OptionType.html b/structnixd_1_1OptionType.html new file mode 100644 index 000000000..99ebddc7d --- /dev/null +++ b/structnixd_1_1OptionType.html @@ -0,0 +1,139 @@ + + + + + + + +nixd: nixd::OptionType Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    nixd::OptionType Struct Reference
    +
    +
    + +

    #include <AttrSet.h>

    + + + + + + +

    +Public Attributes

    std::optional< std::string > Description
     
    std::optional< std::string > Name
     
    +

    Detailed Description

    +
    +

    Definition at line 105 of file AttrSet.h.

    +

    Member Data Documentation

    + +

    ◆ Description

    + +
    +
    + + + + +
    std::optional<std::string> nixd::OptionType::Description
    +
    + +

    Definition at line 106 of file AttrSet.h.

    + +
    +
    + +

    ◆ Name

    + +
    +
    + + + + +
    std::optional<std::string> nixd::OptionType::Name
    +
    + +

    Definition at line 107 of file AttrSet.h.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structnixd_1_1PackageDescription-members.html b/structnixd_1_1PackageDescription-members.html new file mode 100644 index 000000000..0e048d74d --- /dev/null +++ b/structnixd_1_1PackageDescription-members.html @@ -0,0 +1,97 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    nixd::PackageDescription Member List
    +
    + + + + + diff --git a/structnixd_1_1PackageDescription.html b/structnixd_1_1PackageDescription.html new file mode 100644 index 000000000..bfceabfb9 --- /dev/null +++ b/structnixd_1_1PackageDescription.html @@ -0,0 +1,243 @@ + + + + + + + +nixd: nixd::PackageDescription Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    nixd::PackageDescription Struct Reference
    +
    +
    + +

    #include <AttrSet.h>

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

    +Public Attributes

    std::optional< std::string > Name
     
    std::optional< std::string > PName
     
    std::optional< std::string > Version
     
    std::optional< std::string > Description
     
    std::optional< std::string > LongDescription
     
    std::optional< std::string > Position
     
    std::optional< std::string > Homepage
     
    +

    Detailed Description

    +
    +

    Definition at line 49 of file AttrSet.h.

    +

    Member Data Documentation

    + +

    ◆ Description

    + +
    +
    + + + + +
    std::optional<std::string> nixd::PackageDescription::Description
    +
    + +

    Definition at line 53 of file AttrSet.h.

    + +

    Referenced by nixd::fromJSON().

    + +
    +
    + +

    ◆ Homepage

    + +
    +
    + + + + +
    std::optional<std::string> nixd::PackageDescription::Homepage
    +
    + +

    Definition at line 56 of file AttrSet.h.

    + +

    Referenced by nixd::fromJSON().

    + +
    +
    + +

    ◆ LongDescription

    + +
    +
    + + + + +
    std::optional<std::string> nixd::PackageDescription::LongDescription
    +
    + +

    Definition at line 54 of file AttrSet.h.

    + +

    Referenced by nixd::fromJSON().

    + +
    +
    + +

    ◆ Name

    + +
    +
    + + + + +
    std::optional<std::string> nixd::PackageDescription::Name
    +
    + +

    Definition at line 50 of file AttrSet.h.

    + +

    Referenced by nixd::fromJSON().

    + +
    +
    + +

    ◆ PName

    + +
    +
    + + + + +
    std::optional<std::string> nixd::PackageDescription::PName
    +
    + +

    Definition at line 51 of file AttrSet.h.

    + +

    Referenced by nixd::fromJSON().

    + +
    +
    + +

    ◆ Position

    + +
    +
    + + + + +
    std::optional<std::string> nixd::PackageDescription::Position
    +
    + +

    Definition at line 55 of file AttrSet.h.

    + +

    Referenced by nixd::fromJSON().

    + +
    +
    + +

    ◆ Version

    + +
    +
    + + + + +
    std::optional<std::string> nixd::PackageDescription::Version
    +
    + +

    Definition at line 52 of file AttrSet.h.

    + +

    Referenced by nixd::fromJSON().

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structnixd_1_1StreamProc-members.html b/structnixd_1_1StreamProc-members.html new file mode 100644 index 000000000..1b561e652 --- /dev/null +++ b/structnixd_1_1StreamProc-members.html @@ -0,0 +1,95 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    nixd::StreamProc Member List
    +
    +
    + +

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

    + + + + + + +
    mkIn() constnixd::StreamProc
    mkOut() constnixd::StreamProc
    proc() constnixd::StreamProcinline
    stream() constnixd::StreamProcinline
    StreamProc(const std::function< int()> &Action)nixd::StreamProc
    + + + + diff --git a/structnixd_1_1StreamProc.html b/structnixd_1_1StreamProc.html new file mode 100644 index 000000000..5662a469d --- /dev/null +++ b/structnixd_1_1StreamProc.html @@ -0,0 +1,234 @@ + + + + + + + +nixd: nixd::StreamProc Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    nixd::StreamProc Struct Reference
    +
    +
    + +

    #include <StreamProc.h>

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

    +Public Member Functions

     StreamProc (const std::function< int()> &Action)
     Launch a streamed process with Action.
     
    llvm::raw_fd_ostream & stream () const
     
    util::PipedProcproc () const
     
    std::unique_ptr< lspserver::InboundPortmkIn () const
     
    std::unique_ptr< lspserver::OutboundPortmkOut () const
     
    +

    Detailed Description

    +
    +

    Definition at line 10 of file StreamProc.h.

    +

    Constructor & Destructor Documentation

    + +

    ◆ StreamProc()

    + +
    +
    + + + + + + + +
    StreamProc::StreamProc (const std::function< int()> & Action)
    +
    + +

    Launch a streamed process with Action.

    +

    The value returned by Action will be interpreted as process's exit value.

    + +

    Definition at line 17 of file StreamProc.cpp.

    + +

    References nixd::forkPiped(), and nixd::fromJSON().

    + +
    +
    +

    Member Function Documentation

    + +

    ◆ mkIn()

    + +
    +
    + + + + + + + +
    std::unique_ptr< InboundPort > StreamProc::mkIn () const
    +
    + +

    Definition at line 8 of file StreamProc.cpp.

    + +
    +
    + +

    ◆ mkOut()

    + +
    +
    + + + + + + + +
    std::unique_ptr< OutboundPort > StreamProc::mkOut () const
    +
    + +

    Definition at line 13 of file StreamProc.cpp.

    + +
    +
    + +

    ◆ proc()

    + +
    +
    + + + + + +
    + + + + + + + +
    util::PipedProc & nixd::StreamProc::proc () const
    +
    +inline
    +
    + +

    Definition at line 27 of file StreamProc.h.

    + +

    Referenced by nixd::AttrSetClientProc::client().

    + +
    +
    + +

    ◆ stream()

    + +
    +
    + + + + + +
    + + + + + + + +
    llvm::raw_fd_ostream & nixd::StreamProc::stream () const
    +
    +inline
    +
    + +

    Definition at line 22 of file StreamProc.h.

    + +
    +
    +
    The documentation for this struct was generated from the following files: +
    + + + + diff --git a/structnixd_1_1ValueMeta-members.html b/structnixd_1_1ValueMeta-members.html new file mode 100644 index 000000000..c8a466f36 --- /dev/null +++ b/structnixd_1_1ValueMeta-members.html @@ -0,0 +1,92 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    nixd::ValueMeta Member List
    +
    +
    + +

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

    + + + +
    Locationnixd::ValueMeta
    Typenixd::ValueMeta
    + + + + diff --git a/structnixd_1_1ValueMeta.html b/structnixd_1_1ValueMeta.html new file mode 100644 index 000000000..ae3323802 --- /dev/null +++ b/structnixd_1_1ValueMeta.html @@ -0,0 +1,157 @@ + + + + + + + +nixd: nixd::ValueMeta Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    nixd::ValueMeta Struct Reference
    +
    +
    + +

    General metadata of all nix::Values. + More...

    + +

    #include <AttrSet.h>

    + + + + + + + + +

    +Public Attributes

    int Type
     Type of this value.
     
    std::optional< lspserver::LocationLocation
     Location of the value.
     
    +

    Detailed Description

    +

    General metadata of all nix::Values.

    + +

    Definition at line 64 of file AttrSet.h.

    +

    Member Data Documentation

    + +

    ◆ Location

    + +
    +
    + + + + +
    std::optional<lspserver::Location> nixd::ValueMeta::Location
    +
    + +

    Location of the value.

    +

    This presence of this value is determined by the nix evaluator. In nix 2.19.x and later:

      +
    1. It is available only for attribute sets and lambdas.
    2. +
    3. There is no practical "range" information, only the starting point.
    4. +
    + +

    Definition at line 74 of file AttrSet.h.

    + +

    Referenced by nixd::fromJSON().

    + +
    +
    + +

    ◆ Type

    + +
    +
    + + + + +
    int nixd::ValueMeta::Type
    +
    + +

    Type of this value.

    + +

    Definition at line 66 of file AttrSet.h.

    + +

    Referenced by nixd::fromJSON().

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structnixd_1_1idioms_1_1DynamicNameException-members.html b/structnixd_1_1idioms_1_1DynamicNameException-members.html new file mode 100644 index 000000000..ae5c91c86 --- /dev/null +++ b/structnixd_1_1idioms_1_1DynamicNameException-members.html @@ -0,0 +1,91 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    nixd::idioms::DynamicNameException Member List
    +
    +
    + +

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

    + + +
    what() const noexcept overridenixd::idioms::DynamicNameExceptioninline
    + + + + diff --git a/structnixd_1_1idioms_1_1DynamicNameException.html b/structnixd_1_1idioms_1_1DynamicNameException.html new file mode 100644 index 000000000..784f16da6 --- /dev/null +++ b/structnixd_1_1idioms_1_1DynamicNameException.html @@ -0,0 +1,146 @@ + + + + + + + +nixd: nixd::idioms::DynamicNameException Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    nixd::idioms::DynamicNameException Struct Reference
    +
    +
    + +

    The attrpath has a dynamic name, thus it cannot be trivially transformed to "static" selector. + More...

    + +

    #include <AST.h>

    +
    +Inheritance diagram for nixd::idioms::DynamicNameException:
    +
    +
    +
    [legend]
    +
    +Collaboration diagram for nixd::idioms::DynamicNameException:
    +
    +
    +
    [legend]
    + + + + +

    +Public Member Functions

    const charwhat () const noexcept override
     
    +

    Detailed Description

    +

    The attrpath has a dynamic name, thus it cannot be trivially transformed to "static" selector.

    + +

    Definition at line 71 of file AST.h.

    +

    Member Function Documentation

    + +

    ◆ what()

    + +
    +
    + + + + + +
    + + + + + + + +
    const char * nixd::idioms::DynamicNameException::what () const
    +
    +inlineoverridenoexcept
    +
    + +

    Definition at line 72 of file AST.h.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structnixd_1_1idioms_1_1DynamicNameException__coll__graph.map b/structnixd_1_1idioms_1_1DynamicNameException__coll__graph.map new file mode 100644 index 000000000..1cfa0b491 --- /dev/null +++ b/structnixd_1_1idioms_1_1DynamicNameException__coll__graph.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/structnixd_1_1idioms_1_1DynamicNameException__coll__graph.md5 b/structnixd_1_1idioms_1_1DynamicNameException__coll__graph.md5 new file mode 100644 index 000000000..c09089bf6 --- /dev/null +++ b/structnixd_1_1idioms_1_1DynamicNameException__coll__graph.md5 @@ -0,0 +1 @@ +069a77641492dbe9bb83c9934cb5791f \ No newline at end of file diff --git a/structnixd_1_1idioms_1_1DynamicNameException__coll__graph.svg b/structnixd_1_1idioms_1_1DynamicNameException__coll__graph.svg new file mode 100644 index 000000000..fea4d41df --- /dev/null +++ b/structnixd_1_1idioms_1_1DynamicNameException__coll__graph.svg @@ -0,0 +1,59 @@ + + + + + + +nixd::idioms::DynamicNameException + + +Node1 + + +nixd::idioms::DynamicName +Exception + + + + + +Node2 + + +nixd::idioms::IdiomSelector +Exception + + + + + +Node2->Node1 + + + + + + + + +Node3 + + +std::exception + + + + + +Node3->Node2 + + + + + + + + diff --git a/structnixd_1_1idioms_1_1DynamicNameException__inherit__graph.map b/structnixd_1_1idioms_1_1DynamicNameException__inherit__graph.map new file mode 100644 index 000000000..1cfa0b491 --- /dev/null +++ b/structnixd_1_1idioms_1_1DynamicNameException__inherit__graph.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/structnixd_1_1idioms_1_1DynamicNameException__inherit__graph.md5 b/structnixd_1_1idioms_1_1DynamicNameException__inherit__graph.md5 new file mode 100644 index 000000000..c09089bf6 --- /dev/null +++ b/structnixd_1_1idioms_1_1DynamicNameException__inherit__graph.md5 @@ -0,0 +1 @@ +069a77641492dbe9bb83c9934cb5791f \ No newline at end of file diff --git a/structnixd_1_1idioms_1_1DynamicNameException__inherit__graph.svg b/structnixd_1_1idioms_1_1DynamicNameException__inherit__graph.svg new file mode 100644 index 000000000..fea4d41df --- /dev/null +++ b/structnixd_1_1idioms_1_1DynamicNameException__inherit__graph.svg @@ -0,0 +1,59 @@ + + + + + + +nixd::idioms::DynamicNameException + + +Node1 + + +nixd::idioms::DynamicName +Exception + + + + + +Node2 + + +nixd::idioms::IdiomSelector +Exception + + + + + +Node2->Node1 + + + + + + + + +Node3 + + +std::exception + + + + + +Node3->Node2 + + + + + + + + diff --git a/structnixd_1_1idioms_1_1IdiomException.html b/structnixd_1_1idioms_1_1IdiomException.html new file mode 100644 index 000000000..4caa13a2d --- /dev/null +++ b/structnixd_1_1idioms_1_1IdiomException.html @@ -0,0 +1,105 @@ + + + + + + + +nixd: nixd::idioms::IdiomException Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    nixd::idioms::IdiomException Struct Reference
    +
    +
    + +

    #include <AST.h>

    +
    +Inheritance diagram for nixd::idioms::IdiomException:
    +
    +
    +
    [legend]
    +
    +Collaboration diagram for nixd::idioms::IdiomException:
    +
    +
    +
    [legend]
    +

    Detailed Description

    +
    +

    Definition at line 28 of file AST.h.

    +

    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structnixd_1_1idioms_1_1IdiomException__coll__graph.map b/structnixd_1_1idioms_1_1IdiomException__coll__graph.map new file mode 100644 index 000000000..b19e7ca1e --- /dev/null +++ b/structnixd_1_1idioms_1_1IdiomException__coll__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/structnixd_1_1idioms_1_1IdiomException__coll__graph.md5 b/structnixd_1_1idioms_1_1IdiomException__coll__graph.md5 new file mode 100644 index 000000000..4ce0a9a7d --- /dev/null +++ b/structnixd_1_1idioms_1_1IdiomException__coll__graph.md5 @@ -0,0 +1 @@ +839809db542fbbb51163f8efed4d6028 \ No newline at end of file diff --git a/structnixd_1_1idioms_1_1IdiomException__coll__graph.svg b/structnixd_1_1idioms_1_1IdiomException__coll__graph.svg new file mode 100644 index 000000000..2cceedec7 --- /dev/null +++ b/structnixd_1_1idioms_1_1IdiomException__coll__graph.svg @@ -0,0 +1,39 @@ + + + + + + +nixd::idioms::IdiomException + + +Node1 + + +nixd::idioms::IdiomException + + + + + +Node2 + + +std::exception + + + + + +Node2->Node1 + + + + + + + + diff --git a/structnixd_1_1idioms_1_1IdiomException__inherit__graph.map b/structnixd_1_1idioms_1_1IdiomException__inherit__graph.map new file mode 100644 index 000000000..b19e7ca1e --- /dev/null +++ b/structnixd_1_1idioms_1_1IdiomException__inherit__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/structnixd_1_1idioms_1_1IdiomException__inherit__graph.md5 b/structnixd_1_1idioms_1_1IdiomException__inherit__graph.md5 new file mode 100644 index 000000000..4ce0a9a7d --- /dev/null +++ b/structnixd_1_1idioms_1_1IdiomException__inherit__graph.md5 @@ -0,0 +1 @@ +839809db542fbbb51163f8efed4d6028 \ No newline at end of file diff --git a/structnixd_1_1idioms_1_1IdiomException__inherit__graph.svg b/structnixd_1_1idioms_1_1IdiomException__inherit__graph.svg new file mode 100644 index 000000000..2cceedec7 --- /dev/null +++ b/structnixd_1_1idioms_1_1IdiomException__inherit__graph.svg @@ -0,0 +1,39 @@ + + + + + + +nixd::idioms::IdiomException + + +Node1 + + +nixd::idioms::IdiomException + + + + + +Node2 + + +std::exception + + + + + +Node2->Node1 + + + + + + + + diff --git a/structnixd_1_1idioms_1_1IdiomSelectorException.html b/structnixd_1_1idioms_1_1IdiomSelectorException.html new file mode 100644 index 000000000..80895f3ed --- /dev/null +++ b/structnixd_1_1idioms_1_1IdiomSelectorException.html @@ -0,0 +1,109 @@ + + + + + + + +nixd: nixd::idioms::IdiomSelectorException Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    nixd::idioms::IdiomSelectorException Struct Reference
    +
    +
    + +

    Exceptions scoped in nixd::mkIdiomSelector. + More...

    + +

    #include <AST.h>

    +
    +Inheritance diagram for nixd::idioms::IdiomSelectorException:
    +
    +
    +
    [legend]
    +
    +Collaboration diagram for nixd::idioms::IdiomSelectorException:
    +
    +
    +
    [legend]
    +

    Detailed Description

    +

    Exceptions scoped in nixd::mkIdiomSelector.

    + +

    Definition at line 31 of file AST.h.

    +

    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structnixd_1_1idioms_1_1IdiomSelectorException__coll__graph.map b/structnixd_1_1idioms_1_1IdiomSelectorException__coll__graph.map new file mode 100644 index 000000000..b4f81a4c3 --- /dev/null +++ b/structnixd_1_1idioms_1_1IdiomSelectorException__coll__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/structnixd_1_1idioms_1_1IdiomSelectorException__coll__graph.md5 b/structnixd_1_1idioms_1_1IdiomSelectorException__coll__graph.md5 new file mode 100644 index 000000000..913992a5b --- /dev/null +++ b/structnixd_1_1idioms_1_1IdiomSelectorException__coll__graph.md5 @@ -0,0 +1 @@ +31a2bd414a5f2c7caee2966e7fa3b1d1 \ No newline at end of file diff --git a/structnixd_1_1idioms_1_1IdiomSelectorException__coll__graph.svg b/structnixd_1_1idioms_1_1IdiomSelectorException__coll__graph.svg new file mode 100644 index 000000000..d15c7f85e --- /dev/null +++ b/structnixd_1_1idioms_1_1IdiomSelectorException__coll__graph.svg @@ -0,0 +1,40 @@ + + + + + + +nixd::idioms::IdiomSelectorException + + +Node1 + + +nixd::idioms::IdiomSelector +Exception + + + + + +Node2 + + +std::exception + + + + + +Node2->Node1 + + + + + + + + diff --git a/structnixd_1_1idioms_1_1IdiomSelectorException__inherit__graph.map b/structnixd_1_1idioms_1_1IdiomSelectorException__inherit__graph.map new file mode 100644 index 000000000..96cb9f353 --- /dev/null +++ b/structnixd_1_1idioms_1_1IdiomSelectorException__inherit__graph.map @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/structnixd_1_1idioms_1_1IdiomSelectorException__inherit__graph.md5 b/structnixd_1_1idioms_1_1IdiomSelectorException__inherit__graph.md5 new file mode 100644 index 000000000..775cf83c4 --- /dev/null +++ b/structnixd_1_1idioms_1_1IdiomSelectorException__inherit__graph.md5 @@ -0,0 +1 @@ +35c6e69a890549103b6fb11f9d6b85ae \ No newline at end of file diff --git a/structnixd_1_1idioms_1_1IdiomSelectorException__inherit__graph.svg b/structnixd_1_1idioms_1_1IdiomSelectorException__inherit__graph.svg new file mode 100644 index 000000000..7d7a322d9 --- /dev/null +++ b/structnixd_1_1idioms_1_1IdiomSelectorException__inherit__graph.svg @@ -0,0 +1,97 @@ + + + + + + +nixd::idioms::IdiomSelectorException + + +Node1 + + +nixd::idioms::IdiomSelector +Exception + + + + + +Node3 + + +nixd::idioms::DynamicName +Exception + + + + + +Node1->Node3 + + + + + + + + +Node4 + + +nixd::idioms::NotAnIdiom +Exception + + + + + +Node1->Node4 + + + + + + + + +Node5 + + +nixd::idioms::NotVariable +Select + + + + + +Node1->Node5 + + + + + + + + +Node2 + + +std::exception + + + + + +Node2->Node1 + + + + + + + + diff --git a/structnixd_1_1idioms_1_1NoLocationForBuiltinVariable-members.html b/structnixd_1_1idioms_1_1NoLocationForBuiltinVariable-members.html new file mode 100644 index 000000000..e48b99c83 --- /dev/null +++ b/structnixd_1_1idioms_1_1NoLocationForBuiltinVariable-members.html @@ -0,0 +1,91 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    nixd::idioms::NoLocationForBuiltinVariable Member List
    +
    +
    + +

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

    + + +
    what() const noexcept overridenixd::idioms::NoLocationForBuiltinVariableinline
    + + + + diff --git a/structnixd_1_1idioms_1_1NoLocationForBuiltinVariable.html b/structnixd_1_1idioms_1_1NoLocationForBuiltinVariable.html new file mode 100644 index 000000000..78431be7d --- /dev/null +++ b/structnixd_1_1idioms_1_1NoLocationForBuiltinVariable.html @@ -0,0 +1,142 @@ + + + + + + + +nixd: nixd::idioms::NoLocationForBuiltinVariable Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    nixd::idioms::NoLocationForBuiltinVariable Struct Reference
    +
    +
    + +

    #include <AST.h>

    +
    +Inheritance diagram for nixd::idioms::NoLocationForBuiltinVariable:
    +
    +
    +
    [legend]
    +
    +Collaboration diagram for nixd::idioms::NoLocationForBuiltinVariable:
    +
    +
    +
    [legend]
    + + + + +

    +Public Member Functions

    const charwhat () const noexcept override
     
    +

    Detailed Description

    +
    +

    Definition at line 42 of file AST.h.

    +

    Member Function Documentation

    + +

    ◆ what()

    + +
    +
    + + + + + +
    + + + + + + + +
    const char * nixd::idioms::NoLocationForBuiltinVariable::what () const
    +
    +inlineoverridenoexcept
    +
    + +

    Definition at line 43 of file AST.h.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structnixd_1_1idioms_1_1NoLocationForBuiltinVariable__coll__graph.map b/structnixd_1_1idioms_1_1NoLocationForBuiltinVariable__coll__graph.map new file mode 100644 index 000000000..7d2ec0d16 --- /dev/null +++ b/structnixd_1_1idioms_1_1NoLocationForBuiltinVariable__coll__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/structnixd_1_1idioms_1_1NoLocationForBuiltinVariable__coll__graph.md5 b/structnixd_1_1idioms_1_1NoLocationForBuiltinVariable__coll__graph.md5 new file mode 100644 index 000000000..b30bae737 --- /dev/null +++ b/structnixd_1_1idioms_1_1NoLocationForBuiltinVariable__coll__graph.md5 @@ -0,0 +1 @@ +7d6497cc3198fcec32617cf87ded11c7 \ No newline at end of file diff --git a/structnixd_1_1idioms_1_1NoLocationForBuiltinVariable__coll__graph.svg b/structnixd_1_1idioms_1_1NoLocationForBuiltinVariable__coll__graph.svg new file mode 100644 index 000000000..c5559f209 --- /dev/null +++ b/structnixd_1_1idioms_1_1NoLocationForBuiltinVariable__coll__graph.svg @@ -0,0 +1,40 @@ + + + + + + +nixd::idioms::NoLocationForBuiltinVariable + + +Node1 + + +nixd::idioms::NoLocation +ForBuiltinVariable + + + + + +Node2 + + +std::exception + + + + + +Node2->Node1 + + + + + + + + diff --git a/structnixd_1_1idioms_1_1NoLocationForBuiltinVariable__inherit__graph.map b/structnixd_1_1idioms_1_1NoLocationForBuiltinVariable__inherit__graph.map new file mode 100644 index 000000000..7d2ec0d16 --- /dev/null +++ b/structnixd_1_1idioms_1_1NoLocationForBuiltinVariable__inherit__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/structnixd_1_1idioms_1_1NoLocationForBuiltinVariable__inherit__graph.md5 b/structnixd_1_1idioms_1_1NoLocationForBuiltinVariable__inherit__graph.md5 new file mode 100644 index 000000000..b30bae737 --- /dev/null +++ b/structnixd_1_1idioms_1_1NoLocationForBuiltinVariable__inherit__graph.md5 @@ -0,0 +1 @@ +7d6497cc3198fcec32617cf87ded11c7 \ No newline at end of file diff --git a/structnixd_1_1idioms_1_1NoLocationForBuiltinVariable__inherit__graph.svg b/structnixd_1_1idioms_1_1NoLocationForBuiltinVariable__inherit__graph.svg new file mode 100644 index 000000000..c5559f209 --- /dev/null +++ b/structnixd_1_1idioms_1_1NoLocationForBuiltinVariable__inherit__graph.svg @@ -0,0 +1,40 @@ + + + + + + +nixd::idioms::NoLocationForBuiltinVariable + + +Node1 + + +nixd::idioms::NoLocation +ForBuiltinVariable + + + + + +Node2 + + +std::exception + + + + + +Node2->Node1 + + + + + + + + diff --git a/structnixd_1_1idioms_1_1NoSuchVarException-members.html b/structnixd_1_1idioms_1_1NoSuchVarException-members.html new file mode 100644 index 000000000..f7ff5920d --- /dev/null +++ b/structnixd_1_1idioms_1_1NoSuchVarException-members.html @@ -0,0 +1,91 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    nixd::idioms::NoSuchVarException Member List
    +
    +
    + +

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

    + + +
    what() const noexcept overridenixd::idioms::NoSuchVarExceptioninline
    + + + + diff --git a/structnixd_1_1idioms_1_1NoSuchVarException.html b/structnixd_1_1idioms_1_1NoSuchVarException.html new file mode 100644 index 000000000..988b841ca --- /dev/null +++ b/structnixd_1_1idioms_1_1NoSuchVarException.html @@ -0,0 +1,146 @@ + + + + + + + +nixd: nixd::idioms::NoSuchVarException Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    nixd::idioms::NoSuchVarException Struct Reference
    +
    +
    + +

    No such variable. + More...

    + +

    #include <AST.h>

    +
    +Inheritance diagram for nixd::idioms::NoSuchVarException:
    +
    +
    +
    [legend]
    +
    +Collaboration diagram for nixd::idioms::NoSuchVarException:
    +
    +
    +
    [legend]
    + + + + +

    +Public Member Functions

    const charwhat () const noexcept override
     
    +

    Detailed Description

    +

    No such variable.

    + +

    Definition at line 49 of file AST.h.

    +

    Member Function Documentation

    + +

    ◆ what()

    + +
    +
    + + + + + +
    + + + + + + + +
    const char * nixd::idioms::NoSuchVarException::what () const
    +
    +inlineoverridenoexcept
    +
    + +

    Definition at line 50 of file AST.h.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structnixd_1_1idioms_1_1NoSuchVarException__coll__graph.map b/structnixd_1_1idioms_1_1NoSuchVarException__coll__graph.map new file mode 100644 index 000000000..8996e6a4a --- /dev/null +++ b/structnixd_1_1idioms_1_1NoSuchVarException__coll__graph.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/structnixd_1_1idioms_1_1NoSuchVarException__coll__graph.md5 b/structnixd_1_1idioms_1_1NoSuchVarException__coll__graph.md5 new file mode 100644 index 000000000..046156581 --- /dev/null +++ b/structnixd_1_1idioms_1_1NoSuchVarException__coll__graph.md5 @@ -0,0 +1 @@ +7d3a333d6f8b44682b3df641fcbdfd28 \ No newline at end of file diff --git a/structnixd_1_1idioms_1_1NoSuchVarException__coll__graph.svg b/structnixd_1_1idioms_1_1NoSuchVarException__coll__graph.svg new file mode 100644 index 000000000..975437bc8 --- /dev/null +++ b/structnixd_1_1idioms_1_1NoSuchVarException__coll__graph.svg @@ -0,0 +1,57 @@ + + + + + + +nixd::idioms::NoSuchVarException + + +Node1 + + +nixd::idioms::NoSuchVarException + + + + + +Node2 + + +nixd::idioms::VLAException + + + + + +Node2->Node1 + + + + + + + + +Node3 + + +std::exception + + + + + +Node3->Node2 + + + + + + + + diff --git a/structnixd_1_1idioms_1_1NoSuchVarException__inherit__graph.map b/structnixd_1_1idioms_1_1NoSuchVarException__inherit__graph.map new file mode 100644 index 000000000..8996e6a4a --- /dev/null +++ b/structnixd_1_1idioms_1_1NoSuchVarException__inherit__graph.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/structnixd_1_1idioms_1_1NoSuchVarException__inherit__graph.md5 b/structnixd_1_1idioms_1_1NoSuchVarException__inherit__graph.md5 new file mode 100644 index 000000000..046156581 --- /dev/null +++ b/structnixd_1_1idioms_1_1NoSuchVarException__inherit__graph.md5 @@ -0,0 +1 @@ +7d3a333d6f8b44682b3df641fcbdfd28 \ No newline at end of file diff --git a/structnixd_1_1idioms_1_1NoSuchVarException__inherit__graph.svg b/structnixd_1_1idioms_1_1NoSuchVarException__inherit__graph.svg new file mode 100644 index 000000000..975437bc8 --- /dev/null +++ b/structnixd_1_1idioms_1_1NoSuchVarException__inherit__graph.svg @@ -0,0 +1,57 @@ + + + + + + +nixd::idioms::NoSuchVarException + + +Node1 + + +nixd::idioms::NoSuchVarException + + + + + +Node2 + + +nixd::idioms::VLAException + + + + + +Node2->Node1 + + + + + + + + +Node3 + + +std::exception + + + + + +Node3->Node2 + + + + + + + + diff --git a/structnixd_1_1idioms_1_1NotAnIdiomException-members.html b/structnixd_1_1idioms_1_1NotAnIdiomException-members.html new file mode 100644 index 000000000..d770c085e --- /dev/null +++ b/structnixd_1_1idioms_1_1NotAnIdiomException-members.html @@ -0,0 +1,91 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    nixd::idioms::NotAnIdiomException Member List
    +
    +
    + +

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

    + + +
    what() const noexcept overridenixd::idioms::NotAnIdiomExceptioninline
    + + + + diff --git a/structnixd_1_1idioms_1_1NotAnIdiomException.html b/structnixd_1_1idioms_1_1NotAnIdiomException.html new file mode 100644 index 000000000..6bd0e99cb --- /dev/null +++ b/structnixd_1_1idioms_1_1NotAnIdiomException.html @@ -0,0 +1,146 @@ + + + + + + + +nixd: nixd::idioms::NotAnIdiomException Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    nixd::idioms::NotAnIdiomException Struct Reference
    +
    +
    + +

    The pattern of this variable cannot be recognized by known idioms. + More...

    + +

    #include <AST.h>

    +
    +Inheritance diagram for nixd::idioms::NotAnIdiomException:
    +
    +
    +
    [legend]
    +
    +Collaboration diagram for nixd::idioms::NotAnIdiomException:
    +
    +
    +
    [legend]
    + + + + +

    +Public Member Functions

    const charwhat () const noexcept override
     
    +

    Detailed Description

    +

    The pattern of this variable cannot be recognized by known idioms.

    + +

    Definition at line 34 of file AST.h.

    +

    Member Function Documentation

    + +

    ◆ what()

    + +
    +
    + + + + + +
    + + + + + + + +
    const char * nixd::idioms::NotAnIdiomException::what () const
    +
    +inlineoverridenoexcept
    +
    + +

    Definition at line 35 of file AST.h.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structnixd_1_1idioms_1_1NotAnIdiomException__coll__graph.map b/structnixd_1_1idioms_1_1NotAnIdiomException__coll__graph.map new file mode 100644 index 000000000..87590c7e9 --- /dev/null +++ b/structnixd_1_1idioms_1_1NotAnIdiomException__coll__graph.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/structnixd_1_1idioms_1_1NotAnIdiomException__coll__graph.md5 b/structnixd_1_1idioms_1_1NotAnIdiomException__coll__graph.md5 new file mode 100644 index 000000000..392a13194 --- /dev/null +++ b/structnixd_1_1idioms_1_1NotAnIdiomException__coll__graph.md5 @@ -0,0 +1 @@ +bffc75901313997a43381c396e4d8614 \ No newline at end of file diff --git a/structnixd_1_1idioms_1_1NotAnIdiomException__coll__graph.svg b/structnixd_1_1idioms_1_1NotAnIdiomException__coll__graph.svg new file mode 100644 index 000000000..28a165ebf --- /dev/null +++ b/structnixd_1_1idioms_1_1NotAnIdiomException__coll__graph.svg @@ -0,0 +1,59 @@ + + + + + + +nixd::idioms::NotAnIdiomException + + +Node1 + + +nixd::idioms::NotAnIdiom +Exception + + + + + +Node2 + + +nixd::idioms::IdiomSelector +Exception + + + + + +Node2->Node1 + + + + + + + + +Node3 + + +std::exception + + + + + +Node3->Node2 + + + + + + + + diff --git a/structnixd_1_1idioms_1_1NotAnIdiomException__inherit__graph.map b/structnixd_1_1idioms_1_1NotAnIdiomException__inherit__graph.map new file mode 100644 index 000000000..87590c7e9 --- /dev/null +++ b/structnixd_1_1idioms_1_1NotAnIdiomException__inherit__graph.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/structnixd_1_1idioms_1_1NotAnIdiomException__inherit__graph.md5 b/structnixd_1_1idioms_1_1NotAnIdiomException__inherit__graph.md5 new file mode 100644 index 000000000..392a13194 --- /dev/null +++ b/structnixd_1_1idioms_1_1NotAnIdiomException__inherit__graph.md5 @@ -0,0 +1 @@ +bffc75901313997a43381c396e4d8614 \ No newline at end of file diff --git a/structnixd_1_1idioms_1_1NotAnIdiomException__inherit__graph.svg b/structnixd_1_1idioms_1_1NotAnIdiomException__inherit__graph.svg new file mode 100644 index 000000000..28a165ebf --- /dev/null +++ b/structnixd_1_1idioms_1_1NotAnIdiomException__inherit__graph.svg @@ -0,0 +1,59 @@ + + + + + + +nixd::idioms::NotAnIdiomException + + +Node1 + + +nixd::idioms::NotAnIdiom +Exception + + + + + +Node2 + + +nixd::idioms::IdiomSelector +Exception + + + + + +Node2->Node1 + + + + + + + + +Node3 + + +std::exception + + + + + +Node3->Node2 + + + + + + + + diff --git a/structnixd_1_1idioms_1_1NotVariableSelect-members.html b/structnixd_1_1idioms_1_1NotVariableSelect-members.html new file mode 100644 index 000000000..653864861 --- /dev/null +++ b/structnixd_1_1idioms_1_1NotVariableSelect-members.html @@ -0,0 +1,91 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    nixd::idioms::NotVariableSelect Member List
    +
    +
    + +

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

    + + +
    what() const noexcept overridenixd::idioms::NotVariableSelectinline
    + + + + diff --git a/structnixd_1_1idioms_1_1NotVariableSelect.html b/structnixd_1_1idioms_1_1NotVariableSelect.html new file mode 100644 index 000000000..05f41c562 --- /dev/null +++ b/structnixd_1_1idioms_1_1NotVariableSelect.html @@ -0,0 +1,142 @@ + + + + + + + +nixd: nixd::idioms::NotVariableSelect Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    nixd::idioms::NotVariableSelect Struct Reference
    +
    +
    + +

    #include <AST.h>

    +
    +Inheritance diagram for nixd::idioms::NotVariableSelect:
    +
    +
    +
    [legend]
    +
    +Collaboration diagram for nixd::idioms::NotVariableSelect:
    +
    +
    +
    [legend]
    + + + + +

    +Public Member Functions

    const charwhat () const noexcept override
     
    +

    Detailed Description

    +
    +

    Definition at line 77 of file AST.h.

    +

    Member Function Documentation

    + +

    ◆ what()

    + +
    +
    + + + + + +
    + + + + + + + +
    const char * nixd::idioms::NotVariableSelect::what () const
    +
    +inlineoverridenoexcept
    +
    + +

    Definition at line 78 of file AST.h.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structnixd_1_1idioms_1_1NotVariableSelect__coll__graph.map b/structnixd_1_1idioms_1_1NotVariableSelect__coll__graph.map new file mode 100644 index 000000000..05e4aa377 --- /dev/null +++ b/structnixd_1_1idioms_1_1NotVariableSelect__coll__graph.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/structnixd_1_1idioms_1_1NotVariableSelect__coll__graph.md5 b/structnixd_1_1idioms_1_1NotVariableSelect__coll__graph.md5 new file mode 100644 index 000000000..136a0751b --- /dev/null +++ b/structnixd_1_1idioms_1_1NotVariableSelect__coll__graph.md5 @@ -0,0 +1 @@ +3aebb759c085a44078fa945b0ae77484 \ No newline at end of file diff --git a/structnixd_1_1idioms_1_1NotVariableSelect__coll__graph.svg b/structnixd_1_1idioms_1_1NotVariableSelect__coll__graph.svg new file mode 100644 index 000000000..197d1dd22 --- /dev/null +++ b/structnixd_1_1idioms_1_1NotVariableSelect__coll__graph.svg @@ -0,0 +1,59 @@ + + + + + + +nixd::idioms::NotVariableSelect + + +Node1 + + +nixd::idioms::NotVariable +Select + + + + + +Node2 + + +nixd::idioms::IdiomSelector +Exception + + + + + +Node2->Node1 + + + + + + + + +Node3 + + +std::exception + + + + + +Node3->Node2 + + + + + + + + diff --git a/structnixd_1_1idioms_1_1NotVariableSelect__inherit__graph.map b/structnixd_1_1idioms_1_1NotVariableSelect__inherit__graph.map new file mode 100644 index 000000000..05e4aa377 --- /dev/null +++ b/structnixd_1_1idioms_1_1NotVariableSelect__inherit__graph.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/structnixd_1_1idioms_1_1NotVariableSelect__inherit__graph.md5 b/structnixd_1_1idioms_1_1NotVariableSelect__inherit__graph.md5 new file mode 100644 index 000000000..136a0751b --- /dev/null +++ b/structnixd_1_1idioms_1_1NotVariableSelect__inherit__graph.md5 @@ -0,0 +1 @@ +3aebb759c085a44078fa945b0ae77484 \ No newline at end of file diff --git a/structnixd_1_1idioms_1_1NotVariableSelect__inherit__graph.svg b/structnixd_1_1idioms_1_1NotVariableSelect__inherit__graph.svg new file mode 100644 index 000000000..197d1dd22 --- /dev/null +++ b/structnixd_1_1idioms_1_1NotVariableSelect__inherit__graph.svg @@ -0,0 +1,59 @@ + + + + + + +nixd::idioms::NotVariableSelect + + +Node1 + + +nixd::idioms::NotVariable +Select + + + + + +Node2 + + +nixd::idioms::IdiomSelector +Exception + + + + + +Node2->Node1 + + + + + + + + +Node3 + + +std::exception + + + + + +Node3->Node2 + + + + + + + + diff --git a/structnixd_1_1idioms_1_1UndefinedVarException-members.html b/structnixd_1_1idioms_1_1UndefinedVarException-members.html new file mode 100644 index 000000000..03d6037fb --- /dev/null +++ b/structnixd_1_1idioms_1_1UndefinedVarException-members.html @@ -0,0 +1,91 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    nixd::idioms::UndefinedVarException Member List
    +
    +
    + +

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

    + + +
    what() const noexcept overridenixd::idioms::UndefinedVarExceptioninline
    + + + + diff --git a/structnixd_1_1idioms_1_1UndefinedVarException.html b/structnixd_1_1idioms_1_1UndefinedVarException.html new file mode 100644 index 000000000..e7df3a34b --- /dev/null +++ b/structnixd_1_1idioms_1_1UndefinedVarException.html @@ -0,0 +1,142 @@ + + + + + + + +nixd: nixd::idioms::UndefinedVarException Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    nixd::idioms::UndefinedVarException Struct Reference
    +
    +
    + +

    #include <AST.h>

    +
    +Inheritance diagram for nixd::idioms::UndefinedVarException:
    +
    +
    +
    [legend]
    +
    +Collaboration diagram for nixd::idioms::UndefinedVarException:
    +
    +
    +
    [legend]
    + + + + +

    +Public Member Functions

    const charwhat () const noexcept override
     
    +

    Detailed Description

    +
    +

    Definition at line 55 of file AST.h.

    +

    Member Function Documentation

    + +

    ◆ what()

    + +
    +
    + + + + + +
    + + + + + + + +
    const char * nixd::idioms::UndefinedVarException::what () const
    +
    +inlineoverridenoexcept
    +
    + +

    Definition at line 56 of file AST.h.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structnixd_1_1idioms_1_1UndefinedVarException__coll__graph.map b/structnixd_1_1idioms_1_1UndefinedVarException__coll__graph.map new file mode 100644 index 000000000..1cb34983e --- /dev/null +++ b/structnixd_1_1idioms_1_1UndefinedVarException__coll__graph.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/structnixd_1_1idioms_1_1UndefinedVarException__coll__graph.md5 b/structnixd_1_1idioms_1_1UndefinedVarException__coll__graph.md5 new file mode 100644 index 000000000..14202cbb4 --- /dev/null +++ b/structnixd_1_1idioms_1_1UndefinedVarException__coll__graph.md5 @@ -0,0 +1 @@ +724a06a9d5cc6aa3190e636060f38926 \ No newline at end of file diff --git a/structnixd_1_1idioms_1_1UndefinedVarException__coll__graph.svg b/structnixd_1_1idioms_1_1UndefinedVarException__coll__graph.svg new file mode 100644 index 000000000..29117f34d --- /dev/null +++ b/structnixd_1_1idioms_1_1UndefinedVarException__coll__graph.svg @@ -0,0 +1,58 @@ + + + + + + +nixd::idioms::UndefinedVarException + + +Node1 + + +nixd::idioms::UndefinedVar +Exception + + + + + +Node2 + + +nixd::idioms::VLAException + + + + + +Node2->Node1 + + + + + + + + +Node3 + + +std::exception + + + + + +Node3->Node2 + + + + + + + + diff --git a/structnixd_1_1idioms_1_1UndefinedVarException__inherit__graph.map b/structnixd_1_1idioms_1_1UndefinedVarException__inherit__graph.map new file mode 100644 index 000000000..1cb34983e --- /dev/null +++ b/structnixd_1_1idioms_1_1UndefinedVarException__inherit__graph.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/structnixd_1_1idioms_1_1UndefinedVarException__inherit__graph.md5 b/structnixd_1_1idioms_1_1UndefinedVarException__inherit__graph.md5 new file mode 100644 index 000000000..14202cbb4 --- /dev/null +++ b/structnixd_1_1idioms_1_1UndefinedVarException__inherit__graph.md5 @@ -0,0 +1 @@ +724a06a9d5cc6aa3190e636060f38926 \ No newline at end of file diff --git a/structnixd_1_1idioms_1_1UndefinedVarException__inherit__graph.svg b/structnixd_1_1idioms_1_1UndefinedVarException__inherit__graph.svg new file mode 100644 index 000000000..29117f34d --- /dev/null +++ b/structnixd_1_1idioms_1_1UndefinedVarException__inherit__graph.svg @@ -0,0 +1,58 @@ + + + + + + +nixd::idioms::UndefinedVarException + + +Node1 + + +nixd::idioms::UndefinedVar +Exception + + + + + +Node2 + + +nixd::idioms::VLAException + + + + + +Node2->Node1 + + + + + + + + +Node3 + + +std::exception + + + + + +Node3->Node2 + + + + + + + + diff --git a/structnixd_1_1idioms_1_1VLAException.html b/structnixd_1_1idioms_1_1VLAException.html new file mode 100644 index 000000000..b9632127f --- /dev/null +++ b/structnixd_1_1idioms_1_1VLAException.html @@ -0,0 +1,105 @@ + + + + + + + +nixd: nixd::idioms::VLAException Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    nixd::idioms::VLAException Struct Reference
    +
    +
    + +

    #include <AST.h>

    +
    +Inheritance diagram for nixd::idioms::VLAException:
    +
    +
    +
    [legend]
    +
    +Collaboration diagram for nixd::idioms::VLAException:
    +
    +
    +
    [legend]
    +

    Detailed Description

    +
    +

    Definition at line 40 of file AST.h.

    +

    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structnixd_1_1idioms_1_1VLAException__coll__graph.map b/structnixd_1_1idioms_1_1VLAException__coll__graph.map new file mode 100644 index 000000000..8980b9411 --- /dev/null +++ b/structnixd_1_1idioms_1_1VLAException__coll__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/structnixd_1_1idioms_1_1VLAException__coll__graph.md5 b/structnixd_1_1idioms_1_1VLAException__coll__graph.md5 new file mode 100644 index 000000000..25daecaef --- /dev/null +++ b/structnixd_1_1idioms_1_1VLAException__coll__graph.md5 @@ -0,0 +1 @@ +0693a4f4483ca6481f1519bbe60c64f2 \ No newline at end of file diff --git a/structnixd_1_1idioms_1_1VLAException__coll__graph.svg b/structnixd_1_1idioms_1_1VLAException__coll__graph.svg new file mode 100644 index 000000000..273781bf2 --- /dev/null +++ b/structnixd_1_1idioms_1_1VLAException__coll__graph.svg @@ -0,0 +1,39 @@ + + + + + + +nixd::idioms::VLAException + + +Node1 + + +nixd::idioms::VLAException + + + + + +Node2 + + +std::exception + + + + + +Node2->Node1 + + + + + + + + diff --git a/structnixd_1_1idioms_1_1VLAException__inherit__graph.map b/structnixd_1_1idioms_1_1VLAException__inherit__graph.map new file mode 100644 index 000000000..9d851a685 --- /dev/null +++ b/structnixd_1_1idioms_1_1VLAException__inherit__graph.map @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/structnixd_1_1idioms_1_1VLAException__inherit__graph.md5 b/structnixd_1_1idioms_1_1VLAException__inherit__graph.md5 new file mode 100644 index 000000000..8e20b1e9e --- /dev/null +++ b/structnixd_1_1idioms_1_1VLAException__inherit__graph.md5 @@ -0,0 +1 @@ +83f7d6ef4bdfa4fbec0953832d141cdf \ No newline at end of file diff --git a/structnixd_1_1idioms_1_1VLAException__inherit__graph.svg b/structnixd_1_1idioms_1_1VLAException__inherit__graph.svg new file mode 100644 index 000000000..bf915cca2 --- /dev/null +++ b/structnixd_1_1idioms_1_1VLAException__inherit__graph.svg @@ -0,0 +1,76 @@ + + + + + + +nixd::idioms::VLAException + + +Node1 + + +nixd::idioms::VLAException + + + + + +Node3 + + +nixd::idioms::NoSuchVarException + + + + + +Node1->Node3 + + + + + + + + +Node4 + + +nixd::idioms::UndefinedVar +Exception + + + + + +Node1->Node4 + + + + + + + + +Node2 + + +std::exception + + + + + +Node2->Node1 + + + + + + + + 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..82476e074 --- /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 28 of file include/nixd/Protocol/Protocol.h.

    +

    Member Data Documentation

    + +

    ◆ ExprID

    + +
    +
    + + + + +
    std::int64_t nixd::rpc::ExprValueParams::ExprID
    +
    + +

    Definition at line 29 of file include/nixd/Protocol/Protocol.h.

    + +

    Referenced by nixd::rpc::fromJSON().

    + +
    +
    +
    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..398375deb --- /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 36 of file include/nixd/Protocol/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 37 of file include/nixd/Protocol/Protocol.h.

    + +
    +
    + +

    ◆ ValueKinds

    + +
    +
    + +

    Opaque data, the value of the expr.

    + + + +
    Enumerator
    Int 
    Float 
    + +

    Definition at line 58 of file include/nixd/Protocol/Protocol.h.

    + +
    +
    +

    Member Data Documentation

    + +

    ◆ ResultKind

    + +
    +
    + + + + +
    int nixd::rpc::ExprValueResponse::ResultKind
    +
    + +

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

    + +

    Referenced by nixd::rpc::fromJSON().

    + +
    +
    + +

    ◆ 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 55 of file include/nixd/Protocol/Protocol.h.

    + +

    Referenced by nixd::rpc::fromJSON().

    + +
    +
    + +

    ◆ ValueKind

    + +
    +
    + + + + +
    int nixd::rpc::ExprValueResponse::ValueKind
    +
    + +

    Definition at line 62 of file include/nixd/Protocol/Protocol.h.

    + +

    Referenced by nixd::rpc::fromJSON().

    + +
    +
    +
    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..eba738402 --- /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 17 of file include/nixd/Protocol/Protocol.h.

    +

    Member Data Documentation

    + +

    ◆ BasePath

    + +
    +
    + + + + +
    std::string nixd::rpc::RegisterBCParams::BasePath
    +
    + +

    Definition at line 19 of file include/nixd/Protocol/Protocol.h.

    + +

    Referenced by nixd::rpc::fromJSON().

    + +
    +
    + +

    ◆ CachePath

    + +
    +
    + + + + +
    std::string nixd::rpc::RegisterBCParams::CachePath
    +
    + +

    Definition at line 20 of file include/nixd/Protocol/Protocol.h.

    + +

    Referenced by nixd::rpc::fromJSON().

    + +
    +
    + +

    ◆ Shm

    + +
    +
    + + + + +
    std::string nixd::rpc::RegisterBCParams::Shm
    +
    + +

    Definition at line 18 of file include/nixd/Protocol/Protocol.h.

    + +

    Referenced by nixd::rpc::fromJSON().

    + +
    +
    + +

    ◆ Size

    + +
    +
    + + + + +
    std::int64_t nixd::rpc::RegisterBCParams::Size
    +
    + +

    Definition at line 21 of file include/nixd/Protocol/Protocol.h.

    + +

    Referenced by nixd::rpc::fromJSON().

    + +
    +
    +
    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..b7c558a7e --- /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..c2c96df22 --- /dev/null +++ b/structnixd_1_1util_1_1PipedProc.html @@ -0,0 +1,182 @@ + + + + + + + +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

    pid_t PID
     
    AutoCloseFD Stdin
     
    AutoCloseFD Stdout
     
    AutoCloseFD Stderr
     
    +

    Detailed Description

    +
    +

    Definition at line 9 of file PipedProc.h.

    +

    Member Data Documentation

    + +

    ◆ PID

    + +
    +
    + + + + +
    pid_t nixd::util::PipedProc::PID
    +
    + +

    Definition at line 10 of file PipedProc.h.

    + +

    Referenced by nixd::AttrSetClientProc::client().

    + +
    +
    + +

    ◆ Stderr

    + +
    +
    + + + + +
    AutoCloseFD nixd::util::PipedProc::Stderr
    +
    + +

    Definition at line 15 of file PipedProc.h.

    + +
    +
    + +

    ◆ Stdin

    + +
    +
    + + + + +
    AutoCloseFD nixd::util::PipedProc::Stdin
    +
    + +

    Definition at line 13 of file PipedProc.h.

    + +
    +
    + +

    ◆ Stdout

    + +
    +
    + + + + +
    AutoCloseFD nixd::util::PipedProc::Stdout
    +
    + +

    Definition at line 14 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..07fe8482b --- /dev/null +++ b/structnixd_1_1util_1_1PipedProc__coll__graph.map @@ -0,0 +1,5 @@ + + + + + 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..da1d8f832 --- /dev/null +++ b/structnixd_1_1util_1_1PipedProc__coll__graph.md5 @@ -0,0 +1 @@ +49f922f625ba2652f530a506b4d3c9ae \ 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..48498db06 --- /dev/null +++ b/structnixd_1_1util_1_1PipedProc__coll__graph.svg @@ -0,0 +1,42 @@ + + + + + + +nixd::util::PipedProc + + +Node1 + + +nixd::util::PipedProc + + + + + +Node2 + + +nixd::util::AutoCloseFD + + + + + +Node2->Node1 + + + + + + Stderr +Stdin +Stdout + + + diff --git a/structnixf_1_1VariableLookupAnalysis_1_1LookupResult-members.html b/structnixf_1_1VariableLookupAnalysis_1_1LookupResult-members.html new file mode 100644 index 000000000..fe9f76f98 --- /dev/null +++ b/structnixf_1_1VariableLookupAnalysis_1_1LookupResult-members.html @@ -0,0 +1,92 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    nixf::VariableLookupAnalysis::LookupResult Member List
    +
    + + + + + diff --git a/structnixf_1_1VariableLookupAnalysis_1_1LookupResult.html b/structnixf_1_1VariableLookupAnalysis_1_1LookupResult.html new file mode 100644 index 000000000..3c9baac8a --- /dev/null +++ b/structnixf_1_1VariableLookupAnalysis_1_1LookupResult.html @@ -0,0 +1,141 @@ + + + + + + + +nixd: nixf::VariableLookupAnalysis::LookupResult Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    nixf::VariableLookupAnalysis::LookupResult Struct Reference
    +
    +
    + +

    #include <VariableLookup.h>

    + + + + + + +

    +Public Attributes

    LookupResultKind Kind
     
    std::shared_ptr< const DefinitionDef
     
    +

    Detailed Description

    +
    +

    Definition at line 121 of file VariableLookup.h.

    +

    Member Data Documentation

    + +

    ◆ Def

    + +
    +
    + + + + +
    std::shared_ptr<const Definition> nixf::VariableLookupAnalysis::LookupResult::Def
    +
    + +

    Definition at line 123 of file VariableLookup.h.

    + +
    +
    + +

    ◆ Kind

    + +
    +
    + + + + +
    LookupResultKind nixf::VariableLookupAnalysis::LookupResult::Kind
    +
    + +

    Definition at line 122 of file VariableLookup.h.

    + +

    Referenced by nixf::VariableLookupAnalysis::query().

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + 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..44c284ba8 --- /dev/null +++ b/structnixt_1_1DeserializeContext.html @@ -0,0 +1,201 @@ + + + + + + + +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.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structnixt_1_1HookExprAssert-members.html b/structnixt_1_1HookExprAssert-members.html new file mode 100644 index 000000000..21026dec4 --- /dev/null +++ b/structnixt_1_1HookExprAssert-members.html @@ -0,0 +1,96 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    nixt::HookExprAssert Member List
    +
    +
    + +

    This is the complete list of members for nixt::HookExprAssert, including all inherited members.

    + + + + + + + +
    EMapnixt::HookExprAssert
    eval(nix::EvalState &State, nix::Env &Env, nix::Value &V) overridenixt::HookExprAssert
    getName()nixt::HookExprAssert
    Handlenixt::HookExprAssert
    HookExprAssert(nix::ExprAssert E, ValueMap &VMap, EnvMap &EMap, std::uintptr_t Handle)nixt::HookExprAssertinline
    VMapnixt::HookExprAssert
    + + + + diff --git a/structnixt_1_1HookExprAssert.html b/structnixt_1_1HookExprAssert.html new file mode 100644 index 000000000..70b63f566 --- /dev/null +++ b/structnixt_1_1HookExprAssert.html @@ -0,0 +1,271 @@ + + + + + + + +nixd: nixt::HookExprAssert Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    nixt::HookExprAssert Struct Reference
    +
    +
    + +

    #include <HookExpr.h>

    +
    +Inheritance diagram for nixt::HookExprAssert:
    +
    +
    +
    [legend]
    +
    +Collaboration diagram for nixt::HookExprAssert:
    +
    +
    +
    [legend]
    + + + + + + + + +

    +Public Member Functions

     HookExprAssert (nix::ExprAssert E, ValueMap &VMap, EnvMap &EMap, std::uintptr_t Handle)
     
    void eval (nix::EvalState &State, nix::Env &Env, nix::Value &V) override
     
    std::string getName ()
     
    + + + + + + + +

    +Public Attributes

    ValueMapVMap
     
    EnvMapEMap
     
    std::uintptr_t Handle
     
    +

    Detailed Description

    +
    +

    Definition at line 12 of file HookExpr.h.

    +

    Constructor & Destructor Documentation

    + +

    ◆ HookExprAssert()

    + +
    +
    + + + + + +
    + + + + + + + + + + + + + + + + + + + + + +
    nixt::HookExprAssert::HookExprAssert (nix::ExprAssert E,
    ValueMap & VMap,
    EnvMap & EMap,
    std::uintptr_t Handle )
    +
    +inline
    +
    + +

    Definition at line 16 of file HookExpr.h.

    + +
    +
    +

    Member Function Documentation

    + +

    ◆ eval()

    + +
    +
    + + + + + +
    + + + + + + + + + + + + + + + + +
    void nixt::HookExprAssert::eval (nix::EvalState & State,
    nix::Env & Env,
    nix::Value & V )
    +
    +override
    +
    + +
    +
    + +

    ◆ getName()

    + +
    +
    + + + + + + + +
    std::string nixt::HookExprAssert::getName ()
    +
    + +
    +
    +

    Member Data Documentation

    + +

    ◆ EMap

    + +
    +
    + + + + +
    EnvMap& nixt::HookExprAssert::EMap
    +
    + +

    Definition at line 14 of file HookExpr.h.

    + +
    +
    + +

    ◆ Handle

    + +
    +
    + + + + +
    std::uintptr_t nixt::HookExprAssert::Handle
    +
    + +

    Definition at line 15 of file HookExpr.h.

    + +
    +
    + +

    ◆ VMap

    + +
    +
    + + + + +
    ValueMap& nixt::HookExprAssert::VMap
    +
    + +

    Definition at line 13 of file HookExpr.h.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structnixt_1_1HookExprAssert__coll__graph.map b/structnixt_1_1HookExprAssert__coll__graph.map new file mode 100644 index 000000000..1947e94b1 --- /dev/null +++ b/structnixt_1_1HookExprAssert__coll__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/structnixt_1_1HookExprAssert__coll__graph.md5 b/structnixt_1_1HookExprAssert__coll__graph.md5 new file mode 100644 index 000000000..d51a2df34 --- /dev/null +++ b/structnixt_1_1HookExprAssert__coll__graph.md5 @@ -0,0 +1 @@ +e47bdecde231afdfd45e72deeed6a7ab \ No newline at end of file diff --git a/structnixt_1_1HookExprAssert__coll__graph.svg b/structnixt_1_1HookExprAssert__coll__graph.svg new file mode 100644 index 000000000..9b1c5bf28 --- /dev/null +++ b/structnixt_1_1HookExprAssert__coll__graph.svg @@ -0,0 +1,39 @@ + + + + + + +nixt::HookExprAssert + + +Node1 + + +nixt::HookExprAssert + + + + + +Node2 + + +nix::ExprAssert + + + + + +Node2->Node1 + + + + + + + + diff --git a/structnixt_1_1HookExprAssert__inherit__graph.map b/structnixt_1_1HookExprAssert__inherit__graph.map new file mode 100644 index 000000000..1947e94b1 --- /dev/null +++ b/structnixt_1_1HookExprAssert__inherit__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/structnixt_1_1HookExprAssert__inherit__graph.md5 b/structnixt_1_1HookExprAssert__inherit__graph.md5 new file mode 100644 index 000000000..d51a2df34 --- /dev/null +++ b/structnixt_1_1HookExprAssert__inherit__graph.md5 @@ -0,0 +1 @@ +e47bdecde231afdfd45e72deeed6a7ab \ No newline at end of file diff --git a/structnixt_1_1HookExprAssert__inherit__graph.svg b/structnixt_1_1HookExprAssert__inherit__graph.svg new file mode 100644 index 000000000..9b1c5bf28 --- /dev/null +++ b/structnixt_1_1HookExprAssert__inherit__graph.svg @@ -0,0 +1,39 @@ + + + + + + +nixt::HookExprAssert + + +Node1 + + +nixt::HookExprAssert + + + + + +Node2 + + +nix::ExprAssert + + + + + +Node2->Node1 + + + + + + + + diff --git a/structnixt_1_1HookExprAttrs-members.html b/structnixt_1_1HookExprAttrs-members.html new file mode 100644 index 000000000..f23e639c0 --- /dev/null +++ b/structnixt_1_1HookExprAttrs-members.html @@ -0,0 +1,96 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    nixt::HookExprAttrs Member List
    +
    +
    + +

    This is the complete list of members for nixt::HookExprAttrs, including all inherited members.

    + + + + + + + +
    EMapnixt::HookExprAttrs
    eval(nix::EvalState &State, nix::Env &Env, nix::Value &V) overridenixt::HookExprAttrs
    getName()nixt::HookExprAttrs
    Handlenixt::HookExprAttrs
    HookExprAttrs(nix::ExprAttrs E, ValueMap &VMap, EnvMap &EMap, std::uintptr_t Handle)nixt::HookExprAttrsinline
    VMapnixt::HookExprAttrs
    + + + + diff --git a/structnixt_1_1HookExprAttrs.html b/structnixt_1_1HookExprAttrs.html new file mode 100644 index 000000000..d067d6469 --- /dev/null +++ b/structnixt_1_1HookExprAttrs.html @@ -0,0 +1,271 @@ + + + + + + + +nixd: nixt::HookExprAttrs Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    nixt::HookExprAttrs Struct Reference
    +
    +
    + +

    #include <HookExpr.h>

    +
    +Inheritance diagram for nixt::HookExprAttrs:
    +
    +
    +
    [legend]
    +
    +Collaboration diagram for nixt::HookExprAttrs:
    +
    +
    +
    [legend]
    + + + + + + + + +

    +Public Member Functions

     HookExprAttrs (nix::ExprAttrs E, ValueMap &VMap, EnvMap &EMap, std::uintptr_t Handle)
     
    void eval (nix::EvalState &State, nix::Env &Env, nix::Value &V) override
     
    std::string getName ()
     
    + + + + + + + +

    +Public Attributes

    ValueMapVMap
     
    EnvMapEMap
     
    std::uintptr_t Handle
     
    +

    Detailed Description

    +
    +

    Definition at line 23 of file HookExpr.h.

    +

    Constructor & Destructor Documentation

    + +

    ◆ HookExprAttrs()

    + +
    +
    + + + + + +
    + + + + + + + + + + + + + + + + + + + + + +
    nixt::HookExprAttrs::HookExprAttrs (nix::ExprAttrs E,
    ValueMap & VMap,
    EnvMap & EMap,
    std::uintptr_t Handle )
    +
    +inline
    +
    + +

    Definition at line 27 of file HookExpr.h.

    + +
    +
    +

    Member Function Documentation

    + +

    ◆ eval()

    + +
    +
    + + + + + +
    + + + + + + + + + + + + + + + + +
    void nixt::HookExprAttrs::eval (nix::EvalState & State,
    nix::Env & Env,
    nix::Value & V )
    +
    +override
    +
    + +
    +
    + +

    ◆ getName()

    + +
    +
    + + + + + + + +
    std::string nixt::HookExprAttrs::getName ()
    +
    + +
    +
    +

    Member Data Documentation

    + +

    ◆ EMap

    + +
    +
    + + + + +
    EnvMap& nixt::HookExprAttrs::EMap
    +
    + +

    Definition at line 25 of file HookExpr.h.

    + +
    +
    + +

    ◆ Handle

    + +
    +
    + + + + +
    std::uintptr_t nixt::HookExprAttrs::Handle
    +
    + +

    Definition at line 26 of file HookExpr.h.

    + +
    +
    + +

    ◆ VMap

    + +
    +
    + + + + +
    ValueMap& nixt::HookExprAttrs::VMap
    +
    + +

    Definition at line 24 of file HookExpr.h.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structnixt_1_1HookExprAttrs__coll__graph.map b/structnixt_1_1HookExprAttrs__coll__graph.map new file mode 100644 index 000000000..5b4636f12 --- /dev/null +++ b/structnixt_1_1HookExprAttrs__coll__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/structnixt_1_1HookExprAttrs__coll__graph.md5 b/structnixt_1_1HookExprAttrs__coll__graph.md5 new file mode 100644 index 000000000..ae59ac7a7 --- /dev/null +++ b/structnixt_1_1HookExprAttrs__coll__graph.md5 @@ -0,0 +1 @@ +1ef7b8eed82d83adf06d491a77c0a912 \ No newline at end of file diff --git a/structnixt_1_1HookExprAttrs__coll__graph.svg b/structnixt_1_1HookExprAttrs__coll__graph.svg new file mode 100644 index 000000000..e949ea104 --- /dev/null +++ b/structnixt_1_1HookExprAttrs__coll__graph.svg @@ -0,0 +1,39 @@ + + + + + + +nixt::HookExprAttrs + + +Node1 + + +nixt::HookExprAttrs + + + + + +Node2 + + +nix::ExprAttrs + + + + + +Node2->Node1 + + + + + + + + diff --git a/structnixt_1_1HookExprAttrs__inherit__graph.map b/structnixt_1_1HookExprAttrs__inherit__graph.map new file mode 100644 index 000000000..5b4636f12 --- /dev/null +++ b/structnixt_1_1HookExprAttrs__inherit__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/structnixt_1_1HookExprAttrs__inherit__graph.md5 b/structnixt_1_1HookExprAttrs__inherit__graph.md5 new file mode 100644 index 000000000..ae59ac7a7 --- /dev/null +++ b/structnixt_1_1HookExprAttrs__inherit__graph.md5 @@ -0,0 +1 @@ +1ef7b8eed82d83adf06d491a77c0a912 \ No newline at end of file diff --git a/structnixt_1_1HookExprAttrs__inherit__graph.svg b/structnixt_1_1HookExprAttrs__inherit__graph.svg new file mode 100644 index 000000000..e949ea104 --- /dev/null +++ b/structnixt_1_1HookExprAttrs__inherit__graph.svg @@ -0,0 +1,39 @@ + + + + + + +nixt::HookExprAttrs + + +Node1 + + +nixt::HookExprAttrs + + + + + +Node2 + + +nix::ExprAttrs + + + + + +Node2->Node1 + + + + + + + + diff --git a/structnixt_1_1HookExprCall-members.html b/structnixt_1_1HookExprCall-members.html new file mode 100644 index 000000000..60d17593c --- /dev/null +++ b/structnixt_1_1HookExprCall-members.html @@ -0,0 +1,96 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    nixt::HookExprCall Member List
    +
    +
    + +

    This is the complete list of members for nixt::HookExprCall, including all inherited members.

    + + + + + + + +
    EMapnixt::HookExprCall
    eval(nix::EvalState &State, nix::Env &Env, nix::Value &V) overridenixt::HookExprCall
    getName()nixt::HookExprCall
    Handlenixt::HookExprCall
    HookExprCall(nix::ExprCall E, ValueMap &VMap, EnvMap &EMap, std::uintptr_t Handle)nixt::HookExprCallinline
    VMapnixt::HookExprCall
    + + + + diff --git a/structnixt_1_1HookExprCall.html b/structnixt_1_1HookExprCall.html new file mode 100644 index 000000000..cb35e14cc --- /dev/null +++ b/structnixt_1_1HookExprCall.html @@ -0,0 +1,271 @@ + + + + + + + +nixd: nixt::HookExprCall Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    nixt::HookExprCall Struct Reference
    +
    +
    + +

    #include <HookExpr.h>

    +
    +Inheritance diagram for nixt::HookExprCall:
    +
    +
    +
    [legend]
    +
    +Collaboration diagram for nixt::HookExprCall:
    +
    +
    +
    [legend]
    + + + + + + + + +

    +Public Member Functions

     HookExprCall (nix::ExprCall E, ValueMap &VMap, EnvMap &EMap, std::uintptr_t Handle)
     
    void eval (nix::EvalState &State, nix::Env &Env, nix::Value &V) override
     
    std::string getName ()
     
    + + + + + + + +

    +Public Attributes

    ValueMapVMap
     
    EnvMapEMap
     
    std::uintptr_t Handle
     
    +

    Detailed Description

    +
    +

    Definition at line 34 of file HookExpr.h.

    +

    Constructor & Destructor Documentation

    + +

    ◆ HookExprCall()

    + +
    +
    + + + + + +
    + + + + + + + + + + + + + + + + + + + + + +
    nixt::HookExprCall::HookExprCall (nix::ExprCall E,
    ValueMap & VMap,
    EnvMap & EMap,
    std::uintptr_t Handle )
    +
    +inline
    +
    + +

    Definition at line 38 of file HookExpr.h.

    + +
    +
    +

    Member Function Documentation

    + +

    ◆ eval()

    + +
    +
    + + + + + +
    + + + + + + + + + + + + + + + + +
    void nixt::HookExprCall::eval (nix::EvalState & State,
    nix::Env & Env,
    nix::Value & V )
    +
    +override
    +
    + +
    +
    + +

    ◆ getName()

    + +
    +
    + + + + + + + +
    std::string nixt::HookExprCall::getName ()
    +
    + +
    +
    +

    Member Data Documentation

    + +

    ◆ EMap

    + +
    +
    + + + + +
    EnvMap& nixt::HookExprCall::EMap
    +
    + +

    Definition at line 36 of file HookExpr.h.

    + +
    +
    + +

    ◆ Handle

    + +
    +
    + + + + +
    std::uintptr_t nixt::HookExprCall::Handle
    +
    + +

    Definition at line 37 of file HookExpr.h.

    + +
    +
    + +

    ◆ VMap

    + +
    +
    + + + + +
    ValueMap& nixt::HookExprCall::VMap
    +
    + +

    Definition at line 35 of file HookExpr.h.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structnixt_1_1HookExprCall__coll__graph.map b/structnixt_1_1HookExprCall__coll__graph.map new file mode 100644 index 000000000..0f3b6e573 --- /dev/null +++ b/structnixt_1_1HookExprCall__coll__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/structnixt_1_1HookExprCall__coll__graph.md5 b/structnixt_1_1HookExprCall__coll__graph.md5 new file mode 100644 index 000000000..8e283d12a --- /dev/null +++ b/structnixt_1_1HookExprCall__coll__graph.md5 @@ -0,0 +1 @@ +d32d973f8b8f116c5912aaa8b10e765a \ No newline at end of file diff --git a/structnixt_1_1HookExprCall__coll__graph.svg b/structnixt_1_1HookExprCall__coll__graph.svg new file mode 100644 index 000000000..6ac9ee8fc --- /dev/null +++ b/structnixt_1_1HookExprCall__coll__graph.svg @@ -0,0 +1,39 @@ + + + + + + +nixt::HookExprCall + + +Node1 + + +nixt::HookExprCall + + + + + +Node2 + + +nix::ExprCall + + + + + +Node2->Node1 + + + + + + + + diff --git a/structnixt_1_1HookExprCall__inherit__graph.map b/structnixt_1_1HookExprCall__inherit__graph.map new file mode 100644 index 000000000..0f3b6e573 --- /dev/null +++ b/structnixt_1_1HookExprCall__inherit__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/structnixt_1_1HookExprCall__inherit__graph.md5 b/structnixt_1_1HookExprCall__inherit__graph.md5 new file mode 100644 index 000000000..8e283d12a --- /dev/null +++ b/structnixt_1_1HookExprCall__inherit__graph.md5 @@ -0,0 +1 @@ +d32d973f8b8f116c5912aaa8b10e765a \ No newline at end of file diff --git a/structnixt_1_1HookExprCall__inherit__graph.svg b/structnixt_1_1HookExprCall__inherit__graph.svg new file mode 100644 index 000000000..6ac9ee8fc --- /dev/null +++ b/structnixt_1_1HookExprCall__inherit__graph.svg @@ -0,0 +1,39 @@ + + + + + + +nixt::HookExprCall + + +Node1 + + +nixt::HookExprCall + + + + + +Node2 + + +nix::ExprCall + + + + + +Node2->Node1 + + + + + + + + diff --git a/structnixt_1_1HookExprConcatStrings-members.html b/structnixt_1_1HookExprConcatStrings-members.html new file mode 100644 index 000000000..6912d38c1 --- /dev/null +++ b/structnixt_1_1HookExprConcatStrings-members.html @@ -0,0 +1,96 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    nixt::HookExprConcatStrings Member List
    +
    +
    + +

    This is the complete list of members for nixt::HookExprConcatStrings, including all inherited members.

    + + + + + + + +
    EMapnixt::HookExprConcatStrings
    eval(nix::EvalState &State, nix::Env &Env, nix::Value &V) overridenixt::HookExprConcatStrings
    getName()nixt::HookExprConcatStrings
    Handlenixt::HookExprConcatStrings
    HookExprConcatStrings(nix::ExprConcatStrings E, ValueMap &VMap, EnvMap &EMap, std::uintptr_t Handle)nixt::HookExprConcatStringsinline
    VMapnixt::HookExprConcatStrings
    + + + + diff --git a/structnixt_1_1HookExprConcatStrings.html b/structnixt_1_1HookExprConcatStrings.html new file mode 100644 index 000000000..afed5c0c2 --- /dev/null +++ b/structnixt_1_1HookExprConcatStrings.html @@ -0,0 +1,271 @@ + + + + + + + +nixd: nixt::HookExprConcatStrings Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    nixt::HookExprConcatStrings Struct Reference
    +
    +
    + +

    #include <HookExpr.h>

    +
    +Inheritance diagram for nixt::HookExprConcatStrings:
    +
    +
    +
    [legend]
    +
    +Collaboration diagram for nixt::HookExprConcatStrings:
    +
    +
    +
    [legend]
    + + + + + + + + +

    +Public Member Functions

     HookExprConcatStrings (nix::ExprConcatStrings E, ValueMap &VMap, EnvMap &EMap, std::uintptr_t Handle)
     
    void eval (nix::EvalState &State, nix::Env &Env, nix::Value &V) override
     
    std::string getName ()
     
    + + + + + + + +

    +Public Attributes

    ValueMapVMap
     
    EnvMapEMap
     
    std::uintptr_t Handle
     
    +

    Detailed Description

    +
    +

    Definition at line 45 of file HookExpr.h.

    +

    Constructor & Destructor Documentation

    + +

    ◆ HookExprConcatStrings()

    + +
    +
    + + + + + +
    + + + + + + + + + + + + + + + + + + + + + +
    nixt::HookExprConcatStrings::HookExprConcatStrings (nix::ExprConcatStrings E,
    ValueMap & VMap,
    EnvMap & EMap,
    std::uintptr_t Handle )
    +
    +inline
    +
    + +

    Definition at line 49 of file HookExpr.h.

    + +
    +
    +

    Member Function Documentation

    + +

    ◆ eval()

    + +
    +
    + + + + + +
    + + + + + + + + + + + + + + + + +
    void nixt::HookExprConcatStrings::eval (nix::EvalState & State,
    nix::Env & Env,
    nix::Value & V )
    +
    +override
    +
    + +
    +
    + +

    ◆ getName()

    + +
    +
    + + + + + + + +
    std::string nixt::HookExprConcatStrings::getName ()
    +
    + +
    +
    +

    Member Data Documentation

    + +

    ◆ EMap

    + +
    +
    + + + + +
    EnvMap& nixt::HookExprConcatStrings::EMap
    +
    + +

    Definition at line 47 of file HookExpr.h.

    + +
    +
    + +

    ◆ Handle

    + +
    +
    + + + + +
    std::uintptr_t nixt::HookExprConcatStrings::Handle
    +
    + +

    Definition at line 48 of file HookExpr.h.

    + +
    +
    + +

    ◆ VMap

    + +
    +
    + + + + +
    ValueMap& nixt::HookExprConcatStrings::VMap
    +
    + +

    Definition at line 46 of file HookExpr.h.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structnixt_1_1HookExprConcatStrings__coll__graph.map b/structnixt_1_1HookExprConcatStrings__coll__graph.map new file mode 100644 index 000000000..96e7f86c0 --- /dev/null +++ b/structnixt_1_1HookExprConcatStrings__coll__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/structnixt_1_1HookExprConcatStrings__coll__graph.md5 b/structnixt_1_1HookExprConcatStrings__coll__graph.md5 new file mode 100644 index 000000000..182384a96 --- /dev/null +++ b/structnixt_1_1HookExprConcatStrings__coll__graph.md5 @@ -0,0 +1 @@ +3cb73ff507cbde17998e7ec24cabf29f \ No newline at end of file diff --git a/structnixt_1_1HookExprConcatStrings__coll__graph.svg b/structnixt_1_1HookExprConcatStrings__coll__graph.svg new file mode 100644 index 000000000..ce534b421 --- /dev/null +++ b/structnixt_1_1HookExprConcatStrings__coll__graph.svg @@ -0,0 +1,39 @@ + + + + + + +nixt::HookExprConcatStrings + + +Node1 + + +nixt::HookExprConcatStrings + + + + + +Node2 + + +nix::ExprConcatStrings + + + + + +Node2->Node1 + + + + + + + + diff --git a/structnixt_1_1HookExprConcatStrings__inherit__graph.map b/structnixt_1_1HookExprConcatStrings__inherit__graph.map new file mode 100644 index 000000000..96e7f86c0 --- /dev/null +++ b/structnixt_1_1HookExprConcatStrings__inherit__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/structnixt_1_1HookExprConcatStrings__inherit__graph.md5 b/structnixt_1_1HookExprConcatStrings__inherit__graph.md5 new file mode 100644 index 000000000..182384a96 --- /dev/null +++ b/structnixt_1_1HookExprConcatStrings__inherit__graph.md5 @@ -0,0 +1 @@ +3cb73ff507cbde17998e7ec24cabf29f \ No newline at end of file diff --git a/structnixt_1_1HookExprConcatStrings__inherit__graph.svg b/structnixt_1_1HookExprConcatStrings__inherit__graph.svg new file mode 100644 index 000000000..ce534b421 --- /dev/null +++ b/structnixt_1_1HookExprConcatStrings__inherit__graph.svg @@ -0,0 +1,39 @@ + + + + + + +nixt::HookExprConcatStrings + + +Node1 + + +nixt::HookExprConcatStrings + + + + + +Node2 + + +nix::ExprConcatStrings + + + + + +Node2->Node1 + + + + + + + + diff --git a/structnixt_1_1HookExprFloat-members.html b/structnixt_1_1HookExprFloat-members.html new file mode 100644 index 000000000..dcc58582d --- /dev/null +++ b/structnixt_1_1HookExprFloat-members.html @@ -0,0 +1,96 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    nixt::HookExprFloat Member List
    +
    +
    + +

    This is the complete list of members for nixt::HookExprFloat, including all inherited members.

    + + + + + + + +
    EMapnixt::HookExprFloat
    eval(nix::EvalState &State, nix::Env &Env, nix::Value &V) overridenixt::HookExprFloat
    getName()nixt::HookExprFloat
    Handlenixt::HookExprFloat
    HookExprFloat(nix::ExprFloat E, ValueMap &VMap, EnvMap &EMap, std::uintptr_t Handle)nixt::HookExprFloatinline
    VMapnixt::HookExprFloat
    + + + + diff --git a/structnixt_1_1HookExprFloat.html b/structnixt_1_1HookExprFloat.html new file mode 100644 index 000000000..0d40930fd --- /dev/null +++ b/structnixt_1_1HookExprFloat.html @@ -0,0 +1,271 @@ + + + + + + + +nixd: nixt::HookExprFloat Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    nixt::HookExprFloat Struct Reference
    +
    +
    + +

    #include <HookExpr.h>

    +
    +Inheritance diagram for nixt::HookExprFloat:
    +
    +
    +
    [legend]
    +
    +Collaboration diagram for nixt::HookExprFloat:
    +
    +
    +
    [legend]
    + + + + + + + + +

    +Public Member Functions

     HookExprFloat (nix::ExprFloat E, ValueMap &VMap, EnvMap &EMap, std::uintptr_t Handle)
     
    void eval (nix::EvalState &State, nix::Env &Env, nix::Value &V) override
     
    std::string getName ()
     
    + + + + + + + +

    +Public Attributes

    ValueMapVMap
     
    EnvMapEMap
     
    std::uintptr_t Handle
     
    +

    Detailed Description

    +
    +

    Definition at line 57 of file HookExpr.h.

    +

    Constructor & Destructor Documentation

    + +

    ◆ HookExprFloat()

    + +
    +
    + + + + + +
    + + + + + + + + + + + + + + + + + + + + + +
    nixt::HookExprFloat::HookExprFloat (nix::ExprFloat E,
    ValueMap & VMap,
    EnvMap & EMap,
    std::uintptr_t Handle )
    +
    +inline
    +
    + +

    Definition at line 61 of file HookExpr.h.

    + +
    +
    +

    Member Function Documentation

    + +

    ◆ eval()

    + +
    +
    + + + + + +
    + + + + + + + + + + + + + + + + +
    void nixt::HookExprFloat::eval (nix::EvalState & State,
    nix::Env & Env,
    nix::Value & V )
    +
    +override
    +
    + +
    +
    + +

    ◆ getName()

    + +
    +
    + + + + + + + +
    std::string nixt::HookExprFloat::getName ()
    +
    + +
    +
    +

    Member Data Documentation

    + +

    ◆ EMap

    + +
    +
    + + + + +
    EnvMap& nixt::HookExprFloat::EMap
    +
    + +

    Definition at line 59 of file HookExpr.h.

    + +
    +
    + +

    ◆ Handle

    + +
    +
    + + + + +
    std::uintptr_t nixt::HookExprFloat::Handle
    +
    + +

    Definition at line 60 of file HookExpr.h.

    + +
    +
    + +

    ◆ VMap

    + +
    +
    + + + + +
    ValueMap& nixt::HookExprFloat::VMap
    +
    + +

    Definition at line 58 of file HookExpr.h.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structnixt_1_1HookExprFloat__coll__graph.map b/structnixt_1_1HookExprFloat__coll__graph.map new file mode 100644 index 000000000..80f4b4e3d --- /dev/null +++ b/structnixt_1_1HookExprFloat__coll__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/structnixt_1_1HookExprFloat__coll__graph.md5 b/structnixt_1_1HookExprFloat__coll__graph.md5 new file mode 100644 index 000000000..c581f1e87 --- /dev/null +++ b/structnixt_1_1HookExprFloat__coll__graph.md5 @@ -0,0 +1 @@ +019db5c52c67da8e31493291a4b82010 \ No newline at end of file diff --git a/structnixt_1_1HookExprFloat__coll__graph.svg b/structnixt_1_1HookExprFloat__coll__graph.svg new file mode 100644 index 000000000..c058ec3a7 --- /dev/null +++ b/structnixt_1_1HookExprFloat__coll__graph.svg @@ -0,0 +1,39 @@ + + + + + + +nixt::HookExprFloat + + +Node1 + + +nixt::HookExprFloat + + + + + +Node2 + + +nix::ExprFloat + + + + + +Node2->Node1 + + + + + + + + diff --git a/structnixt_1_1HookExprFloat__inherit__graph.map b/structnixt_1_1HookExprFloat__inherit__graph.map new file mode 100644 index 000000000..80f4b4e3d --- /dev/null +++ b/structnixt_1_1HookExprFloat__inherit__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/structnixt_1_1HookExprFloat__inherit__graph.md5 b/structnixt_1_1HookExprFloat__inherit__graph.md5 new file mode 100644 index 000000000..c581f1e87 --- /dev/null +++ b/structnixt_1_1HookExprFloat__inherit__graph.md5 @@ -0,0 +1 @@ +019db5c52c67da8e31493291a4b82010 \ No newline at end of file diff --git a/structnixt_1_1HookExprFloat__inherit__graph.svg b/structnixt_1_1HookExprFloat__inherit__graph.svg new file mode 100644 index 000000000..c058ec3a7 --- /dev/null +++ b/structnixt_1_1HookExprFloat__inherit__graph.svg @@ -0,0 +1,39 @@ + + + + + + +nixt::HookExprFloat + + +Node1 + + +nixt::HookExprFloat + + + + + +Node2 + + +nix::ExprFloat + + + + + +Node2->Node1 + + + + + + + + diff --git a/structnixt_1_1HookExprIf-members.html b/structnixt_1_1HookExprIf-members.html new file mode 100644 index 000000000..375b621b8 --- /dev/null +++ b/structnixt_1_1HookExprIf-members.html @@ -0,0 +1,96 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    nixt::HookExprIf Member List
    +
    +
    + +

    This is the complete list of members for nixt::HookExprIf, including all inherited members.

    + + + + + + + +
    EMapnixt::HookExprIf
    eval(nix::EvalState &State, nix::Env &Env, nix::Value &V) overridenixt::HookExprIf
    getName()nixt::HookExprIf
    Handlenixt::HookExprIf
    HookExprIf(nix::ExprIf E, ValueMap &VMap, EnvMap &EMap, std::uintptr_t Handle)nixt::HookExprIfinline
    VMapnixt::HookExprIf
    + + + + diff --git a/structnixt_1_1HookExprIf.html b/structnixt_1_1HookExprIf.html new file mode 100644 index 000000000..93a81a8ba --- /dev/null +++ b/structnixt_1_1HookExprIf.html @@ -0,0 +1,271 @@ + + + + + + + +nixd: nixt::HookExprIf Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    nixt::HookExprIf Struct Reference
    +
    +
    + +

    #include <HookExpr.h>

    +
    +Inheritance diagram for nixt::HookExprIf:
    +
    +
    +
    [legend]
    +
    +Collaboration diagram for nixt::HookExprIf:
    +
    +
    +
    [legend]
    + + + + + + + + +

    +Public Member Functions

     HookExprIf (nix::ExprIf E, ValueMap &VMap, EnvMap &EMap, std::uintptr_t Handle)
     
    void eval (nix::EvalState &State, nix::Env &Env, nix::Value &V) override
     
    std::string getName ()
     
    + + + + + + + +

    +Public Attributes

    ValueMapVMap
     
    EnvMapEMap
     
    std::uintptr_t Handle
     
    +

    Detailed Description

    +
    +

    Definition at line 68 of file HookExpr.h.

    +

    Constructor & Destructor Documentation

    + +

    ◆ HookExprIf()

    + +
    +
    + + + + + +
    + + + + + + + + + + + + + + + + + + + + + +
    nixt::HookExprIf::HookExprIf (nix::ExprIf E,
    ValueMap & VMap,
    EnvMap & EMap,
    std::uintptr_t Handle )
    +
    +inline
    +
    + +

    Definition at line 72 of file HookExpr.h.

    + +
    +
    +

    Member Function Documentation

    + +

    ◆ eval()

    + +
    +
    + + + + + +
    + + + + + + + + + + + + + + + + +
    void nixt::HookExprIf::eval (nix::EvalState & State,
    nix::Env & Env,
    nix::Value & V )
    +
    +override
    +
    + +
    +
    + +

    ◆ getName()

    + +
    +
    + + + + + + + +
    std::string nixt::HookExprIf::getName ()
    +
    + +
    +
    +

    Member Data Documentation

    + +

    ◆ EMap

    + +
    +
    + + + + +
    EnvMap& nixt::HookExprIf::EMap
    +
    + +

    Definition at line 70 of file HookExpr.h.

    + +
    +
    + +

    ◆ Handle

    + +
    +
    + + + + +
    std::uintptr_t nixt::HookExprIf::Handle
    +
    + +

    Definition at line 71 of file HookExpr.h.

    + +
    +
    + +

    ◆ VMap

    + +
    +
    + + + + +
    ValueMap& nixt::HookExprIf::VMap
    +
    + +

    Definition at line 69 of file HookExpr.h.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structnixt_1_1HookExprIf__coll__graph.map b/structnixt_1_1HookExprIf__coll__graph.map new file mode 100644 index 000000000..b1902e497 --- /dev/null +++ b/structnixt_1_1HookExprIf__coll__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/structnixt_1_1HookExprIf__coll__graph.md5 b/structnixt_1_1HookExprIf__coll__graph.md5 new file mode 100644 index 000000000..63e2a519d --- /dev/null +++ b/structnixt_1_1HookExprIf__coll__graph.md5 @@ -0,0 +1 @@ +52ad67c9a0aa8cd64525c4337e23ba9d \ No newline at end of file diff --git a/structnixt_1_1HookExprIf__coll__graph.svg b/structnixt_1_1HookExprIf__coll__graph.svg new file mode 100644 index 000000000..72fb1b6af --- /dev/null +++ b/structnixt_1_1HookExprIf__coll__graph.svg @@ -0,0 +1,39 @@ + + + + + + +nixt::HookExprIf + + +Node1 + + +nixt::HookExprIf + + + + + +Node2 + + +nix::ExprIf + + + + + +Node2->Node1 + + + + + + + + diff --git a/structnixt_1_1HookExprIf__inherit__graph.map b/structnixt_1_1HookExprIf__inherit__graph.map new file mode 100644 index 000000000..b1902e497 --- /dev/null +++ b/structnixt_1_1HookExprIf__inherit__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/structnixt_1_1HookExprIf__inherit__graph.md5 b/structnixt_1_1HookExprIf__inherit__graph.md5 new file mode 100644 index 000000000..63e2a519d --- /dev/null +++ b/structnixt_1_1HookExprIf__inherit__graph.md5 @@ -0,0 +1 @@ +52ad67c9a0aa8cd64525c4337e23ba9d \ No newline at end of file diff --git a/structnixt_1_1HookExprIf__inherit__graph.svg b/structnixt_1_1HookExprIf__inherit__graph.svg new file mode 100644 index 000000000..72fb1b6af --- /dev/null +++ b/structnixt_1_1HookExprIf__inherit__graph.svg @@ -0,0 +1,39 @@ + + + + + + +nixt::HookExprIf + + +Node1 + + +nixt::HookExprIf + + + + + +Node2 + + +nix::ExprIf + + + + + +Node2->Node1 + + + + + + + + diff --git a/structnixt_1_1HookExprInt-members.html b/structnixt_1_1HookExprInt-members.html new file mode 100644 index 000000000..c4d2fa86f --- /dev/null +++ b/structnixt_1_1HookExprInt-members.html @@ -0,0 +1,96 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    nixt::HookExprInt Member List
    +
    +
    + +

    This is the complete list of members for nixt::HookExprInt, including all inherited members.

    + + + + + + + +
    EMapnixt::HookExprInt
    eval(nix::EvalState &State, nix::Env &Env, nix::Value &V) overridenixt::HookExprInt
    getName()nixt::HookExprInt
    Handlenixt::HookExprInt
    HookExprInt(nix::ExprInt E, ValueMap &VMap, EnvMap &EMap, std::uintptr_t Handle)nixt::HookExprIntinline
    VMapnixt::HookExprInt
    + + + + diff --git a/structnixt_1_1HookExprInt.html b/structnixt_1_1HookExprInt.html new file mode 100644 index 000000000..0d969a923 --- /dev/null +++ b/structnixt_1_1HookExprInt.html @@ -0,0 +1,271 @@ + + + + + + + +nixd: nixt::HookExprInt Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    nixt::HookExprInt Struct Reference
    +
    +
    + +

    #include <HookExpr.h>

    +
    +Inheritance diagram for nixt::HookExprInt:
    +
    +
    +
    [legend]
    +
    +Collaboration diagram for nixt::HookExprInt:
    +
    +
    +
    [legend]
    + + + + + + + + +

    +Public Member Functions

     HookExprInt (nix::ExprInt E, ValueMap &VMap, EnvMap &EMap, std::uintptr_t Handle)
     
    void eval (nix::EvalState &State, nix::Env &Env, nix::Value &V) override
     
    std::string getName ()
     
    + + + + + + + +

    +Public Attributes

    ValueMapVMap
     
    EnvMapEMap
     
    std::uintptr_t Handle
     
    +

    Detailed Description

    +
    +

    Definition at line 78 of file HookExpr.h.

    +

    Constructor & Destructor Documentation

    + +

    ◆ HookExprInt()

    + +
    +
    + + + + + +
    + + + + + + + + + + + + + + + + + + + + + +
    nixt::HookExprInt::HookExprInt (nix::ExprInt E,
    ValueMap & VMap,
    EnvMap & EMap,
    std::uintptr_t Handle )
    +
    +inline
    +
    + +

    Definition at line 82 of file HookExpr.h.

    + +
    +
    +

    Member Function Documentation

    + +

    ◆ eval()

    + +
    +
    + + + + + +
    + + + + + + + + + + + + + + + + +
    void nixt::HookExprInt::eval (nix::EvalState & State,
    nix::Env & Env,
    nix::Value & V )
    +
    +override
    +
    + +
    +
    + +

    ◆ getName()

    + +
    +
    + + + + + + + +
    std::string nixt::HookExprInt::getName ()
    +
    + +
    +
    +

    Member Data Documentation

    + +

    ◆ EMap

    + +
    +
    + + + + +
    EnvMap& nixt::HookExprInt::EMap
    +
    + +

    Definition at line 80 of file HookExpr.h.

    + +
    +
    + +

    ◆ Handle

    + +
    +
    + + + + +
    std::uintptr_t nixt::HookExprInt::Handle
    +
    + +

    Definition at line 81 of file HookExpr.h.

    + +
    +
    + +

    ◆ VMap

    + +
    +
    + + + + +
    ValueMap& nixt::HookExprInt::VMap
    +
    + +

    Definition at line 79 of file HookExpr.h.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structnixt_1_1HookExprInt__coll__graph.map b/structnixt_1_1HookExprInt__coll__graph.map new file mode 100644 index 000000000..50ef812ed --- /dev/null +++ b/structnixt_1_1HookExprInt__coll__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/structnixt_1_1HookExprInt__coll__graph.md5 b/structnixt_1_1HookExprInt__coll__graph.md5 new file mode 100644 index 000000000..322b96f65 --- /dev/null +++ b/structnixt_1_1HookExprInt__coll__graph.md5 @@ -0,0 +1 @@ +eb38cdcfa623b9d4578a5d1b1c46a917 \ No newline at end of file diff --git a/structnixt_1_1HookExprInt__coll__graph.svg b/structnixt_1_1HookExprInt__coll__graph.svg new file mode 100644 index 000000000..cb0ffda9c --- /dev/null +++ b/structnixt_1_1HookExprInt__coll__graph.svg @@ -0,0 +1,39 @@ + + + + + + +nixt::HookExprInt + + +Node1 + + +nixt::HookExprInt + + + + + +Node2 + + +nix::ExprInt + + + + + +Node2->Node1 + + + + + + + + diff --git a/structnixt_1_1HookExprInt__inherit__graph.map b/structnixt_1_1HookExprInt__inherit__graph.map new file mode 100644 index 000000000..50ef812ed --- /dev/null +++ b/structnixt_1_1HookExprInt__inherit__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/structnixt_1_1HookExprInt__inherit__graph.md5 b/structnixt_1_1HookExprInt__inherit__graph.md5 new file mode 100644 index 000000000..322b96f65 --- /dev/null +++ b/structnixt_1_1HookExprInt__inherit__graph.md5 @@ -0,0 +1 @@ +eb38cdcfa623b9d4578a5d1b1c46a917 \ No newline at end of file diff --git a/structnixt_1_1HookExprInt__inherit__graph.svg b/structnixt_1_1HookExprInt__inherit__graph.svg new file mode 100644 index 000000000..cb0ffda9c --- /dev/null +++ b/structnixt_1_1HookExprInt__inherit__graph.svg @@ -0,0 +1,39 @@ + + + + + + +nixt::HookExprInt + + +Node1 + + +nixt::HookExprInt + + + + + +Node2 + + +nix::ExprInt + + + + + +Node2->Node1 + + + + + + + + diff --git a/structnixt_1_1HookExprLambda-members.html b/structnixt_1_1HookExprLambda-members.html new file mode 100644 index 000000000..419900c0e --- /dev/null +++ b/structnixt_1_1HookExprLambda-members.html @@ -0,0 +1,96 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    nixt::HookExprLambda Member List
    +
    +
    + +

    This is the complete list of members for nixt::HookExprLambda, including all inherited members.

    + + + + + + + +
    EMapnixt::HookExprLambda
    eval(nix::EvalState &State, nix::Env &Env, nix::Value &V) overridenixt::HookExprLambda
    getName()nixt::HookExprLambda
    Handlenixt::HookExprLambda
    HookExprLambda(nix::ExprLambda E, ValueMap &VMap, EnvMap &EMap, std::uintptr_t Handle)nixt::HookExprLambdainline
    VMapnixt::HookExprLambda
    + + + + diff --git a/structnixt_1_1HookExprLambda.html b/structnixt_1_1HookExprLambda.html new file mode 100644 index 000000000..df596cc73 --- /dev/null +++ b/structnixt_1_1HookExprLambda.html @@ -0,0 +1,271 @@ + + + + + + + +nixd: nixt::HookExprLambda Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    nixt::HookExprLambda Struct Reference
    +
    +
    + +

    #include <HookExpr.h>

    +
    +Inheritance diagram for nixt::HookExprLambda:
    +
    +
    +
    [legend]
    +
    +Collaboration diagram for nixt::HookExprLambda:
    +
    +
    +
    [legend]
    + + + + + + + + +

    +Public Member Functions

     HookExprLambda (nix::ExprLambda E, ValueMap &VMap, EnvMap &EMap, std::uintptr_t Handle)
     
    void eval (nix::EvalState &State, nix::Env &Env, nix::Value &V) override
     
    std::string getName ()
     
    + + + + + + + +

    +Public Attributes

    ValueMapVMap
     
    EnvMapEMap
     
    std::uintptr_t Handle
     
    +

    Detailed Description

    +
    +

    Definition at line 89 of file HookExpr.h.

    +

    Constructor & Destructor Documentation

    + +

    ◆ HookExprLambda()

    + +
    +
    + + + + + +
    + + + + + + + + + + + + + + + + + + + + + +
    nixt::HookExprLambda::HookExprLambda (nix::ExprLambda E,
    ValueMap & VMap,
    EnvMap & EMap,
    std::uintptr_t Handle )
    +
    +inline
    +
    + +

    Definition at line 93 of file HookExpr.h.

    + +
    +
    +

    Member Function Documentation

    + +

    ◆ eval()

    + +
    +
    + + + + + +
    + + + + + + + + + + + + + + + + +
    void nixt::HookExprLambda::eval (nix::EvalState & State,
    nix::Env & Env,
    nix::Value & V )
    +
    +override
    +
    + +
    +
    + +

    ◆ getName()

    + +
    +
    + + + + + + + +
    std::string nixt::HookExprLambda::getName ()
    +
    + +
    +
    +

    Member Data Documentation

    + +

    ◆ EMap

    + +
    +
    + + + + +
    EnvMap& nixt::HookExprLambda::EMap
    +
    + +

    Definition at line 91 of file HookExpr.h.

    + +
    +
    + +

    ◆ Handle

    + +
    +
    + + + + +
    std::uintptr_t nixt::HookExprLambda::Handle
    +
    + +

    Definition at line 92 of file HookExpr.h.

    + +
    +
    + +

    ◆ VMap

    + +
    +
    + + + + +
    ValueMap& nixt::HookExprLambda::VMap
    +
    + +

    Definition at line 90 of file HookExpr.h.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structnixt_1_1HookExprLambda__coll__graph.map b/structnixt_1_1HookExprLambda__coll__graph.map new file mode 100644 index 000000000..35457f35c --- /dev/null +++ b/structnixt_1_1HookExprLambda__coll__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/structnixt_1_1HookExprLambda__coll__graph.md5 b/structnixt_1_1HookExprLambda__coll__graph.md5 new file mode 100644 index 000000000..40ce9bac3 --- /dev/null +++ b/structnixt_1_1HookExprLambda__coll__graph.md5 @@ -0,0 +1 @@ +d41b940f1f8ebbeb39a020f02e928e60 \ No newline at end of file diff --git a/structnixt_1_1HookExprLambda__coll__graph.svg b/structnixt_1_1HookExprLambda__coll__graph.svg new file mode 100644 index 000000000..b78216fe6 --- /dev/null +++ b/structnixt_1_1HookExprLambda__coll__graph.svg @@ -0,0 +1,39 @@ + + + + + + +nixt::HookExprLambda + + +Node1 + + +nixt::HookExprLambda + + + + + +Node2 + + +nix::ExprLambda + + + + + +Node2->Node1 + + + + + + + + diff --git a/structnixt_1_1HookExprLambda__inherit__graph.map b/structnixt_1_1HookExprLambda__inherit__graph.map new file mode 100644 index 000000000..35457f35c --- /dev/null +++ b/structnixt_1_1HookExprLambda__inherit__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/structnixt_1_1HookExprLambda__inherit__graph.md5 b/structnixt_1_1HookExprLambda__inherit__graph.md5 new file mode 100644 index 000000000..40ce9bac3 --- /dev/null +++ b/structnixt_1_1HookExprLambda__inherit__graph.md5 @@ -0,0 +1 @@ +d41b940f1f8ebbeb39a020f02e928e60 \ No newline at end of file diff --git a/structnixt_1_1HookExprLambda__inherit__graph.svg b/structnixt_1_1HookExprLambda__inherit__graph.svg new file mode 100644 index 000000000..b78216fe6 --- /dev/null +++ b/structnixt_1_1HookExprLambda__inherit__graph.svg @@ -0,0 +1,39 @@ + + + + + + +nixt::HookExprLambda + + +Node1 + + +nixt::HookExprLambda + + + + + +Node2 + + +nix::ExprLambda + + + + + +Node2->Node1 + + + + + + + + diff --git a/structnixt_1_1HookExprLet-members.html b/structnixt_1_1HookExprLet-members.html new file mode 100644 index 000000000..372d2f3e6 --- /dev/null +++ b/structnixt_1_1HookExprLet-members.html @@ -0,0 +1,96 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    nixt::HookExprLet Member List
    +
    +
    + +

    This is the complete list of members for nixt::HookExprLet, including all inherited members.

    + + + + + + + +
    EMapnixt::HookExprLet
    eval(nix::EvalState &State, nix::Env &Env, nix::Value &V) overridenixt::HookExprLet
    getName()nixt::HookExprLet
    Handlenixt::HookExprLet
    HookExprLet(nix::ExprLet E, ValueMap &VMap, EnvMap &EMap, std::uintptr_t Handle)nixt::HookExprLetinline
    VMapnixt::HookExprLet
    + + + + diff --git a/structnixt_1_1HookExprLet.html b/structnixt_1_1HookExprLet.html new file mode 100644 index 000000000..b3c2bacc2 --- /dev/null +++ b/structnixt_1_1HookExprLet.html @@ -0,0 +1,271 @@ + + + + + + + +nixd: nixt::HookExprLet Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    nixt::HookExprLet Struct Reference
    +
    +
    + +

    #include <HookExpr.h>

    +
    +Inheritance diagram for nixt::HookExprLet:
    +
    +
    +
    [legend]
    +
    +Collaboration diagram for nixt::HookExprLet:
    +
    +
    +
    [legend]
    + + + + + + + + +

    +Public Member Functions

     HookExprLet (nix::ExprLet E, ValueMap &VMap, EnvMap &EMap, std::uintptr_t Handle)
     
    void eval (nix::EvalState &State, nix::Env &Env, nix::Value &V) override
     
    std::string getName ()
     
    + + + + + + + +

    +Public Attributes

    ValueMapVMap
     
    EnvMapEMap
     
    std::uintptr_t Handle
     
    +

    Detailed Description

    +
    +

    Definition at line 100 of file HookExpr.h.

    +

    Constructor & Destructor Documentation

    + +

    ◆ HookExprLet()

    + +
    +
    + + + + + +
    + + + + + + + + + + + + + + + + + + + + + +
    nixt::HookExprLet::HookExprLet (nix::ExprLet E,
    ValueMap & VMap,
    EnvMap & EMap,
    std::uintptr_t Handle )
    +
    +inline
    +
    + +

    Definition at line 104 of file HookExpr.h.

    + +
    +
    +

    Member Function Documentation

    + +

    ◆ eval()

    + +
    +
    + + + + + +
    + + + + + + + + + + + + + + + + +
    void nixt::HookExprLet::eval (nix::EvalState & State,
    nix::Env & Env,
    nix::Value & V )
    +
    +override
    +
    + +
    +
    + +

    ◆ getName()

    + +
    +
    + + + + + + + +
    std::string nixt::HookExprLet::getName ()
    +
    + +
    +
    +

    Member Data Documentation

    + +

    ◆ EMap

    + +
    +
    + + + + +
    EnvMap& nixt::HookExprLet::EMap
    +
    + +

    Definition at line 102 of file HookExpr.h.

    + +
    +
    + +

    ◆ Handle

    + +
    +
    + + + + +
    std::uintptr_t nixt::HookExprLet::Handle
    +
    + +

    Definition at line 103 of file HookExpr.h.

    + +
    +
    + +

    ◆ VMap

    + +
    +
    + + + + +
    ValueMap& nixt::HookExprLet::VMap
    +
    + +

    Definition at line 101 of file HookExpr.h.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structnixt_1_1HookExprLet__coll__graph.map b/structnixt_1_1HookExprLet__coll__graph.map new file mode 100644 index 000000000..d910a6a8e --- /dev/null +++ b/structnixt_1_1HookExprLet__coll__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/structnixt_1_1HookExprLet__coll__graph.md5 b/structnixt_1_1HookExprLet__coll__graph.md5 new file mode 100644 index 000000000..8d6289ea8 --- /dev/null +++ b/structnixt_1_1HookExprLet__coll__graph.md5 @@ -0,0 +1 @@ +1b1025ef5434c4ee0108a2f95b0bcb8f \ No newline at end of file diff --git a/structnixt_1_1HookExprLet__coll__graph.svg b/structnixt_1_1HookExprLet__coll__graph.svg new file mode 100644 index 000000000..f375b0f4d --- /dev/null +++ b/structnixt_1_1HookExprLet__coll__graph.svg @@ -0,0 +1,39 @@ + + + + + + +nixt::HookExprLet + + +Node1 + + +nixt::HookExprLet + + + + + +Node2 + + +nix::ExprLet + + + + + +Node2->Node1 + + + + + + + + diff --git a/structnixt_1_1HookExprLet__inherit__graph.map b/structnixt_1_1HookExprLet__inherit__graph.map new file mode 100644 index 000000000..d910a6a8e --- /dev/null +++ b/structnixt_1_1HookExprLet__inherit__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/structnixt_1_1HookExprLet__inherit__graph.md5 b/structnixt_1_1HookExprLet__inherit__graph.md5 new file mode 100644 index 000000000..8d6289ea8 --- /dev/null +++ b/structnixt_1_1HookExprLet__inherit__graph.md5 @@ -0,0 +1 @@ +1b1025ef5434c4ee0108a2f95b0bcb8f \ No newline at end of file diff --git a/structnixt_1_1HookExprLet__inherit__graph.svg b/structnixt_1_1HookExprLet__inherit__graph.svg new file mode 100644 index 000000000..f375b0f4d --- /dev/null +++ b/structnixt_1_1HookExprLet__inherit__graph.svg @@ -0,0 +1,39 @@ + + + + + + +nixt::HookExprLet + + +Node1 + + +nixt::HookExprLet + + + + + +Node2 + + +nix::ExprLet + + + + + +Node2->Node1 + + + + + + + + diff --git a/structnixt_1_1HookExprList-members.html b/structnixt_1_1HookExprList-members.html new file mode 100644 index 000000000..6ba537a37 --- /dev/null +++ b/structnixt_1_1HookExprList-members.html @@ -0,0 +1,96 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    nixt::HookExprList Member List
    +
    +
    + +

    This is the complete list of members for nixt::HookExprList, including all inherited members.

    + + + + + + + +
    EMapnixt::HookExprList
    eval(nix::EvalState &State, nix::Env &Env, nix::Value &V) overridenixt::HookExprList
    getName()nixt::HookExprList
    Handlenixt::HookExprList
    HookExprList(nix::ExprList E, ValueMap &VMap, EnvMap &EMap, std::uintptr_t Handle)nixt::HookExprListinline
    VMapnixt::HookExprList
    + + + + diff --git a/structnixt_1_1HookExprList.html b/structnixt_1_1HookExprList.html new file mode 100644 index 000000000..eb68a969c --- /dev/null +++ b/structnixt_1_1HookExprList.html @@ -0,0 +1,271 @@ + + + + + + + +nixd: nixt::HookExprList Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    nixt::HookExprList Struct Reference
    +
    +
    + +

    #include <HookExpr.h>

    +
    +Inheritance diagram for nixt::HookExprList:
    +
    +
    +
    [legend]
    +
    +Collaboration diagram for nixt::HookExprList:
    +
    +
    +
    [legend]
    + + + + + + + + +

    +Public Member Functions

     HookExprList (nix::ExprList E, ValueMap &VMap, EnvMap &EMap, std::uintptr_t Handle)
     
    void eval (nix::EvalState &State, nix::Env &Env, nix::Value &V) override
     
    std::string getName ()
     
    + + + + + + + +

    +Public Attributes

    ValueMapVMap
     
    EnvMapEMap
     
    std::uintptr_t Handle
     
    +

    Detailed Description

    +
    +

    Definition at line 111 of file HookExpr.h.

    +

    Constructor & Destructor Documentation

    + +

    ◆ HookExprList()

    + +
    +
    + + + + + +
    + + + + + + + + + + + + + + + + + + + + + +
    nixt::HookExprList::HookExprList (nix::ExprList E,
    ValueMap & VMap,
    EnvMap & EMap,
    std::uintptr_t Handle )
    +
    +inline
    +
    + +

    Definition at line 115 of file HookExpr.h.

    + +
    +
    +

    Member Function Documentation

    + +

    ◆ eval()

    + +
    +
    + + + + + +
    + + + + + + + + + + + + + + + + +
    void nixt::HookExprList::eval (nix::EvalState & State,
    nix::Env & Env,
    nix::Value & V )
    +
    +override
    +
    + +
    +
    + +

    ◆ getName()

    + +
    +
    + + + + + + + +
    std::string nixt::HookExprList::getName ()
    +
    + +
    +
    +

    Member Data Documentation

    + +

    ◆ EMap

    + +
    +
    + + + + +
    EnvMap& nixt::HookExprList::EMap
    +
    + +

    Definition at line 113 of file HookExpr.h.

    + +
    +
    + +

    ◆ Handle

    + +
    +
    + + + + +
    std::uintptr_t nixt::HookExprList::Handle
    +
    + +

    Definition at line 114 of file HookExpr.h.

    + +
    +
    + +

    ◆ VMap

    + +
    +
    + + + + +
    ValueMap& nixt::HookExprList::VMap
    +
    + +

    Definition at line 112 of file HookExpr.h.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structnixt_1_1HookExprList__coll__graph.map b/structnixt_1_1HookExprList__coll__graph.map new file mode 100644 index 000000000..0ff934ad1 --- /dev/null +++ b/structnixt_1_1HookExprList__coll__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/structnixt_1_1HookExprList__coll__graph.md5 b/structnixt_1_1HookExprList__coll__graph.md5 new file mode 100644 index 000000000..5d729e277 --- /dev/null +++ b/structnixt_1_1HookExprList__coll__graph.md5 @@ -0,0 +1 @@ +3c4de20b041c92fcdc4f6558f5dd14af \ No newline at end of file diff --git a/structnixt_1_1HookExprList__coll__graph.svg b/structnixt_1_1HookExprList__coll__graph.svg new file mode 100644 index 000000000..7ccae16e4 --- /dev/null +++ b/structnixt_1_1HookExprList__coll__graph.svg @@ -0,0 +1,39 @@ + + + + + + +nixt::HookExprList + + +Node1 + + +nixt::HookExprList + + + + + +Node2 + + +nix::ExprList + + + + + +Node2->Node1 + + + + + + + + diff --git a/structnixt_1_1HookExprList__inherit__graph.map b/structnixt_1_1HookExprList__inherit__graph.map new file mode 100644 index 000000000..0ff934ad1 --- /dev/null +++ b/structnixt_1_1HookExprList__inherit__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/structnixt_1_1HookExprList__inherit__graph.md5 b/structnixt_1_1HookExprList__inherit__graph.md5 new file mode 100644 index 000000000..5d729e277 --- /dev/null +++ b/structnixt_1_1HookExprList__inherit__graph.md5 @@ -0,0 +1 @@ +3c4de20b041c92fcdc4f6558f5dd14af \ No newline at end of file diff --git a/structnixt_1_1HookExprList__inherit__graph.svg b/structnixt_1_1HookExprList__inherit__graph.svg new file mode 100644 index 000000000..7ccae16e4 --- /dev/null +++ b/structnixt_1_1HookExprList__inherit__graph.svg @@ -0,0 +1,39 @@ + + + + + + +nixt::HookExprList + + +Node1 + + +nixt::HookExprList + + + + + +Node2 + + +nix::ExprList + + + + + +Node2->Node1 + + + + + + + + diff --git a/structnixt_1_1HookExprOpAnd-members.html b/structnixt_1_1HookExprOpAnd-members.html new file mode 100644 index 000000000..9293c30a8 --- /dev/null +++ b/structnixt_1_1HookExprOpAnd-members.html @@ -0,0 +1,96 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    nixt::HookExprOpAnd Member List
    +
    +
    + +

    This is the complete list of members for nixt::HookExprOpAnd, including all inherited members.

    + + + + + + + +
    EMapnixt::HookExprOpAnd
    eval(nix::EvalState &State, nix::Env &Env, nix::Value &V) overridenixt::HookExprOpAnd
    getName()nixt::HookExprOpAnd
    Handlenixt::HookExprOpAnd
    HookExprOpAnd(nix::ExprOpAnd E, ValueMap &VMap, EnvMap &EMap, std::uintptr_t Handle)nixt::HookExprOpAndinline
    VMapnixt::HookExprOpAnd
    + + + + diff --git a/structnixt_1_1HookExprOpAnd.html b/structnixt_1_1HookExprOpAnd.html new file mode 100644 index 000000000..7fc74a5c0 --- /dev/null +++ b/structnixt_1_1HookExprOpAnd.html @@ -0,0 +1,271 @@ + + + + + + + +nixd: nixt::HookExprOpAnd Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    nixt::HookExprOpAnd Struct Reference
    +
    +
    + +

    #include <HookExpr.h>

    +
    +Inheritance diagram for nixt::HookExprOpAnd:
    +
    +
    +
    [legend]
    +
    +Collaboration diagram for nixt::HookExprOpAnd:
    +
    +
    +
    [legend]
    + + + + + + + + +

    +Public Member Functions

     HookExprOpAnd (nix::ExprOpAnd E, ValueMap &VMap, EnvMap &EMap, std::uintptr_t Handle)
     
    void eval (nix::EvalState &State, nix::Env &Env, nix::Value &V) override
     
    std::string getName ()
     
    + + + + + + + +

    +Public Attributes

    ValueMapVMap
     
    EnvMapEMap
     
    std::uintptr_t Handle
     
    +

    Detailed Description

    +
    +

    Definition at line 122 of file HookExpr.h.

    +

    Constructor & Destructor Documentation

    + +

    ◆ HookExprOpAnd()

    + +
    +
    + + + + + +
    + + + + + + + + + + + + + + + + + + + + + +
    nixt::HookExprOpAnd::HookExprOpAnd (nix::ExprOpAnd E,
    ValueMap & VMap,
    EnvMap & EMap,
    std::uintptr_t Handle )
    +
    +inline
    +
    + +

    Definition at line 126 of file HookExpr.h.

    + +
    +
    +

    Member Function Documentation

    + +

    ◆ eval()

    + +
    +
    + + + + + +
    + + + + + + + + + + + + + + + + +
    void nixt::HookExprOpAnd::eval (nix::EvalState & State,
    nix::Env & Env,
    nix::Value & V )
    +
    +override
    +
    + +
    +
    + +

    ◆ getName()

    + +
    +
    + + + + + + + +
    std::string nixt::HookExprOpAnd::getName ()
    +
    + +
    +
    +

    Member Data Documentation

    + +

    ◆ EMap

    + +
    +
    + + + + +
    EnvMap& nixt::HookExprOpAnd::EMap
    +
    + +

    Definition at line 124 of file HookExpr.h.

    + +
    +
    + +

    ◆ Handle

    + +
    +
    + + + + +
    std::uintptr_t nixt::HookExprOpAnd::Handle
    +
    + +

    Definition at line 125 of file HookExpr.h.

    + +
    +
    + +

    ◆ VMap

    + +
    +
    + + + + +
    ValueMap& nixt::HookExprOpAnd::VMap
    +
    + +

    Definition at line 123 of file HookExpr.h.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structnixt_1_1HookExprOpAnd__coll__graph.map b/structnixt_1_1HookExprOpAnd__coll__graph.map new file mode 100644 index 000000000..a2378ab08 --- /dev/null +++ b/structnixt_1_1HookExprOpAnd__coll__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/structnixt_1_1HookExprOpAnd__coll__graph.md5 b/structnixt_1_1HookExprOpAnd__coll__graph.md5 new file mode 100644 index 000000000..b817e3ce1 --- /dev/null +++ b/structnixt_1_1HookExprOpAnd__coll__graph.md5 @@ -0,0 +1 @@ +baaae3f6cb10231aabaf4dbacf6c3d9f \ No newline at end of file diff --git a/structnixt_1_1HookExprOpAnd__coll__graph.svg b/structnixt_1_1HookExprOpAnd__coll__graph.svg new file mode 100644 index 000000000..0ee7c65d7 --- /dev/null +++ b/structnixt_1_1HookExprOpAnd__coll__graph.svg @@ -0,0 +1,39 @@ + + + + + + +nixt::HookExprOpAnd + + +Node1 + + +nixt::HookExprOpAnd + + + + + +Node2 + + +nix::ExprOpAnd + + + + + +Node2->Node1 + + + + + + + + diff --git a/structnixt_1_1HookExprOpAnd__inherit__graph.map b/structnixt_1_1HookExprOpAnd__inherit__graph.map new file mode 100644 index 000000000..a2378ab08 --- /dev/null +++ b/structnixt_1_1HookExprOpAnd__inherit__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/structnixt_1_1HookExprOpAnd__inherit__graph.md5 b/structnixt_1_1HookExprOpAnd__inherit__graph.md5 new file mode 100644 index 000000000..b817e3ce1 --- /dev/null +++ b/structnixt_1_1HookExprOpAnd__inherit__graph.md5 @@ -0,0 +1 @@ +baaae3f6cb10231aabaf4dbacf6c3d9f \ No newline at end of file diff --git a/structnixt_1_1HookExprOpAnd__inherit__graph.svg b/structnixt_1_1HookExprOpAnd__inherit__graph.svg new file mode 100644 index 000000000..0ee7c65d7 --- /dev/null +++ b/structnixt_1_1HookExprOpAnd__inherit__graph.svg @@ -0,0 +1,39 @@ + + + + + + +nixt::HookExprOpAnd + + +Node1 + + +nixt::HookExprOpAnd + + + + + +Node2 + + +nix::ExprOpAnd + + + + + +Node2->Node1 + + + + + + + + diff --git a/structnixt_1_1HookExprOpConcatLists-members.html b/structnixt_1_1HookExprOpConcatLists-members.html new file mode 100644 index 000000000..74c1c52ab --- /dev/null +++ b/structnixt_1_1HookExprOpConcatLists-members.html @@ -0,0 +1,96 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    nixt::HookExprOpConcatLists Member List
    +
    +
    + +

    This is the complete list of members for nixt::HookExprOpConcatLists, including all inherited members.

    + + + + + + + +
    EMapnixt::HookExprOpConcatLists
    eval(nix::EvalState &State, nix::Env &Env, nix::Value &V) overridenixt::HookExprOpConcatLists
    getName()nixt::HookExprOpConcatLists
    Handlenixt::HookExprOpConcatLists
    HookExprOpConcatLists(nix::ExprOpConcatLists E, ValueMap &VMap, EnvMap &EMap, std::uintptr_t Handle)nixt::HookExprOpConcatListsinline
    VMapnixt::HookExprOpConcatLists
    + + + + diff --git a/structnixt_1_1HookExprOpConcatLists.html b/structnixt_1_1HookExprOpConcatLists.html new file mode 100644 index 000000000..b973ff513 --- /dev/null +++ b/structnixt_1_1HookExprOpConcatLists.html @@ -0,0 +1,271 @@ + + + + + + + +nixd: nixt::HookExprOpConcatLists Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    nixt::HookExprOpConcatLists Struct Reference
    +
    +
    + +

    #include <HookExpr.h>

    +
    +Inheritance diagram for nixt::HookExprOpConcatLists:
    +
    +
    +
    [legend]
    +
    +Collaboration diagram for nixt::HookExprOpConcatLists:
    +
    +
    +
    [legend]
    + + + + + + + + +

    +Public Member Functions

     HookExprOpConcatLists (nix::ExprOpConcatLists E, ValueMap &VMap, EnvMap &EMap, std::uintptr_t Handle)
     
    void eval (nix::EvalState &State, nix::Env &Env, nix::Value &V) override
     
    std::string getName ()
     
    + + + + + + + +

    +Public Attributes

    ValueMapVMap
     
    EnvMapEMap
     
    std::uintptr_t Handle
     
    +

    Detailed Description

    +
    +

    Definition at line 133 of file HookExpr.h.

    +

    Constructor & Destructor Documentation

    + +

    ◆ HookExprOpConcatLists()

    + +
    +
    + + + + + +
    + + + + + + + + + + + + + + + + + + + + + +
    nixt::HookExprOpConcatLists::HookExprOpConcatLists (nix::ExprOpConcatLists E,
    ValueMap & VMap,
    EnvMap & EMap,
    std::uintptr_t Handle )
    +
    +inline
    +
    + +

    Definition at line 137 of file HookExpr.h.

    + +
    +
    +

    Member Function Documentation

    + +

    ◆ eval()

    + +
    +
    + + + + + +
    + + + + + + + + + + + + + + + + +
    void nixt::HookExprOpConcatLists::eval (nix::EvalState & State,
    nix::Env & Env,
    nix::Value & V )
    +
    +override
    +
    + +
    +
    + +

    ◆ getName()

    + +
    +
    + + + + + + + +
    std::string nixt::HookExprOpConcatLists::getName ()
    +
    + +
    +
    +

    Member Data Documentation

    + +

    ◆ EMap

    + +
    +
    + + + + +
    EnvMap& nixt::HookExprOpConcatLists::EMap
    +
    + +

    Definition at line 135 of file HookExpr.h.

    + +
    +
    + +

    ◆ Handle

    + +
    +
    + + + + +
    std::uintptr_t nixt::HookExprOpConcatLists::Handle
    +
    + +

    Definition at line 136 of file HookExpr.h.

    + +
    +
    + +

    ◆ VMap

    + +
    +
    + + + + +
    ValueMap& nixt::HookExprOpConcatLists::VMap
    +
    + +

    Definition at line 134 of file HookExpr.h.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structnixt_1_1HookExprOpConcatLists__coll__graph.map b/structnixt_1_1HookExprOpConcatLists__coll__graph.map new file mode 100644 index 000000000..e0e869840 --- /dev/null +++ b/structnixt_1_1HookExprOpConcatLists__coll__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/structnixt_1_1HookExprOpConcatLists__coll__graph.md5 b/structnixt_1_1HookExprOpConcatLists__coll__graph.md5 new file mode 100644 index 000000000..a94a95bdc --- /dev/null +++ b/structnixt_1_1HookExprOpConcatLists__coll__graph.md5 @@ -0,0 +1 @@ +e3f9303ec07ae2e882736d434e5c1d2b \ No newline at end of file diff --git a/structnixt_1_1HookExprOpConcatLists__coll__graph.svg b/structnixt_1_1HookExprOpConcatLists__coll__graph.svg new file mode 100644 index 000000000..21a155b9a --- /dev/null +++ b/structnixt_1_1HookExprOpConcatLists__coll__graph.svg @@ -0,0 +1,39 @@ + + + + + + +nixt::HookExprOpConcatLists + + +Node1 + + +nixt::HookExprOpConcatLists + + + + + +Node2 + + +nix::ExprOpConcatLists + + + + + +Node2->Node1 + + + + + + + + diff --git a/structnixt_1_1HookExprOpConcatLists__inherit__graph.map b/structnixt_1_1HookExprOpConcatLists__inherit__graph.map new file mode 100644 index 000000000..e0e869840 --- /dev/null +++ b/structnixt_1_1HookExprOpConcatLists__inherit__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/structnixt_1_1HookExprOpConcatLists__inherit__graph.md5 b/structnixt_1_1HookExprOpConcatLists__inherit__graph.md5 new file mode 100644 index 000000000..a94a95bdc --- /dev/null +++ b/structnixt_1_1HookExprOpConcatLists__inherit__graph.md5 @@ -0,0 +1 @@ +e3f9303ec07ae2e882736d434e5c1d2b \ No newline at end of file diff --git a/structnixt_1_1HookExprOpConcatLists__inherit__graph.svg b/structnixt_1_1HookExprOpConcatLists__inherit__graph.svg new file mode 100644 index 000000000..21a155b9a --- /dev/null +++ b/structnixt_1_1HookExprOpConcatLists__inherit__graph.svg @@ -0,0 +1,39 @@ + + + + + + +nixt::HookExprOpConcatLists + + +Node1 + + +nixt::HookExprOpConcatLists + + + + + +Node2 + + +nix::ExprOpConcatLists + + + + + +Node2->Node1 + + + + + + + + diff --git a/structnixt_1_1HookExprOpEq-members.html b/structnixt_1_1HookExprOpEq-members.html new file mode 100644 index 000000000..75386e914 --- /dev/null +++ b/structnixt_1_1HookExprOpEq-members.html @@ -0,0 +1,96 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    nixt::HookExprOpEq Member List
    +
    +
    + +

    This is the complete list of members for nixt::HookExprOpEq, including all inherited members.

    + + + + + + + +
    EMapnixt::HookExprOpEq
    eval(nix::EvalState &State, nix::Env &Env, nix::Value &V) overridenixt::HookExprOpEq
    getName()nixt::HookExprOpEq
    Handlenixt::HookExprOpEq
    HookExprOpEq(nix::ExprOpEq E, ValueMap &VMap, EnvMap &EMap, std::uintptr_t Handle)nixt::HookExprOpEqinline
    VMapnixt::HookExprOpEq
    + + + + diff --git a/structnixt_1_1HookExprOpEq.html b/structnixt_1_1HookExprOpEq.html new file mode 100644 index 000000000..e9ec50c88 --- /dev/null +++ b/structnixt_1_1HookExprOpEq.html @@ -0,0 +1,271 @@ + + + + + + + +nixd: nixt::HookExprOpEq Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    nixt::HookExprOpEq Struct Reference
    +
    +
    + +

    #include <HookExpr.h>

    +
    +Inheritance diagram for nixt::HookExprOpEq:
    +
    +
    +
    [legend]
    +
    +Collaboration diagram for nixt::HookExprOpEq:
    +
    +
    +
    [legend]
    + + + + + + + + +

    +Public Member Functions

     HookExprOpEq (nix::ExprOpEq E, ValueMap &VMap, EnvMap &EMap, std::uintptr_t Handle)
     
    void eval (nix::EvalState &State, nix::Env &Env, nix::Value &V) override
     
    std::string getName ()
     
    + + + + + + + +

    +Public Attributes

    ValueMapVMap
     
    EnvMapEMap
     
    std::uintptr_t Handle
     
    +

    Detailed Description

    +
    +

    Definition at line 145 of file HookExpr.h.

    +

    Constructor & Destructor Documentation

    + +

    ◆ HookExprOpEq()

    + +
    +
    + + + + + +
    + + + + + + + + + + + + + + + + + + + + + +
    nixt::HookExprOpEq::HookExprOpEq (nix::ExprOpEq E,
    ValueMap & VMap,
    EnvMap & EMap,
    std::uintptr_t Handle )
    +
    +inline
    +
    + +

    Definition at line 149 of file HookExpr.h.

    + +
    +
    +

    Member Function Documentation

    + +

    ◆ eval()

    + +
    +
    + + + + + +
    + + + + + + + + + + + + + + + + +
    void nixt::HookExprOpEq::eval (nix::EvalState & State,
    nix::Env & Env,
    nix::Value & V )
    +
    +override
    +
    + +
    +
    + +

    ◆ getName()

    + +
    +
    + + + + + + + +
    std::string nixt::HookExprOpEq::getName ()
    +
    + +
    +
    +

    Member Data Documentation

    + +

    ◆ EMap

    + +
    +
    + + + + +
    EnvMap& nixt::HookExprOpEq::EMap
    +
    + +

    Definition at line 147 of file HookExpr.h.

    + +
    +
    + +

    ◆ Handle

    + +
    +
    + + + + +
    std::uintptr_t nixt::HookExprOpEq::Handle
    +
    + +

    Definition at line 148 of file HookExpr.h.

    + +
    +
    + +

    ◆ VMap

    + +
    +
    + + + + +
    ValueMap& nixt::HookExprOpEq::VMap
    +
    + +

    Definition at line 146 of file HookExpr.h.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structnixt_1_1HookExprOpEq__coll__graph.map b/structnixt_1_1HookExprOpEq__coll__graph.map new file mode 100644 index 000000000..e8e2045f6 --- /dev/null +++ b/structnixt_1_1HookExprOpEq__coll__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/structnixt_1_1HookExprOpEq__coll__graph.md5 b/structnixt_1_1HookExprOpEq__coll__graph.md5 new file mode 100644 index 000000000..d0a72ae57 --- /dev/null +++ b/structnixt_1_1HookExprOpEq__coll__graph.md5 @@ -0,0 +1 @@ +a2cb6f65ff6674d0fffc3e956feb215c \ No newline at end of file diff --git a/structnixt_1_1HookExprOpEq__coll__graph.svg b/structnixt_1_1HookExprOpEq__coll__graph.svg new file mode 100644 index 000000000..db5b5f339 --- /dev/null +++ b/structnixt_1_1HookExprOpEq__coll__graph.svg @@ -0,0 +1,39 @@ + + + + + + +nixt::HookExprOpEq + + +Node1 + + +nixt::HookExprOpEq + + + + + +Node2 + + +nix::ExprOpEq + + + + + +Node2->Node1 + + + + + + + + diff --git a/structnixt_1_1HookExprOpEq__inherit__graph.map b/structnixt_1_1HookExprOpEq__inherit__graph.map new file mode 100644 index 000000000..e8e2045f6 --- /dev/null +++ b/structnixt_1_1HookExprOpEq__inherit__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/structnixt_1_1HookExprOpEq__inherit__graph.md5 b/structnixt_1_1HookExprOpEq__inherit__graph.md5 new file mode 100644 index 000000000..d0a72ae57 --- /dev/null +++ b/structnixt_1_1HookExprOpEq__inherit__graph.md5 @@ -0,0 +1 @@ +a2cb6f65ff6674d0fffc3e956feb215c \ No newline at end of file diff --git a/structnixt_1_1HookExprOpEq__inherit__graph.svg b/structnixt_1_1HookExprOpEq__inherit__graph.svg new file mode 100644 index 000000000..db5b5f339 --- /dev/null +++ b/structnixt_1_1HookExprOpEq__inherit__graph.svg @@ -0,0 +1,39 @@ + + + + + + +nixt::HookExprOpEq + + +Node1 + + +nixt::HookExprOpEq + + + + + +Node2 + + +nix::ExprOpEq + + + + + +Node2->Node1 + + + + + + + + diff --git a/structnixt_1_1HookExprOpHasAttr-members.html b/structnixt_1_1HookExprOpHasAttr-members.html new file mode 100644 index 000000000..2af96c16e --- /dev/null +++ b/structnixt_1_1HookExprOpHasAttr-members.html @@ -0,0 +1,96 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    nixt::HookExprOpHasAttr Member List
    +
    +
    + +

    This is the complete list of members for nixt::HookExprOpHasAttr, including all inherited members.

    + + + + + + + +
    EMapnixt::HookExprOpHasAttr
    eval(nix::EvalState &State, nix::Env &Env, nix::Value &V) overridenixt::HookExprOpHasAttr
    getName()nixt::HookExprOpHasAttr
    Handlenixt::HookExprOpHasAttr
    HookExprOpHasAttr(nix::ExprOpHasAttr E, ValueMap &VMap, EnvMap &EMap, std::uintptr_t Handle)nixt::HookExprOpHasAttrinline
    VMapnixt::HookExprOpHasAttr
    + + + + diff --git a/structnixt_1_1HookExprOpHasAttr.html b/structnixt_1_1HookExprOpHasAttr.html new file mode 100644 index 000000000..7b2d91bbb --- /dev/null +++ b/structnixt_1_1HookExprOpHasAttr.html @@ -0,0 +1,271 @@ + + + + + + + +nixd: nixt::HookExprOpHasAttr Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    nixt::HookExprOpHasAttr Struct Reference
    +
    +
    + +

    #include <HookExpr.h>

    +
    +Inheritance diagram for nixt::HookExprOpHasAttr:
    +
    +
    +
    [legend]
    +
    +Collaboration diagram for nixt::HookExprOpHasAttr:
    +
    +
    +
    [legend]
    + + + + + + + + +

    +Public Member Functions

     HookExprOpHasAttr (nix::ExprOpHasAttr E, ValueMap &VMap, EnvMap &EMap, std::uintptr_t Handle)
     
    void eval (nix::EvalState &State, nix::Env &Env, nix::Value &V) override
     
    std::string getName ()
     
    + + + + + + + +

    +Public Attributes

    ValueMapVMap
     
    EnvMapEMap
     
    std::uintptr_t Handle
     
    +

    Detailed Description

    +
    +

    Definition at line 156 of file HookExpr.h.

    +

    Constructor & Destructor Documentation

    + +

    ◆ HookExprOpHasAttr()

    + +
    +
    + + + + + +
    + + + + + + + + + + + + + + + + + + + + + +
    nixt::HookExprOpHasAttr::HookExprOpHasAttr (nix::ExprOpHasAttr E,
    ValueMap & VMap,
    EnvMap & EMap,
    std::uintptr_t Handle )
    +
    +inline
    +
    + +

    Definition at line 160 of file HookExpr.h.

    + +
    +
    +

    Member Function Documentation

    + +

    ◆ eval()

    + +
    +
    + + + + + +
    + + + + + + + + + + + + + + + + +
    void nixt::HookExprOpHasAttr::eval (nix::EvalState & State,
    nix::Env & Env,
    nix::Value & V )
    +
    +override
    +
    + +
    +
    + +

    ◆ getName()

    + +
    +
    + + + + + + + +
    std::string nixt::HookExprOpHasAttr::getName ()
    +
    + +
    +
    +

    Member Data Documentation

    + +

    ◆ EMap

    + +
    +
    + + + + +
    EnvMap& nixt::HookExprOpHasAttr::EMap
    +
    + +

    Definition at line 158 of file HookExpr.h.

    + +
    +
    + +

    ◆ Handle

    + +
    +
    + + + + +
    std::uintptr_t nixt::HookExprOpHasAttr::Handle
    +
    + +

    Definition at line 159 of file HookExpr.h.

    + +
    +
    + +

    ◆ VMap

    + +
    +
    + + + + +
    ValueMap& nixt::HookExprOpHasAttr::VMap
    +
    + +

    Definition at line 157 of file HookExpr.h.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structnixt_1_1HookExprOpHasAttr__coll__graph.map b/structnixt_1_1HookExprOpHasAttr__coll__graph.map new file mode 100644 index 000000000..3c4441a97 --- /dev/null +++ b/structnixt_1_1HookExprOpHasAttr__coll__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/structnixt_1_1HookExprOpHasAttr__coll__graph.md5 b/structnixt_1_1HookExprOpHasAttr__coll__graph.md5 new file mode 100644 index 000000000..3317e79ef --- /dev/null +++ b/structnixt_1_1HookExprOpHasAttr__coll__graph.md5 @@ -0,0 +1 @@ +b88d621f3ab0d49d3465c66262e37d8e \ No newline at end of file diff --git a/structnixt_1_1HookExprOpHasAttr__coll__graph.svg b/structnixt_1_1HookExprOpHasAttr__coll__graph.svg new file mode 100644 index 000000000..3e11bb845 --- /dev/null +++ b/structnixt_1_1HookExprOpHasAttr__coll__graph.svg @@ -0,0 +1,39 @@ + + + + + + +nixt::HookExprOpHasAttr + + +Node1 + + +nixt::HookExprOpHasAttr + + + + + +Node2 + + +nix::ExprOpHasAttr + + + + + +Node2->Node1 + + + + + + + + diff --git a/structnixt_1_1HookExprOpHasAttr__inherit__graph.map b/structnixt_1_1HookExprOpHasAttr__inherit__graph.map new file mode 100644 index 000000000..3c4441a97 --- /dev/null +++ b/structnixt_1_1HookExprOpHasAttr__inherit__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/structnixt_1_1HookExprOpHasAttr__inherit__graph.md5 b/structnixt_1_1HookExprOpHasAttr__inherit__graph.md5 new file mode 100644 index 000000000..3317e79ef --- /dev/null +++ b/structnixt_1_1HookExprOpHasAttr__inherit__graph.md5 @@ -0,0 +1 @@ +b88d621f3ab0d49d3465c66262e37d8e \ No newline at end of file diff --git a/structnixt_1_1HookExprOpHasAttr__inherit__graph.svg b/structnixt_1_1HookExprOpHasAttr__inherit__graph.svg new file mode 100644 index 000000000..3e11bb845 --- /dev/null +++ b/structnixt_1_1HookExprOpHasAttr__inherit__graph.svg @@ -0,0 +1,39 @@ + + + + + + +nixt::HookExprOpHasAttr + + +Node1 + + +nixt::HookExprOpHasAttr + + + + + +Node2 + + +nix::ExprOpHasAttr + + + + + +Node2->Node1 + + + + + + + + diff --git a/structnixt_1_1HookExprOpImpl-members.html b/structnixt_1_1HookExprOpImpl-members.html new file mode 100644 index 000000000..e1cbf5134 --- /dev/null +++ b/structnixt_1_1HookExprOpImpl-members.html @@ -0,0 +1,96 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    nixt::HookExprOpImpl Member List
    +
    +
    + +

    This is the complete list of members for nixt::HookExprOpImpl, including all inherited members.

    + + + + + + + +
    EMapnixt::HookExprOpImpl
    eval(nix::EvalState &State, nix::Env &Env, nix::Value &V) overridenixt::HookExprOpImpl
    getName()nixt::HookExprOpImpl
    Handlenixt::HookExprOpImpl
    HookExprOpImpl(nix::ExprOpImpl E, ValueMap &VMap, EnvMap &EMap, std::uintptr_t Handle)nixt::HookExprOpImplinline
    VMapnixt::HookExprOpImpl
    + + + + diff --git a/structnixt_1_1HookExprOpImpl.html b/structnixt_1_1HookExprOpImpl.html new file mode 100644 index 000000000..4620e5134 --- /dev/null +++ b/structnixt_1_1HookExprOpImpl.html @@ -0,0 +1,271 @@ + + + + + + + +nixd: nixt::HookExprOpImpl Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    nixt::HookExprOpImpl Struct Reference
    +
    +
    + +

    #include <HookExpr.h>

    +
    +Inheritance diagram for nixt::HookExprOpImpl:
    +
    +
    +
    [legend]
    +
    +Collaboration diagram for nixt::HookExprOpImpl:
    +
    +
    +
    [legend]
    + + + + + + + + +

    +Public Member Functions

     HookExprOpImpl (nix::ExprOpImpl E, ValueMap &VMap, EnvMap &EMap, std::uintptr_t Handle)
     
    void eval (nix::EvalState &State, nix::Env &Env, nix::Value &V) override
     
    std::string getName ()
     
    + + + + + + + +

    +Public Attributes

    ValueMapVMap
     
    EnvMapEMap
     
    std::uintptr_t Handle
     
    +

    Detailed Description

    +
    +

    Definition at line 168 of file HookExpr.h.

    +

    Constructor & Destructor Documentation

    + +

    ◆ HookExprOpImpl()

    + +
    +
    + + + + + +
    + + + + + + + + + + + + + + + + + + + + + +
    nixt::HookExprOpImpl::HookExprOpImpl (nix::ExprOpImpl E,
    ValueMap & VMap,
    EnvMap & EMap,
    std::uintptr_t Handle )
    +
    +inline
    +
    + +

    Definition at line 172 of file HookExpr.h.

    + +
    +
    +

    Member Function Documentation

    + +

    ◆ eval()

    + +
    +
    + + + + + +
    + + + + + + + + + + + + + + + + +
    void nixt::HookExprOpImpl::eval (nix::EvalState & State,
    nix::Env & Env,
    nix::Value & V )
    +
    +override
    +
    + +
    +
    + +

    ◆ getName()

    + +
    +
    + + + + + + + +
    std::string nixt::HookExprOpImpl::getName ()
    +
    + +
    +
    +

    Member Data Documentation

    + +

    ◆ EMap

    + +
    +
    + + + + +
    EnvMap& nixt::HookExprOpImpl::EMap
    +
    + +

    Definition at line 170 of file HookExpr.h.

    + +
    +
    + +

    ◆ Handle

    + +
    +
    + + + + +
    std::uintptr_t nixt::HookExprOpImpl::Handle
    +
    + +

    Definition at line 171 of file HookExpr.h.

    + +
    +
    + +

    ◆ VMap

    + +
    +
    + + + + +
    ValueMap& nixt::HookExprOpImpl::VMap
    +
    + +

    Definition at line 169 of file HookExpr.h.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structnixt_1_1HookExprOpImpl__coll__graph.map b/structnixt_1_1HookExprOpImpl__coll__graph.map new file mode 100644 index 000000000..29056343a --- /dev/null +++ b/structnixt_1_1HookExprOpImpl__coll__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/structnixt_1_1HookExprOpImpl__coll__graph.md5 b/structnixt_1_1HookExprOpImpl__coll__graph.md5 new file mode 100644 index 000000000..7820c1167 --- /dev/null +++ b/structnixt_1_1HookExprOpImpl__coll__graph.md5 @@ -0,0 +1 @@ +6c2ba9633469796fce11153907ee4fdb \ No newline at end of file diff --git a/structnixt_1_1HookExprOpImpl__coll__graph.svg b/structnixt_1_1HookExprOpImpl__coll__graph.svg new file mode 100644 index 000000000..d9429ad1b --- /dev/null +++ b/structnixt_1_1HookExprOpImpl__coll__graph.svg @@ -0,0 +1,39 @@ + + + + + + +nixt::HookExprOpImpl + + +Node1 + + +nixt::HookExprOpImpl + + + + + +Node2 + + +nix::ExprOpImpl + + + + + +Node2->Node1 + + + + + + + + diff --git a/structnixt_1_1HookExprOpImpl__inherit__graph.map b/structnixt_1_1HookExprOpImpl__inherit__graph.map new file mode 100644 index 000000000..29056343a --- /dev/null +++ b/structnixt_1_1HookExprOpImpl__inherit__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/structnixt_1_1HookExprOpImpl__inherit__graph.md5 b/structnixt_1_1HookExprOpImpl__inherit__graph.md5 new file mode 100644 index 000000000..7820c1167 --- /dev/null +++ b/structnixt_1_1HookExprOpImpl__inherit__graph.md5 @@ -0,0 +1 @@ +6c2ba9633469796fce11153907ee4fdb \ No newline at end of file diff --git a/structnixt_1_1HookExprOpImpl__inherit__graph.svg b/structnixt_1_1HookExprOpImpl__inherit__graph.svg new file mode 100644 index 000000000..d9429ad1b --- /dev/null +++ b/structnixt_1_1HookExprOpImpl__inherit__graph.svg @@ -0,0 +1,39 @@ + + + + + + +nixt::HookExprOpImpl + + +Node1 + + +nixt::HookExprOpImpl + + + + + +Node2 + + +nix::ExprOpImpl + + + + + +Node2->Node1 + + + + + + + + diff --git a/structnixt_1_1HookExprOpNEq-members.html b/structnixt_1_1HookExprOpNEq-members.html new file mode 100644 index 000000000..8b2200918 --- /dev/null +++ b/structnixt_1_1HookExprOpNEq-members.html @@ -0,0 +1,96 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    nixt::HookExprOpNEq Member List
    +
    +
    + +

    This is the complete list of members for nixt::HookExprOpNEq, including all inherited members.

    + + + + + + + +
    EMapnixt::HookExprOpNEq
    eval(nix::EvalState &State, nix::Env &Env, nix::Value &V) overridenixt::HookExprOpNEq
    getName()nixt::HookExprOpNEq
    Handlenixt::HookExprOpNEq
    HookExprOpNEq(nix::ExprOpNEq E, ValueMap &VMap, EnvMap &EMap, std::uintptr_t Handle)nixt::HookExprOpNEqinline
    VMapnixt::HookExprOpNEq
    + + + + diff --git a/structnixt_1_1HookExprOpNEq.html b/structnixt_1_1HookExprOpNEq.html new file mode 100644 index 000000000..5e5c0fdf6 --- /dev/null +++ b/structnixt_1_1HookExprOpNEq.html @@ -0,0 +1,271 @@ + + + + + + + +nixd: nixt::HookExprOpNEq Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    nixt::HookExprOpNEq Struct Reference
    +
    +
    + +

    #include <HookExpr.h>

    +
    +Inheritance diagram for nixt::HookExprOpNEq:
    +
    +
    +
    [legend]
    +
    +Collaboration diagram for nixt::HookExprOpNEq:
    +
    +
    +
    [legend]
    + + + + + + + + +

    +Public Member Functions

     HookExprOpNEq (nix::ExprOpNEq E, ValueMap &VMap, EnvMap &EMap, std::uintptr_t Handle)
     
    void eval (nix::EvalState &State, nix::Env &Env, nix::Value &V) override
     
    std::string getName ()
     
    + + + + + + + +

    +Public Attributes

    ValueMapVMap
     
    EnvMapEMap
     
    std::uintptr_t Handle
     
    +

    Detailed Description

    +
    +

    Definition at line 179 of file HookExpr.h.

    +

    Constructor & Destructor Documentation

    + +

    ◆ HookExprOpNEq()

    + +
    +
    + + + + + +
    + + + + + + + + + + + + + + + + + + + + + +
    nixt::HookExprOpNEq::HookExprOpNEq (nix::ExprOpNEq E,
    ValueMap & VMap,
    EnvMap & EMap,
    std::uintptr_t Handle )
    +
    +inline
    +
    + +

    Definition at line 183 of file HookExpr.h.

    + +
    +
    +

    Member Function Documentation

    + +

    ◆ eval()

    + +
    +
    + + + + + +
    + + + + + + + + + + + + + + + + +
    void nixt::HookExprOpNEq::eval (nix::EvalState & State,
    nix::Env & Env,
    nix::Value & V )
    +
    +override
    +
    + +
    +
    + +

    ◆ getName()

    + +
    +
    + + + + + + + +
    std::string nixt::HookExprOpNEq::getName ()
    +
    + +
    +
    +

    Member Data Documentation

    + +

    ◆ EMap

    + +
    +
    + + + + +
    EnvMap& nixt::HookExprOpNEq::EMap
    +
    + +

    Definition at line 181 of file HookExpr.h.

    + +
    +
    + +

    ◆ Handle

    + +
    +
    + + + + +
    std::uintptr_t nixt::HookExprOpNEq::Handle
    +
    + +

    Definition at line 182 of file HookExpr.h.

    + +
    +
    + +

    ◆ VMap

    + +
    +
    + + + + +
    ValueMap& nixt::HookExprOpNEq::VMap
    +
    + +

    Definition at line 180 of file HookExpr.h.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structnixt_1_1HookExprOpNEq__coll__graph.map b/structnixt_1_1HookExprOpNEq__coll__graph.map new file mode 100644 index 000000000..678d0e910 --- /dev/null +++ b/structnixt_1_1HookExprOpNEq__coll__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/structnixt_1_1HookExprOpNEq__coll__graph.md5 b/structnixt_1_1HookExprOpNEq__coll__graph.md5 new file mode 100644 index 000000000..eb05dff27 --- /dev/null +++ b/structnixt_1_1HookExprOpNEq__coll__graph.md5 @@ -0,0 +1 @@ +b449668abd1669fab7391e8d9711b8c9 \ No newline at end of file diff --git a/structnixt_1_1HookExprOpNEq__coll__graph.svg b/structnixt_1_1HookExprOpNEq__coll__graph.svg new file mode 100644 index 000000000..268c11e6c --- /dev/null +++ b/structnixt_1_1HookExprOpNEq__coll__graph.svg @@ -0,0 +1,39 @@ + + + + + + +nixt::HookExprOpNEq + + +Node1 + + +nixt::HookExprOpNEq + + + + + +Node2 + + +nix::ExprOpNEq + + + + + +Node2->Node1 + + + + + + + + diff --git a/structnixt_1_1HookExprOpNEq__inherit__graph.map b/structnixt_1_1HookExprOpNEq__inherit__graph.map new file mode 100644 index 000000000..678d0e910 --- /dev/null +++ b/structnixt_1_1HookExprOpNEq__inherit__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/structnixt_1_1HookExprOpNEq__inherit__graph.md5 b/structnixt_1_1HookExprOpNEq__inherit__graph.md5 new file mode 100644 index 000000000..eb05dff27 --- /dev/null +++ b/structnixt_1_1HookExprOpNEq__inherit__graph.md5 @@ -0,0 +1 @@ +b449668abd1669fab7391e8d9711b8c9 \ No newline at end of file diff --git a/structnixt_1_1HookExprOpNEq__inherit__graph.svg b/structnixt_1_1HookExprOpNEq__inherit__graph.svg new file mode 100644 index 000000000..268c11e6c --- /dev/null +++ b/structnixt_1_1HookExprOpNEq__inherit__graph.svg @@ -0,0 +1,39 @@ + + + + + + +nixt::HookExprOpNEq + + +Node1 + + +nixt::HookExprOpNEq + + + + + +Node2 + + +nix::ExprOpNEq + + + + + +Node2->Node1 + + + + + + + + diff --git a/structnixt_1_1HookExprOpNot-members.html b/structnixt_1_1HookExprOpNot-members.html new file mode 100644 index 000000000..3b379205a --- /dev/null +++ b/structnixt_1_1HookExprOpNot-members.html @@ -0,0 +1,96 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    nixt::HookExprOpNot Member List
    +
    +
    + +

    This is the complete list of members for nixt::HookExprOpNot, including all inherited members.

    + + + + + + + +
    EMapnixt::HookExprOpNot
    eval(nix::EvalState &State, nix::Env &Env, nix::Value &V) overridenixt::HookExprOpNot
    getName()nixt::HookExprOpNot
    Handlenixt::HookExprOpNot
    HookExprOpNot(nix::ExprOpNot E, ValueMap &VMap, EnvMap &EMap, std::uintptr_t Handle)nixt::HookExprOpNotinline
    VMapnixt::HookExprOpNot
    + + + + diff --git a/structnixt_1_1HookExprOpNot.html b/structnixt_1_1HookExprOpNot.html new file mode 100644 index 000000000..9134c59c2 --- /dev/null +++ b/structnixt_1_1HookExprOpNot.html @@ -0,0 +1,271 @@ + + + + + + + +nixd: nixt::HookExprOpNot Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    nixt::HookExprOpNot Struct Reference
    +
    +
    + +

    #include <HookExpr.h>

    +
    +Inheritance diagram for nixt::HookExprOpNot:
    +
    +
    +
    [legend]
    +
    +Collaboration diagram for nixt::HookExprOpNot:
    +
    +
    +
    [legend]
    + + + + + + + + +

    +Public Member Functions

     HookExprOpNot (nix::ExprOpNot E, ValueMap &VMap, EnvMap &EMap, std::uintptr_t Handle)
     
    void eval (nix::EvalState &State, nix::Env &Env, nix::Value &V) override
     
    std::string getName ()
     
    + + + + + + + +

    +Public Attributes

    ValueMapVMap
     
    EnvMapEMap
     
    std::uintptr_t Handle
     
    +

    Detailed Description

    +
    +

    Definition at line 190 of file HookExpr.h.

    +

    Constructor & Destructor Documentation

    + +

    ◆ HookExprOpNot()

    + +
    +
    + + + + + +
    + + + + + + + + + + + + + + + + + + + + + +
    nixt::HookExprOpNot::HookExprOpNot (nix::ExprOpNot E,
    ValueMap & VMap,
    EnvMap & EMap,
    std::uintptr_t Handle )
    +
    +inline
    +
    + +

    Definition at line 194 of file HookExpr.h.

    + +
    +
    +

    Member Function Documentation

    + +

    ◆ eval()

    + +
    +
    + + + + + +
    + + + + + + + + + + + + + + + + +
    void nixt::HookExprOpNot::eval (nix::EvalState & State,
    nix::Env & Env,
    nix::Value & V )
    +
    +override
    +
    + +
    +
    + +

    ◆ getName()

    + +
    +
    + + + + + + + +
    std::string nixt::HookExprOpNot::getName ()
    +
    + +
    +
    +

    Member Data Documentation

    + +

    ◆ EMap

    + +
    +
    + + + + +
    EnvMap& nixt::HookExprOpNot::EMap
    +
    + +

    Definition at line 192 of file HookExpr.h.

    + +
    +
    + +

    ◆ Handle

    + +
    +
    + + + + +
    std::uintptr_t nixt::HookExprOpNot::Handle
    +
    + +

    Definition at line 193 of file HookExpr.h.

    + +
    +
    + +

    ◆ VMap

    + +
    +
    + + + + +
    ValueMap& nixt::HookExprOpNot::VMap
    +
    + +

    Definition at line 191 of file HookExpr.h.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structnixt_1_1HookExprOpNot__coll__graph.map b/structnixt_1_1HookExprOpNot__coll__graph.map new file mode 100644 index 000000000..54588318e --- /dev/null +++ b/structnixt_1_1HookExprOpNot__coll__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/structnixt_1_1HookExprOpNot__coll__graph.md5 b/structnixt_1_1HookExprOpNot__coll__graph.md5 new file mode 100644 index 000000000..91c9244de --- /dev/null +++ b/structnixt_1_1HookExprOpNot__coll__graph.md5 @@ -0,0 +1 @@ +5405f6c6fb9b60a3649e303034e5b59b \ No newline at end of file diff --git a/structnixt_1_1HookExprOpNot__coll__graph.svg b/structnixt_1_1HookExprOpNot__coll__graph.svg new file mode 100644 index 000000000..4737245db --- /dev/null +++ b/structnixt_1_1HookExprOpNot__coll__graph.svg @@ -0,0 +1,39 @@ + + + + + + +nixt::HookExprOpNot + + +Node1 + + +nixt::HookExprOpNot + + + + + +Node2 + + +nix::ExprOpNot + + + + + +Node2->Node1 + + + + + + + + diff --git a/structnixt_1_1HookExprOpNot__inherit__graph.map b/structnixt_1_1HookExprOpNot__inherit__graph.map new file mode 100644 index 000000000..54588318e --- /dev/null +++ b/structnixt_1_1HookExprOpNot__inherit__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/structnixt_1_1HookExprOpNot__inherit__graph.md5 b/structnixt_1_1HookExprOpNot__inherit__graph.md5 new file mode 100644 index 000000000..91c9244de --- /dev/null +++ b/structnixt_1_1HookExprOpNot__inherit__graph.md5 @@ -0,0 +1 @@ +5405f6c6fb9b60a3649e303034e5b59b \ No newline at end of file diff --git a/structnixt_1_1HookExprOpNot__inherit__graph.svg b/structnixt_1_1HookExprOpNot__inherit__graph.svg new file mode 100644 index 000000000..4737245db --- /dev/null +++ b/structnixt_1_1HookExprOpNot__inherit__graph.svg @@ -0,0 +1,39 @@ + + + + + + +nixt::HookExprOpNot + + +Node1 + + +nixt::HookExprOpNot + + + + + +Node2 + + +nix::ExprOpNot + + + + + +Node2->Node1 + + + + + + + + diff --git a/structnixt_1_1HookExprOpOr-members.html b/structnixt_1_1HookExprOpOr-members.html new file mode 100644 index 000000000..96ee7a5fa --- /dev/null +++ b/structnixt_1_1HookExprOpOr-members.html @@ -0,0 +1,96 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    nixt::HookExprOpOr Member List
    +
    +
    + +

    This is the complete list of members for nixt::HookExprOpOr, including all inherited members.

    + + + + + + + +
    EMapnixt::HookExprOpOr
    eval(nix::EvalState &State, nix::Env &Env, nix::Value &V) overridenixt::HookExprOpOr
    getName()nixt::HookExprOpOr
    Handlenixt::HookExprOpOr
    HookExprOpOr(nix::ExprOpOr E, ValueMap &VMap, EnvMap &EMap, std::uintptr_t Handle)nixt::HookExprOpOrinline
    VMapnixt::HookExprOpOr
    + + + + diff --git a/structnixt_1_1HookExprOpOr.html b/structnixt_1_1HookExprOpOr.html new file mode 100644 index 000000000..b7b90d9f5 --- /dev/null +++ b/structnixt_1_1HookExprOpOr.html @@ -0,0 +1,271 @@ + + + + + + + +nixd: nixt::HookExprOpOr Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    nixt::HookExprOpOr Struct Reference
    +
    +
    + +

    #include <HookExpr.h>

    +
    +Inheritance diagram for nixt::HookExprOpOr:
    +
    +
    +
    [legend]
    +
    +Collaboration diagram for nixt::HookExprOpOr:
    +
    +
    +
    [legend]
    + + + + + + + + +

    +Public Member Functions

     HookExprOpOr (nix::ExprOpOr E, ValueMap &VMap, EnvMap &EMap, std::uintptr_t Handle)
     
    void eval (nix::EvalState &State, nix::Env &Env, nix::Value &V) override
     
    std::string getName ()
     
    + + + + + + + +

    +Public Attributes

    ValueMapVMap
     
    EnvMapEMap
     
    std::uintptr_t Handle
     
    +

    Detailed Description

    +
    +

    Definition at line 201 of file HookExpr.h.

    +

    Constructor & Destructor Documentation

    + +

    ◆ HookExprOpOr()

    + +
    +
    + + + + + +
    + + + + + + + + + + + + + + + + + + + + + +
    nixt::HookExprOpOr::HookExprOpOr (nix::ExprOpOr E,
    ValueMap & VMap,
    EnvMap & EMap,
    std::uintptr_t Handle )
    +
    +inline
    +
    + +

    Definition at line 205 of file HookExpr.h.

    + +
    +
    +

    Member Function Documentation

    + +

    ◆ eval()

    + +
    +
    + + + + + +
    + + + + + + + + + + + + + + + + +
    void nixt::HookExprOpOr::eval (nix::EvalState & State,
    nix::Env & Env,
    nix::Value & V )
    +
    +override
    +
    + +
    +
    + +

    ◆ getName()

    + +
    +
    + + + + + + + +
    std::string nixt::HookExprOpOr::getName ()
    +
    + +
    +
    +

    Member Data Documentation

    + +

    ◆ EMap

    + +
    +
    + + + + +
    EnvMap& nixt::HookExprOpOr::EMap
    +
    + +

    Definition at line 203 of file HookExpr.h.

    + +
    +
    + +

    ◆ Handle

    + +
    +
    + + + + +
    std::uintptr_t nixt::HookExprOpOr::Handle
    +
    + +

    Definition at line 204 of file HookExpr.h.

    + +
    +
    + +

    ◆ VMap

    + +
    +
    + + + + +
    ValueMap& nixt::HookExprOpOr::VMap
    +
    + +

    Definition at line 202 of file HookExpr.h.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structnixt_1_1HookExprOpOr__coll__graph.map b/structnixt_1_1HookExprOpOr__coll__graph.map new file mode 100644 index 000000000..3cc21dd23 --- /dev/null +++ b/structnixt_1_1HookExprOpOr__coll__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/structnixt_1_1HookExprOpOr__coll__graph.md5 b/structnixt_1_1HookExprOpOr__coll__graph.md5 new file mode 100644 index 000000000..2ca10daf3 --- /dev/null +++ b/structnixt_1_1HookExprOpOr__coll__graph.md5 @@ -0,0 +1 @@ +0fe8ddcd75dbed31fe8f3353266b4b15 \ No newline at end of file diff --git a/structnixt_1_1HookExprOpOr__coll__graph.svg b/structnixt_1_1HookExprOpOr__coll__graph.svg new file mode 100644 index 000000000..9d64a6def --- /dev/null +++ b/structnixt_1_1HookExprOpOr__coll__graph.svg @@ -0,0 +1,39 @@ + + + + + + +nixt::HookExprOpOr + + +Node1 + + +nixt::HookExprOpOr + + + + + +Node2 + + +nix::ExprOpOr + + + + + +Node2->Node1 + + + + + + + + diff --git a/structnixt_1_1HookExprOpOr__inherit__graph.map b/structnixt_1_1HookExprOpOr__inherit__graph.map new file mode 100644 index 000000000..3cc21dd23 --- /dev/null +++ b/structnixt_1_1HookExprOpOr__inherit__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/structnixt_1_1HookExprOpOr__inherit__graph.md5 b/structnixt_1_1HookExprOpOr__inherit__graph.md5 new file mode 100644 index 000000000..2ca10daf3 --- /dev/null +++ b/structnixt_1_1HookExprOpOr__inherit__graph.md5 @@ -0,0 +1 @@ +0fe8ddcd75dbed31fe8f3353266b4b15 \ No newline at end of file diff --git a/structnixt_1_1HookExprOpOr__inherit__graph.svg b/structnixt_1_1HookExprOpOr__inherit__graph.svg new file mode 100644 index 000000000..9d64a6def --- /dev/null +++ b/structnixt_1_1HookExprOpOr__inherit__graph.svg @@ -0,0 +1,39 @@ + + + + + + +nixt::HookExprOpOr + + +Node1 + + +nixt::HookExprOpOr + + + + + +Node2 + + +nix::ExprOpOr + + + + + +Node2->Node1 + + + + + + + + diff --git a/structnixt_1_1HookExprOpUpdate-members.html b/structnixt_1_1HookExprOpUpdate-members.html new file mode 100644 index 000000000..1816f5173 --- /dev/null +++ b/structnixt_1_1HookExprOpUpdate-members.html @@ -0,0 +1,96 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    nixt::HookExprOpUpdate Member List
    +
    +
    + +

    This is the complete list of members for nixt::HookExprOpUpdate, including all inherited members.

    + + + + + + + +
    EMapnixt::HookExprOpUpdate
    eval(nix::EvalState &State, nix::Env &Env, nix::Value &V) overridenixt::HookExprOpUpdate
    getName()nixt::HookExprOpUpdate
    Handlenixt::HookExprOpUpdate
    HookExprOpUpdate(nix::ExprOpUpdate E, ValueMap &VMap, EnvMap &EMap, std::uintptr_t Handle)nixt::HookExprOpUpdateinline
    VMapnixt::HookExprOpUpdate
    + + + + diff --git a/structnixt_1_1HookExprOpUpdate.html b/structnixt_1_1HookExprOpUpdate.html new file mode 100644 index 000000000..9e5f3574d --- /dev/null +++ b/structnixt_1_1HookExprOpUpdate.html @@ -0,0 +1,271 @@ + + + + + + + +nixd: nixt::HookExprOpUpdate Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    nixt::HookExprOpUpdate Struct Reference
    +
    +
    + +

    #include <HookExpr.h>

    +
    +Inheritance diagram for nixt::HookExprOpUpdate:
    +
    +
    +
    [legend]
    +
    +Collaboration diagram for nixt::HookExprOpUpdate:
    +
    +
    +
    [legend]
    + + + + + + + + +

    +Public Member Functions

     HookExprOpUpdate (nix::ExprOpUpdate E, ValueMap &VMap, EnvMap &EMap, std::uintptr_t Handle)
     
    void eval (nix::EvalState &State, nix::Env &Env, nix::Value &V) override
     
    std::string getName ()
     
    + + + + + + + +

    +Public Attributes

    ValueMapVMap
     
    EnvMapEMap
     
    std::uintptr_t Handle
     
    +

    Detailed Description

    +
    +

    Definition at line 212 of file HookExpr.h.

    +

    Constructor & Destructor Documentation

    + +

    ◆ HookExprOpUpdate()

    + +
    +
    + + + + + +
    + + + + + + + + + + + + + + + + + + + + + +
    nixt::HookExprOpUpdate::HookExprOpUpdate (nix::ExprOpUpdate E,
    ValueMap & VMap,
    EnvMap & EMap,
    std::uintptr_t Handle )
    +
    +inline
    +
    + +

    Definition at line 216 of file HookExpr.h.

    + +
    +
    +

    Member Function Documentation

    + +

    ◆ eval()

    + +
    +
    + + + + + +
    + + + + + + + + + + + + + + + + +
    void nixt::HookExprOpUpdate::eval (nix::EvalState & State,
    nix::Env & Env,
    nix::Value & V )
    +
    +override
    +
    + +
    +
    + +

    ◆ getName()

    + +
    +
    + + + + + + + +
    std::string nixt::HookExprOpUpdate::getName ()
    +
    + +
    +
    +

    Member Data Documentation

    + +

    ◆ EMap

    + +
    +
    + + + + +
    EnvMap& nixt::HookExprOpUpdate::EMap
    +
    + +

    Definition at line 214 of file HookExpr.h.

    + +
    +
    + +

    ◆ Handle

    + +
    +
    + + + + +
    std::uintptr_t nixt::HookExprOpUpdate::Handle
    +
    + +

    Definition at line 215 of file HookExpr.h.

    + +
    +
    + +

    ◆ VMap

    + +
    +
    + + + + +
    ValueMap& nixt::HookExprOpUpdate::VMap
    +
    + +

    Definition at line 213 of file HookExpr.h.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structnixt_1_1HookExprOpUpdate__coll__graph.map b/structnixt_1_1HookExprOpUpdate__coll__graph.map new file mode 100644 index 000000000..783ffd2e7 --- /dev/null +++ b/structnixt_1_1HookExprOpUpdate__coll__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/structnixt_1_1HookExprOpUpdate__coll__graph.md5 b/structnixt_1_1HookExprOpUpdate__coll__graph.md5 new file mode 100644 index 000000000..7a6130f8d --- /dev/null +++ b/structnixt_1_1HookExprOpUpdate__coll__graph.md5 @@ -0,0 +1 @@ +bc43865f53077915e17fe44700011944 \ No newline at end of file diff --git a/structnixt_1_1HookExprOpUpdate__coll__graph.svg b/structnixt_1_1HookExprOpUpdate__coll__graph.svg new file mode 100644 index 000000000..a8f498a90 --- /dev/null +++ b/structnixt_1_1HookExprOpUpdate__coll__graph.svg @@ -0,0 +1,39 @@ + + + + + + +nixt::HookExprOpUpdate + + +Node1 + + +nixt::HookExprOpUpdate + + + + + +Node2 + + +nix::ExprOpUpdate + + + + + +Node2->Node1 + + + + + + + + diff --git a/structnixt_1_1HookExprOpUpdate__inherit__graph.map b/structnixt_1_1HookExprOpUpdate__inherit__graph.map new file mode 100644 index 000000000..783ffd2e7 --- /dev/null +++ b/structnixt_1_1HookExprOpUpdate__inherit__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/structnixt_1_1HookExprOpUpdate__inherit__graph.md5 b/structnixt_1_1HookExprOpUpdate__inherit__graph.md5 new file mode 100644 index 000000000..7a6130f8d --- /dev/null +++ b/structnixt_1_1HookExprOpUpdate__inherit__graph.md5 @@ -0,0 +1 @@ +bc43865f53077915e17fe44700011944 \ No newline at end of file diff --git a/structnixt_1_1HookExprOpUpdate__inherit__graph.svg b/structnixt_1_1HookExprOpUpdate__inherit__graph.svg new file mode 100644 index 000000000..a8f498a90 --- /dev/null +++ b/structnixt_1_1HookExprOpUpdate__inherit__graph.svg @@ -0,0 +1,39 @@ + + + + + + +nixt::HookExprOpUpdate + + +Node1 + + +nixt::HookExprOpUpdate + + + + + +Node2 + + +nix::ExprOpUpdate + + + + + +Node2->Node1 + + + + + + + + diff --git a/structnixt_1_1HookExprPath-members.html b/structnixt_1_1HookExprPath-members.html new file mode 100644 index 000000000..6d5bc122e --- /dev/null +++ b/structnixt_1_1HookExprPath-members.html @@ -0,0 +1,96 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    nixt::HookExprPath Member List
    +
    +
    + +

    This is the complete list of members for nixt::HookExprPath, including all inherited members.

    + + + + + + + +
    EMapnixt::HookExprPath
    eval(nix::EvalState &State, nix::Env &Env, nix::Value &V) overridenixt::HookExprPath
    getName()nixt::HookExprPath
    Handlenixt::HookExprPath
    HookExprPath(nix::ExprPath E, ValueMap &VMap, EnvMap &EMap, std::uintptr_t Handle)nixt::HookExprPathinline
    VMapnixt::HookExprPath
    + + + + diff --git a/structnixt_1_1HookExprPath.html b/structnixt_1_1HookExprPath.html new file mode 100644 index 000000000..80acd58e3 --- /dev/null +++ b/structnixt_1_1HookExprPath.html @@ -0,0 +1,271 @@ + + + + + + + +nixd: nixt::HookExprPath Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    nixt::HookExprPath Struct Reference
    +
    +
    + +

    #include <HookExpr.h>

    +
    +Inheritance diagram for nixt::HookExprPath:
    +
    +
    +
    [legend]
    +
    +Collaboration diagram for nixt::HookExprPath:
    +
    +
    +
    [legend]
    + + + + + + + + +

    +Public Member Functions

     HookExprPath (nix::ExprPath E, ValueMap &VMap, EnvMap &EMap, std::uintptr_t Handle)
     
    void eval (nix::EvalState &State, nix::Env &Env, nix::Value &V) override
     
    std::string getName ()
     
    + + + + + + + +

    +Public Attributes

    ValueMapVMap
     
    EnvMapEMap
     
    std::uintptr_t Handle
     
    +

    Detailed Description

    +
    +

    Definition at line 224 of file HookExpr.h.

    +

    Constructor & Destructor Documentation

    + +

    ◆ HookExprPath()

    + +
    +
    + + + + + +
    + + + + + + + + + + + + + + + + + + + + + +
    nixt::HookExprPath::HookExprPath (nix::ExprPath E,
    ValueMap & VMap,
    EnvMap & EMap,
    std::uintptr_t Handle )
    +
    +inline
    +
    + +

    Definition at line 228 of file HookExpr.h.

    + +
    +
    +

    Member Function Documentation

    + +

    ◆ eval()

    + +
    +
    + + + + + +
    + + + + + + + + + + + + + + + + +
    void nixt::HookExprPath::eval (nix::EvalState & State,
    nix::Env & Env,
    nix::Value & V )
    +
    +override
    +
    + +
    +
    + +

    ◆ getName()

    + +
    +
    + + + + + + + +
    std::string nixt::HookExprPath::getName ()
    +
    + +
    +
    +

    Member Data Documentation

    + +

    ◆ EMap

    + +
    +
    + + + + +
    EnvMap& nixt::HookExprPath::EMap
    +
    + +

    Definition at line 226 of file HookExpr.h.

    + +
    +
    + +

    ◆ Handle

    + +
    +
    + + + + +
    std::uintptr_t nixt::HookExprPath::Handle
    +
    + +

    Definition at line 227 of file HookExpr.h.

    + +
    +
    + +

    ◆ VMap

    + +
    +
    + + + + +
    ValueMap& nixt::HookExprPath::VMap
    +
    + +

    Definition at line 225 of file HookExpr.h.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structnixt_1_1HookExprPath__coll__graph.map b/structnixt_1_1HookExprPath__coll__graph.map new file mode 100644 index 000000000..3f818ccac --- /dev/null +++ b/structnixt_1_1HookExprPath__coll__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/structnixt_1_1HookExprPath__coll__graph.md5 b/structnixt_1_1HookExprPath__coll__graph.md5 new file mode 100644 index 000000000..632bee4e1 --- /dev/null +++ b/structnixt_1_1HookExprPath__coll__graph.md5 @@ -0,0 +1 @@ +70a952dea48053aebbc538988053a902 \ No newline at end of file diff --git a/structnixt_1_1HookExprPath__coll__graph.svg b/structnixt_1_1HookExprPath__coll__graph.svg new file mode 100644 index 000000000..859c9aa78 --- /dev/null +++ b/structnixt_1_1HookExprPath__coll__graph.svg @@ -0,0 +1,39 @@ + + + + + + +nixt::HookExprPath + + +Node1 + + +nixt::HookExprPath + + + + + +Node2 + + +nix::ExprPath + + + + + +Node2->Node1 + + + + + + + + diff --git a/structnixt_1_1HookExprPath__inherit__graph.map b/structnixt_1_1HookExprPath__inherit__graph.map new file mode 100644 index 000000000..3f818ccac --- /dev/null +++ b/structnixt_1_1HookExprPath__inherit__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/structnixt_1_1HookExprPath__inherit__graph.md5 b/structnixt_1_1HookExprPath__inherit__graph.md5 new file mode 100644 index 000000000..632bee4e1 --- /dev/null +++ b/structnixt_1_1HookExprPath__inherit__graph.md5 @@ -0,0 +1 @@ +70a952dea48053aebbc538988053a902 \ No newline at end of file diff --git a/structnixt_1_1HookExprPath__inherit__graph.svg b/structnixt_1_1HookExprPath__inherit__graph.svg new file mode 100644 index 000000000..859c9aa78 --- /dev/null +++ b/structnixt_1_1HookExprPath__inherit__graph.svg @@ -0,0 +1,39 @@ + + + + + + +nixt::HookExprPath + + +Node1 + + +nixt::HookExprPath + + + + + +Node2 + + +nix::ExprPath + + + + + +Node2->Node1 + + + + + + + + diff --git a/structnixt_1_1HookExprPos-members.html b/structnixt_1_1HookExprPos-members.html new file mode 100644 index 000000000..e6bbdd21f --- /dev/null +++ b/structnixt_1_1HookExprPos-members.html @@ -0,0 +1,96 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    nixt::HookExprPos Member List
    +
    +
    + +

    This is the complete list of members for nixt::HookExprPos, including all inherited members.

    + + + + + + + +
    EMapnixt::HookExprPos
    eval(nix::EvalState &State, nix::Env &Env, nix::Value &V) overridenixt::HookExprPos
    getName()nixt::HookExprPos
    Handlenixt::HookExprPos
    HookExprPos(nix::ExprPos E, ValueMap &VMap, EnvMap &EMap, std::uintptr_t Handle)nixt::HookExprPosinline
    VMapnixt::HookExprPos
    + + + + diff --git a/structnixt_1_1HookExprPos.html b/structnixt_1_1HookExprPos.html new file mode 100644 index 000000000..2d53e1743 --- /dev/null +++ b/structnixt_1_1HookExprPos.html @@ -0,0 +1,271 @@ + + + + + + + +nixd: nixt::HookExprPos Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    nixt::HookExprPos Struct Reference
    +
    +
    + +

    #include <HookExpr.h>

    +
    +Inheritance diagram for nixt::HookExprPos:
    +
    +
    +
    [legend]
    +
    +Collaboration diagram for nixt::HookExprPos:
    +
    +
    +
    [legend]
    + + + + + + + + +

    +Public Member Functions

     HookExprPos (nix::ExprPos E, ValueMap &VMap, EnvMap &EMap, std::uintptr_t Handle)
     
    void eval (nix::EvalState &State, nix::Env &Env, nix::Value &V) override
     
    std::string getName ()
     
    + + + + + + + +

    +Public Attributes

    ValueMapVMap
     
    EnvMapEMap
     
    std::uintptr_t Handle
     
    +

    Detailed Description

    +
    +

    Definition at line 237 of file HookExpr.h.

    +

    Constructor & Destructor Documentation

    + +

    ◆ HookExprPos()

    + +
    +
    + + + + + +
    + + + + + + + + + + + + + + + + + + + + + +
    nixt::HookExprPos::HookExprPos (nix::ExprPos E,
    ValueMap & VMap,
    EnvMap & EMap,
    std::uintptr_t Handle )
    +
    +inline
    +
    + +

    Definition at line 241 of file HookExpr.h.

    + +
    +
    +

    Member Function Documentation

    + +

    ◆ eval()

    + +
    +
    + + + + + +
    + + + + + + + + + + + + + + + + +
    void nixt::HookExprPos::eval (nix::EvalState & State,
    nix::Env & Env,
    nix::Value & V )
    +
    +override
    +
    + +
    +
    + +

    ◆ getName()

    + +
    +
    + + + + + + + +
    std::string nixt::HookExprPos::getName ()
    +
    + +
    +
    +

    Member Data Documentation

    + +

    ◆ EMap

    + +
    +
    + + + + +
    EnvMap& nixt::HookExprPos::EMap
    +
    + +

    Definition at line 239 of file HookExpr.h.

    + +
    +
    + +

    ◆ Handle

    + +
    +
    + + + + +
    std::uintptr_t nixt::HookExprPos::Handle
    +
    + +

    Definition at line 240 of file HookExpr.h.

    + +
    +
    + +

    ◆ VMap

    + +
    +
    + + + + +
    ValueMap& nixt::HookExprPos::VMap
    +
    + +

    Definition at line 238 of file HookExpr.h.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structnixt_1_1HookExprPos__coll__graph.map b/structnixt_1_1HookExprPos__coll__graph.map new file mode 100644 index 000000000..792daeeef --- /dev/null +++ b/structnixt_1_1HookExprPos__coll__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/structnixt_1_1HookExprPos__coll__graph.md5 b/structnixt_1_1HookExprPos__coll__graph.md5 new file mode 100644 index 000000000..3d0d8f291 --- /dev/null +++ b/structnixt_1_1HookExprPos__coll__graph.md5 @@ -0,0 +1 @@ +f3e6f896f3ffbd3e85d026640086a55f \ No newline at end of file diff --git a/structnixt_1_1HookExprPos__coll__graph.svg b/structnixt_1_1HookExprPos__coll__graph.svg new file mode 100644 index 000000000..f5c67a160 --- /dev/null +++ b/structnixt_1_1HookExprPos__coll__graph.svg @@ -0,0 +1,39 @@ + + + + + + +nixt::HookExprPos + + +Node1 + + +nixt::HookExprPos + + + + + +Node2 + + +nix::ExprPos + + + + + +Node2->Node1 + + + + + + + + diff --git a/structnixt_1_1HookExprPos__inherit__graph.map b/structnixt_1_1HookExprPos__inherit__graph.map new file mode 100644 index 000000000..792daeeef --- /dev/null +++ b/structnixt_1_1HookExprPos__inherit__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/structnixt_1_1HookExprPos__inherit__graph.md5 b/structnixt_1_1HookExprPos__inherit__graph.md5 new file mode 100644 index 000000000..3d0d8f291 --- /dev/null +++ b/structnixt_1_1HookExprPos__inherit__graph.md5 @@ -0,0 +1 @@ +f3e6f896f3ffbd3e85d026640086a55f \ No newline at end of file diff --git a/structnixt_1_1HookExprPos__inherit__graph.svg b/structnixt_1_1HookExprPos__inherit__graph.svg new file mode 100644 index 000000000..f5c67a160 --- /dev/null +++ b/structnixt_1_1HookExprPos__inherit__graph.svg @@ -0,0 +1,39 @@ + + + + + + +nixt::HookExprPos + + +Node1 + + +nixt::HookExprPos + + + + + +Node2 + + +nix::ExprPos + + + + + +Node2->Node1 + + + + + + + + diff --git a/structnixt_1_1HookExprSelect-members.html b/structnixt_1_1HookExprSelect-members.html new file mode 100644 index 000000000..6d550a0c8 --- /dev/null +++ b/structnixt_1_1HookExprSelect-members.html @@ -0,0 +1,96 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    nixt::HookExprSelect Member List
    +
    +
    + +

    This is the complete list of members for nixt::HookExprSelect, including all inherited members.

    + + + + + + + +
    EMapnixt::HookExprSelect
    eval(nix::EvalState &State, nix::Env &Env, nix::Value &V) overridenixt::HookExprSelect
    getName()nixt::HookExprSelect
    Handlenixt::HookExprSelect
    HookExprSelect(nix::ExprSelect E, ValueMap &VMap, EnvMap &EMap, std::uintptr_t Handle)nixt::HookExprSelectinline
    VMapnixt::HookExprSelect
    + + + + diff --git a/structnixt_1_1HookExprSelect.html b/structnixt_1_1HookExprSelect.html new file mode 100644 index 000000000..8b9faf2bb --- /dev/null +++ b/structnixt_1_1HookExprSelect.html @@ -0,0 +1,271 @@ + + + + + + + +nixd: nixt::HookExprSelect Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    nixt::HookExprSelect Struct Reference
    +
    +
    + +

    #include <HookExpr.h>

    +
    +Inheritance diagram for nixt::HookExprSelect:
    +
    +
    +
    [legend]
    +
    +Collaboration diagram for nixt::HookExprSelect:
    +
    +
    +
    [legend]
    + + + + + + + + +

    +Public Member Functions

     HookExprSelect (nix::ExprSelect E, ValueMap &VMap, EnvMap &EMap, std::uintptr_t Handle)
     
    void eval (nix::EvalState &State, nix::Env &Env, nix::Value &V) override
     
    std::string getName ()
     
    + + + + + + + +

    +Public Attributes

    ValueMapVMap
     
    EnvMapEMap
     
    std::uintptr_t Handle
     
    +

    Detailed Description

    +
    +

    Definition at line 248 of file HookExpr.h.

    +

    Constructor & Destructor Documentation

    + +

    ◆ HookExprSelect()

    + +
    +
    + + + + + +
    + + + + + + + + + + + + + + + + + + + + + +
    nixt::HookExprSelect::HookExprSelect (nix::ExprSelect E,
    ValueMap & VMap,
    EnvMap & EMap,
    std::uintptr_t Handle )
    +
    +inline
    +
    + +

    Definition at line 252 of file HookExpr.h.

    + +
    +
    +

    Member Function Documentation

    + +

    ◆ eval()

    + +
    +
    + + + + + +
    + + + + + + + + + + + + + + + + +
    void nixt::HookExprSelect::eval (nix::EvalState & State,
    nix::Env & Env,
    nix::Value & V )
    +
    +override
    +
    + +
    +
    + +

    ◆ getName()

    + +
    +
    + + + + + + + +
    std::string nixt::HookExprSelect::getName ()
    +
    + +
    +
    +

    Member Data Documentation

    + +

    ◆ EMap

    + +
    +
    + + + + +
    EnvMap& nixt::HookExprSelect::EMap
    +
    + +

    Definition at line 250 of file HookExpr.h.

    + +
    +
    + +

    ◆ Handle

    + +
    +
    + + + + +
    std::uintptr_t nixt::HookExprSelect::Handle
    +
    + +

    Definition at line 251 of file HookExpr.h.

    + +
    +
    + +

    ◆ VMap

    + +
    +
    + + + + +
    ValueMap& nixt::HookExprSelect::VMap
    +
    + +

    Definition at line 249 of file HookExpr.h.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structnixt_1_1HookExprSelect__coll__graph.map b/structnixt_1_1HookExprSelect__coll__graph.map new file mode 100644 index 000000000..de4429361 --- /dev/null +++ b/structnixt_1_1HookExprSelect__coll__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/structnixt_1_1HookExprSelect__coll__graph.md5 b/structnixt_1_1HookExprSelect__coll__graph.md5 new file mode 100644 index 000000000..bf770031b --- /dev/null +++ b/structnixt_1_1HookExprSelect__coll__graph.md5 @@ -0,0 +1 @@ +42932383f3b98ad87a33c5549847524e \ No newline at end of file diff --git a/structnixt_1_1HookExprSelect__coll__graph.svg b/structnixt_1_1HookExprSelect__coll__graph.svg new file mode 100644 index 000000000..0ae4bbbdd --- /dev/null +++ b/structnixt_1_1HookExprSelect__coll__graph.svg @@ -0,0 +1,39 @@ + + + + + + +nixt::HookExprSelect + + +Node1 + + +nixt::HookExprSelect + + + + + +Node2 + + +nix::ExprSelect + + + + + +Node2->Node1 + + + + + + + + diff --git a/structnixt_1_1HookExprSelect__inherit__graph.map b/structnixt_1_1HookExprSelect__inherit__graph.map new file mode 100644 index 000000000..de4429361 --- /dev/null +++ b/structnixt_1_1HookExprSelect__inherit__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/structnixt_1_1HookExprSelect__inherit__graph.md5 b/structnixt_1_1HookExprSelect__inherit__graph.md5 new file mode 100644 index 000000000..bf770031b --- /dev/null +++ b/structnixt_1_1HookExprSelect__inherit__graph.md5 @@ -0,0 +1 @@ +42932383f3b98ad87a33c5549847524e \ No newline at end of file diff --git a/structnixt_1_1HookExprSelect__inherit__graph.svg b/structnixt_1_1HookExprSelect__inherit__graph.svg new file mode 100644 index 000000000..0ae4bbbdd --- /dev/null +++ b/structnixt_1_1HookExprSelect__inherit__graph.svg @@ -0,0 +1,39 @@ + + + + + + +nixt::HookExprSelect + + +Node1 + + +nixt::HookExprSelect + + + + + +Node2 + + +nix::ExprSelect + + + + + +Node2->Node1 + + + + + + + + diff --git a/structnixt_1_1HookExprString-members.html b/structnixt_1_1HookExprString-members.html new file mode 100644 index 000000000..48c22e842 --- /dev/null +++ b/structnixt_1_1HookExprString-members.html @@ -0,0 +1,96 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    nixt::HookExprString Member List
    +
    +
    + +

    This is the complete list of members for nixt::HookExprString, including all inherited members.

    + + + + + + + +
    EMapnixt::HookExprString
    eval(nix::EvalState &State, nix::Env &Env, nix::Value &V) overridenixt::HookExprString
    getName()nixt::HookExprString
    Handlenixt::HookExprString
    HookExprString(nix::ExprString E, ValueMap &VMap, EnvMap &EMap, std::uintptr_t Handle)nixt::HookExprStringinline
    VMapnixt::HookExprString
    + + + + diff --git a/structnixt_1_1HookExprString.html b/structnixt_1_1HookExprString.html new file mode 100644 index 000000000..ba3518ff6 --- /dev/null +++ b/structnixt_1_1HookExprString.html @@ -0,0 +1,271 @@ + + + + + + + +nixd: nixt::HookExprString Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    nixt::HookExprString Struct Reference
    +
    +
    + +

    #include <HookExpr.h>

    +
    +Inheritance diagram for nixt::HookExprString:
    +
    +
    +
    [legend]
    +
    +Collaboration diagram for nixt::HookExprString:
    +
    +
    +
    [legend]
    + + + + + + + + +

    +Public Member Functions

     HookExprString (nix::ExprString E, ValueMap &VMap, EnvMap &EMap, std::uintptr_t Handle)
     
    void eval (nix::EvalState &State, nix::Env &Env, nix::Value &V) override
     
    std::string getName ()
     
    + + + + + + + +

    +Public Attributes

    ValueMapVMap
     
    EnvMapEMap
     
    std::uintptr_t Handle
     
    +

    Detailed Description

    +
    +

    Definition at line 259 of file HookExpr.h.

    +

    Constructor & Destructor Documentation

    + +

    ◆ HookExprString()

    + +
    +
    + + + + + +
    + + + + + + + + + + + + + + + + + + + + + +
    nixt::HookExprString::HookExprString (nix::ExprString E,
    ValueMap & VMap,
    EnvMap & EMap,
    std::uintptr_t Handle )
    +
    +inline
    +
    + +

    Definition at line 263 of file HookExpr.h.

    + +
    +
    +

    Member Function Documentation

    + +

    ◆ eval()

    + +
    +
    + + + + + +
    + + + + + + + + + + + + + + + + +
    void nixt::HookExprString::eval (nix::EvalState & State,
    nix::Env & Env,
    nix::Value & V )
    +
    +override
    +
    + +
    +
    + +

    ◆ getName()

    + +
    +
    + + + + + + + +
    std::string nixt::HookExprString::getName ()
    +
    + +
    +
    +

    Member Data Documentation

    + +

    ◆ EMap

    + +
    +
    + + + + +
    EnvMap& nixt::HookExprString::EMap
    +
    + +

    Definition at line 261 of file HookExpr.h.

    + +
    +
    + +

    ◆ Handle

    + +
    +
    + + + + +
    std::uintptr_t nixt::HookExprString::Handle
    +
    + +

    Definition at line 262 of file HookExpr.h.

    + +
    +
    + +

    ◆ VMap

    + +
    +
    + + + + +
    ValueMap& nixt::HookExprString::VMap
    +
    + +

    Definition at line 260 of file HookExpr.h.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structnixt_1_1HookExprString__coll__graph.map b/structnixt_1_1HookExprString__coll__graph.map new file mode 100644 index 000000000..1c9a28939 --- /dev/null +++ b/structnixt_1_1HookExprString__coll__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/structnixt_1_1HookExprString__coll__graph.md5 b/structnixt_1_1HookExprString__coll__graph.md5 new file mode 100644 index 000000000..ae5f5a90e --- /dev/null +++ b/structnixt_1_1HookExprString__coll__graph.md5 @@ -0,0 +1 @@ +2e4886854d1d13512d374266803bf82c \ No newline at end of file diff --git a/structnixt_1_1HookExprString__coll__graph.svg b/structnixt_1_1HookExprString__coll__graph.svg new file mode 100644 index 000000000..d8a0bc05d --- /dev/null +++ b/structnixt_1_1HookExprString__coll__graph.svg @@ -0,0 +1,39 @@ + + + + + + +nixt::HookExprString + + +Node1 + + +nixt::HookExprString + + + + + +Node2 + + +nix::ExprString + + + + + +Node2->Node1 + + + + + + + + diff --git a/structnixt_1_1HookExprString__inherit__graph.map b/structnixt_1_1HookExprString__inherit__graph.map new file mode 100644 index 000000000..1c9a28939 --- /dev/null +++ b/structnixt_1_1HookExprString__inherit__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/structnixt_1_1HookExprString__inherit__graph.md5 b/structnixt_1_1HookExprString__inherit__graph.md5 new file mode 100644 index 000000000..ae5f5a90e --- /dev/null +++ b/structnixt_1_1HookExprString__inherit__graph.md5 @@ -0,0 +1 @@ +2e4886854d1d13512d374266803bf82c \ No newline at end of file diff --git a/structnixt_1_1HookExprString__inherit__graph.svg b/structnixt_1_1HookExprString__inherit__graph.svg new file mode 100644 index 000000000..d8a0bc05d --- /dev/null +++ b/structnixt_1_1HookExprString__inherit__graph.svg @@ -0,0 +1,39 @@ + + + + + + +nixt::HookExprString + + +Node1 + + +nixt::HookExprString + + + + + +Node2 + + +nix::ExprString + + + + + +Node2->Node1 + + + + + + + + diff --git a/structnixt_1_1HookExprVar-members.html b/structnixt_1_1HookExprVar-members.html new file mode 100644 index 000000000..c147821d3 --- /dev/null +++ b/structnixt_1_1HookExprVar-members.html @@ -0,0 +1,96 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    nixt::HookExprVar Member List
    +
    +
    + +

    This is the complete list of members for nixt::HookExprVar, including all inherited members.

    + + + + + + + +
    EMapnixt::HookExprVar
    eval(nix::EvalState &State, nix::Env &Env, nix::Value &V) overridenixt::HookExprVar
    getName()nixt::HookExprVar
    Handlenixt::HookExprVar
    HookExprVar(nix::ExprVar E, ValueMap &VMap, EnvMap &EMap, std::uintptr_t Handle)nixt::HookExprVarinline
    VMapnixt::HookExprVar
    + + + + diff --git a/structnixt_1_1HookExprVar.html b/structnixt_1_1HookExprVar.html new file mode 100644 index 000000000..90aca52fb --- /dev/null +++ b/structnixt_1_1HookExprVar.html @@ -0,0 +1,271 @@ + + + + + + + +nixd: nixt::HookExprVar Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    nixt::HookExprVar Struct Reference
    +
    +
    + +

    #include <HookExpr.h>

    +
    +Inheritance diagram for nixt::HookExprVar:
    +
    +
    +
    [legend]
    +
    +Collaboration diagram for nixt::HookExprVar:
    +
    +
    +
    [legend]
    + + + + + + + + +

    +Public Member Functions

     HookExprVar (nix::ExprVar E, ValueMap &VMap, EnvMap &EMap, std::uintptr_t Handle)
     
    void eval (nix::EvalState &State, nix::Env &Env, nix::Value &V) override
     
    std::string getName ()
     
    + + + + + + + +

    +Public Attributes

    ValueMapVMap
     
    EnvMapEMap
     
    std::uintptr_t Handle
     
    +

    Detailed Description

    +
    +

    Definition at line 272 of file HookExpr.h.

    +

    Constructor & Destructor Documentation

    + +

    ◆ HookExprVar()

    + +
    +
    + + + + + +
    + + + + + + + + + + + + + + + + + + + + + +
    nixt::HookExprVar::HookExprVar (nix::ExprVar E,
    ValueMap & VMap,
    EnvMap & EMap,
    std::uintptr_t Handle )
    +
    +inline
    +
    + +

    Definition at line 276 of file HookExpr.h.

    + +
    +
    +

    Member Function Documentation

    + +

    ◆ eval()

    + +
    +
    + + + + + +
    + + + + + + + + + + + + + + + + +
    void nixt::HookExprVar::eval (nix::EvalState & State,
    nix::Env & Env,
    nix::Value & V )
    +
    +override
    +
    + +
    +
    + +

    ◆ getName()

    + +
    +
    + + + + + + + +
    std::string nixt::HookExprVar::getName ()
    +
    + +
    +
    +

    Member Data Documentation

    + +

    ◆ EMap

    + +
    +
    + + + + +
    EnvMap& nixt::HookExprVar::EMap
    +
    + +

    Definition at line 274 of file HookExpr.h.

    + +
    +
    + +

    ◆ Handle

    + +
    +
    + + + + +
    std::uintptr_t nixt::HookExprVar::Handle
    +
    + +

    Definition at line 275 of file HookExpr.h.

    + +
    +
    + +

    ◆ VMap

    + +
    +
    + + + + +
    ValueMap& nixt::HookExprVar::VMap
    +
    + +

    Definition at line 273 of file HookExpr.h.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structnixt_1_1HookExprVar__coll__graph.map b/structnixt_1_1HookExprVar__coll__graph.map new file mode 100644 index 000000000..98e8344f9 --- /dev/null +++ b/structnixt_1_1HookExprVar__coll__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/structnixt_1_1HookExprVar__coll__graph.md5 b/structnixt_1_1HookExprVar__coll__graph.md5 new file mode 100644 index 000000000..251bc7912 --- /dev/null +++ b/structnixt_1_1HookExprVar__coll__graph.md5 @@ -0,0 +1 @@ +ce4cea2b69ee46a7cc6b95b282233348 \ No newline at end of file diff --git a/structnixt_1_1HookExprVar__coll__graph.svg b/structnixt_1_1HookExprVar__coll__graph.svg new file mode 100644 index 000000000..b24bc4443 --- /dev/null +++ b/structnixt_1_1HookExprVar__coll__graph.svg @@ -0,0 +1,39 @@ + + + + + + +nixt::HookExprVar + + +Node1 + + +nixt::HookExprVar + + + + + +Node2 + + +nix::ExprVar + + + + + +Node2->Node1 + + + + + + + + diff --git a/structnixt_1_1HookExprVar__inherit__graph.map b/structnixt_1_1HookExprVar__inherit__graph.map new file mode 100644 index 000000000..98e8344f9 --- /dev/null +++ b/structnixt_1_1HookExprVar__inherit__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/structnixt_1_1HookExprVar__inherit__graph.md5 b/structnixt_1_1HookExprVar__inherit__graph.md5 new file mode 100644 index 000000000..251bc7912 --- /dev/null +++ b/structnixt_1_1HookExprVar__inherit__graph.md5 @@ -0,0 +1 @@ +ce4cea2b69ee46a7cc6b95b282233348 \ No newline at end of file diff --git a/structnixt_1_1HookExprVar__inherit__graph.svg b/structnixt_1_1HookExprVar__inherit__graph.svg new file mode 100644 index 000000000..b24bc4443 --- /dev/null +++ b/structnixt_1_1HookExprVar__inherit__graph.svg @@ -0,0 +1,39 @@ + + + + + + +nixt::HookExprVar + + +Node1 + + +nixt::HookExprVar + + + + + +Node2 + + +nix::ExprVar + + + + + +Node2->Node1 + + + + + + + + diff --git a/structnixt_1_1HookExprWith-members.html b/structnixt_1_1HookExprWith-members.html new file mode 100644 index 000000000..afdd98baa --- /dev/null +++ b/structnixt_1_1HookExprWith-members.html @@ -0,0 +1,96 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    nixt::HookExprWith Member List
    +
    +
    + +

    This is the complete list of members for nixt::HookExprWith, including all inherited members.

    + + + + + + + +
    EMapnixt::HookExprWith
    eval(nix::EvalState &State, nix::Env &Env, nix::Value &V) overridenixt::HookExprWith
    getName()nixt::HookExprWith
    Handlenixt::HookExprWith
    HookExprWith(nix::ExprWith E, ValueMap &VMap, EnvMap &EMap, std::uintptr_t Handle)nixt::HookExprWithinline
    VMapnixt::HookExprWith
    + + + + diff --git a/structnixt_1_1HookExprWith.html b/structnixt_1_1HookExprWith.html new file mode 100644 index 000000000..893dbff28 --- /dev/null +++ b/structnixt_1_1HookExprWith.html @@ -0,0 +1,271 @@ + + + + + + + +nixd: nixt::HookExprWith Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    nixt::HookExprWith Struct Reference
    +
    +
    + +

    #include <HookExpr.h>

    +
    +Inheritance diagram for nixt::HookExprWith:
    +
    +
    +
    [legend]
    +
    +Collaboration diagram for nixt::HookExprWith:
    +
    +
    +
    [legend]
    + + + + + + + + +

    +Public Member Functions

     HookExprWith (nix::ExprWith E, ValueMap &VMap, EnvMap &EMap, std::uintptr_t Handle)
     
    void eval (nix::EvalState &State, nix::Env &Env, nix::Value &V) override
     
    std::string getName ()
     
    + + + + + + + +

    +Public Attributes

    ValueMapVMap
     
    EnvMapEMap
     
    std::uintptr_t Handle
     
    +

    Detailed Description

    +
    +

    Definition at line 283 of file HookExpr.h.

    +

    Constructor & Destructor Documentation

    + +

    ◆ HookExprWith()

    + +
    +
    + + + + + +
    + + + + + + + + + + + + + + + + + + + + + +
    nixt::HookExprWith::HookExprWith (nix::ExprWith E,
    ValueMap & VMap,
    EnvMap & EMap,
    std::uintptr_t Handle )
    +
    +inline
    +
    + +

    Definition at line 287 of file HookExpr.h.

    + +
    +
    +

    Member Function Documentation

    + +

    ◆ eval()

    + +
    +
    + + + + + +
    + + + + + + + + + + + + + + + + +
    void nixt::HookExprWith::eval (nix::EvalState & State,
    nix::Env & Env,
    nix::Value & V )
    +
    +override
    +
    + +
    +
    + +

    ◆ getName()

    + +
    +
    + + + + + + + +
    std::string nixt::HookExprWith::getName ()
    +
    + +
    +
    +

    Member Data Documentation

    + +

    ◆ EMap

    + +
    +
    + + + + +
    EnvMap& nixt::HookExprWith::EMap
    +
    + +

    Definition at line 285 of file HookExpr.h.

    + +
    +
    + +

    ◆ Handle

    + +
    +
    + + + + +
    std::uintptr_t nixt::HookExprWith::Handle
    +
    + +

    Definition at line 286 of file HookExpr.h.

    + +
    +
    + +

    ◆ VMap

    + +
    +
    + + + + +
    ValueMap& nixt::HookExprWith::VMap
    +
    + +

    Definition at line 284 of file HookExpr.h.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/structnixt_1_1HookExprWith__coll__graph.map b/structnixt_1_1HookExprWith__coll__graph.map new file mode 100644 index 000000000..6e1544896 --- /dev/null +++ b/structnixt_1_1HookExprWith__coll__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/structnixt_1_1HookExprWith__coll__graph.md5 b/structnixt_1_1HookExprWith__coll__graph.md5 new file mode 100644 index 000000000..8a044427d --- /dev/null +++ b/structnixt_1_1HookExprWith__coll__graph.md5 @@ -0,0 +1 @@ +8578f5cd84be4c897e2e1934071f4e7b \ No newline at end of file diff --git a/structnixt_1_1HookExprWith__coll__graph.svg b/structnixt_1_1HookExprWith__coll__graph.svg new file mode 100644 index 000000000..1d2bbcdb4 --- /dev/null +++ b/structnixt_1_1HookExprWith__coll__graph.svg @@ -0,0 +1,39 @@ + + + + + + +nixt::HookExprWith + + +Node1 + + +nixt::HookExprWith + + + + + +Node2 + + +nix::ExprWith + + + + + +Node2->Node1 + + + + + + + + diff --git a/structnixt_1_1HookExprWith__inherit__graph.map b/structnixt_1_1HookExprWith__inherit__graph.map new file mode 100644 index 000000000..6e1544896 --- /dev/null +++ b/structnixt_1_1HookExprWith__inherit__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/structnixt_1_1HookExprWith__inherit__graph.md5 b/structnixt_1_1HookExprWith__inherit__graph.md5 new file mode 100644 index 000000000..8a044427d --- /dev/null +++ b/structnixt_1_1HookExprWith__inherit__graph.md5 @@ -0,0 +1 @@ +8578f5cd84be4c897e2e1934071f4e7b \ No newline at end of file diff --git a/structnixt_1_1HookExprWith__inherit__graph.svg b/structnixt_1_1HookExprWith__inherit__graph.svg new file mode 100644 index 000000000..1d2bbcdb4 --- /dev/null +++ b/structnixt_1_1HookExprWith__inherit__graph.svg @@ -0,0 +1,39 @@ + + + + + + +nixt::HookExprWith + + +Node1 + + +nixt::HookExprWith + + + + + +Node2 + + +nix::ExprWith + + + + + +Node2->Node1 + + + + + + + + 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..bc3578169 --- /dev/null +++ b/structnixt_1_1PtrPool.html @@ -0,0 +1,216 @@ + + + + + + + +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.

    + +
    +
    +

    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..a99c47783 --- /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_1EvalCacheF-members.html b/structnixt_1_1detail_1_1EvalCacheF-members.html new file mode 100644 index 000000000..534d9c6de --- /dev/null +++ b/structnixt_1_1detail_1_1EvalCacheF-members.html @@ -0,0 +1,91 @@ + + + + + + + +nixd: Member List + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    nixt::detail::EvalCacheF Member List
    +
    +
    + +

    This is the complete list of members for nixt::detail::EvalCacheF, including all inherited members.

    + + +
    type typedefnixt::detail::EvalCacheF
    + + + + diff --git a/structnixt_1_1detail_1_1EvalCacheF.html b/structnixt_1_1detail_1_1EvalCacheF.html new file mode 100644 index 000000000..bbdd40891 --- /dev/null +++ b/structnixt_1_1detail_1_1EvalCacheF.html @@ -0,0 +1,121 @@ + + + + + + + +nixd: nixt::detail::EvalCacheF Struct Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    nixt::detail::EvalCacheF Struct Reference
    +
    +
    + +

    #include <HackCache.h>

    + + + + +

    +Public Types

    using type = FileEvalCache nix::EvalState::*
     
    +

    Detailed Description

    +
    +

    Definition at line 38 of file HackCache.h.

    +

    Member Typedef Documentation

    + +

    ◆ type

    + +
    +
    + + + + +
    using nixt::detail::EvalCacheF::type = FileEvalCache 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..ffbff6dde --- /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..c76c3d381 --- /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..1f999a048 --- /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/support_8py.html b/support_8py.html new file mode 100644 index 000000000..89f5ad9f6 --- /dev/null +++ b/support_8py.html @@ -0,0 +1,105 @@ + + + + + + + +nixd: support.py File Reference + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    + +
    support.py File Reference
    +
    +
    + +

    Go to the source code of this file.

    + + + + +

    +Namespaces

    namespace  support
     
    + + + + + +

    +Functions

    str support.lines (list[str] l)
     
     support.indent (str x, str ch=" ")
     
    +
    + + + + diff --git a/support_8py_source.html b/support_8py_source.html new file mode 100644 index 000000000..4aaf9f921 --- /dev/null +++ b/support_8py_source.html @@ -0,0 +1,109 @@ + + + + + + + +nixd: support.py Source File + + + + + + + + + + + +
    +
    + + + + + + +
    +
    nixd +
    +
    +
    + + + + + + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    Loading...
    +
    Searching...
    +
    No Matches
    +
    +
    +
    +
    + + +
    +
    +
    support.py
    +
    +
    +Go to the documentation of this file.
    1from functools import reduce
    +
    2from operator import add
    +
    3from typing import cast
    +
    4
    +
    5
    +
    +
    6def lines(l: list[str]) -> str:
    +
    7 return cast(str, reduce(add, map(lambda x: x + "\n", l)))
    +
    8
    +
    9
    +
    +
    +
    10def indent(x: str, ch: str = " "):
    +
    11 return ch + x
    +
    +
    str lines(list[str] l)
    Definition support.py:6
    +
    indent(str x, str ch=" ")
    Definition support.py:10
    +
    + + + + 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