├── .assembly.xml ├── .detekt.license-header ├── .detekt.yml ├── .editorconfig ├── .gitattributes ├── .github ├── FUNDING.yml ├── ISSUE_TEMPLATE │ ├── bug-report.md │ ├── config.yml │ ├── feature-request.md │ └── question.md ├── dependabot.yml ├── label-commenter-config.yml └── workflows │ ├── ci.yml │ ├── label-commenter.yml │ └── nightly.yml ├── .gitignore ├── .idea ├── .gitignore ├── codeStyles │ ├── Project.xml │ └── codeStyleConfig.xml ├── compiler.xml ├── encodings.xml ├── inspectionProfiles │ └── Project_Default.xml ├── jarRepositories.xml ├── kotlinc.xml ├── libraries │ ├── Maven__at_favre_lib_bcrypt_0_6_0.xml │ ├── Maven__at_favre_lib_bytes_0_8_0.xml │ ├── Maven__co_elastic_logging_ecs_logging_core_1_3_2.xml │ ├── Maven__co_elastic_logging_logback_ecs_encoder_1_3_2.xml │ ├── Maven__com_carrotsearch_hppc_0_8_2.xml │ ├── Maven__com_fasterxml_jackson_core_jackson_annotations_2_13_4.xml │ ├── Maven__com_fasterxml_jackson_core_jackson_core_2_13_4.xml │ ├── Maven__com_fasterxml_jackson_core_jackson_databind_2_13_4_2.xml │ ├── Maven__com_fasterxml_woodstox_woodstox_core_6_5_0.xml │ ├── Maven__com_github_lucene_gosen_lucene_gosen_ipadic_6_2_1.xml │ ├── Maven__com_gitlab_dumonts_hunspell_2_1_1.xml │ ├── Maven__com_google_android_annotations_4_1_1_4.xml │ ├── Maven__com_google_api_grpc_proto_google_common_protos_2_9_0.xml │ ├── Maven__com_google_code_findbugs_jsr305_3_0_2.xml │ ├── Maven__com_google_code_gson_gson_2_9_1.xml │ ├── Maven__com_google_errorprone_error_prone_annotations_2_3_4.xml │ ├── Maven__com_google_guava_failureaccess_1_0_1.xml │ ├── Maven__com_google_guava_guava_30_1_jre.xml │ ├── Maven__com_google_guava_listenablefuture_9999_0_empty_to_avoid_conflict_with_guava.xml │ ├── Maven__com_google_j2objc_j2objc_annotations_1_3.xml │ ├── Maven__com_google_protobuf_protobuf_java_3_21_7.xml │ ├── Maven__com_hankcs_aho_corasick_double_array_trie_1_2_2.xml │ ├── Maven__com_hankcs_hanlp_portable_1_8_2.xml │ ├── Maven__com_ibm_icu_icu4j_70_1.xml │ ├── Maven__com_intellij_annotations_12_0.xml │ ├── Maven__com_optimaize_languagedetector_language_detector_0_6.xml │ ├── Maven__com_sparkjava_spark_core_2_9_4.xml │ ├── Maven__com_sun_istack_istack_commons_runtime_3_0_5.xml │ ├── Maven__com_sun_xml_fastinfoset_FastInfoset_1_2_13.xml │ ├── Maven__com_vdurmont_emoji_java_5_1_1.xml │ ├── Maven__com_vladsch_flexmark_flexmark_0_64_0.xml │ ├── Maven__com_vladsch_flexmark_flexmark_ext_definition_0_64_0.xml │ ├── Maven__com_vladsch_flexmark_flexmark_ext_gfm_strikethrough_0_64_0.xml │ ├── Maven__com_vladsch_flexmark_flexmark_ext_gitlab_0_64_0.xml │ ├── Maven__com_vladsch_flexmark_flexmark_ext_tables_0_64_0.xml │ ├── Maven__com_vladsch_flexmark_flexmark_ext_yaml_front_matter_0_64_0.xml │ ├── Maven__com_vladsch_flexmark_flexmark_test_util_0_64_0.xml │ ├── Maven__com_vladsch_flexmark_flexmark_util_0_64_0.xml │ ├── Maven__com_vladsch_flexmark_flexmark_util_ast_0_64_0.xml │ ├── Maven__com_vladsch_flexmark_flexmark_util_builder_0_64_0.xml │ ├── Maven__com_vladsch_flexmark_flexmark_util_collection_0_64_0.xml │ ├── Maven__com_vladsch_flexmark_flexmark_util_data_0_64_0.xml │ ├── Maven__com_vladsch_flexmark_flexmark_util_dependency_0_64_0.xml │ ├── Maven__com_vladsch_flexmark_flexmark_util_format_0_64_0.xml │ ├── Maven__com_vladsch_flexmark_flexmark_util_html_0_64_0.xml │ ├── Maven__com_vladsch_flexmark_flexmark_util_misc_0_64_0.xml │ ├── Maven__com_vladsch_flexmark_flexmark_util_options_0_64_0.xml │ ├── Maven__com_vladsch_flexmark_flexmark_util_sequence_0_64_0.xml │ ├── Maven__com_vladsch_flexmark_flexmark_util_visitor_0_64_0.xml │ ├── Maven__commons_beanutils_commons_beanutils_1_9_4.xml │ ├── Maven__commons_cli_commons_cli_1_5_0.xml │ ├── Maven__commons_codec_commons_codec_1_15.xml │ ├── Maven__commons_digester_commons_digester_2_1.xml │ ├── Maven__commons_logging_commons_logging_1_2.xml │ ├── Maven__commons_validator_commons_validator_1_7.xml │ ├── Maven__de_danielnaber_german_pos_dict_1_2_4.xml │ ├── Maven__de_danielnaber_jwordsplitter_4_5.xml │ ├── Maven__edu_washington_cs_knowitall_opennlp_chunk_models_1_5.xml │ ├── Maven__edu_washington_cs_knowitall_opennlp_postag_models_1_5.xml │ ├── Maven__edu_washington_cs_knowitall_opennlp_tokenize_models_1_5.xml │ ├── Maven__edu_washington_cs_knowitall_openregex_1_1_1.xml │ ├── Maven__info_picocli_picocli_4_7_1.xml │ ├── Maven__io_github_jimregan_languagetool_ga_dicts_0_02.xml │ ├── Maven__io_github_resilience4j_resilience4j_circuitbreaker_1_7_1.xml │ ├── Maven__io_github_resilience4j_resilience4j_core_1_7_1.xml │ ├── Maven__io_github_resilience4j_resilience4j_micrometer_1_7_1.xml │ ├── Maven__io_grpc_grpc_api_1_50_2.xml │ ├── Maven__io_grpc_grpc_context_1_50_2.xml │ ├── Maven__io_grpc_grpc_core_1_50_2.xml │ ├── Maven__io_grpc_grpc_netty_shaded_1_50_2.xml │ ├── Maven__io_grpc_grpc_protobuf_1_50_2.xml │ ├── Maven__io_grpc_grpc_protobuf_lite_1_50_2.xml │ ├── Maven__io_grpc_grpc_stub_1_50_2.xml │ ├── Maven__io_lettuce_lettuce_core_6_1_9_RELEASE.xml │ ├── Maven__io_micrometer_micrometer_core_1_7_1.xml │ ├── Maven__io_micrometer_micrometer_registry_prometheus_1_7_1.xml │ ├── Maven__io_netty_netty_buffer_4_1_79_Final.xml │ ├── Maven__io_netty_netty_codec_4_1_79_Final.xml │ ├── Maven__io_netty_netty_common_4_1_79_Final.xml │ ├── Maven__io_netty_netty_handler_4_1_79_Final.xml │ ├── Maven__io_netty_netty_resolver_4_1_79_Final.xml │ ├── Maven__io_netty_netty_transport_4_1_79_Final.xml │ ├── Maven__io_netty_netty_transport_native_unix_common_4_1_79_Final.xml │ ├── Maven__io_perfmark_perfmark_api_0_25_0.xml │ ├── Maven__io_projectreactor_reactor_core_3_3_22_RELEASE.xml │ ├── Maven__io_prometheus_simpleclient_0_12_0.xml │ ├── Maven__io_prometheus_simpleclient_common_0_10_0.xml │ ├── Maven__io_prometheus_simpleclient_guava_0_12_0.xml │ ├── Maven__io_prometheus_simpleclient_hotspot_0_12_0.xml │ ├── Maven__io_prometheus_simpleclient_httpserver_0_12_0.xml │ ├── Maven__io_prometheus_simpleclient_tracer_common_0_12_0.xml │ ├── Maven__io_prometheus_simpleclient_tracer_otel_0_12_0.xml │ ├── Maven__io_prometheus_simpleclient_tracer_otel_agent_0_12_0.xml │ ├── Maven__io_vavr_vavr_0_10_2.xml │ ├── Maven__io_vavr_vavr_match_0_10_2.xml │ ├── Maven__javax_activation_javax_activation_api_1_2_0.xml │ ├── Maven__javax_annotation_javax_annotation_api_1_3_2.xml │ ├── Maven__javax_measure_unit_api_1_0.xml │ ├── Maven__javax_servlet_javax_servlet_api_3_1_0.xml │ ├── Maven__javax_xml_bind_jaxb_api_2_3_0.xml │ ├── Maven__junit_junit_4_13_2.xml │ ├── Maven__net_arnx_jsonic_1_2_11.xml │ ├── Maven__net_java_dev_jna_jna_5_12_1.xml │ ├── Maven__net_java_dev_jna_jna_platform_5_12_1.xml │ ├── Maven__net_loomchild_segment_2_0_1.xml │ ├── Maven__org_apache_commons_commons_lang3_3_12_0.xml │ ├── Maven__org_apache_commons_commons_pool2_2_11_1.xml │ ├── Maven__org_apache_commons_commons_text_1_10_0.xml │ ├── Maven__org_apache_lucene_lucene_backward_codecs_5_5_5.xml │ ├── Maven__org_apache_lucene_lucene_core_5_5_5.xml │ ├── Maven__org_apache_opennlp_opennlp_tools_1_9_4.xml │ ├── Maven__org_apiguardian_apiguardian_api_1_1_0.xml │ ├── Maven__org_carrot2_morfologik_fsa_2_1_9.xml │ ├── Maven__org_carrot2_morfologik_fsa_builders_2_1_9.xml │ ├── Maven__org_carrot2_morfologik_speller_2_1_9.xml │ ├── Maven__org_carrot2_morfologik_stemming_2_1_9.xml │ ├── Maven__org_checkerframework_checker_qual_3_5_0.xml │ ├── Maven__org_codehaus_woodstox_stax2_api_4_2_1.xml │ ├── Maven__org_eclipse_jetty_jetty_client_9_4_48_v20220622.xml │ ├── Maven__org_eclipse_jetty_jetty_http_9_4_48_v20220622.xml │ ├── Maven__org_eclipse_jetty_jetty_io_9_4_48_v20220622.xml │ ├── Maven__org_eclipse_jetty_jetty_security_9_4_48_v20220622.xml │ ├── Maven__org_eclipse_jetty_jetty_server_9_4_48_v20220622.xml │ ├── Maven__org_eclipse_jetty_jetty_servlet_9_4_48_v20220622.xml │ ├── Maven__org_eclipse_jetty_jetty_util_9_4_48_v20220622.xml │ ├── Maven__org_eclipse_jetty_jetty_util_ajax_9_4_48_v20220622.xml │ ├── Maven__org_eclipse_jetty_jetty_webapp_9_4_48_v20220622.xml │ ├── Maven__org_eclipse_jetty_jetty_xml_9_4_48_v20220622.xml │ ├── Maven__org_eclipse_jetty_websocket_websocket_api_9_4_48_v20220622.xml │ ├── Maven__org_eclipse_jetty_websocket_websocket_client_9_4_48_v20220622.xml │ ├── Maven__org_eclipse_jetty_websocket_websocket_common_9_4_48_v20220622.xml │ ├── Maven__org_eclipse_jetty_websocket_websocket_server_9_4_48_v20220622.xml │ ├── Maven__org_eclipse_jetty_websocket_websocket_servlet_9_4_48_v20220622.xml │ ├── Maven__org_eclipse_lsp4j_org_eclipse_lsp4j_0_19_0.xml │ ├── Maven__org_eclipse_lsp4j_org_eclipse_lsp4j_generator_0_19_0.xml │ ├── Maven__org_eclipse_lsp4j_org_eclipse_lsp4j_jsonrpc_0_19_0.xml │ ├── Maven__org_eclipse_xtend_org_eclipse_xtend_lib_2_28_0.xml │ ├── Maven__org_eclipse_xtend_org_eclipse_xtend_lib_macro_2_28_0.xml │ ├── Maven__org_eclipse_xtext_org_eclipse_xtext_xbase_lib_2_28_0.xml │ ├── Maven__org_fusesource_jansi_jansi_2_4_0.xml │ ├── Maven__org_glassfish_jaxb_jaxb_core_2_3_0.xml │ ├── Maven__org_glassfish_jaxb_jaxb_runtime_2_3_0.xml │ ├── Maven__org_glassfish_jaxb_txw2_2_3_0.xml │ ├── Maven__org_hamcrest_hamcrest_core_1_3.xml │ ├── Maven__org_hdrhistogram_HdrHistogram_2_1_12.xml │ ├── Maven__org_ioperm_morphology_el_1_0_0.xml │ ├── Maven__org_jetbrains_annotations_20_1_0.xml │ ├── Maven__org_jetbrains_intellij_deps_trove4j_1_0_20200330.xml │ ├── Maven__org_jetbrains_kotlin_kotlin_stdlib_1_8_10.xml │ ├── Maven__org_jetbrains_kotlin_kotlin_stdlib_common_1_8_10.xml │ ├── Maven__org_jetbrains_kotlin_kotlin_stdlib_jdk7_1_8_10.xml │ ├── Maven__org_jetbrains_kotlin_kotlin_stdlib_jdk8_1_8_10.xml │ ├── Maven__org_jetbrains_kotlin_kotlin_test_1_8_10.xml │ ├── Maven__org_jetbrains_kotlin_kotlin_test_junit5_1_8_10.xml │ ├── Maven__org_json_json_20220924.xml │ ├── Maven__org_junit_jupiter_junit_jupiter_5_9_2.xml │ ├── Maven__org_junit_jupiter_junit_jupiter_api_5_6_3.xml │ ├── Maven__org_junit_jupiter_junit_jupiter_engine_5_6_3.xml │ ├── Maven__org_junit_jupiter_junit_jupiter_params_5_9_2.xml │ ├── Maven__org_junit_platform_junit_platform_commons_1_6_3.xml │ ├── Maven__org_junit_platform_junit_platform_engine_1_6_3.xml │ ├── Maven__org_jvnet_staxex_stax_ex_1_7_8.xml │ ├── Maven__org_languagetool_french_pos_dict_0_5.xml │ ├── Maven__org_languagetool_language_all_6_0.xml │ ├── Maven__org_languagetool_language_ar_6_0.xml │ ├── Maven__org_languagetool_language_ast_6_0.xml │ ├── Maven__org_languagetool_language_be_6_0.xml │ ├── Maven__org_languagetool_language_br_6_0.xml │ ├── Maven__org_languagetool_language_ca_6_0.xml │ ├── Maven__org_languagetool_language_da_6_0.xml │ ├── Maven__org_languagetool_language_de_6_0.xml │ ├── Maven__org_languagetool_language_de_DE_x_simple_language_6_0.xml │ ├── Maven__org_languagetool_language_el_6_0.xml │ ├── Maven__org_languagetool_language_en_6_0.xml │ ├── Maven__org_languagetool_language_eo_6_0.xml │ ├── Maven__org_languagetool_language_es_6_0.xml │ ├── Maven__org_languagetool_language_fa_6_0.xml │ ├── Maven__org_languagetool_language_fr_6_0.xml │ ├── Maven__org_languagetool_language_ga_6_0.xml │ ├── Maven__org_languagetool_language_gl_6_0.xml │ ├── Maven__org_languagetool_language_it_6_0.xml │ ├── Maven__org_languagetool_language_ja_6_0.xml │ ├── Maven__org_languagetool_language_km_6_0.xml │ ├── Maven__org_languagetool_language_nl_6_0.xml │ ├── Maven__org_languagetool_language_pl_6_0.xml │ ├── Maven__org_languagetool_language_pt_6_0.xml │ ├── Maven__org_languagetool_language_ro_6_0.xml │ ├── Maven__org_languagetool_language_ru_6_0.xml │ ├── Maven__org_languagetool_language_sk_6_0.xml │ ├── Maven__org_languagetool_language_sl_6_0.xml │ ├── Maven__org_languagetool_language_sv_6_0.xml │ ├── Maven__org_languagetool_language_ta_6_0.xml │ ├── Maven__org_languagetool_language_tl_6_0.xml │ ├── Maven__org_languagetool_language_uk_6_0.xml │ ├── Maven__org_languagetool_language_zh_6_0.xml │ ├── Maven__org_languagetool_languagetool_core_6_0.xml │ ├── Maven__org_languagetool_languagetool_gui_commons_6_0.xml │ ├── Maven__org_languagetool_languagetool_server_6_0.xml │ ├── Maven__org_languagetool_portuguese_pos_dict_0_3.xml │ ├── Maven__org_latencyutils_LatencyUtils_2_0_3.xml │ ├── Maven__org_mariadb_jdbc_mariadb_java_client_2_7_6.xml │ ├── Maven__org_mybatis_mybatis_3_5_9.xml │ ├── Maven__org_opentest4j_opentest4j_1_2_0.xml │ ├── Maven__org_reactivestreams_reactive_streams_1_0_3.xml │ ├── Maven__org_slf4j_slf4j_api_1_7_30.xml │ ├── Maven__org_slf4j_slf4j_nop_2_0_6.xml │ ├── Maven__org_softcatala_catalan_pos_dict_2_21.xml │ ├── Maven__org_softcatala_spanish_pos_dict_1_9.xml │ ├── Maven__tech_units_indriya_1_3.xml │ ├── Maven__tech_uom_lib_uom_lib_common_1_1.xml │ ├── Maven__ua_net_nlp_morfologik_ukrainian_lt_6_0_1.xml │ ├── org_jetbrains_kotlin_kotlin_stdlib_jdk8_1_5_21.xml │ ├── org_junit_jupiter_junit_jupiter_api_5_7_0.xml │ ├── org_junit_platform_junit_platform_commons_1_8_0_M1.xml │ └── org_junit_platform_junit_platform_suite_1_8_0_M1.xml ├── misc.xml ├── modules.xml └── vcs.xml ├── .markdownlint.json ├── .vscode ├── launch.json └── tasks.json ├── ACKNOWLEDGMENTS.md ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── LICENSE.md ├── MAINTAINING.md ├── README.md ├── SECURITY.md ├── changelog.xml ├── ltexls.iml ├── pom.xml ├── schemas ├── assembly-2.1.0.xsd ├── changes-1.0.0.xsd └── maven-4.0.0.xsd ├── src ├── main │ ├── kotlin │ │ └── org │ │ │ └── bsplines │ │ │ └── ltexls │ │ │ ├── LtexLanguageServerLauncher.kt │ │ │ ├── client │ │ │ └── LtexLanguageClient.kt │ │ │ ├── languagetool │ │ │ ├── LanguageToolHttpInterface.kt │ │ │ ├── LanguageToolInterface.kt │ │ │ ├── LanguageToolJavaInterface.kt │ │ │ └── LanguageToolRuleMatch.kt │ │ │ ├── parsing │ │ │ ├── AnnotatedTextFragment.kt │ │ │ ├── CharacterBasedCodeAnnotatedTextBuilder.kt │ │ │ ├── CodeAnnotatedTextBuilder.kt │ │ │ ├── CodeFragment.kt │ │ │ ├── CodeFragmentizer.kt │ │ │ ├── DummyGenerator.kt │ │ │ ├── RegexCodeFragmentizer.kt │ │ │ ├── bibtex │ │ │ │ ├── BibtexFragmentizer.kt │ │ │ │ └── BibtexFragmentizerDefaults.kt │ │ │ ├── gitcommit │ │ │ │ ├── GitCommitAnnotatedTextBuilder.kt │ │ │ │ └── GitCommitFragmentizer.kt │ │ │ ├── html │ │ │ │ ├── HtmlAnnotatedTextBuilder.kt │ │ │ │ └── HtmlFragmentizer.kt │ │ │ ├── latex │ │ │ │ ├── LatexAnnotatedTextBuilder.kt │ │ │ │ ├── LatexAnnotatedTextBuilderDefaults.kt │ │ │ │ ├── LatexCommandSignature.kt │ │ │ │ ├── LatexCommandSignatureMatch.kt │ │ │ │ ├── LatexCommandSignatureMatcher.kt │ │ │ │ ├── LatexEnvironmentSignature.kt │ │ │ │ ├── LatexFragmentizer.kt │ │ │ │ ├── LatexPackageOption.kt │ │ │ │ └── LatexPackageOptionsParser.kt │ │ │ ├── markdown │ │ │ │ ├── LtexMarkdownDisplayMath.kt │ │ │ │ ├── LtexMarkdownDisplayMathParser.kt │ │ │ │ ├── LtexMarkdownExtension.kt │ │ │ │ ├── LtexMarkdownInlineMath.kt │ │ │ │ ├── LtexMarkdownInlineMathParser.kt │ │ │ │ ├── LtexMarkdownOptions.kt │ │ │ │ ├── MarkdownAnnotatedTextBuilder.kt │ │ │ │ ├── MarkdownAnnotatedTextBuilderDefaults.kt │ │ │ │ ├── MarkdownFragmentizer.kt │ │ │ │ └── MarkdownNodeSignature.kt │ │ │ ├── nop │ │ │ │ ├── NopAnnotatedTextBuilder.kt │ │ │ │ └── NopFragmentizer.kt │ │ │ ├── org │ │ │ │ ├── OrgAnnotatedTextBuilder.kt │ │ │ │ └── OrgFragmentizer.kt │ │ │ ├── plaintext │ │ │ │ ├── PlaintextAnnotatedTextBuilder.kt │ │ │ │ └── PlaintextFragmentizer.kt │ │ │ ├── program │ │ │ │ ├── ProgramAnnotatedTextBuilder.kt │ │ │ │ ├── ProgramCommentRegexs.kt │ │ │ │ └── ProgramFragmentizer.kt │ │ │ └── restructuredtext │ │ │ │ ├── RestructuredtextAnnotatedTextBuilder.kt │ │ │ │ └── RestructuredtextFragmentizer.kt │ │ │ ├── server │ │ │ ├── CodeActionProvider.kt │ │ │ ├── CompletionListProvider.kt │ │ │ ├── DelayedDiagnosticsPublisherRunnable.kt │ │ │ ├── DocumentChecker.kt │ │ │ ├── LtexLanguageServer.kt │ │ │ ├── LtexTextDocumentItem.kt │ │ │ ├── LtexTextDocumentService.kt │ │ │ ├── LtexWorkspaceService.kt │ │ │ └── NonServerChecker.kt │ │ │ ├── settings │ │ │ ├── HiddenFalsePositive.kt │ │ │ ├── Settings.kt │ │ │ ├── SettingsDifference.kt │ │ │ └── SettingsManager.kt │ │ │ └── tools │ │ │ ├── ExcludeFromGeneratedCoverage.kt │ │ │ ├── FileIo.kt │ │ │ ├── I18n.kt │ │ │ ├── Logging.kt │ │ │ ├── TeeInputStream.kt │ │ │ ├── TeeOutputStream.kt │ │ │ ├── Tools.kt │ │ │ └── VersionProvider.kt │ └── resources │ │ ├── LtexLsMessagesBundle.properties │ │ ├── LtexLsMessagesBundle_de.properties │ │ └── LtexLsMessagesBundle_en.properties └── test │ ├── kotlin │ └── org │ │ └── bsplines │ │ └── ltexls │ │ ├── LspMessage.kt │ │ ├── LtexLanguageServerLauncherStandardStreamTest.kt │ │ ├── LtexLanguageServerLauncherTcpSocketTest.kt │ │ ├── LtexLanguageServerLauncherTest.kt │ │ ├── client │ │ └── MockLtexLanguageClient.kt │ │ ├── languagetool │ │ ├── LanguageToolHttpInterfaceTest.kt │ │ └── LanguageToolJavaInterfaceTest.kt │ │ ├── parsing │ │ ├── CodeAnnotatedTextBuilderTest.kt │ │ ├── bibtex │ │ │ └── BibtexFragmentizerTest.kt │ │ ├── gitcommit │ │ │ ├── GitCommitAnnotatedTextBuilderTest.kt │ │ │ └── GitCommitFragmentizerTest.kt │ │ ├── html │ │ │ ├── HtmlAnnotatedTextBuilderTest.kt │ │ │ └── HtmlFragmentizerTest.kt │ │ ├── latex │ │ │ ├── LatexAnnotatedTextBuilderTest.kt │ │ │ ├── LatexFragmentizerTest.kt │ │ │ ├── LatexPackageOptionTest.kt │ │ │ └── LatexPackageOptionsParserTest.kt │ │ ├── markdown │ │ │ ├── LtexMarkdownDisplayMathTest.kt │ │ │ ├── LtexMarkdownInlineMathTest.kt │ │ │ ├── LtexMarkdownOptionsTest.kt │ │ │ ├── MarkdownAnnotatedTextBuilderTest.kt │ │ │ ├── MarkdownFragmentizerTest.kt │ │ │ └── MarkdownNodeSignatureTest.kt │ │ ├── nop │ │ │ ├── NopAnnotatedTextBuilderTest.kt │ │ │ └── NopFragmentizerTest.kt │ │ ├── org │ │ │ ├── OrgAnnotatedTextBuilderTest.kt │ │ │ └── OrgFragmentizerTest.kt │ │ ├── plaintext │ │ │ ├── PlaintextAnnotatedTextBuilderTest.kt │ │ │ └── PlaintextFragmentizerTest.kt │ │ ├── program │ │ │ ├── ProgramAnnotatedTextBuilderTest.kt │ │ │ └── ProgramFragmentizerTest.kt │ │ └── restructuredtext │ │ │ ├── RestructuredtextAnnotatedTextBuilderTest.kt │ │ │ └── RestructuredtextFragmentizerTest.kt │ │ ├── server │ │ ├── CompletionListProviderTest.kt │ │ ├── DelayedDiagnosticsPublisherRunnableTest.kt │ │ ├── DocumentCheckerTest.kt │ │ ├── LtexTextDocumentItemTest.kt │ │ ├── LtexTextDocumentServiceTest.kt │ │ ├── LtexWorkspaceServiceTest.kt │ │ └── NonServerCheckerTest.kt │ │ ├── settings │ │ ├── HiddenFalsePositiveTest.kt │ │ └── SettingsTest.kt │ │ └── tools │ │ ├── I18nTest.kt │ │ ├── ToolsTest.kt │ │ └── VersionProviderTest.kt │ └── resources │ └── LtexLanguageServerTestLog.txt └── tools ├── addLtexCli.py ├── checkSourceConsistency.py ├── common.py ├── convertChangelog.py ├── copyChangelogToGitHubReleases.py ├── createBinaryArchives.py ├── createCompletionLists.py ├── inspectWithIntellijIdea.py └── shortenTestLog.py /.assembly.xml: -------------------------------------------------------------------------------- 1 | 2 | 9 | 10 | distribution 11 | 12 | tar.gz 13 | 14 | 15 | 16 | ${basedir}/target/appassembler 17 | 18 | 19 | 20 | ${basedir} 21 | 22 | ACKNOWLEDGMENTS.md 23 | changelog.xml 24 | LICENSE.md 25 | README.md 26 | 27 | 28 | 29 | 30 | 31 | -------------------------------------------------------------------------------- /.detekt.license-header: -------------------------------------------------------------------------------- 1 | /* Copyright (C) 2019-2023 Julian Valentin, LTeX Development Community 2 | * 3 | * This Source Code Form is subject to the terms of the Mozilla Public 4 | * License, v. 2.0. If a copy of the MPL was not distributed with this 5 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 6 | */ 7 | -------------------------------------------------------------------------------- /.detekt.yml: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2019-2023 Julian Valentin, LTeX Development Community 2 | # 3 | # This Source Code Form is subject to the terms of the Mozilla Public 4 | # License, v. 2.0. If a copy of the MPL was not distributed with this 5 | # file, You can obtain one at https://mozilla.org/MPL/2.0/. 6 | 7 | comments: 8 | AbsentOrWrongFileLicense: 9 | active: true 10 | licenseTemplateFile: ".detekt.license-header" 11 | complexity: 12 | LongMethod: 13 | threshold: 75 14 | empty-blocks: 15 | EmptyFunctionBlock: 16 | active: false 17 | naming: 18 | ConstructorParameterNaming: 19 | privateParameterPattern: "_?[a-z][A-Za-z0-9]*" 20 | style: 21 | DestructuringDeclarationWithTooManyEntries: 22 | maxDestructuringEntries: 5 23 | ReturnCount: 24 | max: 6 25 | -------------------------------------------------------------------------------- /.editorconfig: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2019-2023 Julian Valentin, LTeX Development Community 2 | # 3 | # This Source Code Form is subject to the terms of the Mozilla Public 4 | # License, v. 2.0. If a copy of the MPL was not distributed with this 5 | # file, You can obtain one at https://mozilla.org/MPL/2.0/. 6 | 7 | [*.{kt,kts}] 8 | ij_kotlin_allow_trailing_comma = true 9 | ij_kotlin_allow_trailing_comma_on_call_site = true 10 | indent_size = 2 11 | insert_final_newline = true 12 | max_line_length = 100 13 | -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | ############################################################################### 2 | # Set default behavior to automatically normalize line endings. 3 | ############################################################################### 4 | * text=auto 5 | 6 | -------------------------------------------------------------------------------- /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2019-2023 Julian Valentin, LTeX Development Community 2 | # 3 | # This Source Code Form is subject to the terms of the Mozilla Public 4 | # License, v. 2.0. If a copy of the MPL was not distributed with this 5 | # file, You can obtain one at https://mozilla.org/MPL/2.0/. 6 | 7 | ko_fi: valentjn 8 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/config.yml: -------------------------------------------------------------------------------- 1 | blank_issues_enabled: false 2 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/feature-request.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: "Feature request" 3 | about: "Suggest an idea for this project." 4 | title: "" 5 | labels: "1-feature-request ✨" 6 | assignees: "" 7 | --- 8 | 9 | **Is your feature request related to a problem? Please describe.** 10 | A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] 11 | Using actual real-world examples that explain why you and many other users would benefit from the feature increases the request's chances of being implemented. 12 | 13 | **Describe the solution you'd like** 14 | A clear and concise description of what you want to happen. 15 | 16 | **Describe alternatives you've considered** 17 | A clear and concise description of any alternative solutions or features you've considered. 18 | 19 | **Additional context** 20 | Add any other context or screenshots about the feature request here. 21 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/question.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: "Question" 3 | about: "Ask a question about LTeX LS." 4 | title: "" 5 | labels: "1-question ❓" 6 | assignees: "" 7 | --- 8 | -------------------------------------------------------------------------------- /.github/dependabot.yml: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2019-2023 Julian Valentin, LTeX Development Community 2 | # 3 | # This Source Code Form is subject to the terms of the Mozilla Public 4 | # License, v. 2.0. If a copy of the MPL was not distributed with this 5 | # file, You can obtain one at https://mozilla.org/MPL/2.0/. 6 | 7 | version: 2 8 | updates: 9 | - package-ecosystem: "maven" 10 | directory: "/" 11 | schedule: 12 | interval: "weekly" 13 | day: "sunday" 14 | open-pull-requests-limit: 10 15 | assignees: 16 | - "valentjn" 17 | labels: 18 | - "pr-dependabot 🤖" 19 | -------------------------------------------------------------------------------- /.github/workflows/label-commenter.yml: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2019-2023 Julian Valentin, LTeX Development Community 2 | # 3 | # This Source Code Form is subject to the terms of the Mozilla Public 4 | # License, v. 2.0. If a copy of the MPL was not distributed with this 5 | # file, You can obtain one at https://mozilla.org/MPL/2.0/. 6 | 7 | name: "Label Commenter" 8 | 9 | on: 10 | issues: 11 | types: 12 | - "labeled" 13 | - "unlabeled" 14 | pull_request_target: 15 | types: 16 | - "labeled" 17 | - "unlabeled" 18 | 19 | jobs: 20 | comment: 21 | name: "Label Commenter Job" 22 | runs-on: "ubuntu-20.04" 23 | steps: 24 | - uses: "actions/checkout@v3" 25 | with: 26 | ref: "develop" 27 | 28 | - name: "Run Label Commenter" 29 | uses: "peaceiris/actions-label-commenter@v1.10.0" 30 | with: 31 | github_token: "${{ secrets.GITHUB_TOKEN }}" 32 | config_file: ".github/label-commenter-config.yml" 33 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | *.pyc 2 | 3 | /.classpath 4 | /.project 5 | 6 | /.gradle/ 7 | /.settings/ 8 | /target/ 9 | 10 | /.vscode/ltex.*.txt 11 | /.vscode/settings.json 12 | 13 | /src/main/resources/completionList.*.txt 14 | -------------------------------------------------------------------------------- /.idea/.gitignore: -------------------------------------------------------------------------------- 1 | # Default ignored files 2 | /shelf/ 3 | /workspace.xml 4 | -------------------------------------------------------------------------------- /.idea/codeStyles/Project.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 22 | -------------------------------------------------------------------------------- /.idea/codeStyles/codeStyleConfig.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | -------------------------------------------------------------------------------- /.idea/compiler.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /.idea/encodings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /.idea/jarRepositories.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 9 | 10 | 14 | 15 | 19 | 20 | -------------------------------------------------------------------------------- /.idea/kotlinc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__at_favre_lib_bcrypt_0_6_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__at_favre_lib_bytes_0_8_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__co_elastic_logging_ecs_logging_core_1_3_2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__co_elastic_logging_logback_ecs_encoder_1_3_2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__com_carrotsearch_hppc_0_8_2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_annotations_2_13_4.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_core_2_13_4.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_databind_2_13_4_2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__com_fasterxml_woodstox_woodstox_core_6_5_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__com_github_lucene_gosen_lucene_gosen_ipadic_6_2_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__com_gitlab_dumonts_hunspell_2_1_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__com_google_android_annotations_4_1_1_4.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__com_google_api_grpc_proto_google_common_protos_2_9_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__com_google_code_findbugs_jsr305_3_0_2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__com_google_code_gson_gson_2_9_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__com_google_errorprone_error_prone_annotations_2_3_4.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__com_google_guava_failureaccess_1_0_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__com_google_guava_guava_30_1_jre.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__com_google_guava_listenablefuture_9999_0_empty_to_avoid_conflict_with_guava.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__com_google_j2objc_j2objc_annotations_1_3.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__com_google_protobuf_protobuf_java_3_21_7.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__com_hankcs_aho_corasick_double_array_trie_1_2_2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__com_hankcs_hanlp_portable_1_8_2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__com_ibm_icu_icu4j_70_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__com_intellij_annotations_12_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__com_optimaize_languagedetector_language_detector_0_6.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__com_sparkjava_spark_core_2_9_4.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__com_sun_istack_istack_commons_runtime_3_0_5.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__com_sun_xml_fastinfoset_FastInfoset_1_2_13.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__com_vdurmont_emoji_java_5_1_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__com_vladsch_flexmark_flexmark_0_64_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__com_vladsch_flexmark_flexmark_ext_definition_0_64_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__com_vladsch_flexmark_flexmark_ext_gfm_strikethrough_0_64_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__com_vladsch_flexmark_flexmark_ext_gitlab_0_64_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__com_vladsch_flexmark_flexmark_ext_tables_0_64_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__com_vladsch_flexmark_flexmark_ext_yaml_front_matter_0_64_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__com_vladsch_flexmark_flexmark_test_util_0_64_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__com_vladsch_flexmark_flexmark_util_0_64_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__com_vladsch_flexmark_flexmark_util_ast_0_64_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__com_vladsch_flexmark_flexmark_util_builder_0_64_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__com_vladsch_flexmark_flexmark_util_collection_0_64_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__com_vladsch_flexmark_flexmark_util_data_0_64_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__com_vladsch_flexmark_flexmark_util_dependency_0_64_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__com_vladsch_flexmark_flexmark_util_format_0_64_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__com_vladsch_flexmark_flexmark_util_html_0_64_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__com_vladsch_flexmark_flexmark_util_misc_0_64_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__com_vladsch_flexmark_flexmark_util_options_0_64_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__com_vladsch_flexmark_flexmark_util_sequence_0_64_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__com_vladsch_flexmark_flexmark_util_visitor_0_64_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__commons_beanutils_commons_beanutils_1_9_4.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__commons_cli_commons_cli_1_5_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__commons_codec_commons_codec_1_15.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__commons_digester_commons_digester_2_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__commons_logging_commons_logging_1_2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__commons_validator_commons_validator_1_7.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__de_danielnaber_german_pos_dict_1_2_4.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__de_danielnaber_jwordsplitter_4_5.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__edu_washington_cs_knowitall_opennlp_chunk_models_1_5.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__edu_washington_cs_knowitall_opennlp_postag_models_1_5.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__edu_washington_cs_knowitall_opennlp_tokenize_models_1_5.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__edu_washington_cs_knowitall_openregex_1_1_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__info_picocli_picocli_4_7_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__io_github_jimregan_languagetool_ga_dicts_0_02.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__io_github_resilience4j_resilience4j_circuitbreaker_1_7_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__io_github_resilience4j_resilience4j_core_1_7_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__io_github_resilience4j_resilience4j_micrometer_1_7_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__io_grpc_grpc_api_1_50_2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__io_grpc_grpc_context_1_50_2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__io_grpc_grpc_core_1_50_2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__io_grpc_grpc_netty_shaded_1_50_2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__io_grpc_grpc_protobuf_1_50_2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__io_grpc_grpc_protobuf_lite_1_50_2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__io_grpc_grpc_stub_1_50_2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__io_lettuce_lettuce_core_6_1_9_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__io_micrometer_micrometer_core_1_7_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__io_micrometer_micrometer_registry_prometheus_1_7_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__io_netty_netty_buffer_4_1_79_Final.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__io_netty_netty_codec_4_1_79_Final.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__io_netty_netty_common_4_1_79_Final.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__io_netty_netty_handler_4_1_79_Final.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__io_netty_netty_resolver_4_1_79_Final.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__io_netty_netty_transport_4_1_79_Final.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__io_netty_netty_transport_native_unix_common_4_1_79_Final.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__io_perfmark_perfmark_api_0_25_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__io_projectreactor_reactor_core_3_3_22_RELEASE.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__io_prometheus_simpleclient_0_12_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__io_prometheus_simpleclient_common_0_10_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__io_prometheus_simpleclient_guava_0_12_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__io_prometheus_simpleclient_hotspot_0_12_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__io_prometheus_simpleclient_httpserver_0_12_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__io_prometheus_simpleclient_tracer_common_0_12_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__io_prometheus_simpleclient_tracer_otel_0_12_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__io_prometheus_simpleclient_tracer_otel_agent_0_12_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__io_vavr_vavr_0_10_2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__io_vavr_vavr_match_0_10_2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__javax_activation_javax_activation_api_1_2_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__javax_annotation_javax_annotation_api_1_3_2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__javax_measure_unit_api_1_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__javax_servlet_javax_servlet_api_3_1_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__javax_xml_bind_jaxb_api_2_3_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__junit_junit_4_13_2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__net_arnx_jsonic_1_2_11.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__net_java_dev_jna_jna_5_12_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__net_java_dev_jna_jna_platform_5_12_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__net_loomchild_segment_2_0_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_apache_commons_commons_lang3_3_12_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_apache_commons_commons_pool2_2_11_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_apache_commons_commons_text_1_10_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_apache_lucene_lucene_backward_codecs_5_5_5.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_apache_lucene_lucene_core_5_5_5.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_apache_opennlp_opennlp_tools_1_9_4.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_apiguardian_apiguardian_api_1_1_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_carrot2_morfologik_fsa_2_1_9.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_carrot2_morfologik_fsa_builders_2_1_9.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_carrot2_morfologik_speller_2_1_9.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_carrot2_morfologik_stemming_2_1_9.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_checkerframework_checker_qual_3_5_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_codehaus_woodstox_stax2_api_4_2_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_eclipse_jetty_jetty_client_9_4_48_v20220622.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_eclipse_jetty_jetty_http_9_4_48_v20220622.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_eclipse_jetty_jetty_io_9_4_48_v20220622.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_eclipse_jetty_jetty_security_9_4_48_v20220622.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_eclipse_jetty_jetty_server_9_4_48_v20220622.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_eclipse_jetty_jetty_servlet_9_4_48_v20220622.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_eclipse_jetty_jetty_util_9_4_48_v20220622.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_eclipse_jetty_jetty_util_ajax_9_4_48_v20220622.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_eclipse_jetty_jetty_webapp_9_4_48_v20220622.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_eclipse_jetty_jetty_xml_9_4_48_v20220622.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_eclipse_jetty_websocket_websocket_api_9_4_48_v20220622.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_eclipse_jetty_websocket_websocket_client_9_4_48_v20220622.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_eclipse_jetty_websocket_websocket_common_9_4_48_v20220622.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_eclipse_jetty_websocket_websocket_server_9_4_48_v20220622.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_eclipse_jetty_websocket_websocket_servlet_9_4_48_v20220622.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_eclipse_lsp4j_org_eclipse_lsp4j_0_19_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_eclipse_lsp4j_org_eclipse_lsp4j_generator_0_19_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_eclipse_lsp4j_org_eclipse_lsp4j_jsonrpc_0_19_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_eclipse_xtend_org_eclipse_xtend_lib_2_28_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_eclipse_xtend_org_eclipse_xtend_lib_macro_2_28_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_eclipse_xtext_org_eclipse_xtext_xbase_lib_2_28_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_fusesource_jansi_jansi_2_4_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_glassfish_jaxb_jaxb_core_2_3_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_glassfish_jaxb_jaxb_runtime_2_3_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_glassfish_jaxb_txw2_2_3_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_hamcrest_hamcrest_core_1_3.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_hdrhistogram_HdrHistogram_2_1_12.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_ioperm_morphology_el_1_0_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_jetbrains_annotations_20_1_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_jetbrains_intellij_deps_trove4j_1_0_20200330.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_jetbrains_kotlin_kotlin_stdlib_1_8_10.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_jetbrains_kotlin_kotlin_stdlib_common_1_8_10.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_jetbrains_kotlin_kotlin_stdlib_jdk7_1_8_10.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_jetbrains_kotlin_kotlin_stdlib_jdk8_1_8_10.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_jetbrains_kotlin_kotlin_test_1_8_10.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_jetbrains_kotlin_kotlin_test_junit5_1_8_10.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_json_json_20220924.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_5_9_2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_api_5_6_3.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_engine_5_6_3.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_params_5_9_2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_junit_platform_junit_platform_commons_1_6_3.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_junit_platform_junit_platform_engine_1_6_3.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_jvnet_staxex_stax_ex_1_7_8.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_languagetool_french_pos_dict_0_5.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_languagetool_language_all_6_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_languagetool_language_ar_6_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_languagetool_language_ast_6_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_languagetool_language_be_6_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_languagetool_language_br_6_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_languagetool_language_ca_6_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_languagetool_language_da_6_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_languagetool_language_de_6_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_languagetool_language_de_DE_x_simple_language_6_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_languagetool_language_el_6_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_languagetool_language_en_6_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_languagetool_language_eo_6_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_languagetool_language_es_6_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_languagetool_language_fa_6_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_languagetool_language_fr_6_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_languagetool_language_ga_6_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_languagetool_language_gl_6_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_languagetool_language_it_6_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_languagetool_language_ja_6_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_languagetool_language_km_6_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_languagetool_language_nl_6_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_languagetool_language_pl_6_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_languagetool_language_pt_6_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_languagetool_language_ro_6_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_languagetool_language_ru_6_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_languagetool_language_sk_6_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_languagetool_language_sl_6_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_languagetool_language_sv_6_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_languagetool_language_ta_6_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_languagetool_language_tl_6_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_languagetool_language_uk_6_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_languagetool_language_zh_6_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_languagetool_languagetool_core_6_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_languagetool_languagetool_gui_commons_6_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_languagetool_languagetool_server_6_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_languagetool_portuguese_pos_dict_0_3.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_latencyutils_LatencyUtils_2_0_3.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_mariadb_jdbc_mariadb_java_client_2_7_6.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_mybatis_mybatis_3_5_9.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_opentest4j_opentest4j_1_2_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_reactivestreams_reactive_streams_1_0_3.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_slf4j_slf4j_api_1_7_30.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_slf4j_slf4j_nop_2_0_6.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_softcatala_catalan_pos_dict_2_21.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_softcatala_spanish_pos_dict_1_9.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__tech_units_indriya_1_3.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__tech_uom_lib_uom_lib_common_1_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__ua_net_nlp_morfologik_ukrainian_lt_6_0_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/org_jetbrains_kotlin_kotlin_stdlib_jdk8_1_5_21.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /.idea/libraries/org_junit_jupiter_junit_jupiter_api_5_7_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/org_junit_platform_junit_platform_commons_1_8_0_M1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/misc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /.idea/modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /.markdownlint.json: -------------------------------------------------------------------------------- 1 | { 2 | "MD013": false, 3 | "MD033": { 4 | "allowed_elements": [ 5 | "sub", 6 | "sup" 7 | ] 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /.vscode/launch.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "0.2.0", 3 | "configurations": [ 4 | { 5 | "type": "kotlin", 6 | "name": "Launch ltexls", 7 | "request": "launch", 8 | "projectRoot": "${workspaceFolder}", 9 | "mainClass": "org.bsplines.ltexls.LtexLanguageServerLauncher", 10 | "args": "--server-type=tcpSocket --port=52715 --endless", 11 | }, 12 | ], 13 | } 14 | -------------------------------------------------------------------------------- /src/main/kotlin/org/bsplines/ltexls/client/LtexLanguageClient.kt: -------------------------------------------------------------------------------- 1 | /* Copyright (C) 2019-2023 Julian Valentin, LTeX Development Community 2 | * 3 | * This Source Code Form is subject to the terms of the Mozilla Public 4 | * License, v. 2.0. If a copy of the MPL was not distributed with this 5 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 6 | */ 7 | 8 | package org.bsplines.ltexls.client 9 | 10 | import org.eclipse.lsp4j.ConfigurationParams 11 | import org.eclipse.lsp4j.jsonrpc.services.JsonRequest 12 | import org.eclipse.lsp4j.services.LanguageClient 13 | import java.util.concurrent.CompletableFuture 14 | 15 | interface LtexLanguageClient : LanguageClient { 16 | @JsonRequest("ltex/workspaceSpecificConfiguration") 17 | fun ltexWorkspaceSpecificConfiguration( 18 | configurationParams: ConfigurationParams, 19 | ): CompletableFuture> 20 | } 21 | -------------------------------------------------------------------------------- /src/main/kotlin/org/bsplines/ltexls/parsing/CodeFragment.kt: -------------------------------------------------------------------------------- 1 | /* Copyright (C) 2019-2023 Julian Valentin, LTeX Development Community 2 | * 3 | * This Source Code Form is subject to the terms of the Mozilla Public 4 | * License, v. 2.0. If a copy of the MPL was not distributed with this 5 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 6 | */ 7 | 8 | package org.bsplines.ltexls.parsing 9 | 10 | import org.bsplines.ltexls.languagetool.LanguageToolRuleMatch 11 | import org.bsplines.ltexls.settings.Settings 12 | 13 | data class CodeFragment( 14 | val codeLanguageId: String, 15 | val code: String, 16 | val fromPos: Int, 17 | val settings: Settings, 18 | var languageShortCode: String = settings.languageShortCode, 19 | ) { 20 | fun contains(match: LanguageToolRuleMatch): Boolean { 21 | return ( 22 | (match.fromPos >= this.fromPos) 23 | && (match.toPos <= this.fromPos + this.code.length) 24 | ) 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /src/main/kotlin/org/bsplines/ltexls/parsing/gitcommit/GitCommitAnnotatedTextBuilder.kt: -------------------------------------------------------------------------------- 1 | /* Copyright (C) 2019-2023 Julian Valentin, LTeX Development Community 2 | * 3 | * This Source Code Form is subject to the terms of the Mozilla Public 4 | * License, v. 2.0. If a copy of the MPL was not distributed with this 5 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 6 | */ 7 | 8 | package org.bsplines.ltexls.parsing.gitcommit 9 | 10 | import org.bsplines.ltexls.parsing.CharacterBasedCodeAnnotatedTextBuilder 11 | 12 | class GitCommitAnnotatedTextBuilder( 13 | codeLanguageId: String, 14 | ) : CharacterBasedCodeAnnotatedTextBuilder(codeLanguageId) { 15 | override fun processCharacter() { 16 | var matchResult: MatchResult? = null 17 | 18 | if ( 19 | this.isStartOfLine 20 | && (matchFromPosition(COMMENT_REGEX)?.also { matchResult = it } != null) 21 | ) { 22 | addMarkup(matchResult?.value, "\n") 23 | } else { 24 | addText(this.curString) 25 | } 26 | } 27 | 28 | companion object { 29 | private val COMMENT_REGEX = Regex("^[ \t]*#([^\r\n]*?)(\r?\n|$)") 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /src/main/kotlin/org/bsplines/ltexls/parsing/gitcommit/GitCommitFragmentizer.kt: -------------------------------------------------------------------------------- 1 | /* Copyright (C) 2019-2023 Julian Valentin, LTeX Development Community 2 | * 3 | * This Source Code Form is subject to the terms of the Mozilla Public 4 | * License, v. 2.0. If a copy of the MPL was not distributed with this 5 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 6 | */ 7 | 8 | package org.bsplines.ltexls.parsing.gitcommit 9 | 10 | import org.bsplines.ltexls.parsing.RegexCodeFragmentizer 11 | 12 | class GitCommitFragmentizer( 13 | codeLanguageId: String, 14 | ) : RegexCodeFragmentizer(codeLanguageId, REGEX) { 15 | companion object { 16 | private val REGEX = Regex( 17 | "^[ \t]*#[ \t]+(?i)ltex(?-i):(.*?)[ \t]*$", 18 | RegexOption.MULTILINE, 19 | ) 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /src/main/kotlin/org/bsplines/ltexls/parsing/html/HtmlFragmentizer.kt: -------------------------------------------------------------------------------- 1 | /* Copyright (C) 2019-2023 Julian Valentin, LTeX Development Community 2 | * 3 | * This Source Code Form is subject to the terms of the Mozilla Public 4 | * License, v. 2.0. If a copy of the MPL was not distributed with this 5 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 6 | */ 7 | 8 | package org.bsplines.ltexls.parsing.html 9 | 10 | import org.bsplines.ltexls.parsing.CodeFragment 11 | import org.bsplines.ltexls.parsing.CodeFragmentizer 12 | import org.bsplines.ltexls.settings.Settings 13 | 14 | class HtmlFragmentizer( 15 | codeLanguageId: String, 16 | ) : CodeFragmentizer(codeLanguageId) { 17 | override fun fragmentize(code: String, originalSettings: Settings): List { 18 | return listOf(CodeFragment(codeLanguageId, code, 0, originalSettings)) 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /src/main/kotlin/org/bsplines/ltexls/parsing/latex/LatexCommandSignatureMatch.kt: -------------------------------------------------------------------------------- 1 | /* Copyright (C) 2019-2023 Julian Valentin, LTeX Development Community 2 | * 3 | * This Source Code Form is subject to the terms of the Mozilla Public 4 | * License, v. 2.0. If a copy of the MPL was not distributed with this 5 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 6 | */ 7 | 8 | package org.bsplines.ltexls.parsing.latex 9 | 10 | class LatexCommandSignatureMatch( 11 | val commandSignature: LatexCommandSignature, 12 | private val code: String, 13 | val fromPos: Int, 14 | val argumentPos: List>, 15 | ) { 16 | val toPos: Int = if (argumentPos.isEmpty()) { 17 | fromPos + commandSignature.prefix.length 18 | } else { 19 | argumentPos[argumentPos.size - 1].second 20 | } 21 | 22 | fun getArgumentContents(index: Int): String { 23 | val argument: Pair = argumentPos[index] 24 | val argumentFromPos: Int = argument.first + 1 25 | val argumentToPos: Int = argument.second - 1 26 | return this.code.substring(argumentFromPos, argumentToPos) 27 | } 28 | 29 | fun getArgumentContentsFromPos(index: Int): Int { 30 | return argumentPos[index].first + 1 31 | } 32 | 33 | fun getArgumentsSize(): Int { 34 | return argumentPos.size 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /src/main/kotlin/org/bsplines/ltexls/parsing/latex/LatexEnvironmentSignature.kt: -------------------------------------------------------------------------------- 1 | /* Copyright (C) 2019-2023 Julian Valentin, LTeX Development Community 2 | * 3 | * This Source Code Form is subject to the terms of the Mozilla Public 4 | * License, v. 2.0. If a copy of the MPL was not distributed with this 5 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 6 | */ 7 | 8 | package org.bsplines.ltexls.parsing.latex 9 | 10 | class LatexEnvironmentSignature( 11 | environmentPrototype: String, 12 | action: Action = Action.Ignore, 13 | ) : LatexCommandSignature( 14 | if (PREFIX_REGEX.find(environmentPrototype) != null) { 15 | environmentPrototype 16 | } else { 17 | "\\begin{$environmentPrototype}" 18 | }, 19 | action, 20 | ) { 21 | val ignoreAllArguments: Boolean 22 | val environmentName: String? 23 | 24 | init { 25 | val matchResult: MatchResult? = PREFIX_REGEX.find(environmentPrototype) 26 | val environmentName: String = matchResult?.groups?.get(1)?.value.orEmpty().ifEmpty { 27 | matchResult?.groups?.get(2)?.value.orEmpty() 28 | } 29 | 30 | if (environmentName.isNotEmpty()) { 31 | this.ignoreAllArguments = false 32 | this.environmentName = environmentName 33 | } else { 34 | this.ignoreAllArguments = true 35 | this.environmentName = environmentPrototype 36 | } 37 | } 38 | 39 | companion object { 40 | private val PREFIX_REGEX = Regex("^(?:\\\\begin\\{([^}]+)}|\\\\start([A-Za-z]+))") 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /src/main/kotlin/org/bsplines/ltexls/parsing/latex/LatexPackageOption.kt: -------------------------------------------------------------------------------- 1 | /* Copyright (C) 2019-2023 Julian Valentin, LTeX Development Community 2 | * 3 | * This Source Code Form is subject to the terms of the Mozilla Public 4 | * License, v. 2.0. If a copy of the MPL was not distributed with this 5 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 6 | */ 7 | 8 | package org.bsplines.ltexls.parsing.latex 9 | 10 | class LatexPackageOption( 11 | code: String, 12 | val keyInfo: KeyValueInfo, 13 | val valueInfo: KeyValueInfo, 14 | ) { 15 | val key: String = code.substring(keyInfo.fromPos, keyInfo.toPos) 16 | val value: String = if ((valueInfo.fromPos != -1) && (valueInfo.toPos != -1)) { 17 | code.substring(valueInfo.fromPos, valueInfo.toPos) 18 | } else { 19 | "" 20 | } 21 | 22 | data class KeyValueInfo( 23 | val fromPos: Int, 24 | val toPos: Int, 25 | val plainText: String, 26 | ) 27 | } 28 | -------------------------------------------------------------------------------- /src/main/kotlin/org/bsplines/ltexls/parsing/markdown/LtexMarkdownOptions.kt: -------------------------------------------------------------------------------- 1 | /* Copyright (C) 2019-2023 Julian Valentin, LTeX Development Community 2 | * 3 | * This Source Code Form is subject to the terms of the Mozilla Public 4 | * License, v. 2.0. If a copy of the MPL was not distributed with this 5 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 6 | */ 7 | 8 | package org.bsplines.ltexls.parsing.markdown 9 | 10 | import com.vladsch.flexmark.util.data.DataHolder 11 | import com.vladsch.flexmark.util.data.MutableDataHolder 12 | import com.vladsch.flexmark.util.data.MutableDataSetter 13 | 14 | class LtexMarkdownOptions(options: DataHolder) : MutableDataSetter { 15 | var displayMathParser: Boolean = LtexMarkdownExtension.DISPLAY_MATH_PARSER.get(options) 16 | var inlineMathParser: Boolean = LtexMarkdownExtension.INLINE_MATH_PARSER.get(options) 17 | 18 | override fun setIn(dataHolder: MutableDataHolder): MutableDataHolder { 19 | dataHolder.set(LtexMarkdownExtension.DISPLAY_MATH_PARSER, this.displayMathParser) 20 | dataHolder.set(LtexMarkdownExtension.INLINE_MATH_PARSER, this.inlineMathParser) 21 | return dataHolder 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/main/kotlin/org/bsplines/ltexls/parsing/markdown/MarkdownAnnotatedTextBuilderDefaults.kt: -------------------------------------------------------------------------------- 1 | /* Copyright (C) 2019-2023 Julian Valentin, LTeX Development Community 2 | * 3 | * This Source Code Form is subject to the terms of the Mozilla Public 4 | * License, v. 2.0. If a copy of the MPL was not distributed with this 5 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 6 | */ 7 | 8 | package org.bsplines.ltexls.parsing.markdown 9 | 10 | object MarkdownAnnotatedTextBuilderDefaults { 11 | val DEFAULT_MARKDOWN_NODE_SIGNATURES: List = listOf( 12 | MarkdownNodeSignature("AutoLink", MarkdownNodeSignature.Action.Dummy), 13 | MarkdownNodeSignature("Code", MarkdownNodeSignature.Action.Dummy), 14 | MarkdownNodeSignature("CodeBlock"), 15 | MarkdownNodeSignature("FencedCodeBlock"), 16 | MarkdownNodeSignature("GitLabInlineMath", MarkdownNodeSignature.Action.Dummy), 17 | MarkdownNodeSignature("IndentedCodeBlock"), 18 | MarkdownNodeSignature("LtexMarkdownDisplayMath"), 19 | MarkdownNodeSignature("LtexMarkdownInlineMath", MarkdownNodeSignature.Action.Dummy), 20 | MarkdownNodeSignature("TableSeparator"), 21 | ) 22 | } 23 | -------------------------------------------------------------------------------- /src/main/kotlin/org/bsplines/ltexls/parsing/markdown/MarkdownNodeSignature.kt: -------------------------------------------------------------------------------- 1 | /* Copyright (C) 2019-2023 Julian Valentin, LTeX Development Community 2 | * 3 | * This Source Code Form is subject to the terms of the Mozilla Public 4 | * License, v. 2.0. If a copy of the MPL was not distributed with this 5 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 6 | */ 7 | 8 | package org.bsplines.ltexls.parsing.markdown 9 | 10 | import org.bsplines.ltexls.parsing.DummyGenerator 11 | 12 | data class MarkdownNodeSignature( 13 | val name: String, 14 | val action: Action = Action.Ignore, 15 | val dummyGenerator: DummyGenerator = DummyGenerator.getInstance(), 16 | ) { 17 | enum class Action { 18 | Default, 19 | Ignore, 20 | Dummy, 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /src/main/kotlin/org/bsplines/ltexls/parsing/nop/NopAnnotatedTextBuilder.kt: -------------------------------------------------------------------------------- 1 | /* Copyright (C) 2019-2023 Julian Valentin, LTeX Development Community 2 | * 3 | * This Source Code Form is subject to the terms of the Mozilla Public 4 | * License, v. 2.0. If a copy of the MPL was not distributed with this 5 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 6 | */ 7 | 8 | package org.bsplines.ltexls.parsing.nop 9 | 10 | import org.bsplines.ltexls.parsing.CodeAnnotatedTextBuilder 11 | 12 | class NopAnnotatedTextBuilder(codeLanguageId: String) : CodeAnnotatedTextBuilder(codeLanguageId) { 13 | override fun addCode(code: String): CodeAnnotatedTextBuilder { 14 | addMarkup(code) 15 | return this 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/main/kotlin/org/bsplines/ltexls/parsing/nop/NopFragmentizer.kt: -------------------------------------------------------------------------------- 1 | /* Copyright (C) 2019-2023 Julian Valentin, LTeX Development Community 2 | * 3 | * This Source Code Form is subject to the terms of the Mozilla Public 4 | * License, v. 2.0. If a copy of the MPL was not distributed with this 5 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 6 | */ 7 | 8 | package org.bsplines.ltexls.parsing.nop 9 | 10 | import org.bsplines.ltexls.parsing.CodeFragment 11 | import org.bsplines.ltexls.parsing.CodeFragmentizer 12 | import org.bsplines.ltexls.settings.Settings 13 | 14 | class NopFragmentizer( 15 | codeLanguageId: String, 16 | ) : CodeFragmentizer(codeLanguageId) { 17 | override fun fragmentize(code: String, originalSettings: Settings): List { 18 | return listOf(CodeFragment(codeLanguageId, code, 0, originalSettings)) 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /src/main/kotlin/org/bsplines/ltexls/parsing/org/OrgFragmentizer.kt: -------------------------------------------------------------------------------- 1 | /* Copyright (C) 2019-2023 Julian Valentin, LTeX Development Community 2 | * 3 | * This Source Code Form is subject to the terms of the Mozilla Public 4 | * License, v. 2.0. If a copy of the MPL was not distributed with this 5 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 6 | */ 7 | 8 | package org.bsplines.ltexls.parsing.org 9 | 10 | import org.bsplines.ltexls.parsing.RegexCodeFragmentizer 11 | 12 | class OrgFragmentizer( 13 | codeLanguageId: String, 14 | ) : RegexCodeFragmentizer(codeLanguageId, REGEX) { 15 | companion object { 16 | private val REGEX = Regex( 17 | "^[ \t]*#[ \t]+(?i)ltex(?-i):(.*?)[ \t]*$", 18 | RegexOption.MULTILINE, 19 | ) 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /src/main/kotlin/org/bsplines/ltexls/parsing/plaintext/PlaintextAnnotatedTextBuilder.kt: -------------------------------------------------------------------------------- 1 | /* Copyright (C) 2019-2023 Julian Valentin, LTeX Development Community 2 | * 3 | * This Source Code Form is subject to the terms of the Mozilla Public 4 | * License, v. 2.0. If a copy of the MPL was not distributed with this 5 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 6 | */ 7 | 8 | package org.bsplines.ltexls.parsing.plaintext 9 | 10 | import org.bsplines.ltexls.parsing.CodeAnnotatedTextBuilder 11 | 12 | class PlaintextAnnotatedTextBuilder( 13 | codeLanguageId: String, 14 | ) : CodeAnnotatedTextBuilder(codeLanguageId) { 15 | override fun addCode(code: String): CodeAnnotatedTextBuilder { 16 | addText(code) 17 | return this 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/main/kotlin/org/bsplines/ltexls/parsing/plaintext/PlaintextFragmentizer.kt: -------------------------------------------------------------------------------- 1 | /* Copyright (C) 2019-2023 Julian Valentin, LTeX Development Community 2 | * 3 | * This Source Code Form is subject to the terms of the Mozilla Public 4 | * License, v. 2.0. If a copy of the MPL was not distributed with this 5 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 6 | */ 7 | 8 | package org.bsplines.ltexls.parsing.plaintext 9 | 10 | import org.bsplines.ltexls.parsing.CodeFragment 11 | import org.bsplines.ltexls.parsing.CodeFragmentizer 12 | import org.bsplines.ltexls.settings.Settings 13 | 14 | class PlaintextFragmentizer( 15 | codeLanguageId: String, 16 | ) : CodeFragmentizer(codeLanguageId) { 17 | override fun fragmentize(code: String, originalSettings: Settings): List { 18 | return listOf(CodeFragment(codeLanguageId, code, 0, originalSettings)) 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /src/main/kotlin/org/bsplines/ltexls/parsing/restructuredtext/RestructuredtextFragmentizer.kt: -------------------------------------------------------------------------------- 1 | /* Copyright (C) 2019-2023 Julian Valentin, LTeX Development Community 2 | * 3 | * This Source Code Form is subject to the terms of the Mozilla Public 4 | * License, v. 2.0. If a copy of the MPL was not distributed with this 5 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 6 | */ 7 | 8 | package org.bsplines.ltexls.parsing.restructuredtext 9 | 10 | import org.bsplines.ltexls.parsing.RegexCodeFragmentizer 11 | 12 | class RestructuredtextFragmentizer( 13 | codeLanguageId: String, 14 | ) : RegexCodeFragmentizer(codeLanguageId, REGEX) { 15 | companion object { 16 | private val REGEX = Regex( 17 | "^[ \t]*\\.\\.[ \t]*(?i)ltex(?-i):(.*?)[ \t]*$", 18 | RegexOption.MULTILINE, 19 | ) 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /src/main/kotlin/org/bsplines/ltexls/settings/HiddenFalsePositive.kt: -------------------------------------------------------------------------------- 1 | /* Copyright (C) 2019-2023 Julian Valentin, LTeX Development Community 2 | * 3 | * This Source Code Form is subject to the terms of the Mozilla Public 4 | * License, v. 2.0. If a copy of the MPL was not distributed with this 5 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 6 | */ 7 | 8 | package org.bsplines.ltexls.settings 9 | 10 | import com.google.gson.JsonObject 11 | import com.google.gson.JsonParser 12 | 13 | data class HiddenFalsePositive( 14 | val ruleId: String, 15 | val sentenceRegexString: String, 16 | ) { 17 | val sentenceRegex = Regex(sentenceRegexString) 18 | 19 | companion object { 20 | fun fromJsonString(jsonString: String): HiddenFalsePositive { 21 | val jsonObject: JsonObject = JsonParser.parseString(jsonString).asJsonObject 22 | val ruleId: String = jsonObject.get("rule").asString 23 | val sentenceString: String = jsonObject.get("sentence").asString 24 | return HiddenFalsePositive(ruleId, sentenceString) 25 | } 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /src/main/kotlin/org/bsplines/ltexls/settings/SettingsDifference.kt: -------------------------------------------------------------------------------- 1 | /* Copyright (C) 2019-2023 Julian Valentin, LTeX Development Community 2 | * 3 | * This Source Code Form is subject to the terms of the Mozilla Public 4 | * License, v. 2.0. If a copy of the MPL was not distributed with this 5 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 6 | */ 7 | 8 | package org.bsplines.ltexls.settings 9 | 10 | data class SettingsDifference( 11 | val name: String, 12 | val thisValue: Any?, 13 | val otherValue: Any?, 14 | ) 15 | -------------------------------------------------------------------------------- /src/main/kotlin/org/bsplines/ltexls/tools/ExcludeFromGeneratedCoverage.kt: -------------------------------------------------------------------------------- 1 | /* Copyright (C) 2019-2023 Julian Valentin, LTeX Development Community 2 | * 3 | * This Source Code Form is subject to the terms of the Mozilla Public 4 | * License, v. 2.0. If a copy of the MPL was not distributed with this 5 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 6 | */ 7 | 8 | package org.bsplines.ltexls.tools 9 | 10 | // Currently, the only way to exclude code from coverage is having an annotation that 11 | // contains the word "Generated" (see https://github.com/jacoco/jacoco/pull/822). 12 | @Retention(AnnotationRetention.BINARY) 13 | @Target(AnnotationTarget.TYPE, AnnotationTarget.FUNCTION) 14 | annotation class ExcludeFromGeneratedCoverage 15 | -------------------------------------------------------------------------------- /src/main/kotlin/org/bsplines/ltexls/tools/Logging.kt: -------------------------------------------------------------------------------- 1 | /* Copyright (C) 2019-2023 Julian Valentin, LTeX Development Community 2 | * 3 | * This Source Code Form is subject to the terms of the Mozilla Public 4 | * License, v. 2.0. If a copy of the MPL was not distributed with this 5 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 6 | */ 7 | 8 | package org.bsplines.ltexls.tools 9 | 10 | import java.util.logging.ConsoleHandler 11 | import java.util.logging.Level 12 | import java.util.logging.Logger 13 | 14 | object Logging { 15 | val LOGGER: Logger = Logger.getLogger("org.bsplines.ltexls") 16 | private val LOGGER_CONSOLE_HANDLER = ConsoleHandler() 17 | 18 | init { 19 | LOGGER.useParentHandlers = false 20 | LOGGER.addHandler(LOGGER_CONSOLE_HANDLER) 21 | setLogLevel(Level.FINE) 22 | } 23 | 24 | fun setLogLevel(logLevel: Level) { 25 | LOGGER.level = logLevel 26 | LOGGER_CONSOLE_HANDLER.level = logLevel 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /src/main/kotlin/org/bsplines/ltexls/tools/TeeOutputStream.kt: -------------------------------------------------------------------------------- 1 | /* Copyright (C) 2019-2023 Julian Valentin, LTeX Development Community 2 | * 3 | * This Source Code Form is subject to the terms of the Mozilla Public 4 | * License, v. 2.0. If a copy of the MPL was not distributed with this 5 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 6 | */ 7 | 8 | package org.bsplines.ltexls.tools 9 | 10 | import java.io.OutputStream 11 | 12 | class TeeOutputStream( 13 | val outputStream: OutputStream, 14 | val teedOutputStream: OutputStream, 15 | ) : OutputStream() { 16 | override fun write(b: Int) { 17 | this.outputStream.write(b) 18 | this.teedOutputStream.write(b) 19 | } 20 | 21 | override fun write(bytes: ByteArray) { 22 | this.outputStream.write(bytes) 23 | this.teedOutputStream.write(bytes) 24 | } 25 | 26 | override fun write(bytes: ByteArray, offset: Int, length: Int) { 27 | this.outputStream.write(bytes, offset, length) 28 | this.teedOutputStream.write(bytes, offset, length) 29 | } 30 | 31 | override fun flush() { 32 | this.outputStream.flush() 33 | this.teedOutputStream.flush() 34 | } 35 | 36 | override fun close() { 37 | this.outputStream.close() 38 | this.teedOutputStream.close() 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /src/main/kotlin/org/bsplines/ltexls/tools/VersionProvider.kt: -------------------------------------------------------------------------------- 1 | /* Copyright (C) 2019-2023 Julian Valentin, LTeX Development Community 2 | * 3 | * This Source Code Form is subject to the terms of the Mozilla Public 4 | * License, v. 2.0. If a copy of the MPL was not distributed with this 5 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 6 | */ 7 | 8 | package org.bsplines.ltexls.tools 9 | 10 | import com.google.gson.Gson 11 | import com.google.gson.GsonBuilder 12 | import com.google.gson.JsonObject 13 | import org.bsplines.ltexls.server.LtexLanguageServer 14 | import picocli.CommandLine 15 | 16 | class VersionProvider : CommandLine.IVersionProvider { 17 | override fun getVersion(): Array { 18 | val ltexLsPackage: Package? = LtexLanguageServer::class.java.getPackage() 19 | val jsonObject = JsonObject() 20 | 21 | if (ltexLsPackage != null) { 22 | val ltexLsVersion: String? = ltexLsPackage.implementationVersion 23 | if (ltexLsVersion != null) jsonObject.addProperty("ltex-ls", ltexLsVersion) 24 | } 25 | 26 | val javaVersion: String? = System.getProperty("java.version") 27 | if (javaVersion != null) jsonObject.addProperty("java", javaVersion) 28 | 29 | val gsonBuilder: Gson = GsonBuilder().setPrettyPrinting().create() 30 | return arrayOf(gsonBuilder.toJson(jsonObject)) 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /src/main/resources/LtexLsMessagesBundle_de.properties: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2019-2023 Julian Valentin, LTeX Development Community 2 | # 3 | # This Source Code Form is subject to the terms of the Mozilla Public 4 | # License, v. 2.0. If a copy of the MPL was not distributed with this 5 | # file, You can obtain one at https://mozilla.org/MPL/2.0/. 6 | 7 | addAllUnknownWordsInSelectionToDictionary = Alle unbekannten W\u00f6rter in Auswahl zum \ 8 | W\u00f6rterbuch hinzuf\u00fcgen 9 | addWordToDictionary = '{0}' zum W\u00f6rterbuch hinzuf\u00fcgen 10 | checkingDocument = \u00dcberpr\u00fcfe Dokument 11 | couldNotParseDocumentUri = Parsen der Dokument-URI fehlgeschlagen 12 | couldNotReadFile = Lesen der Datei '{0}' fehlgeschlagen 13 | couldNotWriteFile = Schreiben der Datei '{0}' fehlgeschlagen 14 | disableAllRulesWithMatchesInSelection = Alle Regeln mit Treffer in Auswahl deaktivieren 15 | disableRule = Regel deaktivieren 16 | hideAllFalsePositivesInTheSelectedSentences = Alle falschen Fehler in den ausgew\u00e4hlten \ 17 | S\u00e4tzen verbergen 18 | hideFalsePositive = Falschen Fehler verbergen 19 | useWord = '{0}' verwenden 20 | useWordAllSelectedMatches = '{0}' verwenden (alle ausgew\u00e4hlten Treffer) 21 | -------------------------------------------------------------------------------- /src/main/resources/LtexLsMessagesBundle_en.properties: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /src/test/kotlin/org/bsplines/ltexls/parsing/gitcommit/GitCommitAnnotatedTextBuilderTest.kt: -------------------------------------------------------------------------------- 1 | /* Copyright (C) 2019-2023 Julian Valentin, LTeX Development Community 2 | * 3 | * This Source Code Form is subject to the terms of the Mozilla Public 4 | * License, v. 2.0. If a copy of the MPL was not distributed with this 5 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 6 | */ 7 | 8 | package org.bsplines.ltexls.parsing.gitcommit 9 | 10 | import org.bsplines.ltexls.parsing.CodeAnnotatedTextBuilderTest 11 | import kotlin.test.Test 12 | 13 | class GitCommitAnnotatedTextBuilderTest : CodeAnnotatedTextBuilderTest("git-commit") { 14 | @Test 15 | fun test() { 16 | assertPlainText( 17 | """ 18 | This is a test. # abc 19 | # Comment 20 | # Another comment 21 | This is another test. 22 | 23 | """.trimIndent(), 24 | "This is a test. # abc\n\n\nThis is another test.\n", 25 | ) 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /src/test/kotlin/org/bsplines/ltexls/parsing/gitcommit/GitCommitFragmentizerTest.kt: -------------------------------------------------------------------------------- 1 | /* Copyright (C) 2019-2023 Julian Valentin, LTeX Development Community 2 | * 3 | * This Source Code Form is subject to the terms of the Mozilla Public 4 | * License, v. 2.0. If a copy of the MPL was not distributed with this 5 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 6 | */ 7 | 8 | package org.bsplines.ltexls.parsing.gitcommit 9 | 10 | import org.bsplines.ltexls.parsing.restructuredtext.RestructuredtextFragmentizerTest 11 | import org.bsplines.ltexls.settings.Settings 12 | import kotlin.test.Test 13 | 14 | class GitCommitFragmentizerTest { 15 | @Test 16 | fun testFragmentizer() { 17 | RestructuredtextFragmentizerTest.assertFragmentizer( 18 | "git-commit", 19 | """ 20 | Sentence 1 21 | 22 | # ltex: language=de-DE 23 | 24 | Sentence 2 25 | 26 | # ltex: language=en-US 27 | 28 | Sentence 3 29 | 30 | """.trimIndent(), 31 | ) 32 | } 33 | 34 | @Test 35 | fun testWrongSettings() { 36 | val fragmentizer = GitCommitFragmentizer("git-commit") 37 | fragmentizer.fragmentize("Sentence 1\n\n# ltex: languagede-DE\n\nSentence 2\n", Settings()) 38 | fragmentizer.fragmentize("Sentence 1\n\n# ltex: unknownKey=abc\n\nSentence 2\n", Settings()) 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /src/test/kotlin/org/bsplines/ltexls/parsing/html/HtmlFragmentizerTest.kt: -------------------------------------------------------------------------------- 1 | /* Copyright (C) 2019-2023 Julian Valentin, LTeX Development Community 2 | * 3 | * This Source Code Form is subject to the terms of the Mozilla Public 4 | * License, v. 2.0. If a copy of the MPL was not distributed with this 5 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 6 | */ 7 | 8 | package org.bsplines.ltexls.parsing.html 9 | 10 | import org.bsplines.ltexls.parsing.CodeFragment 11 | import org.bsplines.ltexls.parsing.CodeFragmentizer 12 | import org.bsplines.ltexls.settings.Settings 13 | import kotlin.test.Test 14 | import kotlin.test.assertEquals 15 | 16 | class HtmlFragmentizerTest { 17 | @Test 18 | fun test() { 19 | val fragmentizer: CodeFragmentizer = CodeFragmentizer.create("html") 20 | val code = """Sentence 1 21 | 22 | 23 | 24 | Sentence 2 25 | 26 | 27 | 28 | Sentence 3 29 | """ 30 | val codeFragments: List = fragmentizer.fragmentize(code, Settings()) 31 | assertEquals(1, codeFragments.size) 32 | assertEquals("html", codeFragments[0].codeLanguageId) 33 | assertEquals(code, codeFragments[0].code) 34 | assertEquals(0, codeFragments[0].fromPos) 35 | assertEquals("en-US", codeFragments[0].settings.languageShortCode) 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /src/test/kotlin/org/bsplines/ltexls/parsing/latex/LatexPackageOptionTest.kt: -------------------------------------------------------------------------------- 1 | /* Copyright (C) 2019-2023 Julian Valentin, LTeX Development Community 2 | * 3 | * This Source Code Form is subject to the terms of the Mozilla Public 4 | * License, v. 2.0. If a copy of the MPL was not distributed with this 5 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 6 | */ 7 | 8 | package org.bsplines.ltexls.parsing.latex 9 | 10 | import kotlin.test.Test 11 | import kotlin.test.assertEquals 12 | 13 | class LatexPackageOptionTest { 14 | @Test 15 | fun testProperties() { 16 | val packageOption = LatexPackageOption( 17 | "\\usepackage[foo=bar]{foobar}", 18 | LatexPackageOption.KeyValueInfo(12, 15, "abc"), 19 | LatexPackageOption.KeyValueInfo(16, 19, "def"), 20 | ) 21 | 22 | assertEquals("foo", packageOption.key) 23 | assertEquals(12, packageOption.keyInfo.fromPos) 24 | assertEquals(15, packageOption.keyInfo.toPos) 25 | assertEquals("abc", packageOption.keyInfo.plainText) 26 | assertEquals("bar", packageOption.value) 27 | assertEquals(16, packageOption.valueInfo.fromPos) 28 | assertEquals(19, packageOption.valueInfo.toPos) 29 | assertEquals("def", packageOption.valueInfo.plainText) 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /src/test/kotlin/org/bsplines/ltexls/parsing/nop/NopAnnotatedTextBuilderTest.kt: -------------------------------------------------------------------------------- 1 | /* Copyright (C) 2019-2023 Julian Valentin, LTeX Development Community 2 | * 3 | * This Source Code Form is subject to the terms of the Mozilla Public 4 | * License, v. 2.0. If a copy of the MPL was not distributed with this 5 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 6 | */ 7 | 8 | package org.bsplines.ltexls.parsing.nop 9 | 10 | import org.bsplines.ltexls.parsing.CodeAnnotatedTextBuilder 11 | import org.bsplines.ltexls.settings.Settings 12 | import org.languagetool.markup.AnnotatedText 13 | import kotlin.test.Test 14 | import kotlin.test.assertEquals 15 | 16 | class NopAnnotatedTextBuilderTest { 17 | @Test 18 | fun test() { 19 | val builder: CodeAnnotatedTextBuilder = CodeAnnotatedTextBuilder.create("nop") 20 | builder.addCode("This is \\textbf{a} `test`.\n") 21 | val annotatedText: AnnotatedText = builder.build() 22 | assertEquals("", annotatedText.plainText) 23 | assertEquals("This is \\textbf{a} `test`.\n", annotatedText.textWithMarkup) 24 | 25 | builder.setSettings(Settings()) 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /src/test/kotlin/org/bsplines/ltexls/parsing/nop/NopFragmentizerTest.kt: -------------------------------------------------------------------------------- 1 | /* Copyright (C) 2019-2023 Julian Valentin, LTeX Development Community 2 | * 3 | * This Source Code Form is subject to the terms of the Mozilla Public 4 | * License, v. 2.0. If a copy of the MPL was not distributed with this 5 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 6 | */ 7 | 8 | package org.bsplines.ltexls.parsing.nop 9 | 10 | import org.bsplines.ltexls.parsing.CodeFragment 11 | import org.bsplines.ltexls.parsing.CodeFragmentizer 12 | import org.bsplines.ltexls.settings.Settings 13 | import kotlin.test.Test 14 | import kotlin.test.assertEquals 15 | 16 | class NopFragmentizerTest { 17 | @Test 18 | fun test() { 19 | val fragmentizer: CodeFragmentizer = CodeFragmentizer.create("nop") 20 | val code = "This is a test.\n# LTeX: language=de-DE\n% LTeX: language=en-US\n" 21 | val codeFragments: List = fragmentizer.fragmentize(code, Settings()) 22 | assertEquals(1, codeFragments.size) 23 | assertEquals("nop", codeFragments[0].codeLanguageId) 24 | assertEquals(code, codeFragments[0].code) 25 | assertEquals(0, codeFragments[0].fromPos) 26 | assertEquals("en-US", codeFragments[0].settings.languageShortCode) 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /src/test/kotlin/org/bsplines/ltexls/parsing/org/OrgFragmentizerTest.kt: -------------------------------------------------------------------------------- 1 | /* Copyright (C) 2019-2023 Julian Valentin, LTeX Development Community 2 | * 3 | * This Source Code Form is subject to the terms of the Mozilla Public 4 | * License, v. 2.0. If a copy of the MPL was not distributed with this 5 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 6 | */ 7 | 8 | package org.bsplines.ltexls.parsing.org 9 | 10 | import org.bsplines.ltexls.parsing.restructuredtext.RestructuredtextFragmentizerTest 11 | import org.bsplines.ltexls.settings.Settings 12 | import kotlin.test.Test 13 | 14 | class OrgFragmentizerTest { 15 | @Test 16 | fun testFragmentizer() { 17 | RestructuredtextFragmentizerTest.assertFragmentizer( 18 | "org", 19 | """ 20 | Sentence 1 21 | 22 | # ltex: language=de-DE 23 | 24 | Sentence 2 25 | 26 | # ltex: language=en-US 27 | 28 | Sentence 3 29 | 30 | """.trimIndent(), 31 | ) 32 | } 33 | 34 | @Test 35 | fun testWrongSettings() { 36 | val fragmentizer = OrgFragmentizer("org") 37 | fragmentizer.fragmentize("Sentence 1\n\n# ltex: languagede-DE\n\nSentence 2\n", Settings()) 38 | fragmentizer.fragmentize("Sentence 1\n\n# ltex: unknownKey=abc\n\nSentence 2\n", Settings()) 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /src/test/kotlin/org/bsplines/ltexls/parsing/plaintext/PlaintextAnnotatedTextBuilderTest.kt: -------------------------------------------------------------------------------- 1 | /* Copyright (C) 2019-2023 Julian Valentin, LTeX Development Community 2 | * 3 | * This Source Code Form is subject to the terms of the Mozilla Public 4 | * License, v. 2.0. If a copy of the MPL was not distributed with this 5 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 6 | */ 7 | 8 | package org.bsplines.ltexls.parsing.plaintext 9 | 10 | import org.bsplines.ltexls.parsing.CodeAnnotatedTextBuilder 11 | import org.bsplines.ltexls.settings.Settings 12 | import org.languagetool.markup.AnnotatedText 13 | import kotlin.test.Test 14 | import kotlin.test.assertEquals 15 | 16 | class PlaintextAnnotatedTextBuilderTest { 17 | @Test 18 | fun test() { 19 | val builder: CodeAnnotatedTextBuilder = CodeAnnotatedTextBuilder.create("plaintext") 20 | builder.addCode("This is \\textbf{a} `test`.\n") 21 | val annotatedText: AnnotatedText = builder.build() 22 | assertEquals("This is \\textbf{a} `test`.\n", annotatedText.plainText) 23 | 24 | builder.setSettings(Settings()) 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /src/test/kotlin/org/bsplines/ltexls/parsing/plaintext/PlaintextFragmentizerTest.kt: -------------------------------------------------------------------------------- 1 | /* Copyright (C) 2019-2023 Julian Valentin, LTeX Development Community 2 | * 3 | * This Source Code Form is subject to the terms of the Mozilla Public 4 | * License, v. 2.0. If a copy of the MPL was not distributed with this 5 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 6 | */ 7 | 8 | package org.bsplines.ltexls.parsing.plaintext 9 | 10 | import org.bsplines.ltexls.parsing.CodeFragment 11 | import org.bsplines.ltexls.parsing.CodeFragmentizer 12 | import org.bsplines.ltexls.settings.Settings 13 | import kotlin.test.Test 14 | import kotlin.test.assertEquals 15 | 16 | class PlaintextFragmentizerTest { 17 | @Test 18 | fun test() { 19 | val fragmentizer: CodeFragmentizer = CodeFragmentizer.create("plaintext") 20 | val code = "This is a test.\n# LTeX: language=de-DE\n% LTeX: language=en-US\n" 21 | val codeFragments: List = fragmentizer.fragmentize(code, Settings()) 22 | assertEquals(1, codeFragments.size) 23 | assertEquals("plaintext", codeFragments[0].codeLanguageId) 24 | assertEquals(code, codeFragments[0].code) 25 | assertEquals(0, codeFragments[0].fromPos) 26 | assertEquals("en-US", codeFragments[0].settings.languageShortCode) 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /src/test/kotlin/org/bsplines/ltexls/settings/HiddenFalsePositiveTest.kt: -------------------------------------------------------------------------------- 1 | /* Copyright (C) 2019-2023 Julian Valentin, LTeX Development Community 2 | * 3 | * This Source Code Form is subject to the terms of the Mozilla Public 4 | * License, v. 2.0. If a copy of the MPL was not distributed with this 5 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 6 | */ 7 | 8 | package org.bsplines.ltexls.settings 9 | 10 | import kotlin.test.Test 11 | import kotlin.test.assertEquals 12 | import kotlin.test.assertNotEquals 13 | 14 | class HiddenFalsePositiveTest { 15 | @Test 16 | fun test() { 17 | val hiddenFalsePositive = HiddenFalsePositive("a", "b") 18 | assertEquals( 19 | hiddenFalsePositive, 20 | HiddenFalsePositive.fromJsonString("{\"rule\":\"a\",\"sentence\":\"b\"}"), 21 | ) 22 | assertNotEquals(hiddenFalsePositive, HiddenFalsePositive("X", "b")) 23 | assertNotEquals(hiddenFalsePositive, HiddenFalsePositive("a", "X")) 24 | assertEquals("a", hiddenFalsePositive.ruleId) 25 | assertEquals("b", hiddenFalsePositive.sentenceRegexString) 26 | assertEquals("b", hiddenFalsePositive.sentenceRegex.pattern) 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /src/test/kotlin/org/bsplines/ltexls/tools/I18nTest.kt: -------------------------------------------------------------------------------- 1 | /* Copyright (C) 2019-2023 Julian Valentin, LTeX Development Community 2 | * 3 | * This Source Code Form is subject to the terms of the Mozilla Public 4 | * License, v. 2.0. If a copy of the MPL was not distributed with this 5 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 6 | */ 7 | 8 | package org.bsplines.ltexls.tools 9 | 10 | import kotlin.test.Test 11 | import kotlin.test.assertContains 12 | import kotlin.test.assertEquals 13 | 14 | class I18nTest { 15 | @Test 16 | fun testFormat() { 17 | assertEquals("Add 'test' to dictionary", I18n.format("addWordToDictionary", "test")) 18 | 19 | assertEquals( 20 | "i18n message with key 'abc' not found, message arguments: 'def', '42', 'null'", 21 | I18n.format("abc", "def", 42, null), 22 | ) 23 | 24 | assertContains( 25 | I18n.format(NullPointerException("abc")), 26 | Regex( 27 | "The following exception occurred:[\r\n]+java\\.lang\\.NullPointerException: abc[\r\n]+.*", 28 | RegexOption.DOT_MATCHES_ALL, 29 | ), 30 | ) 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /src/test/kotlin/org/bsplines/ltexls/tools/ToolsTest.kt: -------------------------------------------------------------------------------- 1 | /* Copyright (C) 2019-2023 Julian Valentin, LTeX Development Community 2 | * 3 | * This Source Code Form is subject to the terms of the Mozilla Public 4 | * License, v. 2.0. If a copy of the MPL was not distributed with this 5 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 6 | */ 7 | 8 | package org.bsplines.ltexls.tools 9 | 10 | import java.util.concurrent.CancellationException 11 | import java.util.concurrent.ExecutionException 12 | import kotlin.test.Test 13 | import kotlin.test.assertFailsWith 14 | 15 | class ToolsTest { 16 | @Test 17 | fun testRethrowCancellationException() { 18 | val cancellationException: Throwable = CancellationException() 19 | val executionException: Throwable = ExecutionException("abc", cancellationException) 20 | val runtimeException: Throwable = RuntimeException() 21 | 22 | assertFailsWith(CancellationException::class) { 23 | Tools.rethrowCancellationException(cancellationException) 24 | } 25 | 26 | assertFailsWith(CancellationException::class) { 27 | Tools.rethrowCancellationException(executionException) 28 | } 29 | 30 | Tools.rethrowCancellationException(runtimeException) 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /src/test/kotlin/org/bsplines/ltexls/tools/VersionProviderTest.kt: -------------------------------------------------------------------------------- 1 | /* Copyright (C) 2019-2023 Julian Valentin, LTeX Development Community 2 | * 3 | * This Source Code Form is subject to the terms of the Mozilla Public 4 | * License, v. 2.0. If a copy of the MPL was not distributed with this 5 | * file, You can obtain one at https://mozilla.org/MPL/2.0/. 6 | */ 7 | 8 | package org.bsplines.ltexls.tools 9 | 10 | import com.google.gson.JsonElement 11 | import com.google.gson.JsonObject 12 | import com.google.gson.JsonParser 13 | import kotlin.test.Test 14 | import kotlin.test.assertEquals 15 | import kotlin.test.assertTrue 16 | 17 | class VersionProviderTest { 18 | @Test 19 | fun testVersion() { 20 | val versionProvider = VersionProvider() 21 | val version: Array = versionProvider.version 22 | assertEquals(1, version.size) 23 | 24 | val rootJsonElement: JsonElement = JsonParser.parseString(version[0]) 25 | assertTrue(rootJsonElement.isJsonObject) 26 | 27 | val rootJsonObject: JsonObject = rootJsonElement.asJsonObject 28 | assertTrue(rootJsonObject.has("java")) 29 | 30 | val javaJsonElement: JsonElement = rootJsonObject["java"] 31 | assertTrue(javaJsonElement.isJsonPrimitive) 32 | } 33 | } 34 | --------------------------------------------------------------------------------